You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
34 KiB
1 lines
34 KiB
{"ast":null,"code":"import { defineComponent, getCurrentInstance, computed, ref, watch, provide, h } from 'vue';\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue';\nimport { elPaginationKey } from './constants.mjs';\nimport Prev from './components/prev2.mjs';\nimport Next from './components/next2.mjs';\nimport Sizes from './components/sizes2.mjs';\nimport Jumper from './components/jumper2.mjs';\nimport Total from './components/total2.mjs';\nimport Pager from './components/pager.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isNumber } from '../../../utils/types.mjs';\nimport { mutable } from '../../../utils/typescript.mjs';\nimport { iconPropType } from '../../../utils/vue/icon.mjs';\nimport { useSizeProp, useGlobalSize } from '../../../hooks/use-size/index.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useDeprecated } from '../../../hooks/use-deprecated/index.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nconst isAbsent = v => typeof v !== \"number\";\nconst paginationProps = buildProps({\n pageSize: Number,\n defaultPageSize: Number,\n total: Number,\n pageCount: Number,\n pagerCount: {\n type: Number,\n validator: value => {\n return isNumber(value) && Math.trunc(value) === value && value > 4 && value < 22 && value % 2 === 1;\n },\n default: 7\n },\n currentPage: Number,\n defaultCurrentPage: Number,\n layout: {\n type: String,\n default: [\"prev\", \"pager\", \"next\", \"jumper\", \"->\", \"total\"].join(\", \")\n },\n pageSizes: {\n type: definePropType(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100])\n },\n popperClass: {\n type: String,\n default: \"\"\n },\n prevText: {\n type: String,\n default: \"\"\n },\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft\n },\n nextText: {\n type: String,\n default: \"\"\n },\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight\n },\n teleported: {\n type: Boolean,\n default: true\n },\n small: Boolean,\n size: useSizeProp,\n background: Boolean,\n disabled: Boolean,\n hideOnSinglePage: Boolean,\n appendSizeTo: String\n});\nconst paginationEmits = {\n \"update:current-page\": val => isNumber(val),\n \"update:page-size\": val => isNumber(val),\n \"size-change\": val => isNumber(val),\n change: (currentPage, pageSize) => isNumber(currentPage) && isNumber(pageSize),\n \"current-change\": val => isNumber(val),\n \"prev-click\": val => isNumber(val),\n \"next-click\": val => isNumber(val)\n};\nconst componentName = \"ElPagination\";\nvar Pagination = defineComponent({\n name: componentName,\n props: paginationProps,\n emits: paginationEmits,\n setup(props, {\n emit,\n slots\n }) {\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"pagination\");\n const vnodeProps = getCurrentInstance().vnode.props || {};\n const _globalSize = useGlobalSize();\n const _size = computed(() => {\n var _a;\n return props.small ? \"small\" : (_a = props.size) != null ? _a : _globalSize.value;\n });\n useDeprecated({\n from: \"small\",\n replacement: \"size\",\n version: \"3.0.0\",\n scope: \"el-pagination\",\n ref: \"https://element-plus.org/zh-CN/component/pagination.html\"\n }, computed(() => !!props.small));\n const hasCurrentPageListener = \"onUpdate:currentPage\" in vnodeProps || \"onUpdate:current-page\" in vnodeProps || \"onCurrentChange\" in vnodeProps;\n const hasPageSizeListener = \"onUpdate:pageSize\" in vnodeProps || \"onUpdate:page-size\" in vnodeProps || \"onSizeChange\" in vnodeProps;\n const assertValidUsage = computed(() => {\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false;\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false;\n if (props.layout.includes(\"sizes\")) {\n if (!isAbsent(props.pageCount)) {\n if (!hasPageSizeListener) return false;\n } else if (!isAbsent(props.total)) {\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false;\n }\n }\n }\n }\n return true;\n });\n const innerPageSize = ref(isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize);\n const innerCurrentPage = ref(isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage);\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize;\n },\n set(v) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v;\n }\n if (hasPageSizeListener) {\n emit(\"update:page-size\", v);\n emit(\"size-change\", v);\n }\n }\n });\n const pageCountBridge = computed(() => {\n let pageCount = 0;\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount;\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value));\n }\n return pageCount;\n });\n const currentPageBridge = computed({\n get() {\n return isAbsent(props.currentPage) ? innerCurrentPage.value : props.currentPage;\n },\n set(v) {\n let newCurrentPage = v;\n if (v < 1) {\n newCurrentPage = 1;\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value;\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage;\n }\n if (hasCurrentPageListener) {\n emit(\"update:current-page\", newCurrentPage);\n emit(\"current-change\", newCurrentPage);\n }\n }\n });\n watch(pageCountBridge, val => {\n if (currentPageBridge.value > val) currentPageBridge.value = val;\n });\n watch([currentPageBridge, pageSizeBridge], value => {\n emit(\"change\", ...value);\n }, {\n flush: \"post\"\n });\n function handleCurrentChange(val) {\n currentPageBridge.value = val;\n }\n function handleSizeChange(val) {\n pageSizeBridge.value = val;\n const newPageCount = pageCountBridge.value;\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount;\n }\n }\n function prev() {\n if (props.disabled) return;\n currentPageBridge.value -= 1;\n emit(\"prev-click\", currentPageBridge.value);\n }\n function next() {\n if (props.disabled) return;\n currentPageBridge.value += 1;\n emit(\"next-click\", currentPageBridge.value);\n }\n function addClass(element, cls) {\n if (element) {\n if (!element.props) {\n element.props = {};\n }\n element.props.class = [element.props.class, cls].join(\" \");\n }\n }\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange\n });\n return () => {\n var _a, _b;\n if (!assertValidUsage.value) {\n debugWarn(componentName, t(\"el.pagination.deprecationWarning\"));\n return null;\n }\n if (!props.layout) return null;\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null;\n const rootChildren = [];\n const rightWrapperChildren = [];\n const rightWrapperRoot = h(\"div\", {\n class: ns.e(\"rightwrapper\")\n }, rightWrapperChildren);\n const TEMPLATE_MAP = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev\n }),\n jumper: h(Jumper, {\n size: _size.value\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n appendSizeTo: props.appendSizeTo\n }),\n slot: (_b = (_a = slots == null ? void 0 : slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : null,\n total: h(Total, {\n total: isAbsent(props.total) ? 0 : props.total\n })\n };\n const components = props.layout.split(\",\").map(item => item.trim());\n let haveRightWrapper = false;\n components.forEach(c => {\n if (c === \"->\") {\n haveRightWrapper = true;\n return;\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c]);\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c]);\n }\n });\n addClass(rootChildren[0], ns.is(\"first\"));\n addClass(rootChildren[rootChildren.length - 1], ns.is(\"last\"));\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is(\"first\"));\n addClass(rightWrapperChildren[rightWrapperChildren.length - 1], ns.is(\"last\"));\n rootChildren.push(rightWrapperRoot);\n }\n return h(\"div\", {\n class: [ns.b(), ns.is(\"background\", props.background), ns.m(_size.value)]\n }, rootChildren);\n };\n }\n});\nexport { Pagination as default, paginationEmits, paginationProps };","map":{"version":3,"names":["isAbsent","v","paginationProps","buildProps","pageSize","Number","defaultPageSize","total","pageCount","pagerCount","type","validator","value","isNumber","Math","trunc","default","currentPage","defaultCurrentPage","layout","String","join","pageSizes","definePropType","Array","mutable","popperClass","prevText","prevIcon","iconPropType","ArrowLeft","nextText","nextIcon","ArrowRight","teleported","Boolean","small","size","useSizeProp","background","disabled","hideOnSinglePage","appendSizeTo","paginationEmits","val","change","componentName","Pagination","defineComponent","name","props","emits","setup","emit","slots","t","useLocale","ns","useNamespace","vnodeProps","getCurrentInstance","vnode","_globalSize","useGlobalSize","_size","computed","_a","useDeprecated","from","replacement","version","scope","ref","hasCurrentPageListener","hasPageSizeListener","assertValidUsage","includes","innerPageSize","innerCurrentPage","pageSizeBridge","get","set","pageCountBridge","max","ceil","currentPageBridge","newCurrentPage","watch","flush","handleCurrentChange","handleSizeChange","newPageCount","prev","next","addClass","element","cls","class","provide","elPaginationKey","changeEvent","_b","debugWarn","rootChildren","rightWrapperChildren","rightWrapperRoot","h","e","TEMPLATE_MAP","Prev","onClick","jumper","Jumper","pager","Pager","onChange","Next","sizes","Sizes","slot","call","Total","components","split","map","item","trim","haveRightWrapper","forEach","c","push","is","length","b","m"],"sources":["../../../../../../packages/components/pagination/src/pagination.ts"],"sourcesContent":["import {\n computed,\n defineComponent,\n getCurrentInstance,\n h,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { ArrowLeft, ArrowRight } from '@element-plus/icons-vue'\nimport {\n buildProps,\n debugWarn,\n definePropType,\n iconPropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\nimport {\n useDeprecated,\n useGlobalSize,\n useLocale,\n useNamespace,\n useSizeProp,\n} from '@element-plus/hooks'\nimport { elPaginationKey } from './constants'\n\nimport Prev from './components/prev.vue'\nimport Next from './components/next.vue'\nimport Sizes from './components/sizes.vue'\nimport Jumper from './components/jumper.vue'\nimport Total from './components/total.vue'\nimport Pager from './components/pager.vue'\nimport type { ExtractPropTypes, VNode } from 'vue'\n/**\n * It it user's responsibility to guarantee that the value of props.total... is number\n * (same as pageSize, defaultPageSize, currentPage, defaultCurrentPage, pageCount)\n * Otherwise we can reasonable infer that the corresponding field is absent\n */\nconst isAbsent = (v: unknown): v is undefined => typeof v !== 'number'\n\ntype LayoutKey =\n | 'prev'\n | 'pager'\n | 'next'\n | 'jumper'\n | '->'\n | 'total'\n | 'sizes'\n | 'slot'\n\nexport const paginationProps = buildProps({\n /**\n * @description options of item count per page\n */\n pageSize: Number,\n /**\n * @description default initial value of page size, not setting is the same as setting 10\n */\n defaultPageSize: Number,\n /**\n * @description total item count\n */\n total: Number,\n /**\n * @description total page count. Set either `total` or `page-count` and pages will be displayed; if you need `page-sizes`, `total` is required\n */\n pageCount: Number,\n /**\n * @description number of pagers. Pagination collapses when the total page count exceeds this value\n */\n pagerCount: {\n type: Number,\n validator: (value: unknown) => {\n return (\n isNumber(value) &&\n Math.trunc(value) === value &&\n value > 4 &&\n value < 22 &&\n value % 2 === 1\n )\n },\n default: 7,\n },\n /**\n * @description current page number\n */\n currentPage: Number,\n /**\n * @description default initial value of current-page, not setting is the same as setting 1\n */\n defaultCurrentPage: Number,\n /**\n * @description layout of Pagination, elements separated with a comma\n */\n layout: {\n type: String,\n default: (\n ['prev', 'pager', 'next', 'jumper', '->', 'total'] as LayoutKey[]\n ).join(', '),\n },\n /**\n * @description item count of each page\n */\n pageSizes: {\n type: definePropType<number[]>(Array),\n default: () => mutable([10, 20, 30, 40, 50, 100] as const),\n },\n /**\n * @description custom class name for the page size Select's dropdown\n */\n popperClass: {\n type: String,\n default: '',\n },\n /**\n * @description text for the prev button\n */\n prevText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the prev button, higher priority of `prev-text`\n */\n prevIcon: {\n type: iconPropType,\n default: () => ArrowLeft,\n },\n /**\n * @description text for the next button\n */\n nextText: {\n type: String,\n default: '',\n },\n /**\n * @description icon for the next button, higher priority of `next-text`\n */\n nextIcon: {\n type: iconPropType,\n default: () => ArrowRight,\n },\n /**\n * @description whether Pagination size is teleported to body\n */\n teleported: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to use small pagination\n */\n small: Boolean,\n /**\n * @description set page size\n */\n size: useSizeProp,\n /**\n * @description whether the buttons have a background color\n */\n background: Boolean,\n /**\n * @description whether Pagination is disabled\n */\n disabled: Boolean,\n /**\n * @description whether to hide when there's only one page\n */\n hideOnSinglePage: Boolean,\n /**\n * @description which element the size dropdown appends to.\n */\n appendSizeTo: String,\n} as const)\nexport type PaginationProps = ExtractPropTypes<typeof paginationProps>\n\nexport const paginationEmits = {\n 'update:current-page': (val: number) => isNumber(val),\n 'update:page-size': (val: number) => isNumber(val),\n 'size-change': (val: number) => isNumber(val),\n change: (currentPage: number, pageSize: number) =>\n isNumber(currentPage) && isNumber(pageSize),\n 'current-change': (val: number) => isNumber(val),\n 'prev-click': (val: number) => isNumber(val),\n 'next-click': (val: number) => isNumber(val),\n}\nexport type PaginationEmits = typeof paginationEmits\n\nconst componentName = 'ElPagination'\nexport default defineComponent({\n name: componentName,\n\n props: paginationProps,\n emits: paginationEmits,\n\n setup(props, { emit, slots }) {\n const { t } = useLocale()\n const ns = useNamespace('pagination')\n const vnodeProps = getCurrentInstance()!.vnode.props || {}\n const _globalSize = useGlobalSize()\n const _size = computed(() =>\n props.small ? 'small' : props.size ?? _globalSize.value\n )\n useDeprecated(\n {\n from: 'small',\n replacement: 'size',\n version: '3.0.0',\n scope: 'el-pagination',\n ref: 'https://element-plus.org/zh-CN/component/pagination.html',\n },\n computed(() => !!props.small)\n )\n // we can find @xxx=\"xxx\" props on `vnodeProps` to check if user bind corresponding events\n const hasCurrentPageListener =\n 'onUpdate:currentPage' in vnodeProps ||\n 'onUpdate:current-page' in vnodeProps ||\n 'onCurrentChange' in vnodeProps\n const hasPageSizeListener =\n 'onUpdate:pageSize' in vnodeProps ||\n 'onUpdate:page-size' in vnodeProps ||\n 'onSizeChange' in vnodeProps\n const assertValidUsage = computed(() => {\n // Users have to set either one, otherwise count of pages cannot be determined\n if (isAbsent(props.total) && isAbsent(props.pageCount)) return false\n // <el-pagination ...otherProps :current-page=\"xxx\" /> without corresponding listener is forbidden now\n // Users have to use two way binding of `currentPage`\n // If users just want to provide a default value, `defaultCurrentPage` is here for you\n if (!isAbsent(props.currentPage) && !hasCurrentPageListener) return false\n // When you want to change sizes, things get more complex, detailed below\n // Basically the most important value we need is page count\n // either directly from props.pageCount\n // or calculated from props.total\n // we will take props.pageCount precedence over props.total\n if (props.layout.includes('sizes')) {\n if (!isAbsent(props.pageCount)) {\n // if props.pageCount is assign by user, then user have to watch pageSize change\n // and recalculate pageCount\n if (!hasPageSizeListener) return false\n } else if (!isAbsent(props.total)) {\n // Otherwise, we will see if user have props.pageSize defined\n // If so, meaning user want to have pageSize controlled himself/herself from component\n // Thus page size listener is required\n // users are account for page size change\n if (!isAbsent(props.pageSize)) {\n if (!hasPageSizeListener) {\n return false\n }\n } else {\n // (else block just for explaination)\n // else page size is controlled by el-pagination internally\n }\n }\n }\n return true\n })\n\n const innerPageSize = ref(\n isAbsent(props.defaultPageSize) ? 10 : props.defaultPageSize\n )\n const innerCurrentPage = ref(\n isAbsent(props.defaultCurrentPage) ? 1 : props.defaultCurrentPage\n )\n\n const pageSizeBridge = computed({\n get() {\n return isAbsent(props.pageSize) ? innerPageSize.value : props.pageSize\n },\n set(v: number) {\n if (isAbsent(props.pageSize)) {\n innerPageSize.value = v\n }\n if (hasPageSizeListener) {\n emit('update:page-size', v)\n emit('size-change', v)\n }\n },\n })\n\n const pageCountBridge = computed<number>(() => {\n let pageCount = 0\n if (!isAbsent(props.pageCount)) {\n pageCount = props.pageCount\n } else if (!isAbsent(props.total)) {\n pageCount = Math.max(1, Math.ceil(props.total / pageSizeBridge.value))\n }\n return pageCount\n })\n\n const currentPageBridge = computed<number>({\n get() {\n return isAbsent(props.currentPage)\n ? innerCurrentPage.value\n : props.currentPage\n },\n set(v) {\n let newCurrentPage = v\n if (v < 1) {\n newCurrentPage = 1\n } else if (v > pageCountBridge.value) {\n newCurrentPage = pageCountBridge.value\n }\n if (isAbsent(props.currentPage)) {\n innerCurrentPage.value = newCurrentPage\n }\n if (hasCurrentPageListener) {\n emit('update:current-page', newCurrentPage)\n emit('current-change', newCurrentPage)\n }\n },\n })\n\n watch(pageCountBridge, (val) => {\n if (currentPageBridge.value > val) currentPageBridge.value = val\n })\n\n watch(\n [currentPageBridge, pageSizeBridge],\n (value) => {\n emit('change', ...value)\n },\n { flush: 'post' }\n )\n\n function handleCurrentChange(val: number) {\n currentPageBridge.value = val\n }\n\n function handleSizeChange(val: number) {\n pageSizeBridge.value = val\n const newPageCount = pageCountBridge.value\n if (currentPageBridge.value > newPageCount) {\n currentPageBridge.value = newPageCount\n }\n }\n\n function prev() {\n if (props.disabled) return\n currentPageBridge.value -= 1\n emit('prev-click', currentPageBridge.value)\n }\n\n function next() {\n if (props.disabled) return\n currentPageBridge.value += 1\n emit('next-click', currentPageBridge.value)\n }\n\n function addClass(element: any, cls: string) {\n if (element) {\n if (!element.props) {\n element.props = {}\n }\n element.props.class = [element.props.class, cls].join(' ')\n }\n }\n\n provide(elPaginationKey, {\n pageCount: pageCountBridge,\n disabled: computed(() => props.disabled),\n currentPage: currentPageBridge,\n changeEvent: handleCurrentChange,\n handleSizeChange,\n })\n\n return () => {\n if (!assertValidUsage.value) {\n debugWarn(componentName, t('el.pagination.deprecationWarning'))\n return null\n }\n if (!props.layout) return null\n if (props.hideOnSinglePage && pageCountBridge.value <= 1) return null\n const rootChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperChildren: Array<VNode | VNode[] | null> = []\n const rightWrapperRoot = h(\n 'div',\n { class: ns.e('rightwrapper') },\n rightWrapperChildren\n )\n const TEMPLATE_MAP: Record<\n Exclude<LayoutKey, '->'>,\n VNode | VNode[] | null\n > = {\n prev: h(Prev, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n prevText: props.prevText,\n prevIcon: props.prevIcon,\n onClick: prev,\n }),\n jumper: h(Jumper, {\n size: _size.value,\n }),\n pager: h(Pager, {\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n pagerCount: props.pagerCount,\n onChange: handleCurrentChange,\n disabled: props.disabled,\n }),\n next: h(Next, {\n disabled: props.disabled,\n currentPage: currentPageBridge.value,\n pageCount: pageCountBridge.value,\n nextText: props.nextText,\n nextIcon: props.nextIcon,\n onClick: next,\n }),\n sizes: h(Sizes, {\n pageSize: pageSizeBridge.value,\n pageSizes: props.pageSizes,\n popperClass: props.popperClass,\n disabled: props.disabled,\n teleported: props.teleported,\n size: _size.value,\n appendSizeTo: props.appendSizeTo,\n }),\n slot: slots?.default?.() ?? null,\n total: h(Total, { total: isAbsent(props.total) ? 0 : props.total }),\n }\n\n const components = props.layout\n .split(',')\n .map((item: string) => item.trim()) as LayoutKey[]\n\n let haveRightWrapper = false\n\n components.forEach((c) => {\n if (c === '->') {\n haveRightWrapper = true\n return\n }\n if (!haveRightWrapper) {\n rootChildren.push(TEMPLATE_MAP[c])\n } else {\n rightWrapperChildren.push(TEMPLATE_MAP[c])\n }\n })\n\n addClass(rootChildren[0], ns.is('first'))\n addClass(rootChildren[rootChildren.length - 1], ns.is('last'))\n\n if (haveRightWrapper && rightWrapperChildren.length > 0) {\n addClass(rightWrapperChildren[0], ns.is('first'))\n addClass(\n rightWrapperChildren[rightWrapperChildren.length - 1],\n ns.is('last')\n )\n rootChildren.push(rightWrapperRoot)\n }\n return h(\n 'div',\n {\n class: [\n ns.b(),\n ns.is('background', props.background),\n ns.m(_size.value),\n ],\n },\n rootChildren\n )\n }\n },\n})\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|