@weapp-vite/web 1.3.31 → 1.3.33
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/compiler/wxml/attributes.mjs +1 -1
- package/dist/compiler/wxml/attributes.mjs.map +1 -1
- package/dist/compiler/wxml/navigation.mjs +1 -1
- package/dist/compiler/wxml/navigation.mjs.map +1 -1
- package/dist/runtime/polyfill/deviceAuthSystemApi.mjs +1 -1
- package/dist/runtime/polyfill/deviceAuthSystemApi.mjs.map +1 -1
- package/dist/runtime/polyfill/mediaProcess.mjs +1 -1
- package/dist/runtime/polyfill/mediaProcess.mjs.map +1 -1
- package/dist/runtime/polyfill/routeRuntime/options.mjs +3 -3
- package/dist/runtime/polyfill/routeRuntime/options.mjs.map +1 -1
- package/dist/shared/wxml.mjs +4 -4
- package/dist/shared/wxml.mjs.map +1 -1
- package/package.json +6 -6
|
@@ -50,7 +50,7 @@ function resolveComponentTagName(name, componentTags) {
|
|
|
50
50
|
if (!componentTags) return;
|
|
51
51
|
return componentTags[name] ?? componentTags[name.toLowerCase()];
|
|
52
52
|
}
|
|
53
|
-
const PROPERTY_BIND_EXCLUSIONS = new Set([
|
|
53
|
+
const PROPERTY_BIND_EXCLUSIONS = /* @__PURE__ */ new Set([
|
|
54
54
|
"class",
|
|
55
55
|
"style",
|
|
56
56
|
"id",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.mjs","names":[],"sources":["../../../src/compiler/wxml/attributes.ts"],"sourcesContent":["import type { RenderElementNode, RenderNode } from './types'\nimport {\n CONTROL_ATTRS,\n EVENT_KIND_ALIAS,\n EVENT_PREFIX_RE,\n hasControlAttribute,\n normalizeAttributeName,\n resolveControlAttributeValue,\n} from '../../shared/wxml'\nimport { buildExpression, parseInterpolations } from './interpolation'\n\nexport function extractFor(attribs: Record<string, string>) {\n const expr = resolveControlAttributeValue(attribs, 'for')\n const itemName = resolveControlAttributeValue(attribs, 'for-item')?.trim() || 'item'\n let indexName = resolveControlAttributeValue(attribs, 'for-index')?.trim() || 'index'\n const key = resolveControlAttributeValue(attribs, 'key')\n const restAttribs: Record<string, string> = {}\n for (const [name, value] of Object.entries(attribs)) {\n if (CONTROL_ATTRS.has(name)) {\n continue\n }\n restAttribs[name] = value\n }\n if (itemName === indexName) {\n indexName = `${indexName}Index`\n }\n return { expr, itemName, indexName, key, restAttribs }\n}\n\nexport function isConditionalElement(node: RenderNode): node is RenderElementNode {\n if (node.type !== 'element') {\n return false\n }\n const attribs = node.attribs ?? {}\n return hasControlAttribute(attribs, 'if')\n || hasControlAttribute(attribs, 'elif')\n || hasControlAttribute(attribs, 'else')\n}\n\nexport function stripControlAttributes(attribs: Record<string, string>) {\n const result: Record<string, string> = {}\n for (const [name, value] of Object.entries(attribs)) {\n if (!CONTROL_ATTRS.has(name)) {\n result[name] = value\n }\n }\n return result\n}\n\nfunction parseEventAttribute(name: string) {\n if (name.includes(':')) {\n const [prefix, rawEvent] = name.split(':', 2)\n return { prefix, rawEvent }\n }\n const match = EVENT_PREFIX_RE.exec(name)\n if (!match) {\n return undefined\n }\n return { prefix: name.slice(0, name.length - match[1].length), rawEvent: match[1] }\n}\n\nexport function resolveComponentTagName(name: string, componentTags?: Record<string, string>) {\n if (!componentTags) {\n return undefined\n }\n return componentTags[name] ?? componentTags[name.toLowerCase()]\n}\n\nconst PROPERTY_BIND_EXCLUSIONS = new Set(['class', 'style', 'id', 'slot'])\n\nfunction shouldBindAsProperty(name: string) {\n if (PROPERTY_BIND_EXCLUSIONS.has(name)) {\n return false\n }\n if (name.startsWith('data-') || name.startsWith('aria-')) {\n return false\n }\n return true\n}\n\nfunction normalizePropertyName(name: string) {\n return name.replace(/-([a-z])/g, (_, char: string) => char.toUpperCase())\n}\n\nexport function renderAttributes(\n attribs: Record<string, string>,\n scopeVar: string,\n wxsVar: string,\n options?: { skipControl?: boolean, preferProperty?: boolean },\n) {\n let buffer = ''\n for (const [rawName, rawValue] of Object.entries(attribs)) {\n if (options?.skipControl && CONTROL_ATTRS.has(rawName)) {\n continue\n }\n const eventInfo = parseEventAttribute(rawName)\n if (eventInfo) {\n const event = eventInfo.rawEvent.toLowerCase()\n const handlerExpr = buildExpression(parseInterpolations(rawValue ?? ''), scopeVar, wxsVar)\n const domEvent = EVENT_KIND_ALIAS[event] ?? event\n const flags = {\n catch: eventInfo.prefix.includes('catch'),\n capture: eventInfo.prefix.includes('capture'),\n }\n buffer += ` @${domEvent}=\\${ctx.event(${JSON.stringify(event)}, ${handlerExpr}, ${scopeVar}, ${wxsVar}, ${JSON.stringify(flags)})}`\n continue\n }\n const useProperty = options?.preferProperty && shouldBindAsProperty(rawName)\n const name = useProperty ? normalizePropertyName(rawName) : normalizeAttributeName(rawName)\n const expr = buildExpression(parseInterpolations(rawValue ?? ''), scopeVar, wxsVar)\n buffer += ` ${useProperty ? '.' : ''}${name}=\\${${expr}}`\n }\n return buffer\n}\n"],"mappings":";;;;AAWA,SAAgB,WAAW,SAAiC;CAC1D,MAAM,OAAO,6BAA6B,SAAS,KAAK;CACxD,MAAM,WAAW,6BAA6B,SAAS,UAAU,CAAC,EAAE,KAAK,KAAK;CAC9E,IAAI,YAAY,6BAA6B,SAAS,WAAW,CAAC,EAAE,KAAK,KAAK;CAC9E,MAAM,MAAM,6BAA6B,SAAS,KAAK;CACvD,MAAM,cAAsC,CAAC;CAC7C,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,OAAO,GAAG;EACnD,IAAI,cAAc,IAAI,IAAI,GACxB;EAEF,YAAY,QAAQ;CACtB;CACA,IAAI,aAAa,WACf,YAAY,GAAG,UAAU;CAE3B,OAAO;EAAE;EAAM;EAAU;EAAW;EAAK;CAAY;AACvD;AAEA,SAAgB,qBAAqB,MAA6C;CAChF,IAAI,KAAK,SAAS,WAChB,OAAO;CAET,MAAM,UAAU,KAAK,WAAW,CAAC;CACjC,OAAO,oBAAoB,SAAS,IAAI,KACnC,oBAAoB,SAAS,MAAM,KACnC,oBAAoB,SAAS,MAAM;AAC1C;AAEA,SAAgB,uBAAuB,SAAiC;CACtE,MAAM,SAAiC,CAAC;CACxC,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,OAAO,GAChD,IAAI,CAAC,cAAc,IAAI,IAAI,GACzB,OAAO,QAAQ;CAGnB,OAAO;AACT;AAEA,SAAS,oBAAoB,MAAc;CACzC,IAAI,KAAK,SAAS,GAAG,GAAG;EACtB,MAAM,CAAC,QAAQ,YAAY,KAAK,MAAM,KAAK,CAAC;EAC5C,OAAO;GAAE;GAAQ;EAAS;CAC5B;CACA,MAAM,QAAQ,gBAAgB,KAAK,IAAI;CACvC,IAAI,CAAC,OACH;CAEF,OAAO;EAAE,QAAQ,KAAK,MAAM,GAAG,KAAK,SAAS,MAAM,EAAE,CAAC,MAAM;EAAG,UAAU,MAAM;CAAG;AACpF;AAEA,SAAgB,wBAAwB,MAAc,eAAwC;CAC5F,IAAI,CAAC,eACH;CAEF,OAAO,cAAc,SAAS,cAAc,KAAK,YAAY;AAC/D;AAEA,MAAM,
|
|
1
|
+
{"version":3,"file":"attributes.mjs","names":[],"sources":["../../../src/compiler/wxml/attributes.ts"],"sourcesContent":["import type { RenderElementNode, RenderNode } from './types'\nimport {\n CONTROL_ATTRS,\n EVENT_KIND_ALIAS,\n EVENT_PREFIX_RE,\n hasControlAttribute,\n normalizeAttributeName,\n resolveControlAttributeValue,\n} from '../../shared/wxml'\nimport { buildExpression, parseInterpolations } from './interpolation'\n\nexport function extractFor(attribs: Record<string, string>) {\n const expr = resolveControlAttributeValue(attribs, 'for')\n const itemName = resolveControlAttributeValue(attribs, 'for-item')?.trim() || 'item'\n let indexName = resolveControlAttributeValue(attribs, 'for-index')?.trim() || 'index'\n const key = resolveControlAttributeValue(attribs, 'key')\n const restAttribs: Record<string, string> = {}\n for (const [name, value] of Object.entries(attribs)) {\n if (CONTROL_ATTRS.has(name)) {\n continue\n }\n restAttribs[name] = value\n }\n if (itemName === indexName) {\n indexName = `${indexName}Index`\n }\n return { expr, itemName, indexName, key, restAttribs }\n}\n\nexport function isConditionalElement(node: RenderNode): node is RenderElementNode {\n if (node.type !== 'element') {\n return false\n }\n const attribs = node.attribs ?? {}\n return hasControlAttribute(attribs, 'if')\n || hasControlAttribute(attribs, 'elif')\n || hasControlAttribute(attribs, 'else')\n}\n\nexport function stripControlAttributes(attribs: Record<string, string>) {\n const result: Record<string, string> = {}\n for (const [name, value] of Object.entries(attribs)) {\n if (!CONTROL_ATTRS.has(name)) {\n result[name] = value\n }\n }\n return result\n}\n\nfunction parseEventAttribute(name: string) {\n if (name.includes(':')) {\n const [prefix, rawEvent] = name.split(':', 2)\n return { prefix, rawEvent }\n }\n const match = EVENT_PREFIX_RE.exec(name)\n if (!match) {\n return undefined\n }\n return { prefix: name.slice(0, name.length - match[1].length), rawEvent: match[1] }\n}\n\nexport function resolveComponentTagName(name: string, componentTags?: Record<string, string>) {\n if (!componentTags) {\n return undefined\n }\n return componentTags[name] ?? componentTags[name.toLowerCase()]\n}\n\nconst PROPERTY_BIND_EXCLUSIONS = new Set(['class', 'style', 'id', 'slot'])\n\nfunction shouldBindAsProperty(name: string) {\n if (PROPERTY_BIND_EXCLUSIONS.has(name)) {\n return false\n }\n if (name.startsWith('data-') || name.startsWith('aria-')) {\n return false\n }\n return true\n}\n\nfunction normalizePropertyName(name: string) {\n return name.replace(/-([a-z])/g, (_, char: string) => char.toUpperCase())\n}\n\nexport function renderAttributes(\n attribs: Record<string, string>,\n scopeVar: string,\n wxsVar: string,\n options?: { skipControl?: boolean, preferProperty?: boolean },\n) {\n let buffer = ''\n for (const [rawName, rawValue] of Object.entries(attribs)) {\n if (options?.skipControl && CONTROL_ATTRS.has(rawName)) {\n continue\n }\n const eventInfo = parseEventAttribute(rawName)\n if (eventInfo) {\n const event = eventInfo.rawEvent.toLowerCase()\n const handlerExpr = buildExpression(parseInterpolations(rawValue ?? ''), scopeVar, wxsVar)\n const domEvent = EVENT_KIND_ALIAS[event] ?? event\n const flags = {\n catch: eventInfo.prefix.includes('catch'),\n capture: eventInfo.prefix.includes('capture'),\n }\n buffer += ` @${domEvent}=\\${ctx.event(${JSON.stringify(event)}, ${handlerExpr}, ${scopeVar}, ${wxsVar}, ${JSON.stringify(flags)})}`\n continue\n }\n const useProperty = options?.preferProperty && shouldBindAsProperty(rawName)\n const name = useProperty ? normalizePropertyName(rawName) : normalizeAttributeName(rawName)\n const expr = buildExpression(parseInterpolations(rawValue ?? ''), scopeVar, wxsVar)\n buffer += ` ${useProperty ? '.' : ''}${name}=\\${${expr}}`\n }\n return buffer\n}\n"],"mappings":";;;;AAWA,SAAgB,WAAW,SAAiC;CAC1D,MAAM,OAAO,6BAA6B,SAAS,KAAK;CACxD,MAAM,WAAW,6BAA6B,SAAS,UAAU,CAAC,EAAE,KAAK,KAAK;CAC9E,IAAI,YAAY,6BAA6B,SAAS,WAAW,CAAC,EAAE,KAAK,KAAK;CAC9E,MAAM,MAAM,6BAA6B,SAAS,KAAK;CACvD,MAAM,cAAsC,CAAC;CAC7C,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,OAAO,GAAG;EACnD,IAAI,cAAc,IAAI,IAAI,GACxB;EAEF,YAAY,QAAQ;CACtB;CACA,IAAI,aAAa,WACf,YAAY,GAAG,UAAU;CAE3B,OAAO;EAAE;EAAM;EAAU;EAAW;EAAK;CAAY;AACvD;AAEA,SAAgB,qBAAqB,MAA6C;CAChF,IAAI,KAAK,SAAS,WAChB,OAAO;CAET,MAAM,UAAU,KAAK,WAAW,CAAC;CACjC,OAAO,oBAAoB,SAAS,IAAI,KACnC,oBAAoB,SAAS,MAAM,KACnC,oBAAoB,SAAS,MAAM;AAC1C;AAEA,SAAgB,uBAAuB,SAAiC;CACtE,MAAM,SAAiC,CAAC;CACxC,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,OAAO,GAChD,IAAI,CAAC,cAAc,IAAI,IAAI,GACzB,OAAO,QAAQ;CAGnB,OAAO;AACT;AAEA,SAAS,oBAAoB,MAAc;CACzC,IAAI,KAAK,SAAS,GAAG,GAAG;EACtB,MAAM,CAAC,QAAQ,YAAY,KAAK,MAAM,KAAK,CAAC;EAC5C,OAAO;GAAE;GAAQ;EAAS;CAC5B;CACA,MAAM,QAAQ,gBAAgB,KAAK,IAAI;CACvC,IAAI,CAAC,OACH;CAEF,OAAO;EAAE,QAAQ,KAAK,MAAM,GAAG,KAAK,SAAS,MAAM,EAAE,CAAC,MAAM;EAAG,UAAU,MAAM;CAAG;AACpF;AAEA,SAAgB,wBAAwB,MAAc,eAAwC;CAC5F,IAAI,CAAC,eACH;CAEF,OAAO,cAAc,SAAS,cAAc,KAAK,YAAY;AAC/D;AAEA,MAAM,2CAA2B,IAAI,IAAI;CAAC;CAAS;CAAS;CAAM;AAAM,CAAC;AAEzE,SAAS,qBAAqB,MAAc;CAC1C,IAAI,yBAAyB,IAAI,IAAI,GACnC,OAAO;CAET,IAAI,KAAK,WAAW,OAAO,KAAK,KAAK,WAAW,OAAO,GACrD,OAAO;CAET,OAAO;AACT;AAEA,SAAS,sBAAsB,MAAc;CAC3C,OAAO,KAAK,QAAQ,cAAc,GAAG,SAAiB,KAAK,YAAY,CAAC;AAC1E;AAEA,SAAgB,iBACd,SACA,UACA,QACA,SACA;CACA,IAAI,SAAS;CACb,KAAK,MAAM,CAAC,SAAS,aAAa,OAAO,QAAQ,OAAO,GAAG;EACzD,IAAI,SAAS,eAAe,cAAc,IAAI,OAAO,GACnD;EAEF,MAAM,YAAY,oBAAoB,OAAO;EAC7C,IAAI,WAAW;GACb,MAAM,QAAQ,UAAU,SAAS,YAAY;GAC7C,MAAM,cAAc,gBAAgB,oBAAoB,YAAY,EAAE,GAAG,UAAU,MAAM;GACzF,MAAM,WAAW,iBAAiB,UAAU;GAC5C,MAAM,QAAQ;IACZ,OAAO,UAAU,OAAO,SAAS,OAAO;IACxC,SAAS,UAAU,OAAO,SAAS,SAAS;GAC9C;GACA,UAAU,KAAK,SAAS,gBAAgB,KAAK,UAAU,KAAK,EAAE,IAAI,YAAY,IAAI,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU,KAAK,EAAE;GAChI;EACF;EACA,MAAM,cAAc,SAAS,kBAAkB,qBAAqB,OAAO;EAC3E,MAAM,OAAO,cAAc,sBAAsB,OAAO,IAAI,uBAAuB,OAAO;EAC1F,MAAM,OAAO,gBAAgB,oBAAoB,YAAY,EAAE,GAAG,UAAU,MAAM;EAClF,UAAU,IAAI,cAAc,MAAM,KAAK,KAAK,MAAM,KAAK;CACzD;CACA,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.mjs","names":[],"sources":["../../../src/compiler/wxml/navigation.ts"],"sourcesContent":["import type { NavigationBarConfig, RenderElementNode, RenderNode } from './types'\n\nconst NAVIGATION_BAR_ATTRS = new Set([\n 'title',\n 'background-color',\n 'text-style',\n 'front-color',\n 'loading',\n])\n\nfunction stripPageMetaNodes(nodes: RenderNode[]): RenderNode[] {\n const stripped: RenderNode[] = []\n for (const node of nodes) {\n if (node.type === 'element' && node.name === 'page-meta') {\n continue\n }\n if (node.type === 'element' && node.children?.length) {\n const nextChildren = stripPageMetaNodes(node.children)\n if (nextChildren !== node.children) {\n stripped.push({ ...node, children: nextChildren })\n continue\n }\n }\n stripped.push(node)\n }\n return stripped\n}\n\nfunction pickNavigationBarAttrs(attribs: Record<string, string> | undefined) {\n if (!attribs) {\n return undefined\n }\n const picked: Record<string, string> = {}\n for (const [key, value] of Object.entries(attribs)) {\n if (NAVIGATION_BAR_ATTRS.has(key)) {\n picked[key] = value\n }\n }\n return Object.keys(picked).length > 0 ? picked : undefined\n}\n\nfunction findNavigationBarInPageMeta(node: RenderElementNode) {\n const children = node.children ?? []\n for (const child of children) {\n if (child.type === 'element' && child.name === 'navigation-bar') {\n return child\n }\n }\n return undefined\n}\n\nexport function extractNavigationBarFromPageMeta(nodes: RenderNode[]): {\n nodes: RenderNode[]\n attrs?: Record<string, string>\n warnings: string[]\n} {\n let pageMetaIndex = -1\n let navigationBar: RenderElementNode | undefined\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i]\n if (node.type === 'element' && node.name === 'page-meta') {\n if (pageMetaIndex === -1) {\n pageMetaIndex = i\n }\n if (!navigationBar) {\n navigationBar = findNavigationBarInPageMeta(node)\n }\n }\n }\n const warnings: string[] = []\n if (pageMetaIndex > 0) {\n warnings.push('[web] page-meta 需要作为页面第一个节点,已忽略其位置约束。')\n }\n const cleaned = pageMetaIndex === -1 ? nodes : stripPageMetaNodes(nodes)\n const attrs = navigationBar ? pickNavigationBarAttrs(navigationBar.attribs) : undefined\n return { nodes: cleaned, attrs, warnings }\n}\n\nfunction toAttributeValue(value: unknown) {\n if (value == null) {\n return undefined\n }\n if (typeof value === 'string') {\n return value\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value)\n }\n return undefined\n}\n\nexport function buildNavigationBarAttrs(\n config: NavigationBarConfig | undefined,\n overrides?: Record<string, string>,\n) {\n const attrs: Record<string, string> = {}\n if (config?.title !== undefined) {\n const value = toAttributeValue(config.title)\n if (value !== undefined) {\n attrs.title = value\n }\n }\n if (config?.backgroundColor !== undefined) {\n const value = toAttributeValue(config.backgroundColor)\n if (value !== undefined) {\n attrs['background-color'] = value\n }\n }\n if (config?.textStyle !== undefined) {\n const value = toAttributeValue(config.textStyle)\n if (value !== undefined) {\n attrs['text-style'] = value\n }\n }\n if (config?.frontColor !== undefined) {\n const value = toAttributeValue(config.frontColor)\n if (value !== undefined) {\n attrs['front-color'] = value\n }\n }\n if (config?.loading) {\n attrs.loading = 'true'\n }\n if (overrides) {\n for (const [key, value] of Object.entries(overrides)) {\n attrs[key] = value\n }\n }\n return attrs\n}\n"],"mappings":";AAEA,MAAM,
|
|
1
|
+
{"version":3,"file":"navigation.mjs","names":[],"sources":["../../../src/compiler/wxml/navigation.ts"],"sourcesContent":["import type { NavigationBarConfig, RenderElementNode, RenderNode } from './types'\n\nconst NAVIGATION_BAR_ATTRS = new Set([\n 'title',\n 'background-color',\n 'text-style',\n 'front-color',\n 'loading',\n])\n\nfunction stripPageMetaNodes(nodes: RenderNode[]): RenderNode[] {\n const stripped: RenderNode[] = []\n for (const node of nodes) {\n if (node.type === 'element' && node.name === 'page-meta') {\n continue\n }\n if (node.type === 'element' && node.children?.length) {\n const nextChildren = stripPageMetaNodes(node.children)\n if (nextChildren !== node.children) {\n stripped.push({ ...node, children: nextChildren })\n continue\n }\n }\n stripped.push(node)\n }\n return stripped\n}\n\nfunction pickNavigationBarAttrs(attribs: Record<string, string> | undefined) {\n if (!attribs) {\n return undefined\n }\n const picked: Record<string, string> = {}\n for (const [key, value] of Object.entries(attribs)) {\n if (NAVIGATION_BAR_ATTRS.has(key)) {\n picked[key] = value\n }\n }\n return Object.keys(picked).length > 0 ? picked : undefined\n}\n\nfunction findNavigationBarInPageMeta(node: RenderElementNode) {\n const children = node.children ?? []\n for (const child of children) {\n if (child.type === 'element' && child.name === 'navigation-bar') {\n return child\n }\n }\n return undefined\n}\n\nexport function extractNavigationBarFromPageMeta(nodes: RenderNode[]): {\n nodes: RenderNode[]\n attrs?: Record<string, string>\n warnings: string[]\n} {\n let pageMetaIndex = -1\n let navigationBar: RenderElementNode | undefined\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i]\n if (node.type === 'element' && node.name === 'page-meta') {\n if (pageMetaIndex === -1) {\n pageMetaIndex = i\n }\n if (!navigationBar) {\n navigationBar = findNavigationBarInPageMeta(node)\n }\n }\n }\n const warnings: string[] = []\n if (pageMetaIndex > 0) {\n warnings.push('[web] page-meta 需要作为页面第一个节点,已忽略其位置约束。')\n }\n const cleaned = pageMetaIndex === -1 ? nodes : stripPageMetaNodes(nodes)\n const attrs = navigationBar ? pickNavigationBarAttrs(navigationBar.attribs) : undefined\n return { nodes: cleaned, attrs, warnings }\n}\n\nfunction toAttributeValue(value: unknown) {\n if (value == null) {\n return undefined\n }\n if (typeof value === 'string') {\n return value\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value)\n }\n return undefined\n}\n\nexport function buildNavigationBarAttrs(\n config: NavigationBarConfig | undefined,\n overrides?: Record<string, string>,\n) {\n const attrs: Record<string, string> = {}\n if (config?.title !== undefined) {\n const value = toAttributeValue(config.title)\n if (value !== undefined) {\n attrs.title = value\n }\n }\n if (config?.backgroundColor !== undefined) {\n const value = toAttributeValue(config.backgroundColor)\n if (value !== undefined) {\n attrs['background-color'] = value\n }\n }\n if (config?.textStyle !== undefined) {\n const value = toAttributeValue(config.textStyle)\n if (value !== undefined) {\n attrs['text-style'] = value\n }\n }\n if (config?.frontColor !== undefined) {\n const value = toAttributeValue(config.frontColor)\n if (value !== undefined) {\n attrs['front-color'] = value\n }\n }\n if (config?.loading) {\n attrs.loading = 'true'\n }\n if (overrides) {\n for (const [key, value] of Object.entries(overrides)) {\n attrs[key] = value\n }\n }\n return attrs\n}\n"],"mappings":";AAEA,MAAM,uCAAuB,IAAI,IAAI;CACnC;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAS,mBAAmB,OAAmC;CAC7D,MAAM,WAAyB,CAAC;CAChC,KAAK,MAAM,QAAQ,OAAO;EACxB,IAAI,KAAK,SAAS,aAAa,KAAK,SAAS,aAC3C;EAEF,IAAI,KAAK,SAAS,aAAa,KAAK,UAAU,QAAQ;GACpD,MAAM,eAAe,mBAAmB,KAAK,QAAQ;GACrD,IAAI,iBAAiB,KAAK,UAAU;IAClC,SAAS,KAAK;KAAE,GAAG;KAAM,UAAU;IAAa,CAAC;IACjD;GACF;EACF;EACA,SAAS,KAAK,IAAI;CACpB;CACA,OAAO;AACT;AAEA,SAAS,uBAAuB,SAA6C;CAC3E,IAAI,CAAC,SACH;CAEF,MAAM,SAAiC,CAAC;CACxC,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,GAC/C,IAAI,qBAAqB,IAAI,GAAG,GAC9B,OAAO,OAAO;CAGlB,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,SAAS,IAAI,SAAS;AACnD;AAEA,SAAS,4BAA4B,MAAyB;CAC5D,MAAM,WAAW,KAAK,YAAY,CAAC;CACnC,KAAK,MAAM,SAAS,UAClB,IAAI,MAAM,SAAS,aAAa,MAAM,SAAS,kBAC7C,OAAO;AAIb;AAEA,SAAgB,iCAAiC,OAI/C;CACA,IAAI,gBAAgB;CACpB,IAAI;CACJ,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;EACxC,MAAM,OAAO,MAAM;EACnB,IAAI,KAAK,SAAS,aAAa,KAAK,SAAS,aAAa;GACxD,IAAI,kBAAkB,IACpB,gBAAgB;GAElB,IAAI,CAAC,eACH,gBAAgB,4BAA4B,IAAI;EAEpD;CACF;CACA,MAAM,WAAqB,CAAC;CAC5B,IAAI,gBAAgB,GAClB,SAAS,KAAK,uCAAuC;CAIvD,OAAO;EAAE,OAFO,kBAAkB,KAAK,QAAQ,mBAAmB,KAAK;EAE9C,OADX,gBAAgB,uBAAuB,cAAc,OAAO,IAAI;EAC9C;CAAS;AAC3C;AAEA,SAAS,iBAAiB,OAAgB;CACxC,IAAI,SAAS,MACX;CAEF,IAAI,OAAO,UAAU,UACnB,OAAO;CAET,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,WAChD,OAAO,OAAO,KAAK;AAGvB;AAEA,SAAgB,wBACd,QACA,WACA;CACA,MAAM,QAAgC,CAAC;CACvC,IAAI,QAAQ,UAAU,QAAW;EAC/B,MAAM,QAAQ,iBAAiB,OAAO,KAAK;EAC3C,IAAI,UAAU,QACZ,MAAM,QAAQ;CAElB;CACA,IAAI,QAAQ,oBAAoB,QAAW;EACzC,MAAM,QAAQ,iBAAiB,OAAO,eAAe;EACrD,IAAI,UAAU,QACZ,MAAM,sBAAsB;CAEhC;CACA,IAAI,QAAQ,cAAc,QAAW;EACnC,MAAM,QAAQ,iBAAiB,OAAO,SAAS;EAC/C,IAAI,UAAU,QACZ,MAAM,gBAAgB;CAE1B;CACA,IAAI,QAAQ,eAAe,QAAW;EACpC,MAAM,QAAQ,iBAAiB,OAAO,UAAU;EAChD,IAAI,UAAU,QACZ,MAAM,iBAAiB;CAE3B;CACA,IAAI,QAAQ,SACV,MAAM,UAAU;CAElB,IAAI,WACF,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,SAAS,GACjD,MAAM,OAAO;CAGjB,OAAO;AACT"}
|
|
@@ -37,7 +37,7 @@ var deviceAuthSystemApi_exports = /* @__PURE__ */ __exportAll({
|
|
|
37
37
|
openSetting: () => openSetting,
|
|
38
38
|
vibrateShort: () => vibrateShort
|
|
39
39
|
});
|
|
40
|
-
const WEB_SUPPORTED_AUTH_SCOPES = new Set([
|
|
40
|
+
const WEB_SUPPORTED_AUTH_SCOPES = /* @__PURE__ */ new Set([
|
|
41
41
|
"scope.userInfo",
|
|
42
42
|
"scope.userLocation",
|
|
43
43
|
"scope.userLocationBackground",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceAuthSystemApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/deviceAuthSystemApi.ts"],"sourcesContent":["import type {\n AccountInfoSync,\n AppAuthorizeSetting,\n AppAuthorizeStatus,\n AppBaseInfo,\n AuthorizeOptions,\n BatteryInfo,\n CheckSessionOptions,\n DeviceInfo,\n GetBatteryInfoSuccessResult,\n GetFuzzyLocationOptions,\n GetLocationOptions,\n GetNetworkTypeOptions,\n GetSettingOptions,\n GetSystemInfoOptions,\n GetUserInfoOptions,\n GetUserProfileOptions,\n LoginOptions,\n MenuButtonBoundingClientRect,\n MiniProgramAsyncOptions,\n NetworkStatusChangeCallback,\n OpenAppAuthorizeSettingOptions,\n OpenSettingOptions,\n SystemInfo,\n SystemSetting,\n VibrateShortOptions,\n WindowInfo,\n WindowResizeCallback,\n} from './types'\nimport {\n authorizeBridge,\n checkSessionBridge,\n getAppAuthorizeSettingBridge,\n getSettingBridge,\n getSystemSettingBridge,\n getUserInfoBridge,\n getUserProfileBridge,\n loginBridge,\n openAppAuthorizeSettingBridge,\n openSettingBridge,\n} from './authApi'\nimport {\n getBatteryInfoBridge,\n getBatteryInfoSyncBridge,\n vibrateShortBridge,\n} from './deviceApi'\nimport {\n getFuzzyLocationBridge,\n getLocationBridge,\n} from './locationApi'\nimport { getNetworkTypeBridge } from './menuApi'\nimport {\n offNetworkStatusChangeBridge,\n offWindowResizeBridge,\n onNetworkStatusChangeBridge,\n onWindowResizeBridge,\n} from './runtimeCapabilityApi'\nimport { resolveDeviceOrientation } from './system'\nimport {\n getAccountInfoSyncBridge,\n getAppBaseInfoBridge,\n getDeviceInfoBridge,\n getMenuButtonBoundingClientRectBridge,\n getSystemInfoBridge,\n getSystemInfoSyncBridge,\n getWindowInfoBridge,\n} from './systemApi'\n\nconst WEB_SUPPORTED_AUTH_SCOPES = new Set([\n 'scope.userInfo',\n 'scope.userLocation',\n 'scope.userLocationBackground',\n 'scope.address',\n 'scope.invoiceTitle',\n 'scope.invoice',\n 'scope.werun',\n 'scope.record',\n 'scope.writePhotosAlbum',\n 'scope.camera',\n])\nconst APP_AUTHORIZE_SCOPE_MAP: Partial<Record<keyof AppAuthorizeSetting, string>> = {\n albumAuthorized: 'scope.writePhotosAlbum',\n cameraAuthorized: 'scope.camera',\n locationAuthorized: 'scope.userLocation',\n microphoneAuthorized: 'scope.record',\n}\nconst webAuthorizeState = new Map<string, AppAuthorizeStatus>()\nfor (const scope of WEB_SUPPORTED_AUTH_SCOPES) {\n webAuthorizeState.set(scope, 'not determined')\n}\n\nexport function vibrateShort(options?: VibrateShortOptions) {\n return vibrateShortBridge(options)\n}\n\nexport function getBatteryInfoSync(): BatteryInfo {\n return getBatteryInfoSyncBridge()\n}\n\nexport async function getBatteryInfo(options?: MiniProgramAsyncOptions<GetBatteryInfoSuccessResult>) {\n return getBatteryInfoBridge(options)\n}\n\nexport function getLocation(options?: GetLocationOptions) {\n return getLocationBridge(options)\n}\n\nexport async function getFuzzyLocation(options?: GetFuzzyLocationOptions) {\n return getFuzzyLocationBridge(options)\n}\n\nexport function getSetting(options?: GetSettingOptions) {\n return getSettingBridge(options, webAuthorizeState)\n}\n\nexport function authorize(options?: AuthorizeOptions) {\n return authorizeBridge(options, webAuthorizeState, WEB_SUPPORTED_AUTH_SCOPES)\n}\n\nexport function openSetting(options?: OpenSettingOptions) {\n return openSettingBridge(options, webAuthorizeState, WEB_SUPPORTED_AUTH_SCOPES)\n}\n\nexport function getAppAuthorizeSetting(): AppAuthorizeSetting {\n return getAppAuthorizeSettingBridge(webAuthorizeState) as AppAuthorizeSetting\n}\n\nexport function openAppAuthorizeSetting(options?: OpenAppAuthorizeSettingOptions) {\n return openAppAuthorizeSettingBridge(\n options,\n webAuthorizeState,\n APP_AUTHORIZE_SCOPE_MAP as Record<string, string>,\n getAppAuthorizeSetting,\n )\n}\n\nexport function getNetworkType(options?: GetNetworkTypeOptions) {\n return getNetworkTypeBridge(options)\n}\n\nexport function onNetworkStatusChange(callback: NetworkStatusChangeCallback) {\n return onNetworkStatusChangeBridge(callback)\n}\n\nexport function offNetworkStatusChange(callback?: NetworkStatusChangeCallback) {\n return offNetworkStatusChangeBridge(callback)\n}\n\nexport function getWindowInfo(): WindowInfo {\n return getWindowInfoBridge()\n}\n\nexport function onWindowResize(callback: WindowResizeCallback) {\n return onWindowResizeBridge(callback, getWindowInfo)\n}\n\nexport function offWindowResize(callback?: WindowResizeCallback) {\n return offWindowResizeBridge(callback)\n}\n\nexport function getSystemInfoSync(): SystemInfo {\n return getSystemInfoSyncBridge()\n}\n\nexport function getSystemInfo(options?: GetSystemInfoOptions) {\n return getSystemInfoBridge(options)\n}\n\nexport function getDeviceInfo(): DeviceInfo {\n return getDeviceInfoBridge() as DeviceInfo\n}\n\nexport function getSystemSetting(): SystemSetting {\n return getSystemSettingBridge(webAuthorizeState, resolveDeviceOrientation)\n}\n\nexport function login(options?: LoginOptions) {\n return loginBridge(options)\n}\n\nexport function checkSession(options?: CheckSessionOptions) {\n return checkSessionBridge(options)\n}\n\nexport function getUserInfo(options?: GetUserInfoOptions) {\n return getUserInfoBridge(options, webAuthorizeState)\n}\n\nexport function getUserProfile(options?: GetUserProfileOptions) {\n return getUserProfileBridge(options, webAuthorizeState)\n}\n\nexport function getAccountInfoSync(): AccountInfoSync {\n return getAccountInfoSyncBridge() as AccountInfoSync\n}\n\nexport function getAppBaseInfo(): AppBaseInfo {\n return getAppBaseInfoBridge() as AppBaseInfo\n}\n\nexport function getMenuButtonBoundingClientRect(): MenuButtonBoundingClientRect {\n return getMenuButtonBoundingClientRectBridge() as MenuButtonBoundingClientRect\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,MAAM,
|
|
1
|
+
{"version":3,"file":"deviceAuthSystemApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/deviceAuthSystemApi.ts"],"sourcesContent":["import type {\n AccountInfoSync,\n AppAuthorizeSetting,\n AppAuthorizeStatus,\n AppBaseInfo,\n AuthorizeOptions,\n BatteryInfo,\n CheckSessionOptions,\n DeviceInfo,\n GetBatteryInfoSuccessResult,\n GetFuzzyLocationOptions,\n GetLocationOptions,\n GetNetworkTypeOptions,\n GetSettingOptions,\n GetSystemInfoOptions,\n GetUserInfoOptions,\n GetUserProfileOptions,\n LoginOptions,\n MenuButtonBoundingClientRect,\n MiniProgramAsyncOptions,\n NetworkStatusChangeCallback,\n OpenAppAuthorizeSettingOptions,\n OpenSettingOptions,\n SystemInfo,\n SystemSetting,\n VibrateShortOptions,\n WindowInfo,\n WindowResizeCallback,\n} from './types'\nimport {\n authorizeBridge,\n checkSessionBridge,\n getAppAuthorizeSettingBridge,\n getSettingBridge,\n getSystemSettingBridge,\n getUserInfoBridge,\n getUserProfileBridge,\n loginBridge,\n openAppAuthorizeSettingBridge,\n openSettingBridge,\n} from './authApi'\nimport {\n getBatteryInfoBridge,\n getBatteryInfoSyncBridge,\n vibrateShortBridge,\n} from './deviceApi'\nimport {\n getFuzzyLocationBridge,\n getLocationBridge,\n} from './locationApi'\nimport { getNetworkTypeBridge } from './menuApi'\nimport {\n offNetworkStatusChangeBridge,\n offWindowResizeBridge,\n onNetworkStatusChangeBridge,\n onWindowResizeBridge,\n} from './runtimeCapabilityApi'\nimport { resolveDeviceOrientation } from './system'\nimport {\n getAccountInfoSyncBridge,\n getAppBaseInfoBridge,\n getDeviceInfoBridge,\n getMenuButtonBoundingClientRectBridge,\n getSystemInfoBridge,\n getSystemInfoSyncBridge,\n getWindowInfoBridge,\n} from './systemApi'\n\nconst WEB_SUPPORTED_AUTH_SCOPES = new Set([\n 'scope.userInfo',\n 'scope.userLocation',\n 'scope.userLocationBackground',\n 'scope.address',\n 'scope.invoiceTitle',\n 'scope.invoice',\n 'scope.werun',\n 'scope.record',\n 'scope.writePhotosAlbum',\n 'scope.camera',\n])\nconst APP_AUTHORIZE_SCOPE_MAP: Partial<Record<keyof AppAuthorizeSetting, string>> = {\n albumAuthorized: 'scope.writePhotosAlbum',\n cameraAuthorized: 'scope.camera',\n locationAuthorized: 'scope.userLocation',\n microphoneAuthorized: 'scope.record',\n}\nconst webAuthorizeState = new Map<string, AppAuthorizeStatus>()\nfor (const scope of WEB_SUPPORTED_AUTH_SCOPES) {\n webAuthorizeState.set(scope, 'not determined')\n}\n\nexport function vibrateShort(options?: VibrateShortOptions) {\n return vibrateShortBridge(options)\n}\n\nexport function getBatteryInfoSync(): BatteryInfo {\n return getBatteryInfoSyncBridge()\n}\n\nexport async function getBatteryInfo(options?: MiniProgramAsyncOptions<GetBatteryInfoSuccessResult>) {\n return getBatteryInfoBridge(options)\n}\n\nexport function getLocation(options?: GetLocationOptions) {\n return getLocationBridge(options)\n}\n\nexport async function getFuzzyLocation(options?: GetFuzzyLocationOptions) {\n return getFuzzyLocationBridge(options)\n}\n\nexport function getSetting(options?: GetSettingOptions) {\n return getSettingBridge(options, webAuthorizeState)\n}\n\nexport function authorize(options?: AuthorizeOptions) {\n return authorizeBridge(options, webAuthorizeState, WEB_SUPPORTED_AUTH_SCOPES)\n}\n\nexport function openSetting(options?: OpenSettingOptions) {\n return openSettingBridge(options, webAuthorizeState, WEB_SUPPORTED_AUTH_SCOPES)\n}\n\nexport function getAppAuthorizeSetting(): AppAuthorizeSetting {\n return getAppAuthorizeSettingBridge(webAuthorizeState) as AppAuthorizeSetting\n}\n\nexport function openAppAuthorizeSetting(options?: OpenAppAuthorizeSettingOptions) {\n return openAppAuthorizeSettingBridge(\n options,\n webAuthorizeState,\n APP_AUTHORIZE_SCOPE_MAP as Record<string, string>,\n getAppAuthorizeSetting,\n )\n}\n\nexport function getNetworkType(options?: GetNetworkTypeOptions) {\n return getNetworkTypeBridge(options)\n}\n\nexport function onNetworkStatusChange(callback: NetworkStatusChangeCallback) {\n return onNetworkStatusChangeBridge(callback)\n}\n\nexport function offNetworkStatusChange(callback?: NetworkStatusChangeCallback) {\n return offNetworkStatusChangeBridge(callback)\n}\n\nexport function getWindowInfo(): WindowInfo {\n return getWindowInfoBridge()\n}\n\nexport function onWindowResize(callback: WindowResizeCallback) {\n return onWindowResizeBridge(callback, getWindowInfo)\n}\n\nexport function offWindowResize(callback?: WindowResizeCallback) {\n return offWindowResizeBridge(callback)\n}\n\nexport function getSystemInfoSync(): SystemInfo {\n return getSystemInfoSyncBridge()\n}\n\nexport function getSystemInfo(options?: GetSystemInfoOptions) {\n return getSystemInfoBridge(options)\n}\n\nexport function getDeviceInfo(): DeviceInfo {\n return getDeviceInfoBridge() as DeviceInfo\n}\n\nexport function getSystemSetting(): SystemSetting {\n return getSystemSettingBridge(webAuthorizeState, resolveDeviceOrientation)\n}\n\nexport function login(options?: LoginOptions) {\n return loginBridge(options)\n}\n\nexport function checkSession(options?: CheckSessionOptions) {\n return checkSessionBridge(options)\n}\n\nexport function getUserInfo(options?: GetUserInfoOptions) {\n return getUserInfoBridge(options, webAuthorizeState)\n}\n\nexport function getUserProfile(options?: GetUserProfileOptions) {\n return getUserProfileBridge(options, webAuthorizeState)\n}\n\nexport function getAccountInfoSync(): AccountInfoSync {\n return getAccountInfoSyncBridge() as AccountInfoSync\n}\n\nexport function getAppBaseInfo(): AppBaseInfo {\n return getAppBaseInfoBridge() as AppBaseInfo\n}\n\nexport function getMenuButtonBoundingClientRect(): MenuButtonBoundingClientRect {\n return getMenuButtonBoundingClientRectBridge() as MenuButtonBoundingClientRect\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,MAAM,4CAA4B,IAAI,IAAI;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,0BAA8E;CAClF,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,sBAAsB;AACxB;AACA,MAAM,oCAAoB,IAAI,IAAgC;AAC9D,KAAK,MAAM,SAAS,2BAClB,kBAAkB,IAAI,OAAO,gBAAgB;AAG/C,SAAgB,aAAa,SAA+B;CAC1D,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,qBAAkC;CAChD,OAAO,yBAAyB;AAClC;AAEA,eAAsB,eAAe,SAAgE;CACnG,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,YAAY,SAA8B;CACxD,OAAO,kBAAkB,OAAO;AAClC;AAEA,eAAsB,iBAAiB,SAAmC;CACxE,OAAO,uBAAuB,OAAO;AACvC;AAEA,SAAgB,WAAW,SAA6B;CACtD,OAAO,iBAAiB,SAAS,iBAAiB;AACpD;AAEA,SAAgB,UAAU,SAA4B;CACpD,OAAO,gBAAgB,SAAS,mBAAmB,yBAAyB;AAC9E;AAEA,SAAgB,YAAY,SAA8B;CACxD,OAAO,kBAAkB,SAAS,mBAAmB,yBAAyB;AAChF;AAEA,SAAgB,yBAA8C;CAC5D,OAAO,6BAA6B,iBAAiB;AACvD;AAEA,SAAgB,wBAAwB,SAA0C;CAChF,OAAO,8BACL,SACA,mBACA,yBACA,sBACF;AACF;AAEA,SAAgB,eAAe,SAAiC;CAC9D,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,sBAAsB,UAAuC;CAC3E,OAAO,4BAA4B,QAAQ;AAC7C;AAEA,SAAgB,uBAAuB,UAAwC;CAC7E,OAAO,6BAA6B,QAAQ;AAC9C;AAEA,SAAgB,gBAA4B;CAC1C,OAAO,oBAAoB;AAC7B;AAEA,SAAgB,eAAe,UAAgC;CAC7D,OAAO,qBAAqB,UAAU,aAAa;AACrD;AAEA,SAAgB,gBAAgB,UAAiC;CAC/D,OAAO,sBAAsB,QAAQ;AACvC;AAEA,SAAgB,oBAAgC;CAC9C,OAAO,wBAAwB;AACjC;AAEA,SAAgB,cAAc,SAAgC;CAC5D,OAAO,oBAAoB,OAAO;AACpC;AAEA,SAAgB,gBAA4B;CAC1C,OAAO,oBAAoB;AAC7B;AAEA,SAAgB,mBAAkC;CAChD,OAAO,uBAAuB,mBAAmB,wBAAwB;AAC3E;AAEA,SAAgB,MAAM,SAAwB;CAC5C,OAAO,YAAY,OAAO;AAC5B;AAEA,SAAgB,aAAa,SAA+B;CAC1D,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,YAAY,SAA8B;CACxD,OAAO,kBAAkB,SAAS,iBAAiB;AACrD;AAEA,SAAgB,eAAe,SAAiC;CAC9D,OAAO,qBAAqB,SAAS,iBAAiB;AACxD;AAEA,SAAgB,qBAAsC;CACpD,OAAO,yBAAyB;AAClC;AAEA,SAAgB,iBAA8B;CAC5C,OAAO,qBAAqB;AAC9B;AAEA,SAAgB,kCAAgE;CAC9E,OAAO,sCAAsC;AAC/C"}
|
|
@@ -57,7 +57,7 @@ function normalizeChooseVideoFile(file) {
|
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
async function pickChooseVideoFile() {
|
|
60
|
-
return (await pickChooseMediaFiles(1, new Set(["video"])))[0] ?? null;
|
|
60
|
+
return (await pickChooseMediaFiles(1, /* @__PURE__ */ new Set(["video"])))[0] ?? null;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaProcess.mjs","names":[],"sources":["../../../src/runtime/polyfill/mediaProcess.ts"],"sourcesContent":["import {\n createTempFilePath,\n inferChooseMediaFileType,\n pickChooseMediaFiles,\n} from './mediaPicker'\n\nexport function normalizeCompressImageQuality(quality: number | undefined) {\n if (typeof quality !== 'number' || Number.isNaN(quality)) {\n return 80\n }\n return Math.max(0, Math.min(100, Math.round(quality)))\n}\n\nfunction resolveCompressImageMimeType(src: string) {\n const lower = src.toLowerCase()\n if (lower.includes('.jpg') || lower.includes('.jpeg')) {\n return 'image/jpeg'\n }\n if (lower.includes('.webp')) {\n return 'image/webp'\n }\n return 'image/png'\n}\n\nexport async function compressImageByCanvas(src: string, quality: number) {\n if (typeof document === 'undefined' || typeof document.createElement !== 'function') {\n return src\n }\n const ImageCtor = (globalThis as { Image?: typeof Image }).Image\n if (typeof ImageCtor !== 'function') {\n return src\n }\n const canvas = document.createElement('canvas') as HTMLCanvasElement\n if (!canvas || typeof canvas.getContext !== 'function') {\n return src\n }\n return new Promise<string>((resolve, reject) => {\n const image = new ImageCtor()\n image.onload = () => {\n try {\n const width = Number((image as { naturalWidth?: number }).naturalWidth ?? image.width ?? 0)\n const height = Number((image as { naturalHeight?: number }).naturalHeight ?? image.height ?? 0)\n const context = canvas.getContext('2d')\n if (!context || typeof context.drawImage !== 'function' || width <= 0 || height <= 0) {\n resolve(src)\n return\n }\n canvas.width = width\n canvas.height = height\n context.drawImage(image, 0, 0, width, height)\n if (typeof canvas.toDataURL !== 'function') {\n resolve(src)\n return\n }\n const dataUrl = canvas.toDataURL(resolveCompressImageMimeType(src), quality / 100)\n resolve(dataUrl || src)\n }\n catch (error) {\n reject(error)\n }\n }\n image.onerror = () => {\n reject(new Error('image load error'))\n }\n image.src = src\n })\n}\n\nexport function normalizeChooseVideoFile(file: {\n size?: number\n type?: string\n name?: string\n}) {\n if (inferChooseMediaFileType(file) !== 'video') {\n return null\n }\n return {\n tempFilePath: createTempFilePath(file),\n duration: 0,\n size: typeof file.size === 'number' ? file.size : 0,\n height: 0,\n width: 0,\n }\n}\n\nexport async function pickChooseVideoFile() {\n const files = await pickChooseMediaFiles(1, new Set(['video']))\n return files[0] ?? null\n}\n"],"mappings":";;;AAMA,SAAgB,8BAA8B,SAA6B;CACzE,IAAI,OAAO,YAAY,YAAY,OAAO,MAAM,OAAO,GACrD,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC;AACvD;AAEA,SAAS,6BAA6B,KAAa;CACjD,MAAM,QAAQ,IAAI,YAAY;CAC9B,IAAI,MAAM,SAAS,MAAM,KAAK,MAAM,SAAS,OAAO,GAClD,OAAO;CAET,IAAI,MAAM,SAAS,OAAO,GACxB,OAAO;CAET,OAAO;AACT;AAEA,eAAsB,sBAAsB,KAAa,SAAiB;CACxE,IAAI,OAAO,aAAa,eAAe,OAAO,SAAS,kBAAkB,YACvE,OAAO;CAET,MAAM,YAAa,WAAwC;CAC3D,IAAI,OAAO,cAAc,YACvB,OAAO;CAET,MAAM,SAAS,SAAS,cAAc,QAAQ;CAC9C,IAAI,CAAC,UAAU,OAAO,OAAO,eAAe,YAC1C,OAAO;CAET,OAAO,IAAI,SAAiB,SAAS,WAAW;EAC9C,MAAM,QAAQ,IAAI,UAAU;EAC5B,MAAM,eAAe;GACnB,IAAI;IACF,MAAM,QAAQ,OAAQ,MAAoC,gBAAgB,MAAM,SAAS,CAAC;IAC1F,MAAM,SAAS,OAAQ,MAAqC,iBAAiB,MAAM,UAAU,CAAC;IAC9F,MAAM,UAAU,OAAO,WAAW,IAAI;IACtC,IAAI,CAAC,WAAW,OAAO,QAAQ,cAAc,cAAc,SAAS,KAAK,UAAU,GAAG;KACpF,QAAQ,GAAG;KACX;IACF;IACA,OAAO,QAAQ;IACf,OAAO,SAAS;IAChB,QAAQ,UAAU,OAAO,GAAG,GAAG,OAAO,MAAM;IAC5C,IAAI,OAAO,OAAO,cAAc,YAAY;KAC1C,QAAQ,GAAG;KACX;IACF;IAEA,QADgB,OAAO,UAAU,6BAA6B,GAAG,GAAG,UAAU,GAChE,KAAK,GAAG;GACxB,SACO,OAAO;IACZ,OAAO,KAAK;GACd;EACF;EACA,MAAM,gBAAgB;GACpB,uBAAO,IAAI,MAAM,kBAAkB,CAAC;EACtC;EACA,MAAM,MAAM;CACd,CAAC;AACH;AAEA,SAAgB,yBAAyB,MAItC;CACD,IAAI,yBAAyB,IAAI,MAAM,SACrC,OAAO;CAET,OAAO;EACL,cAAc,mBAAmB,IAAI;EACrC,UAAU;EACV,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;EAClD,QAAQ;EACR,OAAO;CACT;AACF;AAEA,eAAsB,sBAAsB;CAE1C,QAAO,MADa,qBAAqB,
|
|
1
|
+
{"version":3,"file":"mediaProcess.mjs","names":[],"sources":["../../../src/runtime/polyfill/mediaProcess.ts"],"sourcesContent":["import {\n createTempFilePath,\n inferChooseMediaFileType,\n pickChooseMediaFiles,\n} from './mediaPicker'\n\nexport function normalizeCompressImageQuality(quality: number | undefined) {\n if (typeof quality !== 'number' || Number.isNaN(quality)) {\n return 80\n }\n return Math.max(0, Math.min(100, Math.round(quality)))\n}\n\nfunction resolveCompressImageMimeType(src: string) {\n const lower = src.toLowerCase()\n if (lower.includes('.jpg') || lower.includes('.jpeg')) {\n return 'image/jpeg'\n }\n if (lower.includes('.webp')) {\n return 'image/webp'\n }\n return 'image/png'\n}\n\nexport async function compressImageByCanvas(src: string, quality: number) {\n if (typeof document === 'undefined' || typeof document.createElement !== 'function') {\n return src\n }\n const ImageCtor = (globalThis as { Image?: typeof Image }).Image\n if (typeof ImageCtor !== 'function') {\n return src\n }\n const canvas = document.createElement('canvas') as HTMLCanvasElement\n if (!canvas || typeof canvas.getContext !== 'function') {\n return src\n }\n return new Promise<string>((resolve, reject) => {\n const image = new ImageCtor()\n image.onload = () => {\n try {\n const width = Number((image as { naturalWidth?: number }).naturalWidth ?? image.width ?? 0)\n const height = Number((image as { naturalHeight?: number }).naturalHeight ?? image.height ?? 0)\n const context = canvas.getContext('2d')\n if (!context || typeof context.drawImage !== 'function' || width <= 0 || height <= 0) {\n resolve(src)\n return\n }\n canvas.width = width\n canvas.height = height\n context.drawImage(image, 0, 0, width, height)\n if (typeof canvas.toDataURL !== 'function') {\n resolve(src)\n return\n }\n const dataUrl = canvas.toDataURL(resolveCompressImageMimeType(src), quality / 100)\n resolve(dataUrl || src)\n }\n catch (error) {\n reject(error)\n }\n }\n image.onerror = () => {\n reject(new Error('image load error'))\n }\n image.src = src\n })\n}\n\nexport function normalizeChooseVideoFile(file: {\n size?: number\n type?: string\n name?: string\n}) {\n if (inferChooseMediaFileType(file) !== 'video') {\n return null\n }\n return {\n tempFilePath: createTempFilePath(file),\n duration: 0,\n size: typeof file.size === 'number' ? file.size : 0,\n height: 0,\n width: 0,\n }\n}\n\nexport async function pickChooseVideoFile() {\n const files = await pickChooseMediaFiles(1, new Set(['video']))\n return files[0] ?? null\n}\n"],"mappings":";;;AAMA,SAAgB,8BAA8B,SAA6B;CACzE,IAAI,OAAO,YAAY,YAAY,OAAO,MAAM,OAAO,GACrD,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,CAAC,CAAC;AACvD;AAEA,SAAS,6BAA6B,KAAa;CACjD,MAAM,QAAQ,IAAI,YAAY;CAC9B,IAAI,MAAM,SAAS,MAAM,KAAK,MAAM,SAAS,OAAO,GAClD,OAAO;CAET,IAAI,MAAM,SAAS,OAAO,GACxB,OAAO;CAET,OAAO;AACT;AAEA,eAAsB,sBAAsB,KAAa,SAAiB;CACxE,IAAI,OAAO,aAAa,eAAe,OAAO,SAAS,kBAAkB,YACvE,OAAO;CAET,MAAM,YAAa,WAAwC;CAC3D,IAAI,OAAO,cAAc,YACvB,OAAO;CAET,MAAM,SAAS,SAAS,cAAc,QAAQ;CAC9C,IAAI,CAAC,UAAU,OAAO,OAAO,eAAe,YAC1C,OAAO;CAET,OAAO,IAAI,SAAiB,SAAS,WAAW;EAC9C,MAAM,QAAQ,IAAI,UAAU;EAC5B,MAAM,eAAe;GACnB,IAAI;IACF,MAAM,QAAQ,OAAQ,MAAoC,gBAAgB,MAAM,SAAS,CAAC;IAC1F,MAAM,SAAS,OAAQ,MAAqC,iBAAiB,MAAM,UAAU,CAAC;IAC9F,MAAM,UAAU,OAAO,WAAW,IAAI;IACtC,IAAI,CAAC,WAAW,OAAO,QAAQ,cAAc,cAAc,SAAS,KAAK,UAAU,GAAG;KACpF,QAAQ,GAAG;KACX;IACF;IACA,OAAO,QAAQ;IACf,OAAO,SAAS;IAChB,QAAQ,UAAU,OAAO,GAAG,GAAG,OAAO,MAAM;IAC5C,IAAI,OAAO,OAAO,cAAc,YAAY;KAC1C,QAAQ,GAAG;KACX;IACF;IAEA,QADgB,OAAO,UAAU,6BAA6B,GAAG,GAAG,UAAU,GAChE,KAAK,GAAG;GACxB,SACO,OAAO;IACZ,OAAO,KAAK;GACd;EACF;EACA,MAAM,gBAAgB;GACpB,uBAAO,IAAI,MAAM,kBAAkB,CAAC;EACtC;EACA,MAAM,MAAM;CACd,CAAC;AACH;AAEA,SAAgB,yBAAyB,MAItC;CACD,IAAI,yBAAyB,IAAI,MAAM,SACrC,OAAO;CAET,OAAO;EACL,cAAc,mBAAmB,IAAI;EACrC,UAAU;EACV,MAAM,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;EAClD,QAAQ;EACR,OAAO;CACT;AACF;AAEA,eAAsB,sBAAsB;CAE1C,QAAO,MADa,qBAAqB,mBAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,EAClD,CAAC,MAAM;AACrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/runtime/polyfill/routeRuntime/options.ts
|
|
2
|
-
const RESERVED_PAGE_METHOD_KEYS = new Set([
|
|
2
|
+
const RESERVED_PAGE_METHOD_KEYS = /* @__PURE__ */ new Set([
|
|
3
3
|
"data",
|
|
4
4
|
"methods",
|
|
5
5
|
"lifetimes",
|
|
@@ -8,7 +8,7 @@ const RESERVED_PAGE_METHOD_KEYS = new Set([
|
|
|
8
8
|
"options",
|
|
9
9
|
"observers",
|
|
10
10
|
"mixins",
|
|
11
|
-
|
|
11
|
+
.../* @__PURE__ */ new Set([
|
|
12
12
|
"onLoad",
|
|
13
13
|
"onReady",
|
|
14
14
|
"onShow",
|
|
@@ -16,7 +16,7 @@ const RESERVED_PAGE_METHOD_KEYS = new Set([
|
|
|
16
16
|
"onUnload"
|
|
17
17
|
])
|
|
18
18
|
]);
|
|
19
|
-
const RESERVED_COMPONENT_METHOD_KEYS = new Set([
|
|
19
|
+
const RESERVED_COMPONENT_METHOD_KEYS = /* @__PURE__ */ new Set([
|
|
20
20
|
"data",
|
|
21
21
|
"methods",
|
|
22
22
|
"lifetimes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.mjs","names":[],"sources":["../../../../src/runtime/polyfill/routeRuntime/options.ts"],"sourcesContent":["import type { ComponentOptions, ComponentPublicInstance } from '../../component'\nimport type { TemplateRenderer } from '../../template'\n\nexport interface RegisterMeta {\n id: string\n template?: TemplateRenderer\n style?: string\n}\n\nexport interface PageHooks {\n onLoad?: (this: ComponentPublicInstance, query: Record<string, string>) => void\n onReady?: (this: ComponentPublicInstance) => void\n onShow?: (this: ComponentPublicInstance) => void\n onHide?: (this: ComponentPublicInstance) => void\n onUnload?: (this: ComponentPublicInstance) => void\n}\n\nexport interface PageRecord {\n tag: string\n hooks: PageHooks\n instances: Set<ComponentPublicInstance>\n}\n\nexport interface ComponentRecord {\n tag: string\n}\n\nexport interface PageStackEntry {\n id: string\n query: Record<string, string>\n instance?: ComponentPublicInstance\n}\n\nexport interface RouteMeta {\n id: string\n query: Record<string, string>\n entry: PageStackEntry\n}\n\ninterface AppLifecycleHooks {\n onLaunch?: (this: AppRuntime, options: AppLaunchOptions) => void\n onShow?: (this: AppRuntime, options: AppLaunchOptions) => void\n}\n\nexport type AppRuntime = Record<string, unknown> & Partial<AppLifecycleHooks> & {\n globalData?: Record<string, unknown>\n}\n\nexport interface AppLaunchOptions {\n path: string\n scene: number\n query: Record<string, string>\n referrerInfo: Record<string, unknown>\n}\n\ntype MethodHandler = (this: ComponentPublicInstance, ...args: unknown[]) => unknown\n\nexport type PageRawOptions = ComponentOptions & PageHooks & Record<string, unknown>\nexport type ComponentRawOptions = ComponentOptions & Record<string, unknown>\n\nconst PAGE_LIFECYCLE_KEYS = new Set(['onLoad', 'onReady', 'onShow', 'onHide', 'onUnload'])\nconst RESERVED_PAGE_METHOD_KEYS = new Set([\n 'data',\n 'methods',\n 'lifetimes',\n 'properties',\n 'behaviors',\n 'options',\n 'observers',\n 'mixins',\n ...PAGE_LIFECYCLE_KEYS,\n])\nconst RESERVED_COMPONENT_METHOD_KEYS = new Set([\n 'data',\n 'methods',\n 'lifetimes',\n 'pageLifetimes',\n 'properties',\n 'behaviors',\n 'options',\n 'observers',\n 'mixins',\n])\n\nfunction cloneLifetimes(source?: ComponentOptions['lifetimes']): ComponentOptions['lifetimes'] {\n if (!source) {\n return undefined\n }\n return {\n ...source,\n }\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null\n}\n\nfunction isMethodHandler(value: unknown): value is MethodHandler {\n return typeof value === 'function'\n}\n\nfunction normalizeMethodBag(\n source: Record<string, unknown> | undefined,\n reserved: Set<string>,\n) {\n const methods: Record<string, MethodHandler> = {}\n const sourceMethods = isRecord(source?.methods) ? source?.methods : undefined\n\n if (sourceMethods) {\n for (const [key, value] of Object.entries(sourceMethods)) {\n if (isMethodHandler(value)) {\n methods[key] = value\n }\n }\n }\n\n if (source) {\n for (const [key, value] of Object.entries(source)) {\n if (reserved.has(key)) {\n continue\n }\n if (isMethodHandler(value) && methods[key] === undefined) {\n methods[key] = value\n }\n }\n }\n return methods\n}\n\nexport function normalizePageOptions(raw: PageRawOptions | undefined): { component: ComponentOptions, hooks: PageHooks } {\n const component = { ...(raw ?? {}) } as ComponentOptions\n component.methods = normalizeMethodBag(raw as Record<string, unknown> | undefined, RESERVED_PAGE_METHOD_KEYS) as ComponentOptions['methods']\n if (raw?.lifetimes) {\n component.lifetimes = cloneLifetimes(raw.lifetimes)\n }\n const hooks: PageHooks = {}\n if (typeof raw?.onLoad === 'function') {\n hooks.onLoad = raw.onLoad as PageHooks['onLoad']\n }\n if (typeof raw?.onReady === 'function') {\n hooks.onReady = raw.onReady as PageHooks['onReady']\n }\n if (typeof raw?.onShow === 'function') {\n hooks.onShow = raw.onShow as PageHooks['onShow']\n }\n if (typeof raw?.onHide === 'function') {\n hooks.onHide = raw.onHide as PageHooks['onHide']\n }\n if (typeof raw?.onUnload === 'function') {\n hooks.onUnload = raw.onUnload as PageHooks['onUnload']\n }\n return { component, hooks }\n}\n\nexport function normalizeComponentOptions(raw: ComponentRawOptions | undefined): ComponentOptions {\n const component = { ...(raw ?? {}) } as ComponentOptions\n component.methods = normalizeMethodBag(raw as Record<string, unknown> | undefined, RESERVED_COMPONENT_METHOD_KEYS) as ComponentOptions['methods']\n if (raw?.lifetimes) {\n component.lifetimes = cloneLifetimes(raw.lifetimes)\n }\n return component\n}\n"],"mappings":";AA6DA,MAAM,
|
|
1
|
+
{"version":3,"file":"options.mjs","names":[],"sources":["../../../../src/runtime/polyfill/routeRuntime/options.ts"],"sourcesContent":["import type { ComponentOptions, ComponentPublicInstance } from '../../component'\nimport type { TemplateRenderer } from '../../template'\n\nexport interface RegisterMeta {\n id: string\n template?: TemplateRenderer\n style?: string\n}\n\nexport interface PageHooks {\n onLoad?: (this: ComponentPublicInstance, query: Record<string, string>) => void\n onReady?: (this: ComponentPublicInstance) => void\n onShow?: (this: ComponentPublicInstance) => void\n onHide?: (this: ComponentPublicInstance) => void\n onUnload?: (this: ComponentPublicInstance) => void\n}\n\nexport interface PageRecord {\n tag: string\n hooks: PageHooks\n instances: Set<ComponentPublicInstance>\n}\n\nexport interface ComponentRecord {\n tag: string\n}\n\nexport interface PageStackEntry {\n id: string\n query: Record<string, string>\n instance?: ComponentPublicInstance\n}\n\nexport interface RouteMeta {\n id: string\n query: Record<string, string>\n entry: PageStackEntry\n}\n\ninterface AppLifecycleHooks {\n onLaunch?: (this: AppRuntime, options: AppLaunchOptions) => void\n onShow?: (this: AppRuntime, options: AppLaunchOptions) => void\n}\n\nexport type AppRuntime = Record<string, unknown> & Partial<AppLifecycleHooks> & {\n globalData?: Record<string, unknown>\n}\n\nexport interface AppLaunchOptions {\n path: string\n scene: number\n query: Record<string, string>\n referrerInfo: Record<string, unknown>\n}\n\ntype MethodHandler = (this: ComponentPublicInstance, ...args: unknown[]) => unknown\n\nexport type PageRawOptions = ComponentOptions & PageHooks & Record<string, unknown>\nexport type ComponentRawOptions = ComponentOptions & Record<string, unknown>\n\nconst PAGE_LIFECYCLE_KEYS = new Set(['onLoad', 'onReady', 'onShow', 'onHide', 'onUnload'])\nconst RESERVED_PAGE_METHOD_KEYS = new Set([\n 'data',\n 'methods',\n 'lifetimes',\n 'properties',\n 'behaviors',\n 'options',\n 'observers',\n 'mixins',\n ...PAGE_LIFECYCLE_KEYS,\n])\nconst RESERVED_COMPONENT_METHOD_KEYS = new Set([\n 'data',\n 'methods',\n 'lifetimes',\n 'pageLifetimes',\n 'properties',\n 'behaviors',\n 'options',\n 'observers',\n 'mixins',\n])\n\nfunction cloneLifetimes(source?: ComponentOptions['lifetimes']): ComponentOptions['lifetimes'] {\n if (!source) {\n return undefined\n }\n return {\n ...source,\n }\n}\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null\n}\n\nfunction isMethodHandler(value: unknown): value is MethodHandler {\n return typeof value === 'function'\n}\n\nfunction normalizeMethodBag(\n source: Record<string, unknown> | undefined,\n reserved: Set<string>,\n) {\n const methods: Record<string, MethodHandler> = {}\n const sourceMethods = isRecord(source?.methods) ? source?.methods : undefined\n\n if (sourceMethods) {\n for (const [key, value] of Object.entries(sourceMethods)) {\n if (isMethodHandler(value)) {\n methods[key] = value\n }\n }\n }\n\n if (source) {\n for (const [key, value] of Object.entries(source)) {\n if (reserved.has(key)) {\n continue\n }\n if (isMethodHandler(value) && methods[key] === undefined) {\n methods[key] = value\n }\n }\n }\n return methods\n}\n\nexport function normalizePageOptions(raw: PageRawOptions | undefined): { component: ComponentOptions, hooks: PageHooks } {\n const component = { ...(raw ?? {}) } as ComponentOptions\n component.methods = normalizeMethodBag(raw as Record<string, unknown> | undefined, RESERVED_PAGE_METHOD_KEYS) as ComponentOptions['methods']\n if (raw?.lifetimes) {\n component.lifetimes = cloneLifetimes(raw.lifetimes)\n }\n const hooks: PageHooks = {}\n if (typeof raw?.onLoad === 'function') {\n hooks.onLoad = raw.onLoad as PageHooks['onLoad']\n }\n if (typeof raw?.onReady === 'function') {\n hooks.onReady = raw.onReady as PageHooks['onReady']\n }\n if (typeof raw?.onShow === 'function') {\n hooks.onShow = raw.onShow as PageHooks['onShow']\n }\n if (typeof raw?.onHide === 'function') {\n hooks.onHide = raw.onHide as PageHooks['onHide']\n }\n if (typeof raw?.onUnload === 'function') {\n hooks.onUnload = raw.onUnload as PageHooks['onUnload']\n }\n return { component, hooks }\n}\n\nexport function normalizeComponentOptions(raw: ComponentRawOptions | undefined): ComponentOptions {\n const component = { ...(raw ?? {}) } as ComponentOptions\n component.methods = normalizeMethodBag(raw as Record<string, unknown> | undefined, RESERVED_COMPONENT_METHOD_KEYS) as ComponentOptions['methods']\n if (raw?.lifetimes) {\n component.lifetimes = cloneLifetimes(raw.lifetimes)\n }\n return component\n}\n"],"mappings":";AA6DA,MAAM,4CAA4B,IAAI,IAAI;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,mBAAG,IAV2B,IAAI;EAAC;EAAU;EAAW;EAAU;EAAU;CAAU,CAUjE;AACvB,CAAC;AACD,MAAM,iDAAiC,IAAI,IAAI;CAC7C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAS,eAAe,QAAuE;CAC7F,IAAI,CAAC,QACH;CAEF,OAAO,EACL,GAAG,OACL;AACF;AAEA,SAAgB,SAAS,OAAkD;CACzE,OAAO,OAAO,UAAU,YAAY,UAAU;AAChD;AAEA,SAAS,gBAAgB,OAAwC;CAC/D,OAAO,OAAO,UAAU;AAC1B;AAEA,SAAS,mBACP,QACA,UACA;CACA,MAAM,UAAyC,CAAC;CAChD,MAAM,gBAAgB,SAAS,QAAQ,OAAO,IAAI,QAAQ,UAAU;CAEpE,IAAI,eACF;OAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,aAAa,GACrD,IAAI,gBAAgB,KAAK,GACvB,QAAQ,OAAO;CAEnB;CAGF,IAAI,QACF,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,MAAM,GAAG;EACjD,IAAI,SAAS,IAAI,GAAG,GAClB;EAEF,IAAI,gBAAgB,KAAK,KAAK,QAAQ,SAAS,QAC7C,QAAQ,OAAO;CAEnB;CAEF,OAAO;AACT;AAEA,SAAgB,qBAAqB,KAAoF;CACvH,MAAM,YAAY,EAAE,GAAI,OAAO,CAAC,EAAG;CACnC,UAAU,UAAU,mBAAmB,KAA4C,yBAAyB;CAC5G,IAAI,KAAK,WACP,UAAU,YAAY,eAAe,IAAI,SAAS;CAEpD,MAAM,QAAmB,CAAC;CAC1B,IAAI,OAAO,KAAK,WAAW,YACzB,MAAM,SAAS,IAAI;CAErB,IAAI,OAAO,KAAK,YAAY,YAC1B,MAAM,UAAU,IAAI;CAEtB,IAAI,OAAO,KAAK,WAAW,YACzB,MAAM,SAAS,IAAI;CAErB,IAAI,OAAO,KAAK,WAAW,YACzB,MAAM,SAAS,IAAI;CAErB,IAAI,OAAO,KAAK,aAAa,YAC3B,MAAM,WAAW,IAAI;CAEvB,OAAO;EAAE;EAAW;CAAM;AAC5B;AAEA,SAAgB,0BAA0B,KAAwD;CAChG,MAAM,YAAY,EAAE,GAAI,OAAO,CAAC,EAAG;CACnC,UAAU,UAAU,mBAAmB,KAA4C,8BAA8B;CACjH,IAAI,KAAK,WACP,UAAU,YAAY,eAAe,IAAI,SAAS;CAEpD,OAAO;AACT"}
|
package/dist/shared/wxml.mjs
CHANGED
|
@@ -11,12 +11,12 @@ const CONTROL_ATTR_SUFFIXES = [
|
|
|
11
11
|
"key"
|
|
12
12
|
];
|
|
13
13
|
const CONTROL_ATTR_PREFIXES = Array.from(new Set(getSupportedMiniProgramPlatforms().map((platform) => getMiniProgramDirectivePrefix(platform))));
|
|
14
|
-
const TEMPLATE_IMPORT_TAG_NAMES = Array.from(new Set(["import", ...CONTROL_ATTR_PREFIXES.map((prefix) => `${prefix}-import`)]));
|
|
15
|
-
const TEMPLATE_INCLUDE_TAG_NAMES = Array.from(new Set(["include", ...CONTROL_ATTR_PREFIXES.map((prefix) => `${prefix}-include`)]));
|
|
16
|
-
const CONTROL_ATTRS = new Set([...CONTROL_ATTR_PREFIXES.flatMap((prefix) => CONTROL_ATTR_SUFFIXES.map((suffix) => `${prefix}:${suffix}`))]);
|
|
14
|
+
const TEMPLATE_IMPORT_TAG_NAMES = Array.from(/* @__PURE__ */ new Set(["import", ...CONTROL_ATTR_PREFIXES.map((prefix) => `${prefix}-import`)]));
|
|
15
|
+
const TEMPLATE_INCLUDE_TAG_NAMES = Array.from(/* @__PURE__ */ new Set(["include", ...CONTROL_ATTR_PREFIXES.map((prefix) => `${prefix}-include`)]));
|
|
16
|
+
const CONTROL_ATTRS = /* @__PURE__ */ new Set([...CONTROL_ATTR_PREFIXES.flatMap((prefix) => CONTROL_ATTR_SUFFIXES.map((suffix) => `${prefix}:${suffix}`))]);
|
|
17
17
|
const EVENT_PREFIX_RE = /^(?:bind|catch|mut-bind|capture-bind|capture-catch)([\w-]+)$/;
|
|
18
18
|
const EVENT_KIND_ALIAS = { tap: "click" };
|
|
19
|
-
const SELF_CLOSING_TAGS = new Set([
|
|
19
|
+
const SELF_CLOSING_TAGS = /* @__PURE__ */ new Set([
|
|
20
20
|
"area",
|
|
21
21
|
"base",
|
|
22
22
|
"br",
|
package/dist/shared/wxml.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wxml.mjs","names":[],"sources":["../../src/shared/wxml.ts"],"sourcesContent":["import { getMiniProgramDirectivePrefix, getSupportedMiniProgramPlatforms } from '@weapp-core/shared'\n\nconst CONTROL_ATTR_SUFFIXES = [\n 'if',\n 'elif',\n 'else',\n 'for',\n 'for-item',\n 'for-index',\n 'key',\n] as const\n\nexport type ControlAttrSuffix = typeof CONTROL_ATTR_SUFFIXES[number]\n\nexport const CONTROL_ATTR_PREFIXES = Array.from(new Set(\n getSupportedMiniProgramPlatforms().map(platform => getMiniProgramDirectivePrefix(platform)),\n))\n\nexport const TEMPLATE_IMPORT_TAG_NAMES = Array.from(new Set([\n 'import',\n ...CONTROL_ATTR_PREFIXES.map(prefix => `${prefix}-import`),\n]))\n\nexport const TEMPLATE_INCLUDE_TAG_NAMES = Array.from(new Set([\n 'include',\n ...CONTROL_ATTR_PREFIXES.map(prefix => `${prefix}-include`),\n]))\n\nexport const CONTROL_ATTRS = new Set([\n ...CONTROL_ATTR_PREFIXES.flatMap(prefix => CONTROL_ATTR_SUFFIXES.map(suffix => `${prefix}:${suffix}`)),\n])\n\nexport const EVENT_PREFIX_RE = /^(?:bind|catch|mut-bind|capture-bind|capture-catch)([\\w-]+)$/\nexport const EVENT_KIND_ALIAS: Record<string, string> = {\n tap: 'click',\n}\n\nexport const SELF_CLOSING_TAGS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'image',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n])\n\nexport function resolveControlAttributeName(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): string | undefined {\n for (const prefix of CONTROL_ATTR_PREFIXES) {\n const name = `${prefix}:${suffix}`\n if (name in attribs) {\n return name\n }\n }\n return undefined\n}\n\nexport function resolveControlAttributeValue(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): string | undefined {\n const name = resolveControlAttributeName(attribs, suffix)\n return name ? attribs[name] : undefined\n}\n\nexport function hasControlAttribute(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): boolean {\n return resolveControlAttributeName(attribs, suffix) !== undefined\n}\n\nexport function normalizeTagName(name: string) {\n switch (name) {\n case 'view':\n case 'cover-view':\n case 'navigator':\n case 'scroll-view':\n case 'swiper':\n case 'swiper-item':\n case 'movable-area':\n case 'movable-view':\n case 'cover-image':\n return 'div'\n case 'text':\n case 'icon':\n return 'span'\n case 'image':\n return 'img'\n case 'button':\n return 'weapp-button'\n case 'input':\n return 'input'\n case 'textarea':\n return 'textarea'\n case 'form':\n return 'form'\n case 'label':\n return 'label'\n case 'picker':\n case 'picker-view':\n return 'select'\n case 'block':\n return '#fragment'\n case 'slot':\n return 'slot'\n default:\n return name || 'div'\n }\n}\n\nexport function normalizeAttributeName(name: string) {\n if (name === 'class' || name === 'style' || name.startsWith('data-')) {\n return name\n }\n if (name === 'hover-class') {\n return 'data-hover-class'\n }\n return name.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)\n}\n"],"mappings":";;;AAEA,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,MAAa,wBAAwB,MAAM,KAAK,IAAI,IAClD,iCAAiC,CAAC,CAAC,KAAI,aAAY,8BAA8B,QAAQ,CAAC,CAC5F,CAAC;AAED,MAAa,4BAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"wxml.mjs","names":[],"sources":["../../src/shared/wxml.ts"],"sourcesContent":["import { getMiniProgramDirectivePrefix, getSupportedMiniProgramPlatforms } from '@weapp-core/shared'\n\nconst CONTROL_ATTR_SUFFIXES = [\n 'if',\n 'elif',\n 'else',\n 'for',\n 'for-item',\n 'for-index',\n 'key',\n] as const\n\nexport type ControlAttrSuffix = typeof CONTROL_ATTR_SUFFIXES[number]\n\nexport const CONTROL_ATTR_PREFIXES = Array.from(new Set(\n getSupportedMiniProgramPlatforms().map(platform => getMiniProgramDirectivePrefix(platform)),\n))\n\nexport const TEMPLATE_IMPORT_TAG_NAMES = Array.from(new Set([\n 'import',\n ...CONTROL_ATTR_PREFIXES.map(prefix => `${prefix}-import`),\n]))\n\nexport const TEMPLATE_INCLUDE_TAG_NAMES = Array.from(new Set([\n 'include',\n ...CONTROL_ATTR_PREFIXES.map(prefix => `${prefix}-include`),\n]))\n\nexport const CONTROL_ATTRS = new Set([\n ...CONTROL_ATTR_PREFIXES.flatMap(prefix => CONTROL_ATTR_SUFFIXES.map(suffix => `${prefix}:${suffix}`)),\n])\n\nexport const EVENT_PREFIX_RE = /^(?:bind|catch|mut-bind|capture-bind|capture-catch)([\\w-]+)$/\nexport const EVENT_KIND_ALIAS: Record<string, string> = {\n tap: 'click',\n}\n\nexport const SELF_CLOSING_TAGS = new Set([\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'image',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n])\n\nexport function resolveControlAttributeName(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): string | undefined {\n for (const prefix of CONTROL_ATTR_PREFIXES) {\n const name = `${prefix}:${suffix}`\n if (name in attribs) {\n return name\n }\n }\n return undefined\n}\n\nexport function resolveControlAttributeValue(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): string | undefined {\n const name = resolveControlAttributeName(attribs, suffix)\n return name ? attribs[name] : undefined\n}\n\nexport function hasControlAttribute(\n attribs: Record<string, string>,\n suffix: ControlAttrSuffix,\n): boolean {\n return resolveControlAttributeName(attribs, suffix) !== undefined\n}\n\nexport function normalizeTagName(name: string) {\n switch (name) {\n case 'view':\n case 'cover-view':\n case 'navigator':\n case 'scroll-view':\n case 'swiper':\n case 'swiper-item':\n case 'movable-area':\n case 'movable-view':\n case 'cover-image':\n return 'div'\n case 'text':\n case 'icon':\n return 'span'\n case 'image':\n return 'img'\n case 'button':\n return 'weapp-button'\n case 'input':\n return 'input'\n case 'textarea':\n return 'textarea'\n case 'form':\n return 'form'\n case 'label':\n return 'label'\n case 'picker':\n case 'picker-view':\n return 'select'\n case 'block':\n return '#fragment'\n case 'slot':\n return 'slot'\n default:\n return name || 'div'\n }\n}\n\nexport function normalizeAttributeName(name: string) {\n if (name === 'class' || name === 'style' || name.startsWith('data-')) {\n return name\n }\n if (name === 'hover-class') {\n return 'data-hover-class'\n }\n return name.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`)\n}\n"],"mappings":";;;AAEA,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAIA,MAAa,wBAAwB,MAAM,KAAK,IAAI,IAClD,iCAAiC,CAAC,CAAC,KAAI,aAAY,8BAA8B,QAAQ,CAAC,CAC5F,CAAC;AAED,MAAa,4BAA4B,MAAM,qBAAK,IAAI,IAAI,CAC1D,UACA,GAAG,sBAAsB,KAAI,WAAU,GAAG,OAAO,QAAQ,CAC3D,CAAC,CAAC;AAEF,MAAa,6BAA6B,MAAM,qBAAK,IAAI,IAAI,CAC3D,WACA,GAAG,sBAAsB,KAAI,WAAU,GAAG,OAAO,SAAS,CAC5D,CAAC,CAAC;AAEF,MAAa,gCAAgB,IAAI,IAAI,CACnC,GAAG,sBAAsB,SAAQ,WAAU,sBAAsB,KAAI,WAAU,GAAG,OAAO,GAAG,QAAQ,CAAC,CACvG,CAAC;AAED,MAAa,kBAAkB;AAC/B,MAAa,mBAA2C,EACtD,KAAK,QACP;AAEA,MAAa,oCAAoB,IAAI,IAAI;CACvC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,SAAgB,4BACd,SACA,QACoB;CACpB,KAAK,MAAM,UAAU,uBAAuB;EAC1C,MAAM,OAAO,GAAG,OAAO,GAAG;EAC1B,IAAI,QAAQ,SACV,OAAO;CAEX;AAEF;AAEA,SAAgB,6BACd,SACA,QACoB;CACpB,MAAM,OAAO,4BAA4B,SAAS,MAAM;CACxD,OAAO,OAAO,QAAQ,QAAQ;AAChC;AAEA,SAAgB,oBACd,SACA,QACS;CACT,OAAO,4BAA4B,SAAS,MAAM,MAAM;AAC1D;AAEA,SAAgB,iBAAiB,MAAc;CAC7C,QAAQ,MAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,eACH,OAAO;EACT,KAAK;EACL,KAAK,QACH,OAAO;EACT,KAAK,SACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,KAAK,SACH,OAAO;EACT,KAAK,YACH,OAAO;EACT,KAAK,QACH,OAAO;EACT,KAAK,SACH,OAAO;EACT,KAAK;EACL,KAAK,eACH,OAAO;EACT,KAAK,SACH,OAAO;EACT,KAAK,QACH,OAAO;EACT,SACE,OAAO,QAAQ;CACnB;AACF;AAEA,SAAgB,uBAAuB,MAAc;CACnD,IAAI,SAAS,WAAW,SAAS,WAAW,KAAK,WAAW,OAAO,GACjE,OAAO;CAET,IAAI,SAAS,eACX,OAAO;CAET,OAAO,KAAK,QAAQ,WAAU,UAAS,IAAI,MAAM,YAAY,GAAG;AAClE"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weapp-vite/web",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.33",
|
|
5
5
|
"description": "Experimental web runtime for weapp-vite templates",
|
|
6
6
|
"author": "ice breaker <1324318532@qq.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
"node": "^20.19.0 || >=22.12.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@babel/parser": "^
|
|
52
|
-
"@babel/traverse": "^
|
|
53
|
-
"@babel/types": "^
|
|
51
|
+
"@babel/parser": "^8.0.0",
|
|
52
|
+
"@babel/traverse": "^8.0.0",
|
|
53
|
+
"@babel/types": "^8.0.0",
|
|
54
54
|
"domhandler": "^6.0.1",
|
|
55
55
|
"htmlparser2": "^12.0.0",
|
|
56
56
|
"lit": "^3.3.3",
|
|
57
57
|
"magic-string": "^0.30.21",
|
|
58
58
|
"pathe": "^2.0.3",
|
|
59
|
-
"rolldown": "1.1.
|
|
59
|
+
"rolldown": "1.1.2",
|
|
60
60
|
"@weapp-core/constants": "0.1.12",
|
|
61
|
-
"@weapp-core/shared": "3.0.
|
|
61
|
+
"@weapp-core/shared": "3.0.5",
|
|
62
62
|
"rolldown-require": "2.0.19"
|
|
63
63
|
},
|
|
64
64
|
"scripts": {
|