@tarojs/shared 3.3.14 → 3.5.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.d.ts +2 -8
- package/dist/index.js +171 -214
- package/dist/index.js.map +1 -1
- package/dist/shared.esm.js +170 -212
- package/dist/shared.esm.js.map +1 -1
- package/dist/template.d.ts +9 -1
- package/dist/template.js +153 -188
- package/dist/template.js.map +1 -1
- package/package.json +2 -2
package/dist/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sources":["../src/components.ts","../src/is.ts","../src/utils.ts","../src/template.ts"],"sourcesContent":["import { Shortcuts } from './shortcuts'\n\nexport const styles = {\n style: `i.${Shortcuts.Style}`,\n class: `i.${Shortcuts.Class}`\n}\n\nexport const events = {\n bindtap: 'eh'\n}\n\nexport const touchEvents = {\n bindTouchStart: '',\n bindTouchMove: '',\n bindTouchEnd: '',\n bindTouchCancel: '',\n bindLongTap: ''\n}\n\nexport const animationEvents = {\n bindAnimationStart: '',\n bindAnimationIteration: '',\n bindAnimationEnd: '',\n bindTransitionEnd: ''\n}\n\nexport function singleQuote (s: string) {\n return `'${s}'`\n}\n\nconst View = {\n 'hover-class': singleQuote('none'),\n 'hover-stop-propagation': 'false',\n 'hover-start-time': '50',\n 'hover-stay-time': '400',\n animation: '',\n ...touchEvents,\n ...animationEvents\n}\n\nconst Icon = {\n type: '',\n size: '23',\n color: ''\n}\n\nconst MapComp = {\n longitude: '',\n latitude: '',\n scale: '16',\n markers: '[]',\n covers: '',\n polyline: '[]',\n circles: '[]',\n controls: '[]',\n 'include-points': '[]',\n 'show-location': '',\n 'layer-style': '1',\n bindMarkerTap: '',\n bindControlTap: '',\n bindCalloutTap: '',\n bindUpdated: '',\n ...touchEvents\n}\n\nconst Progress = {\n percent: '',\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: 'false',\n 'active-mode': singleQuote('backwards'),\n 'show-info': 'false'\n}\n\nconst RichText = {\n nodes: '[]'\n}\n\nconst Text = {\n selectable: 'false',\n space: '',\n decode: 'false'\n}\n\nconst Button = {\n size: singleQuote('default'),\n type: '',\n plain: 'false',\n disabled: '',\n loading: 'false',\n 'form-type': '',\n 'open-type': '',\n 'hover-class': singleQuote('button-hover'),\n 'hover-stop-propagation': 'false',\n 'hover-start-time': '20',\n 'hover-stay-time': '70',\n name: '',\n ...touchEvents\n}\n\nconst Checkbox = {\n value: '',\n disabled: '',\n checked: 'false',\n color: singleQuote('#09BB07'),\n name: ''\n}\n\nconst CheckboxGroup = {\n bindChange: '',\n name: ''\n}\n\nconst Form = {\n 'report-submit': 'false',\n bindSubmit: '',\n bindReset: '',\n name: ''\n}\n\nconst Input = {\n value: '',\n type: singleQuote(''),\n password: 'false',\n placeholder: '',\n 'placeholder-style': '',\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: '',\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: 'false',\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': 'false',\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: '',\n bindFocus: '',\n bindBlur: '',\n bindConfirm: '',\n name: ''\n}\n\nconst Label = {\n for: '',\n name: ''\n}\n\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: '',\n range: '',\n 'range-key': '',\n value: '',\n start: '',\n end: '',\n fields: singleQuote('day'),\n 'custom-item': '',\n name: '',\n bindCancel: '',\n bindChange: '',\n bindColumnChange: ''\n}\n\nconst PickerView = {\n value: '',\n 'indicator-style': '',\n 'indicator-class': '',\n 'mask-style': '',\n 'mask-class': '',\n bindChange: '',\n name: ''\n}\n\nconst PickerViewColumn = {\n name: ''\n}\n\nconst Radio = {\n value: '',\n checked: 'false',\n disabled: '',\n color: singleQuote('#09BB07'),\n name: ''\n}\n\nconst RadioGroup = {\n bindChange: '',\n name: ''\n}\n\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: '',\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': 'false',\n bindChange: '',\n bindChanging: '',\n name: ''\n}\n\nconst Switch = {\n checked: 'false',\n disabled: '',\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: '',\n name: ''\n}\n\nconst Textarea = {\n value: '',\n placeholder: '',\n 'placeholder-style': '',\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: '',\n maxlength: '140',\n 'auto-focus': 'false',\n focus: 'false',\n 'auto-height': 'false',\n fixed: 'false',\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: '',\n bindBlur: '',\n bindLineChange: '',\n bindInput: '',\n bindConfirm: '',\n name: ''\n}\n\nconst CoverImage = {\n src: '',\n bindLoad: 'eh',\n bindError: 'eh'\n}\n\nconst CoverView = {\n 'scroll-top': 'false',\n ...touchEvents\n}\n\nconst MovableArea = {\n 'scale-area': 'false'\n}\n\nconst MovableView = {\n direction: 'none',\n inertia: 'false',\n 'out-of-bounds': 'false',\n x: '',\n y: '',\n damping: '20',\n friction: '2',\n disabled: '',\n scale: 'false',\n 'scale-min': '0.5',\n 'scale-max': '10',\n 'scale-value': '1',\n animation: 'true',\n bindChange: '',\n bindScale: '',\n bindHTouchMove: '',\n bindVTouchMove: '',\n width: singleQuote('10px'),\n height: singleQuote('10px'),\n ...touchEvents,\n ...animationEvents\n}\n\nconst ScrollView = {\n 'scroll-x': 'false',\n 'scroll-y': 'false',\n 'upper-threshold': '50',\n 'lower-threshold': '50',\n 'scroll-top': '',\n 'scroll-left': '',\n 'scroll-into-view': '',\n 'scroll-with-animation': 'false',\n 'enable-back-to-top': 'false',\n bindScrollToUpper: '',\n bindScrollToLower: '',\n bindScroll: '',\n ...touchEvents,\n ...animationEvents\n}\n\nconst Swiper = {\n 'indicator-dots': 'false',\n 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'),\n 'indicator-active-color': singleQuote('#000000'),\n autoplay: 'false',\n current: '0',\n interval: '5000',\n duration: '500',\n circular: 'false',\n vertical: 'false',\n 'previous-margin': '\\'0px\\'',\n 'next-margin': '\\'0px\\'',\n 'display-multiple-items': '1',\n bindChange: '',\n bindTransition: '',\n bindAnimationFinish: '',\n ...touchEvents\n}\n\nconst SwiperItem = {\n 'item-id': ''\n}\n\nconst Navigator = {\n url: '',\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': 'false',\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: '',\n bindFail: '',\n bindComplete: ''\n}\n\nconst Audio = {\n id: '',\n src: '',\n loop: 'false',\n controls: 'false',\n poster: '',\n name: '',\n author: '',\n bindError: '',\n bindPlay: '',\n bindPause: '',\n bindTimeUpdate: '',\n bindEnded: ''\n}\n\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: '',\n bindError: ''\n}\n\nconst Image = {\n src: '',\n mode: singleQuote('scaleToFill'),\n 'lazy-load': 'false',\n bindError: '',\n bindLoad: '',\n ...touchEvents\n}\n\nconst LivePlayer = {\n src: '',\n autoplay: 'false',\n muted: 'false',\n orientation: singleQuote('vertical'),\n 'object-fit': singleQuote('contain'),\n 'background-mute': 'false',\n 'min-cache': '1',\n 'max-cache': '3',\n animation: '',\n bindStateChange: '',\n bindFullScreenChange: '',\n bindNetStatus: ''\n}\n\nconst Video = {\n src: '',\n duration: '',\n controls: 'true',\n 'danmu-list': '',\n 'danmu-btn': '',\n 'enable-danmu': '',\n autoplay: 'false',\n loop: 'false',\n muted: 'false',\n 'initial-time': '0',\n 'page-gesture': 'false',\n direction: '',\n 'show-progress': 'true',\n 'show-fullscreen-btn': 'true',\n 'show-play-btn': 'true',\n 'show-center-play-btn': 'true',\n 'enable-progress-gesture': 'true',\n 'object-fit': singleQuote('contain'),\n poster: '',\n 'show-mute-btn': 'false',\n animation: '',\n bindPlay: '',\n bindPause: '',\n bindEnded: '',\n bindTimeUpdate: '',\n bindFullScreenChange: '',\n bindWaiting: '',\n bindError: ''\n}\n\nconst Canvas = {\n 'canvas-id': '',\n 'disable-scroll': 'false',\n bindError: '',\n ...touchEvents\n}\n\nconst Ad = {\n 'unit-id': '',\n 'ad-intervals': '',\n bindLoad: '',\n bindError: '',\n bindClose: ''\n}\n\nconst WebView = {\n src: '',\n bindMessage: '',\n bindLoad: '',\n bindError: ''\n}\n\nconst Block = {}\n\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: ''\n}\n\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: ''\n}\n\nexport const internalComponents: Record<string, Record<string, string>> = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView\n}\n\nexport const controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n])\n\nexport const focusComponents = new Set([\n 'input',\n 'textarea'\n])\n\nexport const voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n])\n\nexport const nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n])\n","export function isString (o: unknown): o is string {\n return typeof o === 'string'\n}\n\nexport function isUndefined (o: unknown): o is undefined {\n return typeof o === 'undefined'\n}\n\nexport function isNull (o: unknown): o is null {\n return o === null\n}\n\nexport function isObject<T> (o: unknown): o is T {\n return o !== null && typeof o === 'object'\n}\n\nexport function isBoolean (o: unknown): o is boolean {\n return o === true || o === false\n}\n\nexport function isFunction (o: unknown): o is (...args: any[]) => any {\n return typeof o === 'function'\n}\n\nexport function isNumber (o: unknown): o is number {\n return typeof o === 'number'\n}\n\nexport function isBooleanStringLiteral (o: unknown): o is string {\n return o === 'true' || o === 'false'\n}\n\nexport const isArray = Array.isArray\n","import { internalComponents } from './components'\nimport { isArray } from './is'\n\nexport const EMPTY_OBJ: any = {}\n\nexport const EMPTY_ARR = []\n\nexport const noop = (..._: unknown[]) => {}\n\nexport const defaultReconciler = Object.create(null)\n\n/**\n * Boxed value.\n *\n * @typeparam T Value type.\n */\nexport interface Box<T> {\n v: T;\n}\n\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nexport const box = <T>(v: T) => ({ v })\n\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nexport const unbox = <T>(b: Box<T>) => b.v\n\nexport function toDashed (s: string) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function toCamelCase (s: string) {\n let camel = ''\n let nextCap = false\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i]\n nextCap = false\n } else {\n nextCap = true\n }\n }\n return camel\n}\n\nexport const toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function capitalize (s: string) {\n return s.charAt(0).toUpperCase() + s.slice(1)\n}\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\n\nexport const hasOwn = (\n val: Record<any, any>,\n key: string | symbol\n) => hasOwnProperty.call(val, key)\n\nconst reportIssue = '如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues'\n\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nexport function ensure (condition: boolean, msg: string): asserts condition {\n if (!condition) {\n throw new Error(msg + '\\n' + reportIssue)\n }\n}\n\nexport function warn (condition: boolean, msg: string) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`)\n }\n }\n}\n\nexport function queryToJson (str) {\n const dec = decodeURIComponent\n const qp = str.split('&')\n const ret = {}\n let name\n let val\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i]\n if (item.length) {\n const s = item.indexOf('=')\n if (s < 0) {\n name = dec(item)\n val = ''\n } else {\n name = dec(item.slice(0, s))\n val = dec(item.slice(s + 1))\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]]\n }\n\n if (Array.isArray(ret[name])) {\n ret[name].push(val)\n } else {\n ret[name] = val\n }\n }\n }\n return ret // Object\n}\n\nlet _uniqueId = 1\nconst _loadTime = (new Date()).getTime().toString()\n\nexport function getUniqueKey () {\n return _loadTime + (_uniqueId++)\n}\n\nconst cacheData = {}\n\nexport function cacheDataSet (key, val) {\n cacheData[key] = val\n}\n\nexport function cacheDataGet (key, delelteAfterGet?) {\n const temp = cacheData[key]\n delelteAfterGet && delete cacheData[key]\n return temp\n}\n\nexport function cacheDataHas (key) {\n return key in cacheData\n}\n\nexport function mergeInternalComponents (components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name])\n } else {\n internalComponents[name] = components[name]\n }\n })\n}\n\nexport function mergeReconciler (hostConfig) {\n Object.keys(hostConfig).forEach(key => {\n const value = hostConfig[key]\n const raw = defaultReconciler[key]\n if (!raw) {\n defaultReconciler[key] = value\n } else {\n if (isArray(raw)) {\n defaultReconciler[key] = raw.push(value)\n } else {\n defaultReconciler[key] = [raw, value]\n }\n }\n })\n}\n\nexport function unsupport (api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`)\n }\n}\n\nexport function setUniqueKeyToRoute (key: string, obj) {\n const routerParamsPrivateKey = '__key_'\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ]\n\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || ''\n const hasMark = url.indexOf('?') > -1\n const cacheKey = getUniqueKey()\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`\n }\n}\n\nexport function indent (str: string, size: number): string {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('')\n return indent + line\n })\n .join('\\n')\n}\n","/**\n * 这里我们需要关心的小程序种类有两类:\n * 1. 模板递归:\n * - 支持:tmpl0 套 tmpl0\n * - 不支持:这就使得我们必须生成多级的模板,tmpl0 套 tmpl1,tmpl1 套 tmpl2……\n * 直到超过阈值 N (N = config.miniapp.baseLevel) tmplN 会套组件 comp,组件 comp 重新再套 tmpl0。\n * 2. 小程序脚本语言(wxs, sjs, etc...):\n * - 支持:可以在模板使用函数缩减模板大小或提高性能(存疑),例如判断一个值是不是假值(falsy value)。\n * 将来或许会把数据序列化^1 的操作也放到小程序脚本语言里。\n * - 不支持:使用纯 *xml 语法\n *\n * ^1: packages/taro-runtime/src/hydrate.ts\n*/\n\nimport {\n internalComponents,\n focusComponents,\n voidElements,\n nestElements,\n styles,\n events,\n singleQuote\n} from './components'\nimport { Shortcuts } from './shortcuts'\nimport { isBooleanStringLiteral, isNumber, isFunction } from './is'\nimport { toCamelCase, toKebabCase, toDashed, hasOwn, indent, capitalize } from './utils'\n\ninterface Component {\n nodeName: string;\n attributes: Attributes;\n}\n\ninterface Components {\n [key: string]: Record<string, string>;\n}\n\ninterface ComponentConfig {\n includes: Set<string>\n exclude: Set<string>\n thirdPartyComponents: Map<string, Set<string>>\n includeAll: boolean\n}\n\nexport interface IAdapter {\n if: string;\n else: string;\n elseif: string;\n for: string;\n forItem: string;\n forIndex: string;\n key: string;\n xs?: string,\n type: string;\n}\n\nexport type Attributes = Record<string, string>\n\nconst weixinAdapter: IAdapter = {\n if: 'wx:if',\n else: 'wx:else',\n elseif: 'wx:elif',\n for: 'wx:for',\n forItem: 'wx:for-item',\n forIndex: 'wx:for-index',\n key: 'wx:key',\n xs: 'wxs',\n type: 'weapp'\n}\n\nexport class BaseTemplate {\n protected exportExpr = 'module.exports ='\n protected isSupportRecursive: boolean\n protected supportXS = false\n protected miniComponents: Components\n protected modifyCompProps?: (compName: string, target: Record<string, string>) => Record<string, string>\n protected modifyLoopBody?: (child: string, nodeName: string) => string\n protected modifyLoopContainer?: (children: string, nodeName: string) => string\n protected modifyTemplateResult?: (res: string, nodeName: string, level: number, children: string) => string\n\n public Adapter = weixinAdapter\n /** 组件列表 */\n public internalComponents = internalComponents\n /** 可以 focus 聚焦的组件 */\n public focusComponents: Set<string> = focusComponents\n /** 不需要渲染子节点的元素 */\n public voidElements: Set<string> = voidElements\n /** 可以递归调用自身的组件 */\n public nestElements: Map<string, number> = nestElements\n\n private buildAttribute (attrs: Attributes, nodeName: string): string {\n return Object.keys(attrs)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? attrs[k] : `{${this.getAttrValue(attrs[k], k, nodeName)}}`}\" `)\n .join('')\n }\n\n protected replacePropName (name: string, value: string, _componentName?: string) {\n if (value === 'eh') return name.toLowerCase()\n return name\n }\n\n protected createMiniComponents (components: Components) {\n const result: Components = Object.create(null)\n\n for (const key in components) {\n if (hasOwn(components, key)) {\n let component = components[key]\n const compName = toDashed(key)\n const newComp: Record<string, string> = Object.create(null)\n\n if (isFunction(this.modifyCompProps)) {\n component = this.modifyCompProps(compName, component)\n }\n\n for (let prop in component) {\n if (hasOwn(component, prop)) {\n let propValue = component[prop]\n if (prop.startsWith('bind')) {\n propValue = 'eh'\n } else if (propValue === '') {\n propValue = `i.${toCamelCase(prop)}`\n } else if (isBooleanStringLiteral(propValue) || isNumber(+propValue)) {\n propValue = this.supportXS\n ? `xs.b(i.${toCamelCase(prop)},${propValue})`\n : `i.${toCamelCase(prop)}===undefined?${propValue}:i.${toCamelCase(prop)}`\n } else {\n propValue = `i.${toCamelCase(prop)}||${propValue || singleQuote('')}`\n }\n\n prop = this.replacePropName(prop, propValue, compName)\n\n newComp[prop] = propValue\n }\n }\n if (compName !== 'block') {\n Object.assign(newComp, styles, this.getEvents())\n }\n\n if (compName === 'swiper-item') {\n delete newComp.style\n }\n\n if (compName === 'view') {\n const reg = /^(bind|on)(touchmove|TouchMove)$/\n const comp = { ...newComp }\n Object.keys(comp).forEach(originKey => {\n if (!reg.test(originKey)) return\n\n const key = originKey.replace(reg, 'catch$2')\n comp[key] = comp[originKey]\n delete comp[originKey]\n })\n\n result['catch-view'] = comp\n }\n\n if (compName === 'view' || compName === 'text' || compName === 'image') {\n const comp: Record<any, any> = {}\n Object.keys(newComp).forEach(key => {\n const value = newComp[key]\n if (value !== 'eh') comp[key] = value\n })\n result[`static-${compName}`] = comp\n if (compName === 'view') {\n result['pure-view'] = {\n style: comp.style,\n class: comp.class\n }\n }\n }\n\n if (compName === 'slot' || compName === 'slot-view') {\n result[compName] = {\n slot: 'i.name'\n }\n } else {\n result[compName] = newComp\n }\n }\n }\n\n return result\n }\n\n protected buildBaseTemplate () {\n const Adapter = this.Adapter\n\n const data = !this.isSupportRecursive && this.supportXS\n ? `${this.dataKeymap('i:item,l:\\'\\'')}`\n : this.dataKeymap('i:item')\n\n return `${this.buildXsTemplate()}\n<template name=\"taro_tmpl\">\n <block ${Adapter.for}=\"{{root.cn}}\" ${Adapter.key}=\"uid\">\n <template is=\"tmpl_0_${Shortcuts.Container}\" data=\"{{${data}}}\" />\n </block>\n</template>\n`\n }\n\n protected buildThirdPartyAttr (attrs: Set<string>) {\n return Array.from(attrs).reduce((str, attr) => {\n if (attr.startsWith('@')) {\n // vue2\n let value = attr.slice(1)\n if (value.indexOf('-') > -1) {\n value = `:${value}`\n }\n return str + `bind${value}=\"eh\" `\n } else if (attr.startsWith('bind')) {\n return str + `${attr}=\"eh\" `\n } else if (attr.startsWith('on')) {\n // react, vue3\n let value = toKebabCase(attr.slice(2))\n if (value.indexOf('-') > -1) {\n // 兼容如 vant 某些组件的 bind:a-b 这类属性\n value = `:${value}`\n }\n return str + `bind${value}=\"eh\" `\n }\n\n return str + `${attr}=\"{{i.${toCamelCase(attr)}}}\" `\n }, '')\n }\n\n protected buildComponentTemplate (comp: Component, level: number) {\n return this.focusComponents.has(comp.nodeName)\n ? this.buildFocusComponentTemplte(comp, level)\n : this.buildStandardComponentTemplate(comp, level)\n }\n\n private getChildren (comp: Component, level: number): string {\n const { isSupportRecursive, Adapter, supportXS } = this\n const nextLevel = isSupportRecursive ? 0 : level + 1\n\n const data = !this.isSupportRecursive && supportXS\n ? `${this.dataKeymap('i:item,l:l')}`\n : this.dataKeymap('i:item')\n\n let child = supportXS\n ? `<template is=\"{{xs.e(${isSupportRecursive ? 0 : 'cid+1'})}}\" data=\"{{${data}}}\" />`\n : `<template is=\"tmpl_${nextLevel}_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n\n if (isFunction(this.modifyLoopBody)) {\n child = this.modifyLoopBody(child, comp.nodeName)\n }\n\n let children = this.voidElements.has(comp.nodeName)\n ? ''\n : `\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n ${indent(child, 6)}\n </block>\n `\n\n if (isFunction(this.modifyLoopContainer)) {\n children = this.modifyLoopContainer(children, comp.nodeName)\n }\n\n return children\n }\n\n protected buildFocusComponentTemplte (comp: Component, level: number) {\n const children = this.getChildren(comp, level)\n\n const attrs = { ...comp.attributes }\n const templateName = this.supportXS\n ? `xs.c(i, 'tmpl_${level}_')`\n : `i.focus ? 'tmpl_${level}_${comp.nodeName}_focus' : 'tmpl_${level}_${comp.nodeName}_blur'`\n delete attrs.focus\n\n let res = `\n<template name=\"tmpl_${level}_${comp.nodeName}\">\n <template is=\"{{${templateName}}}\" data=\"{{${this.dataKeymap('i:i')}${children ? ',cid:cid' : ''}}}\" />\n</template>\n\n<template name=\"tmpl_${level}_${comp.nodeName}_focus\">\n <${comp.nodeName} ${this.buildAttribute(comp.attributes, comp.nodeName)} id=\"{{i.uid}}\">${children}</${comp.nodeName}>\n</template>\n\n<template name=\"tmpl_${level}_${comp.nodeName}_blur\">\n <${comp.nodeName} ${this.buildAttribute(attrs, comp.nodeName)} id=\"{{i.uid}}\">${children}</${comp.nodeName}>\n</template>\n`\n if (isFunction(this.modifyTemplateResult)) {\n res = this.modifyTemplateResult(res, comp.nodeName, level, children)\n }\n\n return res\n }\n\n protected buildStandardComponentTemplate (comp: Component, level: number) {\n const children = this.getChildren(comp, level)\n\n let nodeName = ''\n switch (comp.nodeName) {\n case 'slot':\n case 'slot-view':\n case 'catch-view':\n case 'static-view':\n case 'pure-view':\n nodeName = 'view'\n break\n case 'static-text':\n nodeName = 'text'\n break\n case 'static-image':\n nodeName = 'image'\n break\n default:\n nodeName = comp.nodeName\n break\n }\n\n let res = `\n<template name=\"tmpl_${level}_${comp.nodeName}\">\n <${nodeName} ${this.buildAttribute(comp.attributes, comp.nodeName)} id=\"{{i.uid}}\">${children}</${nodeName}>\n</template>\n`\n\n if (isFunction(this.modifyTemplateResult)) {\n res = this.modifyTemplateResult(res, comp.nodeName, level, children)\n }\n\n return res\n }\n\n protected buildPlainTextTemplate (level: number): string {\n return `\n<template name=\"tmpl_${level}_#text\" data=\"{{${this.dataKeymap('i:i')}}}\">\n <block>{{i.${Shortcuts.Text}}}</block>\n</template>\n`\n }\n\n protected buildThirdPartyTemplate (level: number, componentConfig: ComponentConfig) {\n const { Adapter, isSupportRecursive, supportXS, nestElements } = this\n const nextLevel = isSupportRecursive ? 0 : level + 1\n let template = ''\n\n const data = !isSupportRecursive && supportXS\n ? `${this.dataKeymap('i:item,l:l')}`\n : this.dataKeymap('i:item')\n\n componentConfig.thirdPartyComponents.forEach((attrs, compName) => {\n if (compName === 'custom-wrapper') {\n template += `\n<template name=\"tmpl_${level}_${compName}\">\n <${compName} i=\"{{i}}\" l=\"{{l}}\" id=\"{{i.uid}}\">\n </${compName}>\n</template>\n `\n } else {\n if (!isSupportRecursive && supportXS && nestElements.has(compName) && level + 1 > nestElements.get(compName)!) return\n\n const child = supportXS\n ? `<template is=\"{{xs.e(${isSupportRecursive ? 0 : 'cid+1'})}}\" data=\"{{${data}}}\" />`\n : `<template is=\"tmpl_${nextLevel}_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n\n template += `\n<template name=\"tmpl_${level}_${compName}\">\n <${compName} ${this.buildThirdPartyAttr(attrs)} id=\"{{i.uid}}\">\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n ${child}\n </block>\n </${compName}>\n</template>\n `\n }\n })\n\n return template\n }\n\n protected buildContainerTemplate (level: number, restart = false) {\n let tmpl = ''\n if (restart) {\n tmpl = `<block ${this.Adapter.if}=\"{{i.nn === '#text'}}\">\n <template is=\"tmpl_0_#text\" data=\"{{i:i}}\" />\n </block>\n <block ${this.Adapter.else}>\n ${!this.isSupportRecursive && this.supportXS ? '<comp i=\"{{i}}\" l=\"{{l}}\" />' : '<comp i=\"{{i}}\" />'}\n </block>`\n } else {\n const xs = !this.isSupportRecursive\n ? `xs.a(${level}, i.${Shortcuts.NodeName}, l)`\n : `xs.a(${level}, i.${Shortcuts.NodeName})`\n\n const data = !this.isSupportRecursive\n ? `${this.dataKeymap(`i:i,cid:${level},l:xs.f(l,i.${Shortcuts.NodeName})`)}`\n : `${this.dataKeymap('i:i')}`\n\n tmpl = this.supportXS\n ? `<template is=\"{{${xs}}}\" data=\"{{${data}}}\" />`\n : `<template is=\"{{'tmpl_${level}_' + i.${Shortcuts.NodeName}}}\" data=\"{{${this.dataKeymap('i:i')}}}\" />`\n }\n return `\n<template name=\"tmpl_${level}_${Shortcuts.Container}\">\n ${tmpl}\n</template>\n`\n }\n\n protected dataKeymap (keymap: string) {\n return keymap\n }\n\n protected getEvents (): any {\n return events\n }\n\n protected getAttrValue (value: string, _key: string, _nodeName: string) {\n return `{${value}}`\n }\n\n protected buildXsTemplate () {\n return ''\n }\n\n public buildPageTemplate = (baseTempPath: string) => {\n const template = `<import src=\"${baseTempPath}\"/>\n<template is=\"taro_tmpl\" data=\"{{${this.dataKeymap('root:root')}}}\" />`\n\n return template\n }\n\n public buildBaseComponentTemplate = (ext: string) => {\n const data = !this.isSupportRecursive && this.supportXS\n ? this.dataKeymap('i:i,l:l')\n : this.dataKeymap('i:i')\n\n return `<import src=\"./base${ext}\" />\n<template is=\"tmpl_0_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n }\n\n public buildCustomComponentTemplate = (ext: string) => {\n const Adapter = this.Adapter\n const data = !this.isSupportRecursive && this.supportXS\n ? `${this.dataKeymap('i:item,l:\\'\\'')}`\n : this.dataKeymap('i:item')\n return `<import src=\"./base${ext}\" />\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n <template is=\"tmpl_0_container\" data=\"{{${data}}}\" />\n </block>`\n }\n\n public buildXScript = () => {\n return `${this.exportExpr} {\n a: ${this.buildXSTmplName()},\n b: function (a, b) {\n return a === undefined ? b : a\n },\n c: ${this.buildXSTepFocus(Shortcuts.NodeName)},\n d: function (i, v) {\n return i === undefined ? v : i\n },\n e: function (n) {\n return 'tmpl_' + n + '_${Shortcuts.Container}'\n },\n ${this.buildXSTmpExtra()}\n}`\n }\n\n public mergeComponents (ctx, patch: Record<string, Record<string, string>>) {\n ctx.helper.recursiveMerge(this.internalComponents, patch)\n }\n\n protected buildXSTmplName () {\n return `function (l, n) {\n return 'tmpl_' + l + '_' + n\n }`\n }\n\n protected buildXSTepFocus (nn: string) {\n return `function(i, prefix) {\n var s = i.focus !== undefined ? 'focus' : 'blur'\n return prefix + i.${nn} + '_' + s\n }`\n }\n\n protected buildXSTmpExtra () {\n return ''\n }\n}\n\nexport class RecursiveTemplate extends BaseTemplate {\n public isSupportRecursive = true\n\n public buildTemplate = (componentConfig: ComponentConfig) => {\n let template = this.buildBaseTemplate()\n if (!this.miniComponents) {\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const ZERO_FLOOR = 0\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, ZERO_FLOOR)\n }, template)\n\n template += this.buildPlainTextTemplate(ZERO_FLOOR)\n template += this.buildThirdPartyTemplate(ZERO_FLOOR, componentConfig)\n template += this.buildContainerTemplate(ZERO_FLOOR)\n\n return template\n }\n}\n\nexport class UnRecursiveTemplate extends BaseTemplate {\n isSupportRecursive = false\n private _baseLevel = 16\n private componentConfig: ComponentConfig\n\n set baseLevel (lv) {\n this._baseLevel = lv\n }\n\n get baseLevel () {\n return this._baseLevel\n }\n\n public buildTemplate = (componentConfig: ComponentConfig) => {\n this.componentConfig = componentConfig\n if (!this.miniComponents) {\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n let template = this.buildBaseTemplate()\n for (let i = 0; i < this.baseLevel; i++) {\n template += this.supportXS\n ? this.buildOptimizeFloor(i, components, this.baseLevel === i + 1)\n : this.buildFloor(i, components, this.baseLevel === i + 1)\n }\n\n return template\n }\n\n protected buildFloor (level: number, components: string[], restart = false) {\n if (restart) return this.buildContainerTemplate(level, restart)\n\n let template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, level)\n }, '')\n\n template += this.buildPlainTextTemplate(level)\n template += this.buildThirdPartyTemplate(level, this.componentConfig)\n template += this.buildContainerTemplate(level, restart)\n\n return template\n }\n\n protected buildOptimizeFloor (level: number, components: string[], restart = false) {\n if (restart) return this.buildContainerTemplate(level, restart)\n\n let template = components.reduce((current, nodeName) => {\n if (level !== 0) {\n if (!this.nestElements.has(nodeName)) {\n // 不可嵌套自身的组件只需输出一层模板\n return current\n } else {\n // 部分可嵌套自身的组件实际上不会嵌套过深,这里按阈值限制层数\n const max = this.nestElements.get(nodeName)!\n if (max > 0 && level >= max) {\n return current\n }\n }\n }\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, level)\n }, '')\n\n if (level === 0) template += this.buildPlainTextTemplate(level)\n template += this.buildThirdPartyTemplate(level, this.componentConfig)\n template += this.buildContainerTemplate(level)\n\n return template\n }\n\n protected buildXSTmplName () {\n const isLoopComps = [\n ...Array.from(this.nestElements.keys()),\n ...Array.from(this.componentConfig.thirdPartyComponents.keys())\n ]\n const isLoopCompsSet = new Set(isLoopComps)\n const hasMaxComps: string[] = []\n this.nestElements.forEach((max, comp) => {\n if (max > 1) {\n hasMaxComps.push(comp)\n } else if (max === 1 && isLoopCompsSet.has(comp)) {\n isLoopCompsSet.delete(comp)\n }\n })\n return `function (l, n, s) {\n var a = ${JSON.stringify(Array.from(isLoopCompsSet))}\n var b = ${JSON.stringify(hasMaxComps)}\n if (a.indexOf(n) === -1) {\n l = 0\n }\n if (b.indexOf(n) > -1) {\n var u = s.split(',')\n var depth = 0\n for (var i = 0; i < u.length; i++) {\n if (u[i] === n) depth++\n }\n l = depth\n }\n return 'tmpl_' + l + '_' + n\n }`\n }\n\n protected buildXSTmpExtra () {\n const hasMaxComps: string[] = []\n this.nestElements.forEach((max, comp) => {\n if (max > 1) hasMaxComps.push(comp)\n })\n return `f: function (l, n) {\n var b = ${JSON.stringify(hasMaxComps)}\n if (b.indexOf(n) > -1) {\n if (l) l += ','\n l += n\n }\n return l\n }`\n }\n}\n\nexport {\n internalComponents,\n toCamelCase,\n capitalize\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"template.js","sources":["../src/components.ts","../src/is.ts","../src/utils.ts","../src/template.ts"],"sourcesContent":["const DEFAULT_EMPTY_ARRAY = '[]'\nconst NO_DEFAULT_VALUE = ''\nconst DEFAULT_TRUE = 'true'\nconst DEFAULT_FALSE = 'false'\n\nexport const touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n}\n\nexport const animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n}\n\nexport function singleQuote (s: string) {\n return `'${s}'`\n}\n\nconst View = {\n 'hover-class': singleQuote('none'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '400',\n ...touchEvents,\n ...animation\n}\n\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n}\n\nconst MapComp = {\n longitude: NO_DEFAULT_VALUE,\n latitude: NO_DEFAULT_VALUE,\n scale: '16',\n markers: DEFAULT_EMPTY_ARRAY,\n covers: NO_DEFAULT_VALUE,\n polyline: DEFAULT_EMPTY_ARRAY,\n circles: DEFAULT_EMPTY_ARRAY,\n controls: DEFAULT_EMPTY_ARRAY,\n 'include-points': DEFAULT_EMPTY_ARRAY,\n 'show-location': NO_DEFAULT_VALUE,\n 'layer-style': '1',\n bindMarkerTap: NO_DEFAULT_VALUE,\n bindControlTap: NO_DEFAULT_VALUE,\n bindCalloutTap: NO_DEFAULT_VALUE,\n bindUpdated: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n}\n\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n}\n\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n}\n\nconst Button = {\n size: singleQuote('default'),\n type: NO_DEFAULT_VALUE,\n plain: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n loading: DEFAULT_FALSE,\n 'form-type': NO_DEFAULT_VALUE,\n 'open-type': NO_DEFAULT_VALUE,\n 'hover-class': singleQuote('button-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '20',\n 'hover-stay-time': '70',\n name: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n}\n\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: 'i.value.length',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n}\n\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n}\n\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n}\n\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n}\n\nconst CoverView = {\n 'scroll-top': DEFAULT_FALSE,\n ...touchEvents\n}\n\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n}\n\nconst MovableView = {\n direction: 'none',\n inertia: DEFAULT_FALSE,\n 'out-of-bounds': DEFAULT_FALSE,\n x: NO_DEFAULT_VALUE,\n y: NO_DEFAULT_VALUE,\n damping: '20',\n friction: '2',\n disabled: NO_DEFAULT_VALUE,\n scale: DEFAULT_FALSE,\n 'scale-min': '0.5',\n 'scale-max': '10',\n 'scale-value': '1',\n bindChange: NO_DEFAULT_VALUE,\n bindScale: NO_DEFAULT_VALUE,\n bindHTouchMove: NO_DEFAULT_VALUE,\n bindVTouchMove: NO_DEFAULT_VALUE,\n width: singleQuote('10px'),\n height: singleQuote('10px'),\n ...touchEvents,\n ...animation\n}\n\nconst ScrollView = {\n 'scroll-x': DEFAULT_FALSE,\n 'scroll-y': DEFAULT_FALSE,\n 'upper-threshold': '50',\n 'lower-threshold': '50',\n 'scroll-top': NO_DEFAULT_VALUE,\n 'scroll-left': NO_DEFAULT_VALUE,\n 'scroll-into-view': NO_DEFAULT_VALUE,\n 'scroll-with-animation': DEFAULT_FALSE,\n 'enable-back-to-top': DEFAULT_FALSE,\n bindScrollToUpper: NO_DEFAULT_VALUE,\n bindScrollToLower: NO_DEFAULT_VALUE,\n bindScroll: NO_DEFAULT_VALUE,\n ...touchEvents,\n ...animation\n}\n\nconst Swiper = {\n 'indicator-dots': DEFAULT_FALSE,\n 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'),\n 'indicator-active-color': singleQuote('#000000'),\n autoplay: DEFAULT_FALSE,\n current: '0',\n interval: '5000',\n duration: '500',\n circular: DEFAULT_FALSE,\n vertical: DEFAULT_FALSE,\n 'previous-margin': singleQuote('0px'),\n 'next-margin': singleQuote('0px'),\n 'display-multiple-items': '1',\n bindChange: NO_DEFAULT_VALUE,\n bindTransition: NO_DEFAULT_VALUE,\n bindAnimationFinish: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n}\n\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n}\n\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n}\n\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n}\n\nconst Image = {\n src: NO_DEFAULT_VALUE,\n mode: singleQuote('scaleToFill'),\n 'lazy-load': DEFAULT_FALSE,\n bindError: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst LivePlayer = {\n src: NO_DEFAULT_VALUE,\n autoplay: DEFAULT_FALSE,\n muted: DEFAULT_FALSE,\n orientation: singleQuote('vertical'),\n 'object-fit': singleQuote('contain'),\n 'background-mute': DEFAULT_FALSE,\n 'min-cache': '1',\n 'max-cache': '3',\n bindStateChange: NO_DEFAULT_VALUE,\n bindFullScreenChange: NO_DEFAULT_VALUE,\n bindNetStatus: NO_DEFAULT_VALUE,\n ...animation\n}\n\nconst Video = {\n src: NO_DEFAULT_VALUE,\n duration: NO_DEFAULT_VALUE,\n controls: DEFAULT_TRUE,\n 'danmu-list': NO_DEFAULT_VALUE,\n 'danmu-btn': NO_DEFAULT_VALUE,\n 'enable-danmu': NO_DEFAULT_VALUE,\n autoplay: DEFAULT_FALSE,\n loop: DEFAULT_FALSE,\n muted: DEFAULT_FALSE,\n 'initial-time': '0',\n 'page-gesture': DEFAULT_FALSE,\n direction: NO_DEFAULT_VALUE,\n 'show-progress': DEFAULT_TRUE,\n 'show-fullscreen-btn': DEFAULT_TRUE,\n 'show-play-btn': DEFAULT_TRUE,\n 'show-center-play-btn': DEFAULT_TRUE,\n 'enable-progress-gesture': DEFAULT_TRUE,\n 'object-fit': singleQuote('contain'),\n poster: NO_DEFAULT_VALUE,\n 'show-mute-btn': DEFAULT_FALSE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindFullScreenChange: NO_DEFAULT_VALUE,\n bindWaiting: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n ...animation\n}\n\nconst Canvas = {\n 'canvas-id': NO_DEFAULT_VALUE,\n 'disable-scroll': DEFAULT_FALSE,\n bindError: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n}\n\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n}\n\nconst Block = {}\n\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n}\n\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n}\n\nexport const internalComponents: Record<string, Record<string, string>> = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView\n}\n\nexport const controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n])\n\nexport const focusComponents = new Set([\n 'input',\n 'textarea'\n])\n\nexport const voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n])\n\nexport const nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n])\n","export function isString (o: unknown): o is string {\n return typeof o === 'string'\n}\n\nexport function isUndefined (o: unknown): o is undefined {\n return typeof o === 'undefined'\n}\n\nexport function isNull (o: unknown): o is null {\n return o === null\n}\n\nexport function isObject<T> (o: unknown): o is T {\n return o !== null && typeof o === 'object'\n}\n\nexport function isBoolean (o: unknown): o is boolean {\n return o === true || o === false\n}\n\nexport function isFunction (o: unknown): o is (...args: any[]) => any {\n return typeof o === 'function'\n}\n\nexport function isNumber (o: unknown): o is number {\n return typeof o === 'number'\n}\n\nexport function isBooleanStringLiteral (o: unknown): o is string {\n return o === 'true' || o === 'false'\n}\n\nexport const isArray = Array.isArray\n","import { internalComponents } from './components'\nimport { isArray } from './is'\n\nexport const EMPTY_OBJ: any = {}\n\nexport const EMPTY_ARR = []\n\nexport const noop = (..._: unknown[]) => {}\n\nexport const defaultReconciler = Object.create(null)\n\n/**\n * Boxed value.\n *\n * @typeparam T Value type.\n */\nexport interface Box<T> {\n v: T;\n}\n\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param v Value.\n * @returns Boxed value.\n */\nexport const box = <T>(v: T) => ({ v })\n\n/**\n * box creates a boxed value.\n *\n * @typeparam T Value type.\n * @param b Boxed value.\n * @returns Value.\n */\nexport const unbox = <T>(b: Box<T>) => b.v\n\nexport function toDashed (s: string) {\n return s.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function toCamelCase (s: string) {\n let camel = ''\n let nextCap = false\n for (let i = 0; i < s.length; i++) {\n if (s[i] !== '-') {\n camel += nextCap ? s[i].toUpperCase() : s[i]\n nextCap = false\n } else {\n nextCap = true\n }\n }\n return camel\n}\n\nexport const toKebabCase = function (string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function capitalize (s: string) {\n return s.charAt(0).toUpperCase() + s.slice(1)\n}\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\n\nexport const hasOwn = (\n val: Record<any, any>,\n key: string | symbol\n) => hasOwnProperty.call(val, key)\n\n/**\n * ensure takes a condition and throw a error if the condition fails,\n * like failure::ensure: https://docs.rs/failure/0.1.1/failure/macro.ensure.html\n * @param condition condition.\n * @param msg error message.\n */\nexport function ensure (condition: boolean, msg: string): asserts condition {\n if (!condition) {\n if (process.env.NODE_ENV !== 'production') {\n const reportIssue = '\\n如有疑问,请提交 issue 至:https://github.com/nervjs/taro/issues'\n throw new Error(msg + reportIssue)\n } else {\n throw new Error(msg)\n }\n }\n}\n\nexport function warn (condition: boolean, msg: string) {\n if (process.env.NODE_ENV !== 'production') {\n if (condition) {\n console.warn(`[taro warn] ${msg}`)\n }\n }\n}\n\nexport function queryToJson (str) {\n const dec = decodeURIComponent\n const qp = str.split('&')\n const ret = {}\n let name\n let val\n for (let i = 0, l = qp.length, item; i < l; ++i) {\n item = qp[i]\n if (item.length) {\n const s = item.indexOf('=')\n if (s < 0) {\n name = dec(item)\n val = ''\n } else {\n name = dec(item.slice(0, s))\n val = dec(item.slice(s + 1))\n }\n if (typeof ret[name] === 'string') { // inline'd type check\n ret[name] = [ret[name]]\n }\n\n if (Array.isArray(ret[name])) {\n ret[name].push(val)\n } else {\n ret[name] = val\n }\n }\n }\n return ret // Object\n}\n\nlet _uniqueId = 1\nconst _loadTime = (new Date()).getTime().toString()\n\nexport function getUniqueKey () {\n return _loadTime + (_uniqueId++)\n}\n\nconst cacheData = {}\n\nexport function cacheDataSet (key, val) {\n cacheData[key] = val\n}\n\nexport function cacheDataGet (key, delelteAfterGet?) {\n const temp = cacheData[key]\n delelteAfterGet && delete cacheData[key]\n return temp\n}\n\nexport function cacheDataHas (key) {\n return key in cacheData\n}\n\nexport function mergeInternalComponents (components) {\n Object.keys(components).forEach(name => {\n if (name in internalComponents) {\n Object.assign(internalComponents[name], components[name])\n } else {\n internalComponents[name] = components[name]\n }\n })\n}\n\nexport function mergeReconciler (hostConfig) {\n Object.keys(hostConfig).forEach(key => {\n const value = hostConfig[key]\n const raw = defaultReconciler[key]\n\n defaultReconciler[key] = !raw\n ? value\n : (\n isArray(raw)\n ? raw.concat(value)\n : [raw, value]\n )\n })\n}\n\nexport function unsupport (api) {\n return function () {\n console.warn(`小程序暂不支持 ${api}`)\n }\n}\n\nexport function setUniqueKeyToRoute (key: string, obj) {\n const routerParamsPrivateKey = '__key_'\n const useDataCacheApis = [\n 'navigateTo',\n 'redirectTo',\n 'reLaunch',\n 'switchTab'\n ]\n\n if (useDataCacheApis.indexOf(key) > -1) {\n const url = obj.url = obj.url || ''\n const hasMark = url.indexOf('?') > -1\n const cacheKey = getUniqueKey()\n obj.url += (hasMark ? '&' : '?') + `${routerParamsPrivateKey}=${cacheKey}`\n }\n}\n\nexport function indent (str: string, size: number): string {\n return str.split('\\n')\n .map((line, index) => {\n const indent = index === 0 ? '' : Array(size).fill(' ').join('')\n return indent + line\n })\n .join('\\n')\n}\n","/**\n * 这里我们需要关心的小程序种类有两类:\n * 1. 模板递归:\n * - 支持:tmpl0 套 tmpl0\n * - 不支持:这就使得我们必须生成多级的模板,tmpl0 套 tmpl1,tmpl1 套 tmpl2……\n * 直到超过阈值 N (N = config.miniapp.baseLevel) tmplN 会套组件 comp,组件 comp 重新再套 tmpl0。\n * 2. 小程序脚本语言(wxs, sjs, etc...):\n * - 支持:可以在模板使用函数缩减模板大小或提高性能(存疑),例如判断一个值是不是假值(falsy value)。\n * 将来或许会把数据序列化^1 的操作也放到小程序脚本语言里。\n * - 不支持:使用纯 *xml 语法\n *\n * ^1: packages/taro-runtime/src/hydrate.ts\n*/\n\nimport {\n internalComponents,\n focusComponents,\n voidElements,\n nestElements,\n singleQuote\n} from './components'\nimport { Shortcuts } from './shortcuts'\nimport { isBooleanStringLiteral, isNumber, isFunction } from './is'\nimport { toCamelCase, toKebabCase, toDashed, hasOwn, indent, capitalize } from './utils'\n\ninterface Component {\n nodeName: string;\n attributes: Attributes;\n}\n\ninterface Components {\n [key: string]: Record<string, string>;\n}\n\ninterface ComponentConfig {\n includes: Set<string>\n exclude: Set<string>\n thirdPartyComponents: Map<string, Set<string>>\n includeAll: boolean\n}\n\nexport interface IAdapter {\n if: string;\n else: string;\n elseif: string;\n for: string;\n forItem: string;\n forIndex: string;\n key: string;\n xs?: string,\n type: string;\n}\n\nexport type Attributes = Record<string, string>\n\nexport const styles = {\n style: `i.${Shortcuts.Style}`,\n class: `i.${Shortcuts.Class}`\n}\n\nexport const events = {\n bindtap: 'eh'\n}\n\nconst weixinAdapter: IAdapter = {\n if: 'wx:if',\n else: 'wx:else',\n elseif: 'wx:elif',\n for: 'wx:for',\n forItem: 'wx:for-item',\n forIndex: 'wx:for-index',\n key: 'wx:key',\n xs: 'wxs',\n type: 'weapp'\n}\n\nexport class BaseTemplate {\n protected exportExpr = 'module.exports ='\n protected isSupportRecursive: boolean\n protected supportXS = false\n protected miniComponents: Components\n protected modifyCompProps?: (compName: string, target: Record<string, string>) => Record<string, string>\n protected modifyLoopBody?: (child: string, nodeName: string) => string\n protected modifyLoopContainer?: (children: string, nodeName: string) => string\n protected modifyTemplateResult?: (res: string, nodeName: string, level: number, children: string) => string\n\n public Adapter = weixinAdapter\n /** 组件列表 */\n public internalComponents = internalComponents\n /** 可以 focus 聚焦的组件 */\n public focusComponents: Set<string> = focusComponents\n /** 不需要渲染子节点的元素 */\n public voidElements: Set<string> = voidElements\n /** 可以递归调用自身的组件 */\n public nestElements: Map<string, number> = nestElements\n\n private buildAttribute (attrs: Attributes, nodeName: string): string {\n return Object.keys(attrs)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? attrs[k] : `{${this.getAttrValue(attrs[k], k, nodeName)}}`}\" `)\n .join('')\n }\n\n protected replacePropName (name: string, value: string, _componentName?: string) {\n if (value === 'eh') return name.toLowerCase()\n return name\n }\n\n protected createMiniComponents (components: Components) {\n const result: Components = Object.create(null)\n\n for (const key in components) {\n if (hasOwn(components, key)) {\n let component = components[key]\n const compName = toDashed(key)\n const newComp: Record<string, string> = Object.create(null)\n\n if (isFunction(this.modifyCompProps)) {\n component = this.modifyCompProps(compName, component)\n }\n\n for (let prop in component) {\n if (hasOwn(component, prop)) {\n let propValue = component[prop]\n if (prop.startsWith('bind')) {\n propValue = 'eh'\n } else if (propValue === '') {\n propValue = `i.${toCamelCase(prop)}`\n } else if (isBooleanStringLiteral(propValue) || isNumber(+propValue)) {\n propValue = this.supportXS\n ? `xs.b(i.${toCamelCase(prop)},${propValue})`\n : `i.${toCamelCase(prop)}===undefined?${propValue}:i.${toCamelCase(prop)}`\n } else {\n propValue = `i.${toCamelCase(prop)}||${propValue || singleQuote('')}`\n }\n\n prop = this.replacePropName(prop, propValue, compName)\n\n newComp[prop] = propValue\n }\n }\n if (compName !== 'block') {\n Object.assign(newComp, styles, this.getEvents())\n }\n\n if (compName === 'swiper-item') {\n delete newComp.style\n }\n\n if (compName === 'view') {\n const reg = /^(bind|on)(touchmove|TouchMove)$/\n const comp = { ...newComp }\n Object.keys(comp).forEach(originKey => {\n if (!reg.test(originKey)) return\n\n const key = originKey.replace(reg, 'catch$2')\n comp[key] = comp[originKey]\n delete comp[originKey]\n })\n\n result['catch-view'] = comp\n }\n\n if (compName === 'view' || compName === 'text' || compName === 'image') {\n const comp: Record<any, any> = {}\n Object.keys(newComp).forEach(key => {\n const value = newComp[key]\n if (value !== 'eh') comp[key] = value\n })\n result[`static-${compName}`] = comp\n if (compName === 'view') {\n result['pure-view'] = {\n style: comp.style,\n class: comp.class\n }\n }\n }\n\n if (compName === 'slot' || compName === 'slot-view') {\n result[compName] = {\n slot: 'i.name'\n }\n } else {\n result[compName] = newComp\n }\n }\n }\n\n return result\n }\n\n protected buildBaseTemplate () {\n const Adapter = this.Adapter\n\n const data = !this.isSupportRecursive && this.supportXS\n ? `${this.dataKeymap('i:item,l:\\'\\'')}`\n : this.dataKeymap('i:item')\n\n return `${this.buildXsTemplate()}\n<template name=\"taro_tmpl\">\n <block ${Adapter.for}=\"{{root.cn}}\" ${Adapter.key}=\"uid\">\n <template is=\"tmpl_0_${Shortcuts.Container}\" data=\"{{${data}}}\" />\n </block>\n</template>\n`\n }\n\n protected buildThirdPartyAttr (attrs: Set<string>) {\n return Array.from(attrs).reduce((str, attr) => {\n if (attr.startsWith('@')) {\n // vue2\n let value = attr.slice(1)\n if (value.indexOf('-') > -1) {\n value = `:${value}`\n }\n return str + `bind${value}=\"eh\" `\n } else if (attr.startsWith('bind')) {\n return str + `${attr}=\"eh\" `\n } else if (attr.startsWith('on')) {\n // react, vue3\n let value = toKebabCase(attr.slice(2))\n if (value.indexOf('-') > -1) {\n // 兼容如 vant 某些组件的 bind:a-b 这类属性\n value = `:${value}`\n }\n return str + `bind${value}=\"eh\" `\n }\n\n return str + `${attr}=\"{{i.${toCamelCase(attr)}}}\" `\n }, '')\n }\n\n protected buildComponentTemplate (comp: Component, level: number) {\n return this.focusComponents.has(comp.nodeName)\n ? this.buildFocusComponentTemplte(comp, level)\n : this.buildStandardComponentTemplate(comp, level)\n }\n\n private getChildren (comp: Component, level: number): string {\n const { isSupportRecursive, Adapter, supportXS } = this\n const nextLevel = isSupportRecursive ? 0 : level + 1\n\n const data = !this.isSupportRecursive && supportXS\n ? `${this.dataKeymap('i:item,l:l')}`\n : this.dataKeymap('i:item')\n\n let child = supportXS\n ? `<template is=\"{{xs.e(${isSupportRecursive ? 0 : 'cid+1'})}}\" data=\"{{${data}}}\" />`\n : `<template is=\"tmpl_${nextLevel}_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n\n if (isFunction(this.modifyLoopBody)) {\n child = this.modifyLoopBody(child, comp.nodeName)\n }\n\n let children = this.voidElements.has(comp.nodeName)\n ? ''\n : `\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n ${indent(child, 6)}\n </block>\n `\n\n if (isFunction(this.modifyLoopContainer)) {\n children = this.modifyLoopContainer(children, comp.nodeName)\n }\n\n return children\n }\n\n protected buildFocusComponentTemplte (comp: Component, level: number) {\n const children = this.getChildren(comp, level)\n\n const attrs = { ...comp.attributes }\n const templateName = this.supportXS\n ? `xs.c(i, 'tmpl_${level}_')`\n : `i.focus ? 'tmpl_${level}_${comp.nodeName}_focus' : 'tmpl_${level}_${comp.nodeName}_blur'`\n delete attrs.focus\n\n let res = `\n<template name=\"tmpl_${level}_${comp.nodeName}\">\n <template is=\"{{${templateName}}}\" data=\"{{${this.dataKeymap('i:i')}${children ? ',cid:cid' : ''}}}\" />\n</template>\n\n<template name=\"tmpl_${level}_${comp.nodeName}_focus\">\n <${comp.nodeName} ${this.buildAttribute(comp.attributes, comp.nodeName)} id=\"{{i.uid}}\">${children}</${comp.nodeName}>\n</template>\n\n<template name=\"tmpl_${level}_${comp.nodeName}_blur\">\n <${comp.nodeName} ${this.buildAttribute(attrs, comp.nodeName)} id=\"{{i.uid}}\">${children}</${comp.nodeName}>\n</template>\n`\n if (isFunction(this.modifyTemplateResult)) {\n res = this.modifyTemplateResult(res, comp.nodeName, level, children)\n }\n\n return res\n }\n\n protected buildStandardComponentTemplate (comp: Component, level: number) {\n const children = this.getChildren(comp, level)\n\n let nodeName = ''\n switch (comp.nodeName) {\n case 'slot':\n case 'slot-view':\n case 'catch-view':\n case 'static-view':\n case 'pure-view':\n nodeName = 'view'\n break\n case 'static-text':\n nodeName = 'text'\n break\n case 'static-image':\n nodeName = 'image'\n break\n default:\n nodeName = comp.nodeName\n break\n }\n\n let res = `\n<template name=\"tmpl_${level}_${comp.nodeName}\">\n <${nodeName} ${this.buildAttribute(comp.attributes, comp.nodeName)} id=\"{{i.uid}}\">${children}</${nodeName}>\n</template>\n`\n\n if (isFunction(this.modifyTemplateResult)) {\n res = this.modifyTemplateResult(res, comp.nodeName, level, children)\n }\n\n return res\n }\n\n protected buildPlainTextTemplate (level: number): string {\n return `\n<template name=\"tmpl_${level}_#text\" data=\"{{${this.dataKeymap('i:i')}}}\">\n <block>{{i.${Shortcuts.Text}}}</block>\n</template>\n`\n }\n\n protected buildThirdPartyTemplate (level: number, componentConfig: ComponentConfig) {\n const { Adapter, isSupportRecursive, supportXS, nestElements } = this\n const nextLevel = isSupportRecursive ? 0 : level + 1\n let template = ''\n\n const data = !isSupportRecursive && supportXS\n ? `${this.dataKeymap('i:item,l:l')}`\n : this.dataKeymap('i:item')\n\n componentConfig.thirdPartyComponents.forEach((attrs, compName) => {\n if (compName === 'custom-wrapper') {\n template += `\n<template name=\"tmpl_${level}_${compName}\">\n <${compName} i=\"{{i}}\" l=\"{{l}}\" id=\"{{i.uid}}\">\n </${compName}>\n</template>\n `\n } else {\n if (!isSupportRecursive && supportXS && nestElements.has(compName) && level + 1 > nestElements.get(compName)!) return\n\n const child = supportXS\n ? `<template is=\"{{xs.e(${isSupportRecursive ? 0 : 'cid+1'})}}\" data=\"{{${data}}}\" />`\n : `<template is=\"tmpl_${nextLevel}_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n\n template += `\n<template name=\"tmpl_${level}_${compName}\">\n <${compName} ${this.buildThirdPartyAttr(attrs)} id=\"{{i.uid}}\">\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n ${child}\n </block>\n </${compName}>\n</template>\n `\n }\n })\n\n return template\n }\n\n protected buildContainerTemplate (level: number, restart = false) {\n let tmpl = ''\n if (restart) {\n tmpl = `<block ${this.Adapter.if}=\"{{i.nn === '#text'}}\">\n <template is=\"tmpl_0_#text\" data=\"{{i:i}}\" />\n </block>\n <block ${this.Adapter.else}>\n ${!this.isSupportRecursive && this.supportXS ? '<comp i=\"{{i}}\" l=\"{{l}}\" />' : '<comp i=\"{{i}}\" />'}\n </block>`\n } else {\n const xs = !this.isSupportRecursive\n ? `xs.a(${level}, i.${Shortcuts.NodeName}, l)`\n : `xs.a(${level}, i.${Shortcuts.NodeName})`\n\n const data = !this.isSupportRecursive\n ? `${this.dataKeymap(`i:i,cid:${level},l:xs.f(l,i.${Shortcuts.NodeName})`)}`\n : `${this.dataKeymap('i:i')}`\n\n tmpl = this.supportXS\n ? `<template is=\"{{${xs}}}\" data=\"{{${data}}}\" />`\n : `<template is=\"{{'tmpl_${level}_' + i.${Shortcuts.NodeName}}}\" data=\"{{${this.dataKeymap('i:i')}}}\" />`\n }\n return `\n<template name=\"tmpl_${level}_${Shortcuts.Container}\">\n ${tmpl}\n</template>\n`\n }\n\n protected dataKeymap (keymap: string) {\n return keymap\n }\n\n protected getEvents (): any {\n return events\n }\n\n protected getAttrValue (value: string, _key: string, _nodeName: string) {\n return `{${value}}`\n }\n\n protected buildXsTemplate () {\n return ''\n }\n\n public buildPageTemplate = (baseTempPath: string) => {\n const template = `<import src=\"${baseTempPath}\"/>\n<template is=\"taro_tmpl\" data=\"{{${this.dataKeymap('root:root')}}}\" />`\n\n return template\n }\n\n public buildBaseComponentTemplate = (ext: string) => {\n const data = !this.isSupportRecursive && this.supportXS\n ? this.dataKeymap('i:i,l:l')\n : this.dataKeymap('i:i')\n\n return `<import src=\"./base${ext}\" />\n<template is=\"tmpl_0_${Shortcuts.Container}\" data=\"{{${data}}}\" />`\n }\n\n public buildCustomComponentTemplate = (ext: string) => {\n const Adapter = this.Adapter\n const data = !this.isSupportRecursive && this.supportXS\n ? `${this.dataKeymap('i:item,l:\\'\\'')}`\n : this.dataKeymap('i:item')\n return `<import src=\"./base${ext}\" />\n <block ${Adapter.for}=\"{{i.${Shortcuts.Childnodes}}}\" ${Adapter.key}=\"uid\">\n <template is=\"tmpl_0_container\" data=\"{{${data}}}\" />\n </block>`\n }\n\n public buildXScript = () => {\n return `${this.exportExpr} {\n a: ${this.buildXSTmplName()},\n b: function (a, b) {\n return a === undefined ? b : a\n },\n c: ${this.buildXSTepFocus(Shortcuts.NodeName)},\n d: function (i, v) {\n return i === undefined ? v : i\n },\n e: function (n) {\n return 'tmpl_' + n + '_${Shortcuts.Container}'\n },\n ${this.buildXSTmpExtra()}\n}`\n }\n\n public mergeComponents (ctx, patch: Record<string, Record<string, string>>) {\n ctx.helper.recursiveMerge(this.internalComponents, patch)\n }\n\n protected buildXSTmplName () {\n return `function (l, n) {\n return 'tmpl_' + l + '_' + n\n }`\n }\n\n protected buildXSTepFocus (nn: string) {\n return `function(i, prefix) {\n var s = i.focus !== undefined ? 'focus' : 'blur'\n return prefix + i.${nn} + '_' + s\n }`\n }\n\n protected buildXSTmpExtra () {\n return ''\n }\n}\n\nexport class RecursiveTemplate extends BaseTemplate {\n public isSupportRecursive = true\n\n public buildTemplate = (componentConfig: ComponentConfig) => {\n let template = this.buildBaseTemplate()\n if (!this.miniComponents) {\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const ZERO_FLOOR = 0\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, ZERO_FLOOR)\n }, template)\n\n template += this.buildPlainTextTemplate(ZERO_FLOOR)\n template += this.buildThirdPartyTemplate(ZERO_FLOOR, componentConfig)\n template += this.buildContainerTemplate(ZERO_FLOOR)\n\n return template\n }\n}\n\nexport class UnRecursiveTemplate extends BaseTemplate {\n isSupportRecursive = false\n private _baseLevel = 16\n private componentConfig: ComponentConfig\n\n set baseLevel (lv) {\n this._baseLevel = lv\n }\n\n get baseLevel () {\n return this._baseLevel\n }\n\n public buildTemplate = (componentConfig: ComponentConfig) => {\n this.componentConfig = componentConfig\n if (!this.miniComponents) {\n this.miniComponents = this.createMiniComponents(this.internalComponents)\n }\n const components = Object.keys(this.miniComponents)\n .filter(c => componentConfig.includes.size && !componentConfig.includeAll ? componentConfig.includes.has(c) : true)\n\n let template = this.buildBaseTemplate()\n for (let i = 0; i < this.baseLevel; i++) {\n template += this.supportXS\n ? this.buildOptimizeFloor(i, components, this.baseLevel === i + 1)\n : this.buildFloor(i, components, this.baseLevel === i + 1)\n }\n\n return template\n }\n\n protected buildFloor (level: number, components: string[], restart = false) {\n if (restart) return this.buildContainerTemplate(level, restart)\n\n let template = components.reduce((current, nodeName) => {\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, level)\n }, '')\n\n template += this.buildPlainTextTemplate(level)\n template += this.buildThirdPartyTemplate(level, this.componentConfig)\n template += this.buildContainerTemplate(level, restart)\n\n return template\n }\n\n protected buildOptimizeFloor (level: number, components: string[], restart = false) {\n if (restart) return this.buildContainerTemplate(level, restart)\n\n let template = components.reduce((current, nodeName) => {\n if (level !== 0) {\n if (!this.nestElements.has(nodeName)) {\n // 不可嵌套自身的组件只需输出一层模板\n return current\n } else {\n // 部分可嵌套自身的组件实际上不会嵌套过深,这里按阈值限制层数\n const max = this.nestElements.get(nodeName)!\n if (max > 0 && level >= max) {\n return current\n }\n }\n }\n const attributes: Attributes = this.miniComponents[nodeName]\n return current + this.buildComponentTemplate({ nodeName, attributes }, level)\n }, '')\n\n if (level === 0) template += this.buildPlainTextTemplate(level)\n template += this.buildThirdPartyTemplate(level, this.componentConfig)\n template += this.buildContainerTemplate(level)\n\n return template\n }\n\n protected buildXSTmplName () {\n const isLoopComps = [\n ...Array.from(this.nestElements.keys()),\n ...Array.from(this.componentConfig.thirdPartyComponents.keys())\n ]\n const isLoopCompsSet = new Set(isLoopComps)\n const hasMaxComps: string[] = []\n this.nestElements.forEach((max, comp) => {\n if (max > 1) {\n hasMaxComps.push(comp)\n } else if (max === 1 && isLoopCompsSet.has(comp)) {\n isLoopCompsSet.delete(comp)\n }\n })\n return `function (l, n, s) {\n var a = ${JSON.stringify(Array.from(isLoopCompsSet))}\n var b = ${JSON.stringify(hasMaxComps)}\n if (a.indexOf(n) === -1) {\n l = 0\n }\n if (b.indexOf(n) > -1) {\n var u = s.split(',')\n var depth = 0\n for (var i = 0; i < u.length; i++) {\n if (u[i] === n) depth++\n }\n l = depth\n }\n return 'tmpl_' + l + '_' + n\n }`\n }\n\n protected buildXSTmpExtra () {\n const hasMaxComps: string[] = []\n this.nestElements.forEach((max, comp) => {\n if (max > 1) hasMaxComps.push(comp)\n })\n return `f: function (l, n) {\n var b = ${JSON.stringify(hasMaxComps)}\n if (b.indexOf(n) > -1) {\n if (l) l += ','\n l += n\n }\n return l\n }`\n }\n}\n\nexport {\n internalComponents,\n toCamelCase,\n capitalize,\n Shortcuts\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/shared",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0-canary.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "yuche <i@yuche.me>",
|
|
6
6
|
"homepage": "https://github.com/nervjs/taro/tree/master/packages/shared#readme",
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "a0222bc41bc05b0e34413d6db3de963d777a5015"
|
|
29
29
|
}
|