newline(): CodeFragment
multi(
codes: [left: string, right: string, segment: string],
- ...fn: Array<false | CodeFragment[]>
+ ...fn: Array<false | string | CodeFragment[]>
+ ): CodeFragment[]
+ call(
+ name: string,
+ ...args: Array<false | string | CodeFragment[]>
): CodeFragment[]
- call(name: string, ...args: Array<false | CodeFragment[]>): CodeFragment[]
withIndent<T>(fn: () => T): T
helpers: Set<string>
const frag: CodeFragment[] = []
fns = fns.filter(Boolean)
frag.push(left)
- for (const [i, fn] of fns.entries()) {
+ for (let [i, fn] of fns.entries()) {
if (fn) {
+ if (isString(fn)) fn = [fn]
frag.push(...fn)
if (i < fns.length - 1) frag.push(seg)
}
newline(),
...call(
vaporHelper('insert'),
- [element],
- [`n${oper.parent}`],
- [`n${oper.anchor}`],
+ element,
+ `n${oper.parent}`,
+ `n${oper.anchor}`,
),
]
}
newline(),
...call(
vaporHelper('prepend'),
- [`n${oper.parent}`],
- ...oper.elements.map(el => [`n${el}`]),
+ `n${oper.parent}`,
+ ...oper.elements.map(el => `n${el}`),
),
]
}
newline(),
...call(
vaporHelper('append'),
- [`n${oper.parent}`],
- ...oper.elements.map(el => [`n${el}`]),
+ `n${oper.parent}`,
+ ...oper.elements.map(el => `n${el}`),
),
]
}
const name = genName()
const handler = genFinalizedHandler()
- const opt = !!options.length && [
- `{ ${options.map(v => `${v}: true`).join(', ')} }`,
- ]
+ const opt =
+ !!options.length && `{ ${options.map(v => `${v}: true`).join(', ')} }`
return [
newline(),
- ...call(vaporHelper('on'), [`n${oper.element}`], name, handler, opt),
+ ...call(vaporHelper('on'), `n${oper.element}`, name, handler, opt),
]
function genName(): CodeFragment[] {
}
}
- function genEventHandler(): CodeFragment[] {
+ function genEventHandler() {
const exp = oper.value
if (exp && exp.content.trim()) {
const isMemberExp = isMemberExpression(exp.content, ctxOptions)
}
}
}
- return ['() => {}']
+ return '() => {}'
}
- function genFinalizedHandler(): CodeFragment[] {
+ function genFinalizedHandler() {
let expr = genEventHandler()
if (nonKeys.length) {
newline(),
...call(
vaporHelper('setHtml'),
- [`n${oper.element}`],
+ `n${oper.element}`,
genExpression(oper.value, context),
),
]
return [
newline(),
- ...call(vaporHelper('on'), [`n${oper.element}`], name, handler),
+ ...call(vaporHelper('on'), `n${oper.element}`, name, handler),
]
function genName(): CodeFragment[] {
): CodeFragment[] {
const { call, newline, vaporHelper, helper } = context
- const element = [`n${oper.element}`]
+ const element = `n${oper.element}`
const expr = genExpression(oper.key, context)
// fast path for static props
newline(),
...call(
vaporHelper('setText'),
- [`n${oper.element}`],
+ `n${oper.element}`,
genExpression(oper.value, context),
),
]