return is_async from build_template_chunk

aaa
Rich Harris 8 months ago
parent 9348259879
commit 39ed111367

@ -172,18 +172,18 @@ export function build_class_directives(
* @param {AST.Attribute['value']} value
* @param {ComponentContext} context
* @param {(value: Expression, is_async: boolean) => Expression} memoize
* @returns {{ value: Expression, has_state: boolean }}
* @returns {{ value: Expression, has_state: boolean, is_async: boolean }}
*/
export function build_attribute_value(value, context, memoize = (value) => value) {
if (value === true) {
return { value: b.literal(true), has_state: false };
return { value: b.literal(true), has_state: false, is_async: false };
}
if (!Array.isArray(value) || value.length === 1) {
const chunk = Array.isArray(value) ? value[0] : value;
if (chunk.type === 'Text') {
return { value: b.literal(chunk.data), has_state: false };
return { value: b.literal(chunk.data), has_state: false, is_async: false };
}
let expression = /** @type {Expression} */ (context.visit(chunk.expression));
@ -193,7 +193,8 @@ export function build_attribute_value(value, context, memoize = (value) => value
chunk.metadata.expression.has_call || chunk.metadata.expression.is_async
? memoize(expression, chunk.metadata.expression.is_async)
: expression,
has_state: chunk.metadata.expression.has_state
has_state: chunk.metadata.expression.has_state,
is_async: chunk.metadata.expression.is_async
};
}

Loading…
Cancel
Save