| 1234567891011121314151617181920212223242526272829303132333435 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.transformHtml = void 0;
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
- const compiler_core_1 = require("@vue/compiler-core");
- const transformHtml = (node, _) => {
- if (!(0, uni_cli_shared_1.isElementNode)(node)) {
- return;
- }
- const dir = (0, compiler_core_1.findDir)(node, 'html');
- if (!dir) {
- return;
- }
- // remove v-html
- node.props.splice(node.props.indexOf(dir), 1);
- if (node.tagType !== 0 /* ElementTypes.ELEMENT */) {
- return;
- }
- node.isSelfClosing = false;
- node.children = [createRichText(node, dir)];
- };
- exports.transformHtml = transformHtml;
- function createRichText(node, dir) {
- return {
- tag: 'rich-text',
- type: 1 /* NodeTypes.ELEMENT */,
- tagType: 0 /* ElementTypes.ELEMENT */,
- props: [(0, uni_cli_shared_1.createBindDirectiveNode)('nodes', dir.exp || '')],
- isSelfClosing: true,
- children: [],
- codegenNode: undefined,
- ns: node.ns,
- loc: node.loc,
- };
- }
|