@tarojs/runtime 4.0.0-beta.7 → 4.0.0-beta.70

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.
@@ -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 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 }\n } else {\n if (isArray(query)) {\n for (let i = 0, length = query.length; i < length; i++) {\n const value = query[i]\n appendTo(dict, value[0], value[1])\n }\n } else if (query.forEach) {\n query.forEach(addEach, dict)\n } else {\n for (const key in query) {\n appendTo(dict, key, query[key])\n }\n }\n }\n }\n\n append (name: string, value: string) {\n appendTo(this.#dict, name, value)\n }\n\n delete (name: string) {\n delete this.#dict[name]\n }\n\n get (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name][0] : null\n }\n\n getAll (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name].slice(0) : []\n }\n\n has (name: string) {\n return name in this.#dict\n }\n\n keys (){\n return Object.keys(this.#dict)\n }\n\n set (name: string, value: string) {\n this.#dict[name] = ['' + value]\n }\n\n forEach (callback, thisArg) {\n const dict = this.#dict\n Object.getOwnPropertyNames(dict).forEach(function (name) {\n dict[name].forEach(function (value: string) {\n callback.call(thisArg, value, name, this)\n }, this)\n }, this)\n }\n\n toJSON () {\n return {}\n }\n\n toString () {\n const dict = this.#dict\n const query: any[] = []\n for (const key in dict) {\n const name = encode(key)\n for (let i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]))\n }\n }\n return query.join('&')\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"URLSearchParams.js","sources":["../../src/bom/URLSearchParams.ts"],"sourcesContent":["import { isArray } from '@tarojs/shared'\n\nimport env from '../env'\n\nconst findReg = /[!'()~]|%20|%00/g\nconst plusReg = /\\+/g\nconst replaceCharMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n}\n\nfunction replacer (match: string) {\n return replaceCharMap[match]\n}\n\nfunction appendTo (dict: Record<string, string[]>, name: string, value: string) {\n const res = isArray(value) ? value.join(',') : value\n if (name in dict) dict[name].push(res)\n else dict[name] = [res]\n}\n\nfunction addEach (value: string, key: string) {\n appendTo(this, key, value)\n}\n\nfunction decode (str: string) {\n return decodeURIComponent(str.replace(plusReg, ' '))\n}\n\nfunction encode (str: string) {\n return encodeURIComponent(str).replace(findReg, replacer)\n}\n\nexport const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : class {\n #dict = Object.create(null)\n\n constructor (query) {\n query ??= ''\n\n const dict = this.#dict\n\n if (typeof query === 'string') {\n if (query.charAt(0) === '?') {\n query = query.slice(1)\n }\n for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {\n const value = pairs[i]\n const index = value.indexOf('=')\n 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 }\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 +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 { getComputedStyle } from './getComputedStyle'\nimport { History } from './history'\nimport { Location } from './location'\nimport { nav as navigator } from './navigator'\nimport { caf, raf } from './raf'\n\nimport type { TaroHistory } from './history'\nimport type { TaroLocation } from './location'\n\nclass TaroWindow extends Events {\n navigator = navigator\n requestAnimationFrame = raf\n cancelAnimationFrame = caf\n getComputedStyle = getComputedStyle\n Date: DateConstructor\n\n location: TaroLocation\n history: TaroHistory\n XMLHttpRequest?: Partial<XMLHttpRequest>\n\n constructor () {\n super()\n\n const globalProperties = [\n ...Object.getOwnPropertyNames(global || {}),\n ...Object.getOwnPropertySymbols(global || {})\n ]\n\n globalProperties.forEach(property => {\n if (property === 'atob' || property === 'document') return\n if (!Object.prototype.hasOwnProperty.call(this, property)) {\n // 防止小程序环境下,window 上的某些 get 属性在赋值时报错\n try {\n this[property] = global[property]\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] window.${String(property)} 在赋值到 window 时报错`)\n }\n }\n }\n })\n\n this.Date ||= Date\n\n // 应用启动时,提供给需要读取历史信息的库使用\n this.location = new Location({ window: this }) as any\n // @ts-ignore\n this.history = new History(this.location, { window: this })\n\n this.initEvent()\n }\n\n initEvent () {\n const _location = this.location\n const _history = this.history\n\n this.on(CONTEXT_ACTIONS.INIT, (pageId: string) => {\n // 页面onload,为该页面建立新的上下文信息\n _location.trigger(CONTEXT_ACTIONS.INIT, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n // 页面onshow,恢复当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n // 页面onhide,缓存当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n // 页面onunload,清除当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n }, null)\n }\n\n get document () {\n return env.document\n }\n\n addEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.on(event, callback, null)\n }\n\n removeEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.off(event, callback, null)\n }\n\n setTimeout (...args: Parameters<typeof setTimeout>) {\n return setTimeout(...args)\n }\n\n clearTimeout (...args: Parameters<typeof clearTimeout>) {\n return clearTimeout(...args)\n }\n}\n\nexport type { TaroWindow }\nexport const window: TaroWindow = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow())\n\nexport const location = window.location\nexport const history = window.history\n\n"],"names":["navigator","raf","caf"],"mappings":"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"}
1
+ {"version":3,"file":"window.js","sources":["../../src/bom/window.ts"],"sourcesContent":["import { isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { getComputedStyle } from './getComputedStyle'\nimport { History } from './history'\nimport { Location } from './location'\nimport { nav as navigator } from './navigator'\nimport { caf, raf } from './raf'\n\nimport type { TaroHistory } from './history'\nimport type { TaroLocation } from './location'\n\nclass TaroWindow extends Events {\n navigator = navigator\n requestAnimationFrame = raf\n cancelAnimationFrame = caf\n getComputedStyle = getComputedStyle\n Date: DateConstructor\n\n location: TaroLocation\n history: TaroHistory\n XMLHttpRequest?: Partial<XMLHttpRequest>\n\n constructor () {\n super()\n\n const globalProperties = [\n ...Object.getOwnPropertyNames(global || {}),\n ...Object.getOwnPropertySymbols(global || {})\n ]\n\n globalProperties.forEach(property => {\n if (property === 'atob' || property === 'document') return\n if (!Object.prototype.hasOwnProperty.call(this, property)) {\n // 防止小程序环境下,window 上的某些 get 属性在赋值时报错\n try {\n this[property] = global[property]\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] window.${String(property)} 在赋值到 window 时报错`)\n }\n }\n }\n })\n\n this.Date ||= Date\n\n // 应用启动时,提供给需要读取历史信息的库使用\n this.location = new Location({ window: this }) as any\n // @ts-ignore\n this.history = new History(this.location, { window: this })\n\n this.initEvent()\n }\n\n initEvent () {\n const _location = this.location\n const _history = this.history\n\n this.on(CONTEXT_ACTIONS.INIT, (pageId: string) => {\n // 页面onload,为该页面建立新的上下文信息\n _location.trigger(CONTEXT_ACTIONS.INIT, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n // 页面onshow,恢复当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n // 页面onhide,缓存当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n // 页面onunload,清除当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n }, null)\n }\n\n get document () {\n return env.document\n }\n\n addEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.on(event, callback, null)\n }\n\n removeEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.off(event, callback, null)\n }\n\n setTimeout (...args: Parameters<typeof setTimeout>) {\n return setTimeout(...args)\n }\n\n clearTimeout (...args: Parameters<typeof clearTimeout>) {\n return clearTimeout(...args)\n }\n}\n\nexport type { TaroWindow }\nexport const window: TaroWindow = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow())\n\nexport const location = window.location\nexport const history = window.history\n"],"names":["navigator","raf","caf"],"mappings":"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"}
@@ -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}\n"],"names":[],"mappings":";;;AAcM,MAAO,aAAc,SAAQ,WAAW,CAAA;AAC5C,IAAA,IAAW,IAAI,GAAA;;AACb,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACnD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;IAEM,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,2CAA8B;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACzC,SAAA;KACF;AAEF;;;;"}
1
+ {"version":3,"file":"anchor-element.js","sources":["../../src/dom/anchor-element.ts"],"sourcesContent":["import { parseUrl } from '../bom/URL'\nimport { TaroElement } from './element'\n\nconst enum AnchorElementAttrs {\n HREF = 'href',\n PROTOCOL = 'protocol',\n HOST = 'host',\n SEARCH = 'search',\n HASH = 'hash',\n HOSTNAME = 'hostname',\n PORT = 'port',\n PATHNAME = 'pathname'\n}\n\nexport class AnchorElement extends TaroElement {\n public get href () {\n return this.props[AnchorElementAttrs.HREF] ?? ''\n }\n\n public set href (val: string) {\n this.setAttribute(AnchorElementAttrs.HREF, val)\n }\n\n get protocol () {\n return this.props[AnchorElementAttrs.PROTOCOL] ?? ''\n }\n\n get host () {\n return this.props[AnchorElementAttrs.HOST] ?? ''\n }\n\n get search () {\n return this.props[AnchorElementAttrs.SEARCH] ?? ''\n }\n\n get hash () {\n return this.props[AnchorElementAttrs.HASH] ?? ''\n }\n\n get hostname () {\n return this.props[AnchorElementAttrs.HOSTNAME] ?? ''\n }\n\n get port () {\n return this.props[AnchorElementAttrs.PORT] ?? ''\n }\n\n get pathname () {\n return this.props[AnchorElementAttrs.PATHNAME] ?? ''\n }\n\n public setAttribute (qualifiedName: string, value: any): void {\n if (qualifiedName === AnchorElementAttrs.HREF) {\n const willSetAttr = parseUrl(value)\n for (const k in willSetAttr) {\n super.setAttribute(k, willSetAttr[k])\n }\n } else {\n super.setAttribute(qualifiedName, value)\n }\n }\n}\n"],"names":[],"mappings":";;;AAcM,MAAO,aAAc,SAAQ,WAAW,CAAA;AAC5C,IAAA,IAAW,IAAI,GAAA;;AACb,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACnD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;IAEM,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,2CAA8B;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACzC,SAAA;KACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"class-list.js","sources":["../../src/dom/class-list.ts"],"sourcesContent":["import type { TaroElement } from './element'\n\nexport class ClassList {\n private el: TaroElement\n\n private tokenList: string[] = []\n\n constructor (className: string, el: TaroElement) {\n this.el = el\n className.trim().split(/\\s+/).forEach(token => this.tokenList.push(token))\n }\n\n public get value () {\n return this.toString()\n }\n\n public get length () {\n return this.tokenList.length\n }\n\n add () {\n let index = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token: string = tokens[index]\n\n if (this.checkTokenIsValid(token) && !~tokenList.indexOf(token)) {\n tokenList.push(token)\n\n updated = true\n }\n } while (++index < length)\n\n if (updated) {\n this._update()\n }\n }\n\n remove () {\n let i = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token = tokens[i] + ''\n\n if (!this.checkTokenIsValid(token)) continue\n\n const index = tokenList.indexOf(token)\n\n if (~tokenList.indexOf(token)) {\n tokenList.splice(index, 1)\n\n updated = true\n }\n } while (++i < length)\n\n if (updated) {\n this._update()\n }\n }\n\n contains (token: string) {\n if (!this.checkTokenIsValid(token)) return false\n\n return !!~this.tokenList.indexOf(token)\n }\n\n toggle (token: string, force: boolean) {\n const result = this.contains(token)\n const method = result ? force !== true && 'remove' : force !== false && 'add'\n\n if (method) {\n // @ts-ignore\n this[method](token)\n }\n\n if (force === true || force === false) {\n return force\n } else {\n return !result\n }\n }\n\n replace (token: string, replacement_token: string) {\n if (!this.checkTokenIsValid(token) || !this.checkTokenIsValid(replacement_token)) return\n\n const index = this.tokenList.indexOf(token)\n\n if (~index) {\n this.tokenList.splice(index, 1, replacement_token)\n\t\t this._update()\n }\n }\n\n toString () {\n\t 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sources":["../../src/dom/form.ts"],"sourcesContent":["import {\n CHANGE,\n INPUT,\n TYPE,\n VALUE } from '../constants'\nimport { TaroElement } from './element'\n\nimport type { TaroEvent } from './event'\n\nexport class FormElement extends TaroElement {\n public get type () {\n return this.props[TYPE] ?? ''\n }\n\n public set type (val: string) {\n this.setAttribute(TYPE, val)\n }\n\n public get value () {\n // eslint-disable-next-line dot-notation\n const val = this.props[VALUE]\n return val == null ? '' : val\n }\n\n public set value (val: string | boolean | number | any[]) {\n this.setAttribute(VALUE, val)\n }\n\n public dispatchEvent (event: TaroEvent) {\n if (event.mpEvent) {\n const val = event.mpEvent.detail.value\n if (event.type === CHANGE) {\n this.props.value = val as string\n } else if (event.type === INPUT) {\n // Web 规范中表单组件的 value 应该跟着输入改变\n // 只是改 this.props.value 的话不会进行 setData,因此这里修改 this.value。\n // 只测试了 React、Vue、Vue3 input 组件的 onInput 事件,onChange 事件不确定有没有副作用,所以暂不修改。\n this.value = val as string\n }\n }\n\n return super.dispatchEvent(event)\n }\n}\n"],"names":[],"mappings":";;;AASM,MAAO,WAAY,SAAQ,WAAW,CAAA;AAC1C,IAAA,IAAW,IAAI,GAAA;;QACb,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA;KAC9B;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAC7B;AAED,IAAA,IAAW,KAAK,GAAA;;QAEd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,CAAA;KAC9B;IAED,IAAW,KAAK,CAAE,GAAsC,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;KAC9B;AAEM,IAAA,aAAa,CAAE,KAAgB,EAAA;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACtC,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAa,CAAA;AACjC,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;;;;AAI/B,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAa,CAAA;AAC3B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;KAClC;AACF;;;;"}
1
+ {"version":3,"file":"form.js","sources":["../../src/dom/form.ts"],"sourcesContent":["import {\n CHANGE,\n INPUT,\n TYPE,\n VALUE\n} from '../constants'\nimport { TaroElement } from './element'\n\nimport type { TaroEvent } from './event'\n\nexport class FormElement extends TaroElement {\n public get type () {\n return this.props[TYPE] ?? ''\n }\n\n public set type (val: string) {\n this.setAttribute(TYPE, val)\n }\n\n public get value () {\n // eslint-disable-next-line dot-notation\n const val = this.props[VALUE]\n return val == null ? '' : val\n }\n\n public set value (val: string | boolean | number | any[]) {\n this.setAttribute(VALUE, val)\n }\n\n public dispatchEvent (event: TaroEvent) {\n if (event.mpEvent) {\n const val = event.mpEvent.detail.value\n if (event.type === CHANGE) {\n this.props.value = val as string\n } else if (event.type === INPUT) {\n // Web 规范中表单组件的 value 应该跟着输入改变\n // 只是改 this.props.value 的话不会进行 setData,因此这里修改 this.value。\n // 只测试了 React、Vue、Vue3 input 组件的 onInput 事件,onChange 事件不确定有没有副作用,所以暂不修改。\n this.value = val as string\n }\n }\n\n return super.dispatchEvent(event)\n }\n}\n"],"names":[],"mappings":";;;AAUM,MAAO,WAAY,SAAQ,WAAW,CAAA;AAC1C,IAAA,IAAW,IAAI,GAAA;;QACb,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA;KAC9B;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAC7B;AAED,IAAA,IAAW,KAAK,GAAA;;QAEd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,OAAO,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,CAAA;KAC9B;IAED,IAAW,KAAK,CAAE,GAAsC,EAAA;AACtD,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;KAC9B;AAEM,IAAA,aAAa,CAAE,KAAgB,EAAA;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACtC,YAAA,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;AACzB,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAa,CAAA;AACjC,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;;;;AAI/B,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAa,CAAA;AAC3B,aAAA;AACF,SAAA;AAED,QAAA,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;KAClC;AACF;;;;"}
@@ -42,6 +42,7 @@ function cloneNode(isDeep = false) {
42
42
  }
43
43
  for (const key in this) {
44
44
  const value = this[key];
45
+ // eslint-disable-next-line valid-typeof
45
46
  if ([PROPS, DATASET].includes(key) && typeof value === OBJECT) {
46
47
  newNode[key] = Object.assign({}, value);
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sources":["../../src/dom-external/node.ts"],"sourcesContent":["import { DATASET, OBJECT, PROPS, STYLE } from '../constants'\nimport { NodeType } from '../dom/node_types'\nimport { parser } from '../dom-external/inner-html/parser'\n\nimport type { TaroNode } from '../dom/node'\n\nexport type IPosition = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend'\n\n/**\n * An implementation of `Element.insertAdjacentHTML()`\n * to support Vue 3 with a version of or greater than `vue@3.1.2`\n */\nexport function insertAdjacentHTML (\n this: TaroNode,\n position: IPosition,\n html: string\n) {\n const parsedNodes = parser(html, this.ownerDocument)\n\n for (let i = 0; i < parsedNodes.length; i++) {\n const n = parsedNodes[i]\n\n switch (position) {\n case 'beforebegin':\n this.parentNode?.insertBefore(n, this)\n break\n case 'afterbegin':\n if (this.hasChildNodes()) {\n this.insertBefore(n, this.childNodes[0])\n } else {\n this.appendChild(n)\n }\n break\n case 'beforeend':\n this.appendChild(n)\n break\n case 'afterend':\n this.parentNode?.appendChild(n)\n break\n }\n }\n}\n\nexport function cloneNode (this: TaroNode, isDeep = false) {\n const document = this.ownerDocument\n let newNode\n\n if (this.nodeType === NodeType.ELEMENT_NODE) {\n newNode = document.createElement(this.nodeName)\n } else if (this.nodeType === NodeType.TEXT_NODE) {\n newNode = document.createTextNode('')\n }\n\n for (const key in this) {\n const value: any = this[key]\n if ([PROPS, DATASET].includes(key) && typeof value === OBJECT) {\n newNode[key] = { ...value }\n } else if (key === '_value') {\n newNode[key] = value\n } else if (key === STYLE) {\n newNode.style._value = { ...value._value }\n newNode.style._usedStyleProp = new Set(Array.from(value._usedStyleProp))\n }\n }\n\n if (isDeep) {\n newNode.childNodes = this.childNodes.map(node => (node as any).cloneNode(true))\n }\n\n return newNode\n}\n\nexport function contains (this: TaroNode, node: TaroNode & { id?: string }): boolean {\n let isContains = false\n this.childNodes.some(childNode => {\n const { uid } = childNode\n if (uid === node.uid || uid === node.id || (childNode as any).contains(node)) {\n isContains = true\n return true\n }\n })\n return isContains\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sources":["../../src/dom-external/node.ts"],"sourcesContent":["import { DATASET, OBJECT, PROPS, STYLE } from '../constants'\nimport { NodeType } from '../dom/node_types'\nimport { parser } from '../dom-external/inner-html/parser'\n\nimport type { TaroNode } from '../dom/node'\n\nexport type IPosition = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend'\n\n/**\n * An implementation of `Element.insertAdjacentHTML()`\n * to support Vue 3 with a version of or greater than `vue@3.1.2`\n */\nexport function insertAdjacentHTML (\n this: TaroNode,\n position: IPosition,\n html: string\n) {\n const parsedNodes = parser(html, this.ownerDocument)\n\n for (let i = 0; i < parsedNodes.length; i++) {\n const n = parsedNodes[i]\n\n switch (position) {\n case 'beforebegin':\n this.parentNode?.insertBefore(n, this)\n break\n case 'afterbegin':\n if (this.hasChildNodes()) {\n this.insertBefore(n, this.childNodes[0])\n } else {\n this.appendChild(n)\n }\n break\n case 'beforeend':\n this.appendChild(n)\n break\n case 'afterend':\n this.parentNode?.appendChild(n)\n break\n }\n }\n}\n\nexport function cloneNode (this: TaroNode, isDeep = false) {\n const document = this.ownerDocument\n let newNode\n\n if (this.nodeType === NodeType.ELEMENT_NODE) {\n newNode = document.createElement(this.nodeName)\n } else if (this.nodeType === NodeType.TEXT_NODE) {\n newNode = document.createTextNode('')\n }\n\n for (const key in this) {\n const value: any = this[key]\n // eslint-disable-next-line valid-typeof\n if ([PROPS, DATASET].includes(key) && typeof value === OBJECT) {\n newNode[key] = { ...value }\n } else if (key === '_value') {\n newNode[key] = value\n } else if (key === STYLE) {\n newNode.style._value = { ...value._value }\n newNode.style._usedStyleProp = new Set(Array.from(value._usedStyleProp))\n }\n }\n\n if (isDeep) {\n newNode.childNodes = this.childNodes.map(node => (node as any).cloneNode(true))\n }\n\n return newNode\n}\n\nexport function contains (this: TaroNode, node: TaroNode & { id?: string }): boolean {\n let isContains = false\n this.childNodes.some(childNode => {\n const { uid } = childNode\n if (uid === node.uid || uid === node.id || (childNode as any).contains(node)) {\n isContains = true\n return true\n }\n })\n return isContains\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { hooks, isArray, isFunction, isUndefined, ensure, EMPTY_OBJ, getComponentsAlias, internalComponents, isString } from '@tarojs/shared';
1
+ import { hooks, isArray, isFunction, EventChannel, isUndefined, ensure, EMPTY_OBJ, getComponentsAlias, internalComponents, isString } from '@tarojs/shared';
2
2
  import { raf as _raf } from '../bom/raf.js';
3
3
  import { window } from '../bom/window.js';
4
4
  import { ON_READY, ON_SHOW, ON_HIDE, PAGE_INIT, CONTEXT_ACTIONS, ON_LOAD, OPTIONS, EXTERNAL_CLASSES, BEHAVIORS, VIEW, CUSTOM_WRAPPER } from '../constants/index.js';
@@ -193,6 +193,11 @@ function createPageConfig(component, pageName, data, pageConfig) {
193
193
  eventCenter.trigger(getOnHideEventKey(id));
194
194
  }
195
195
  };
196
+ if (process.env.TARO_PLATFORM === 'web') {
197
+ config.getOpenerEventChannel = () => {
198
+ return EventChannel.pageChannel;
199
+ };
200
+ }
196
201
  LIFECYCLES.forEach((lifecycle) => {
197
202
  let isDefer = false;
198
203
  lifecycle = lifecycle.replace(/^defer:/, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../src/dsl/common.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {\n EMPTY_OBJ, ensure, getComponentsAlias, hooks, internalComponents,\n isArray, isFunction, isString, isUndefined, Shortcuts\n} from '@tarojs/shared'\n\nimport { raf } from '../bom/raf'\nimport { window } from '../bom/window'\nimport { BEHAVIORS, CONTEXT_ACTIONS, CUSTOM_WRAPPER, EXTERNAL_CLASSES, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, VIEW } from '../constants'\nimport { Current } from '../current'\nimport { eventHandler } from '../dom/event'\nimport { eventCenter } from '../emitter/emitter'\nimport env from '../env'\nimport { perf } from '../perf'\nimport { customWrapperCache, incrementId } from '../utils'\nimport { addLeadingSlash } from '../utils/router'\n\nimport type { TaroRootElement } from '../dom/root'\nimport type { MpInstance, PageConfig, TFunc } from '../interface'\nimport type { Instance, PageInstance, PageProps } from './instance'\n\nconst instances = new Map<string, Instance>()\nconst pageId = incrementId()\n\nexport function injectPageInstance (inst: Instance<PageProps>, id: string) {\n hooks.call('mergePageInstance', instances.get(id), inst)\n instances.set(id, inst)\n}\n\nexport function getPageInstance (id: string): Instance | undefined {\n return instances.get(id)\n}\n\nexport function removePageInstance (id: string) {\n instances.delete(id)\n}\n\nexport function safeExecute (path: string, lifecycle: string, ...args: unknown[]) {\n const instance = instances.get(path)\n\n if (instance == null) {\n return\n }\n\n const func = hooks.call('getLifecycle', instance, lifecycle as keyof PageInstance)\n\n if (isArray(func)) {\n const res = func.map(fn => fn.apply(instance, args))\n return res[0]\n }\n\n if (!isFunction(func)) {\n return\n }\n\n return func.apply(instance, args)\n}\n\nexport function stringify (obj?: Record<string, unknown>) {\n if (obj == null) {\n return ''\n }\n const path = Object.keys(obj).map((key) => {\n return key + '=' + obj[key]\n }).join('&')\n return path === '' ? path : '?' + path\n}\n\nexport function getPath (id: string, options?: Record<string, unknown>): string {\n const idx = id.indexOf('?')\n if (process.env.TARO_PLATFORM === 'web') {\n return `${idx > -1 ? id.substring(0, idx) : id}${stringify(options?.stamp ? { stamp: options.stamp } : {})}`\n } else {\n return `${idx > -1 ? id.substring(0, idx) : id}${stringify(options)}`\n }\n}\n\nexport function getOnReadyEventKey (path: string) {\n return path + '.' + ON_READY\n}\n\nexport function getOnShowEventKey (path: string) {\n return path + '.' + ON_SHOW\n}\n\nexport function getOnHideEventKey (path: string) {\n return path + '.' + ON_HIDE\n}\n\nexport function createPageConfig (component: any, pageName?: string, data?: Record<string, unknown>, pageConfig?: PageConfig) {\n // 小程序 Page 构造器是一个傲娇小公主,不能把复杂的对象挂载到参数上\n const id = pageName ?? `taro_page_${pageId()}`\n const [\n ONLOAD,\n ONUNLOAD,\n ONREADY,\n ONSHOW,\n ONHIDE,\n LIFECYCLES,\n SIDE_EFFECT_LIFECYCLES,\n ] = hooks.call('getMiniLifecycleImpl')!.page\n let pageElement: TaroRootElement | null = null\n let unmounting = false\n let prepareMountList: (() => void)[] = []\n\n function setCurrentRouter (page: MpInstance) {\n const router = process.env.TARO_PLATFORM === 'web' ? page.$taroPath : page.route || page.__route__ || page.$taroPath\n Current.router = {\n params: page.$taroParams!,\n path: addLeadingSlash(router),\n $taroPath: page.$taroPath,\n onReady: getOnReadyEventKey(id),\n onShow: getOnShowEventKey(id),\n onHide: getOnHideEventKey(id)\n }\n if (!isUndefined(page.exitState)) {\n Current.router.exitState = page.exitState\n }\n }\n let loadResolver: (...args: unknown[]) => void\n let hasLoaded: Promise<void>\n const config: PageInstance = {\n [ONLOAD] (this: MpInstance, options: Readonly<Record<string, unknown>> = {}, cb?: TFunc) {\n hasLoaded = new Promise(resolve => { loadResolver = resolve })\n\n perf.start(PAGE_INIT)\n\n Current.page = this as any\n this.config = pageConfig || {}\n\n // this.$taroPath 是页面唯一标识\n const uniqueOptions = Object.assign({}, options, { $taroTimestamp: Date.now() })\n const $taroPath = this.$taroPath = getPath(id, uniqueOptions)\n if (process.env.TARO_PLATFORM === 'web') {\n config.path = $taroPath\n }\n // this.$taroParams 作为暴露给开发者的页面参数对象,可以被随意修改\n if (this.$taroParams == null) {\n this.$taroParams = uniqueOptions\n }\n\n setCurrentRouter(this)\n\n // 初始化当前页面的上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.INIT, $taroPath)\n }\n\n const mount = () => {\n Current.app!.mount!(component, $taroPath, () => {\n pageElement = env.document.getElementById<TaroRootElement>($taroPath)\n\n ensure(pageElement !== null, '没有找到页面实例。')\n safeExecute($taroPath, ON_LOAD, this.$taroParams)\n loadResolver()\n if (process.env.TARO_PLATFORM !== 'web') {\n pageElement.ctx = this\n pageElement.performUpdate(true, cb)\n } else {\n isFunction(cb) && cb()\n }\n })\n }\n if (unmounting) {\n prepareMountList.push(mount)\n } else {\n mount()\n }\n },\n [ONUNLOAD] () {\n const $taroPath = this.$taroPath\n // 销毁当前页面的上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.DESTORY, $taroPath)\n }\n // 触发onUnload生命周期\n safeExecute($taroPath, ONUNLOAD)\n unmounting = true\n Current.app!.unmount!($taroPath, () => {\n unmounting = false\n instances.delete($taroPath)\n if (pageElement) {\n pageElement.ctx = null\n pageElement = null\n }\n if (prepareMountList.length) {\n prepareMountList.forEach(fn => fn())\n prepareMountList = []\n }\n })\n },\n [ONREADY] () {\n hasLoaded.then(() => {\n // 触发生命周期\n safeExecute(this.$taroPath, ON_READY)\n // 通过事件触发子组件的生命周期\n raf(() => eventCenter.trigger(getOnReadyEventKey(id)))\n this.onReady.called = true\n })\n },\n [ONSHOW] (options = {}) {\n hasLoaded.then(() => {\n // 设置 Current 的 page 和 router\n Current.page = this as any\n setCurrentRouter(this)\n // 恢复上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.RECOVER, this.$taroPath)\n }\n // 触发生命周期\n safeExecute(this.$taroPath, ON_SHOW, options)\n // 通过事件触发子组件的生命周期\n raf(() => eventCenter.trigger(getOnShowEventKey(id)))\n })\n },\n [ONHIDE] () {\n // 缓存当前页面上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.RESTORE, this.$taroPath)\n }\n // 设置 Current 的 page 和 router\n if (Current.page === this) {\n Current.page = null\n Current.router = null\n }\n // 触发生命周期\n safeExecute(this.$taroPath, ON_HIDE)\n // 通过事件触发子组件的生命周期\n eventCenter.trigger(getOnHideEventKey(id))\n }\n }\n\n LIFECYCLES.forEach((lifecycle) => {\n let isDefer = false\n lifecycle = lifecycle.replace(/^defer:/, () => {\n isDefer = true\n return ''\n })\n config[lifecycle] = function () {\n const exec = () => safeExecute(this.$taroPath, lifecycle, ...arguments)\n if (isDefer) {\n hasLoaded.then(exec)\n } else {\n return exec()\n }\n }\n })\n\n // onShareAppMessage 和 onShareTimeline 一样,会影响小程序右上方按钮的选项,因此不能默认注册。\n SIDE_EFFECT_LIFECYCLES.forEach(lifecycle => {\n if (component[lifecycle] ||\n component.prototype?.[lifecycle] ||\n component[lifecycle.replace(/^on/, 'enable')] ||\n pageConfig?.[lifecycle.replace(/^on/, 'enable')]\n ) {\n config[lifecycle] = function (...args) {\n const target = args[0]?.target\n if (target?.id) {\n const id = target.id\n const element = env.document.getElementById(id)\n if (element) {\n target.dataset = element.dataset\n }\n }\n return safeExecute(this.$taroPath, lifecycle, ...args)\n }\n }\n })\n\n config.eh = eventHandler\n\n if (!isUndefined(data)) {\n config.data = data\n }\n\n hooks.call('modifyPageObject', config)\n\n return config\n}\n\nexport function createComponentConfig (component: React.ComponentClass, componentName?: string, data?: Record<string, unknown>) {\n const id = componentName ?? `taro_component_${pageId()}`\n let componentElement: TaroRootElement | null = null\n const [ ATTACHED, DETACHED ] = hooks.call('getMiniLifecycleImpl')!.component\n\n const config: any = {\n [ATTACHED] () {\n perf.start(PAGE_INIT)\n this.pageIdCache = this.getPageId?.() || pageId()\n\n const path = getPath(id, { id: this.pageIdCache })\n\n Current.app!.mount!(component, path, () => {\n componentElement = env.document.getElementById<TaroRootElement>(path)\n ensure(componentElement !== null, '没有找到组件实例。')\n this.$taroInstances = instances.get(path)\n safeExecute(path, ON_LOAD)\n if (process.env.TARO_PLATFORM !== 'web') {\n componentElement.ctx = this\n componentElement.performUpdate(true)\n }\n })\n },\n [DETACHED] () {\n const path = getPath(id, { id: this.pageIdCache })\n\n Current.app!.unmount!(path, () => {\n instances.delete(path)\n if (componentElement) {\n componentElement.ctx = null\n }\n })\n },\n methods: {\n eh: eventHandler\n }\n }\n\n if (!isUndefined(data)) {\n config.data = data\n }\n\n [OPTIONS, EXTERNAL_CLASSES, BEHAVIORS].forEach(key => {\n config[key] = component[key] ?? EMPTY_OBJ\n })\n\n return config\n}\n\nexport function createRecursiveComponentConfig (componentName?: string) {\n const isCustomWrapper = componentName === CUSTOM_WRAPPER\n const [ ATTACHED, DETACHED ] = hooks.call('getMiniLifecycleImpl')!.component\n\n const lifeCycles = isCustomWrapper\n ? {\n [ATTACHED] () {\n const componentId = this.data.i?.sid || this.props.i?.sid\n if (isString(componentId)) {\n customWrapperCache.set(componentId, this)\n const el = env.document.getElementById(componentId)\n if (el) {\n el.ctx = this\n }\n }\n },\n [DETACHED] () {\n const componentId = this.data.i?.sid || this.props.i?.sid\n if (isString(componentId)) {\n customWrapperCache.delete(componentId)\n const el = env.document.getElementById(componentId)\n if (el) {\n el.ctx = null\n }\n }\n }\n }\n : EMPTY_OBJ\n\n return hooks.call('modifyRecursiveComponentConfig',\n {\n properties: {\n i: {\n type: Object,\n value: {\n [Shortcuts.NodeName]: getComponentsAlias(internalComponents)[VIEW]._num\n }\n },\n l: {\n type: String,\n value: ''\n }\n },\n options: {\n addGlobalClass: true,\n virtualHost: !isCustomWrapper\n },\n methods: {\n eh: eventHandler\n },\n ...lifeCycles }, { isCustomWrapper })\n}\n"],"names":["raf"],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sources":["../../src/dsl/common.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport {\n EMPTY_OBJ, ensure, EventChannel,\n getComponentsAlias, hooks, internalComponents,\n isArray, isFunction, isString, isUndefined, Shortcuts\n} from '@tarojs/shared'\n\nimport { raf } from '../bom/raf'\nimport { window } from '../bom/window'\nimport { BEHAVIORS, CONTEXT_ACTIONS, CUSTOM_WRAPPER, EXTERNAL_CLASSES, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, VIEW } from '../constants'\nimport { Current } from '../current'\nimport { eventHandler } from '../dom/event'\nimport { eventCenter } from '../emitter/emitter'\nimport env from '../env'\nimport { perf } from '../perf'\nimport { customWrapperCache, incrementId } from '../utils'\nimport { addLeadingSlash } from '../utils/router'\n\nimport type { TaroRootElement } from '../dom/root'\nimport type { MpInstance, PageConfig, TFunc } from '../interface'\nimport type { Instance, PageInstance, PageProps } from './instance'\n\nconst instances = new Map<string, Instance>()\nconst pageId = incrementId()\n\nexport function injectPageInstance (inst: Instance<PageProps>, id: string) {\n hooks.call('mergePageInstance', instances.get(id), inst)\n instances.set(id, inst)\n}\n\nexport function getPageInstance (id: string): Instance | undefined {\n return instances.get(id)\n}\n\nexport function removePageInstance (id: string) {\n instances.delete(id)\n}\n\nexport function safeExecute (path: string, lifecycle: string, ...args: unknown[]) {\n const instance = instances.get(path)\n\n if (instance == null) {\n return\n }\n\n const func = hooks.call('getLifecycle', instance, lifecycle as keyof PageInstance)\n\n if (isArray(func)) {\n const res = func.map(fn => fn.apply(instance, args))\n return res[0]\n }\n\n if (!isFunction(func)) {\n return\n }\n\n return func.apply(instance, args)\n}\n\nexport function stringify (obj?: Record<string, unknown>) {\n if (obj == null) {\n return ''\n }\n const path = Object.keys(obj).map((key) => {\n return key + '=' + obj[key]\n }).join('&')\n return path === '' ? path : '?' + path\n}\n\nexport function getPath (id: string, options?: Record<string, unknown>): string {\n const idx = id.indexOf('?')\n if (process.env.TARO_PLATFORM === 'web') {\n return `${idx > -1 ? id.substring(0, idx) : id}${stringify(options?.stamp ? { stamp: options.stamp } : {})}`\n } else {\n return `${idx > -1 ? id.substring(0, idx) : id}${stringify(options)}`\n }\n}\n\nexport function getOnReadyEventKey (path: string) {\n return path + '.' + ON_READY\n}\n\nexport function getOnShowEventKey (path: string) {\n return path + '.' + ON_SHOW\n}\n\nexport function getOnHideEventKey (path: string) {\n return path + '.' + ON_HIDE\n}\n\nexport function createPageConfig (component: any, pageName?: string, data?: Record<string, unknown>, pageConfig?: PageConfig) {\n // 小程序 Page 构造器是一个傲娇小公主,不能把复杂的对象挂载到参数上\n const id = pageName ?? `taro_page_${pageId()}`\n const [\n ONLOAD,\n ONUNLOAD,\n ONREADY,\n ONSHOW,\n ONHIDE,\n LIFECYCLES,\n SIDE_EFFECT_LIFECYCLES,\n ] = hooks.call('getMiniLifecycleImpl')!.page\n let pageElement: TaroRootElement | null = null\n let unmounting = false\n let prepareMountList: (() => void)[] = []\n\n function setCurrentRouter (page: MpInstance) {\n const router = process.env.TARO_PLATFORM === 'web' ? page.$taroPath : page.route || page.__route__ || page.$taroPath\n Current.router = {\n params: page.$taroParams!,\n path: addLeadingSlash(router),\n $taroPath: page.$taroPath,\n onReady: getOnReadyEventKey(id),\n onShow: getOnShowEventKey(id),\n onHide: getOnHideEventKey(id)\n }\n if (!isUndefined(page.exitState)) {\n Current.router.exitState = page.exitState\n }\n }\n let loadResolver: (...args: unknown[]) => void\n let hasLoaded: Promise<void>\n const config: PageInstance = {\n [ONLOAD] (this: MpInstance, options: Readonly<Record<string, unknown>> = {}, cb?: TFunc) {\n hasLoaded = new Promise(resolve => { loadResolver = resolve })\n\n perf.start(PAGE_INIT)\n\n Current.page = this as any\n this.config = pageConfig || {}\n\n // this.$taroPath 是页面唯一标识\n const uniqueOptions = Object.assign({}, options, { $taroTimestamp: Date.now() })\n const $taroPath = this.$taroPath = getPath(id, uniqueOptions)\n if (process.env.TARO_PLATFORM === 'web') {\n config.path = $taroPath\n }\n // this.$taroParams 作为暴露给开发者的页面参数对象,可以被随意修改\n if (this.$taroParams == null) {\n this.$taroParams = uniqueOptions\n }\n\n setCurrentRouter(this)\n\n // 初始化当前页面的上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.INIT, $taroPath)\n }\n\n const mount = () => {\n Current.app!.mount!(component, $taroPath, () => {\n pageElement = env.document.getElementById<TaroRootElement>($taroPath)\n\n ensure(pageElement !== null, '没有找到页面实例。')\n safeExecute($taroPath, ON_LOAD, this.$taroParams)\n loadResolver()\n if (process.env.TARO_PLATFORM !== 'web') {\n pageElement.ctx = this\n pageElement.performUpdate(true, cb)\n } else {\n isFunction(cb) && cb()\n }\n })\n }\n if (unmounting) {\n prepareMountList.push(mount)\n } else {\n mount()\n }\n },\n [ONUNLOAD] () {\n const $taroPath = this.$taroPath\n // 销毁当前页面的上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.DESTORY, $taroPath)\n }\n // 触发onUnload生命周期\n safeExecute($taroPath, ONUNLOAD)\n unmounting = true\n Current.app!.unmount!($taroPath, () => {\n unmounting = false\n instances.delete($taroPath)\n if (pageElement) {\n pageElement.ctx = null\n pageElement = null\n }\n if (prepareMountList.length) {\n prepareMountList.forEach(fn => fn())\n prepareMountList = []\n }\n })\n },\n [ONREADY] () {\n hasLoaded.then(() => {\n // 触发生命周期\n safeExecute(this.$taroPath, ON_READY)\n // 通过事件触发子组件的生命周期\n raf(() => eventCenter.trigger(getOnReadyEventKey(id)))\n this.onReady.called = true\n })\n },\n [ONSHOW] (options = {}) {\n hasLoaded.then(() => {\n // 设置 Current 的 page 和 router\n Current.page = this as any\n setCurrentRouter(this)\n // 恢复上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.RECOVER, this.$taroPath)\n }\n // 触发生命周期\n safeExecute(this.$taroPath, ON_SHOW, options)\n // 通过事件触发子组件的生命周期\n raf(() => eventCenter.trigger(getOnShowEventKey(id)))\n })\n },\n [ONHIDE] () {\n // 缓存当前页面上下文信息\n if (process.env.TARO_PLATFORM !== 'web') {\n window.trigger(CONTEXT_ACTIONS.RESTORE, this.$taroPath)\n }\n // 设置 Current 的 page 和 router\n if (Current.page === this) {\n Current.page = null\n Current.router = null\n }\n // 触发生命周期\n safeExecute(this.$taroPath, ON_HIDE)\n // 通过事件触发子组件的生命周期\n eventCenter.trigger(getOnHideEventKey(id))\n }\n }\n\n if (process.env.TARO_PLATFORM === 'web') {\n config.getOpenerEventChannel = () => {\n return EventChannel.pageChannel\n }\n }\n\n LIFECYCLES.forEach((lifecycle) => {\n let isDefer = false\n lifecycle = lifecycle.replace(/^defer:/, () => {\n isDefer = true\n return ''\n })\n config[lifecycle] = function () {\n const exec = () => safeExecute(this.$taroPath, lifecycle, ...arguments)\n if (isDefer) {\n hasLoaded.then(exec)\n } else {\n return exec()\n }\n }\n })\n\n // onShareAppMessage 和 onShareTimeline 一样,会影响小程序右上方按钮的选项,因此不能默认注册。\n SIDE_EFFECT_LIFECYCLES.forEach(lifecycle => {\n if (component[lifecycle] ||\n component.prototype?.[lifecycle] ||\n component[lifecycle.replace(/^on/, 'enable')] ||\n pageConfig?.[lifecycle.replace(/^on/, 'enable')]\n ) {\n config[lifecycle] = function (...args) {\n const target = args[0]?.target\n if (target?.id) {\n const id = target.id\n const element = env.document.getElementById(id)\n if (element) {\n target.dataset = element.dataset\n }\n }\n return safeExecute(this.$taroPath, lifecycle, ...args)\n }\n }\n })\n\n config.eh = eventHandler\n\n if (!isUndefined(data)) {\n config.data = data\n }\n\n hooks.call('modifyPageObject', config)\n\n return config\n}\n\nexport function createComponentConfig (component: React.ComponentClass, componentName?: string, data?: Record<string, unknown>) {\n const id = componentName ?? `taro_component_${pageId()}`\n let componentElement: TaroRootElement | null = null\n const [ATTACHED, DETACHED] = hooks.call('getMiniLifecycleImpl')!.component\n\n const config: any = {\n [ATTACHED] () {\n perf.start(PAGE_INIT)\n this.pageIdCache = this.getPageId?.() || pageId()\n\n const path = getPath(id, { id: this.pageIdCache })\n\n Current.app!.mount!(component, path, () => {\n componentElement = env.document.getElementById<TaroRootElement>(path)\n ensure(componentElement !== null, '没有找到组件实例。')\n this.$taroInstances = instances.get(path)\n safeExecute(path, ON_LOAD)\n if (process.env.TARO_PLATFORM !== 'web') {\n componentElement.ctx = this\n componentElement.performUpdate(true)\n }\n })\n },\n [DETACHED] () {\n const path = getPath(id, { id: this.pageIdCache })\n\n Current.app!.unmount!(path, () => {\n instances.delete(path)\n if (componentElement) {\n componentElement.ctx = null\n }\n })\n },\n methods: {\n eh: eventHandler\n }\n }\n\n if (!isUndefined(data)) {\n config.data = data\n }\n\n [OPTIONS, EXTERNAL_CLASSES, BEHAVIORS].forEach(key => {\n config[key] = component[key] ?? EMPTY_OBJ\n })\n\n return config\n}\n\nexport function createRecursiveComponentConfig (componentName?: string) {\n const isCustomWrapper = componentName === CUSTOM_WRAPPER\n const [ATTACHED, DETACHED] = hooks.call('getMiniLifecycleImpl')!.component\n\n const lifeCycles = isCustomWrapper\n ? {\n [ATTACHED] () {\n const componentId = this.data.i?.sid || this.props.i?.sid\n if (isString(componentId)) {\n customWrapperCache.set(componentId, this)\n const el = env.document.getElementById(componentId)\n if (el) {\n el.ctx = this\n }\n }\n },\n [DETACHED] () {\n const componentId = this.data.i?.sid || this.props.i?.sid\n if (isString(componentId)) {\n customWrapperCache.delete(componentId)\n const el = env.document.getElementById(componentId)\n if (el) {\n el.ctx = null\n }\n }\n }\n }\n : EMPTY_OBJ\n\n return hooks.call('modifyRecursiveComponentConfig',\n {\n properties: {\n i: {\n type: Object,\n value: {\n [Shortcuts.NodeName]: getComponentsAlias(internalComponents)[VIEW]._num\n }\n },\n l: {\n type: String,\n value: ''\n }\n },\n options: {\n addGlobalClass: true,\n virtualHost: !isCustomWrapper\n },\n methods: {\n eh: eventHandler\n },\n ...lifeCycles\n }, { isCustomWrapper })\n}\n"],"names":["raf"],"mappings":"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"}
package/dist/hydrate.js CHANGED
@@ -17,6 +17,7 @@ function hydrate(node) {
17
17
  // 初始化 SPECIAL_NODES
18
18
  SPECIAL_NODES || (SPECIAL_NODES = hooks.call('getSpecialNodes'));
19
19
  const nodeName = node.nodeName;
20
+ let compileModeName = null;
20
21
  if (isText(node)) {
21
22
  return {
22
23
  sid: node.sid,
@@ -48,11 +49,14 @@ function hydrate(node) {
48
49
  propInCamelCase !== COMPILE_MODE) {
49
50
  data[propInCamelCase] = props[prop];
50
51
  }
51
- if (nodeName === VIEW && propInCamelCase === CATCHMOVE && props[prop] !== false) {
52
+ if (process.env.TARO_ENV !== 'swan' &&
53
+ nodeName === VIEW &&
54
+ propInCamelCase === CATCHMOVE &&
55
+ props[prop] !== false) {
52
56
  data["nn" /* Shortcuts.NodeName */] = CATCH_VIEW;
53
57
  }
54
58
  if (propInCamelCase === COMPILE_MODE) {
55
- data["nn" /* Shortcuts.NodeName */] = props[prop];
59
+ compileModeName = props[prop];
56
60
  }
57
61
  }
58
62
  // Children
@@ -76,6 +80,9 @@ function hydrate(node) {
76
80
  }
77
81
  }
78
82
  }
83
+ if (compileModeName !== null) {
84
+ data["nn" /* Shortcuts.NodeName */] = compileModeName;
85
+ }
79
86
  const resData = hooks.call('transferHydrateData', data, node, componentAlias);
80
87
  return resData || data;
81
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hydrate.js","sources":["../src/hydrate.ts"],"sourcesContent":["import { hooks, Shortcuts, toCamelCase } from '@tarojs/shared'\n\nimport {\n CATCH_VIEW,\n CATCHMOVE,\n CLASS,\n COMPILE_MODE,\n ID,\n PURE_VIEW,\n STYLE,\n VIEW\n} from './constants'\nimport { getComponentsAlias, isComment, isHasExtractProp, isText } from './utils'\n\nimport type { TaroElement } from './dom/element'\nimport type { TaroText } from './dom/text'\nimport type { MiniData, MiniElementData } from './interface'\n\nlet SPECIAL_NODES\nlet componentsAlias\n\n/**\n * React also has a fancy function's name for this: `hydrate()`.\n * You may have been heard `hydrate` as a SSR-related function,\n * actually, `hydrate` basicly do the `render()` thing, but ignore some properties,\n * it's a vnode traverser and modifier: that's exactly what Taro's doing in here.\n */\nexport function hydrate (node: TaroElement | TaroText): MiniData {\n // 初始化 componentsAlias\n componentsAlias ||= getComponentsAlias()\n\n // 初始化 SPECIAL_NODES\n SPECIAL_NODES ||= hooks.call('getSpecialNodes')!\n\n const nodeName = node.nodeName\n\n if (isText(node)) {\n return {\n sid: node.sid,\n [Shortcuts.Text]: node.nodeValue,\n [Shortcuts.NodeName]: componentsAlias[nodeName]?._num || '8'\n }\n }\n\n const data: MiniElementData = {\n [Shortcuts.NodeName]: nodeName,\n sid: node.sid\n }\n\n if (node.uid !== node.sid) {\n data.uid = node.uid\n }\n\n if (!node.isAnyEventBinded() && SPECIAL_NODES.indexOf(nodeName) > -1) {\n data[Shortcuts.NodeName] = `static-${nodeName}`\n if (nodeName === VIEW && !isHasExtractProp(node)) {\n data[Shortcuts.NodeName] = PURE_VIEW\n }\n }\n\n const { props } = node\n for (const prop in props) {\n const propInCamelCase = toCamelCase(prop)\n if (\n !prop.startsWith('data-') && // 在 node.dataset 的数据\n prop !== CLASS &&\n prop !== STYLE &&\n prop !== ID &&\n propInCamelCase !== CATCHMOVE &&\n propInCamelCase !== COMPILE_MODE\n ) {\n data[propInCamelCase] = props[prop]\n }\n if (nodeName === VIEW && propInCamelCase === CATCHMOVE && props[prop] !== false) {\n data[Shortcuts.NodeName] = CATCH_VIEW\n }\n if (propInCamelCase === COMPILE_MODE) {\n data[Shortcuts.NodeName] = props[prop]\n }\n }\n\n // Children\n data[Shortcuts.Childnodes] = node.childNodes.filter(node => !isComment(node)).map(hydrate)\n\n if (node.className !== '') {\n data[Shortcuts.Class] = node.className\n }\n\n const cssText = node.cssText\n if (cssText !== '' && nodeName !== 'swiper-item') {\n data[Shortcuts.Style] = cssText\n }\n\n hooks.call('modifyHydrateData', data, node)\n\n const nn = data[Shortcuts.NodeName]\n const componentAlias = componentsAlias[nn]\n if (componentAlias) {\n data[Shortcuts.NodeName] = componentAlias._num\n for (const prop in data) {\n if (prop in componentAlias) {\n data[componentAlias[prop]] = data[prop]\n delete data[prop]\n }\n }\n }\n\n const resData = hooks.call('transferHydrateData', data, node, componentAlias)\n\n return resData || data\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydrate.js","sources":["../src/hydrate.ts"],"sourcesContent":["import { hooks, Shortcuts, toCamelCase } from '@tarojs/shared'\n\nimport {\n CATCH_VIEW,\n CATCHMOVE,\n CLASS,\n COMPILE_MODE,\n ID,\n PURE_VIEW,\n STYLE,\n VIEW\n} from './constants'\nimport { getComponentsAlias, isComment, isHasExtractProp, isText } from './utils'\n\nimport type { TaroElement } from './dom/element'\nimport type { TaroText } from './dom/text'\nimport type { MiniData, MiniElementData } from './interface'\n\nlet SPECIAL_NODES\nlet componentsAlias\n\n/**\n * React also has a fancy function's name for this: `hydrate()`.\n * You may have been heard `hydrate` as a SSR-related function,\n * actually, `hydrate` basicly do the `render()` thing, but ignore some properties,\n * it's a vnode traverser and modifier: that's exactly what Taro's doing in here.\n */\nexport function hydrate (node: TaroElement | TaroText): MiniData {\n // 初始化 componentsAlias\n componentsAlias ||= getComponentsAlias()\n\n // 初始化 SPECIAL_NODES\n SPECIAL_NODES ||= hooks.call('getSpecialNodes')!\n\n const nodeName = node.nodeName\n let compileModeName = null\n\n if (isText(node)) {\n return {\n sid: node.sid,\n [Shortcuts.Text]: node.nodeValue,\n [Shortcuts.NodeName]: componentsAlias[nodeName]?._num || '8'\n }\n }\n\n const data: MiniElementData = {\n [Shortcuts.NodeName]: nodeName,\n sid: node.sid\n }\n\n if (node.uid !== node.sid) {\n data.uid = node.uid\n }\n\n if (!node.isAnyEventBinded() && SPECIAL_NODES.indexOf(nodeName) > -1) {\n data[Shortcuts.NodeName] = `static-${nodeName}`\n if (nodeName === VIEW && !isHasExtractProp(node)) {\n data[Shortcuts.NodeName] = PURE_VIEW\n }\n }\n\n const { props } = node\n for (const prop in props) {\n const propInCamelCase = toCamelCase(prop)\n if (\n !prop.startsWith('data-') && // 在 node.dataset 的数据\n prop !== CLASS &&\n prop !== STYLE &&\n prop !== ID &&\n propInCamelCase !== CATCHMOVE &&\n propInCamelCase !== COMPILE_MODE\n ) {\n data[propInCamelCase] = props[prop]\n }\n if (\n process.env.TARO_ENV !== 'swan' &&\n nodeName === VIEW &&\n propInCamelCase === CATCHMOVE &&\n props[prop] !== false\n ) {\n data[Shortcuts.NodeName] = CATCH_VIEW\n }\n if (propInCamelCase === COMPILE_MODE) {\n compileModeName = props[prop]\n }\n }\n\n // Children\n data[Shortcuts.Childnodes] = node.childNodes.filter(node => !isComment(node)).map(hydrate)\n\n if (node.className !== '') {\n data[Shortcuts.Class] = node.className\n }\n\n const cssText = node.cssText\n if (cssText !== '' && nodeName !== 'swiper-item') {\n data[Shortcuts.Style] = cssText\n }\n\n hooks.call('modifyHydrateData', data, node)\n\n const nn = data[Shortcuts.NodeName]\n const componentAlias = componentsAlias[nn]\n if (componentAlias) {\n data[Shortcuts.NodeName] = componentAlias._num\n for (const prop in data) {\n if (prop in componentAlias) {\n data[componentAlias[prop]] = data[prop]\n delete data[prop]\n }\n }\n }\n\n if (compileModeName !== null) {\n data[Shortcuts.NodeName] = compileModeName\n }\n\n const resData = hooks.call('transferHydrateData', data, node, componentAlias)\n\n return resData || data\n}\n"],"names":[],"mappings":"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"}
@@ -706,6 +706,8 @@ interface PageInstance extends PageLifeCycle {
706
706
  options?: Record<string, unknown>;
707
707
  /** 页面渲染引擎类型 */
708
708
  renderer?: "webview" | "skyline";
709
+ /** 获得一个 EventChannel 对象,用于页面间通讯 */
710
+ getOpenerEventChannel?(): Record<string, any>;
709
711
  }
710
712
  interface Show {
711
713
  componentDidShow?(): void;
@@ -722,6 +724,7 @@ interface AppInstance extends Show {
722
724
  onPageNotFound?(res: any): void;
723
725
  onUnhandledRejection?(error: any): void;
724
726
  onShow?(options?: Record<string, unknown>): void;
727
+ onHide?(options?: Record<string, unknown>): void;
725
728
  unmount?(id: string, cb?: () => void): void;
726
729
  taroGlobalData?: Record<any, any>;
727
730
  config?: Record<any, any>;
@@ -769,6 +772,14 @@ declare function createRecursiveComponentConfig(componentName?: string): any;
769
772
  declare function hydrate(node: TaroElement | TaroText): MiniData;
770
773
  declare const nextTick: (cb: TFunc, ctx?: Record<string, any>) => void;
771
774
  declare const options: Options;
775
+ declare class Performance {
776
+ #private;
777
+ private recorder;
778
+ start(id: string): void;
779
+ stop(id: string, now?: number): void;
780
+ delayStop(id: string, delay?: number): ((...args: any[]) => void) | undefined;
781
+ }
782
+ declare const perf: Performance;
772
783
  declare const incrementId: () => () => string;
773
784
  declare function isElement(node: TaroNode): node is TaroElement;
774
785
  declare function isText(node: TaroNode): node is TaroText;
@@ -789,6 +800,7 @@ declare function extend(ctor: Ctor, methodName: string, options: TFunc | Record<
789
800
  declare function getComponentsAlias(): any;
790
801
  declare function convertNumber2PX(value: number): string;
791
802
  declare function throttle(fn: any, threshold?: number, scope?: any): (...args: any[]) => void;
803
+ declare function debounce(fn: any, ms?: number, scope?: any): (...args: any[]) => void;
792
804
  // export const removeLeadingSlash = (str = '') => str.replace(/^\.?\//, '')
793
805
  // export const removeTrailingSearch = (str = '') => str.replace(/\?[\s\S]*$/, '')
794
806
  declare const addLeadingSlash: (url?: string) => string;
@@ -800,4 +812,4 @@ declare const getHomePage: (path?: string, basename?: string, customRoutes?: Rec
800
812
  declare const getCurrentPage: (routerMode?: string, basename?: string) => string;
801
813
  declare function handlePolyfill(): void;
802
814
  export { hooks } from '@tarojs/shared';
803
- export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, 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, 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, Current, getCurrentInstance, eventSource, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
815
+ export { document, getComputedStyle, History, Location, nav as navigator, _caf as cancelAnimationFrame, now, _raf as requestAnimationFrame, parseUrl, URL, URLSearchParams, history, location, window, TaroElement, createEvent, eventHandler, TaroEvent, FormElement, TaroNode, TaroRootElement, Style, SVGElement, TaroText, MutationObserver, env, 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, 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, Current, getCurrentInstance, eventSource, createComponentConfig, createPageConfig, createRecursiveComponentConfig, getOnHideEventKey, getOnReadyEventKey, getOnShowEventKey, getPageInstance, getPath, injectPageInstance, removePageInstance, safeExecute, stringify, EventsType, eventCenter, Events, hydrate, nextTick, options, perf, incrementId, isElement, isText, isComment, isHasExtractProp, isParentBinded, shortcutAttr, customWrapperCache, extend, getComponentsAlias, convertNumber2PX, throttle, debounce, addLeadingSlash, hasBasename, stripBasename, stripTrailing, stripSuffix, getHomePage, getCurrentPage, Instance, VueAppInstance, VueInstance, PageProps, ReactPageComponent, ReactPageInstance, ReactAppInstance, PageLifeCycle, PageInstance, AppInstance, Attributes, EventOptions, MpEvent, EventListenerOptions, AddEventListenerOptions, EventHandler, MpInstance, MiniElementData, MiniTextData, MiniData, HydratedData, UpdatePayloadValue, DataTree, UpdatePayload, Options$1 as Options, TFunc, PageConfig, handlePolyfill };
package/dist/index.cjs.js CHANGED
@@ -219,6 +219,16 @@ function throttle(fn, threshold = 250, scope) {
219
219
  }
220
220
  };
221
221
  }
222
+ function debounce(fn, ms = 250, scope) {
223
+ let timer;
224
+ return function (...args) {
225
+ const context = scope || this;
226
+ clearTimeout(timer);
227
+ timer = setTimeout(function () {
228
+ fn.apply(context, args);
229
+ }, ms);
230
+ };
231
+ }
222
232
 
223
233
  const eventCenter = shared.hooks.call('getEventCenter', shared.Events);
224
234
 
@@ -1299,6 +1309,7 @@ function hydrate(node) {
1299
1309
  // 初始化 SPECIAL_NODES
1300
1310
  SPECIAL_NODES || (SPECIAL_NODES = shared.hooks.call('getSpecialNodes'));
1301
1311
  const nodeName = node.nodeName;
1312
+ let compileModeName = null;
1302
1313
  if (isText(node)) {
1303
1314
  return {
1304
1315
  sid: node.sid,
@@ -1330,11 +1341,14 @@ function hydrate(node) {
1330
1341
  propInCamelCase !== COMPILE_MODE) {
1331
1342
  data[propInCamelCase] = props[prop];
1332
1343
  }
1333
- if (nodeName === VIEW && propInCamelCase === CATCHMOVE && props[prop] !== false) {
1344
+ if (process.env.TARO_ENV !== 'swan' &&
1345
+ nodeName === VIEW &&
1346
+ propInCamelCase === CATCHMOVE &&
1347
+ props[prop] !== false) {
1334
1348
  data["nn" /* Shortcuts.NodeName */] = CATCH_VIEW;
1335
1349
  }
1336
1350
  if (propInCamelCase === COMPILE_MODE) {
1337
- data["nn" /* Shortcuts.NodeName */] = props[prop];
1351
+ compileModeName = props[prop];
1338
1352
  }
1339
1353
  }
1340
1354
  // Children
@@ -1358,6 +1372,9 @@ function hydrate(node) {
1358
1372
  }
1359
1373
  }
1360
1374
  }
1375
+ if (compileModeName !== null) {
1376
+ data["nn" /* Shortcuts.NodeName */] = compileModeName;
1377
+ }
1361
1378
  const resData = shared.hooks.call('transferHydrateData', data, node, componentAlias);
1362
1379
  return resData || data;
1363
1380
  }
@@ -3264,6 +3281,7 @@ function cloneNode(isDeep = false) {
3264
3281
  }
3265
3282
  for (const key in this) {
3266
3283
  const value = this[key];
3284
+ // eslint-disable-next-line valid-typeof
3267
3285
  if ([PROPS, DATASET].includes(key) && typeof value === OBJECT) {
3268
3286
  newNode[key] = Object.assign({}, value);
3269
3287
  }
@@ -3503,8 +3521,10 @@ class FormElement extends TaroElement {
3503
3521
  }
3504
3522
  }
3505
3523
 
3524
+ var _Performance_instances, _Performance_parseTime;
3506
3525
  class Performance {
3507
3526
  constructor() {
3527
+ _Performance_instances.add(this);
3508
3528
  this.recorder = new Map();
3509
3529
  }
3510
3530
  start(id) {
@@ -3513,18 +3533,32 @@ class Performance {
3513
3533
  }
3514
3534
  this.recorder.set(id, Date.now());
3515
3535
  }
3516
- stop(id) {
3536
+ stop(id, now = Date.now()) {
3517
3537
  if (!options.debug) {
3518
3538
  return;
3519
3539
  }
3520
- const now = Date.now();
3521
3540
  const prev = this.recorder.get(id);
3541
+ if (!(prev >= 0))
3542
+ return;
3522
3543
  this.recorder.delete(id);
3523
3544
  const time = now - prev;
3524
3545
  // eslint-disable-next-line no-console
3525
- console.log(`${id} 时长: ${time}ms`);
3546
+ console.log(`${id} 时长: ${time}ms 开始时间:${tslib.__classPrivateFieldGet(this, _Performance_instances, "m", _Performance_parseTime).call(this, prev)} 结束时间:${tslib.__classPrivateFieldGet(this, _Performance_instances, "m", _Performance_parseTime).call(this, now)}`);
3547
+ }
3548
+ delayStop(id, delay = 500) {
3549
+ if (!options.debug) {
3550
+ return;
3551
+ }
3552
+ return debounce((now = Date.now(), cb) => {
3553
+ this.stop(id, now);
3554
+ cb === null || cb === void 0 ? void 0 : cb();
3555
+ }, delay);
3526
3556
  }
3527
3557
  }
3558
+ _Performance_instances = new WeakSet(), _Performance_parseTime = function _Performance_parseTime(time) {
3559
+ const d = new Date(time);
3560
+ return `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}.${`${d.getMilliseconds()}`.padStart(3, '0')}`;
3561
+ };
3528
3562
  const perf = new Performance();
3529
3563
 
3530
3564
  function findCustomWrapper(root, dataPathArr) {
@@ -4069,6 +4103,11 @@ function createPageConfig(component, pageName, data, pageConfig) {
4069
4103
  eventCenter.trigger(getOnHideEventKey(id));
4070
4104
  }
4071
4105
  };
4106
+ if (process.env.TARO_PLATFORM === 'web') {
4107
+ config.getOpenerEventChannel = () => {
4108
+ return shared.EventChannel.pageChannel;
4109
+ };
4110
+ }
4072
4111
  LIFECYCLES.forEach((lifecycle) => {
4073
4112
  let isDefer = false;
4074
4113
  lifecycle = lifecycle.replace(/^defer:/, () => {
@@ -5096,6 +5135,7 @@ exports.createEvent = createEvent;
5096
5135
  exports.createPageConfig = createPageConfig;
5097
5136
  exports.createRecursiveComponentConfig = createRecursiveComponentConfig;
5098
5137
  exports.customWrapperCache = customWrapperCache;
5138
+ exports.debounce = debounce;
5099
5139
  exports.document = document$1;
5100
5140
  exports.env = env;
5101
5141
  exports.eventCenter = eventCenter;
@@ -5128,6 +5168,7 @@ exports.navigator = nav;
5128
5168
  exports.nextTick = nextTick;
5129
5169
  exports.options = options;
5130
5170
  exports.parseUrl = parseUrl;
5171
+ exports.perf = perf;
5131
5172
  exports.removePageInstance = removePageInstance;
5132
5173
  exports.requestAnimationFrame = _raf;
5133
5174
  exports.safeExecute = safeExecute;