diff --git a/apps/generate/templates.ts b/apps/generate/templates.ts index ff53125..dec8242 100644 --- a/apps/generate/templates.ts +++ b/apps/generate/templates.ts @@ -61,10 +61,26 @@ export const componentTemplate = ( -${projectionSegments.map(projectionSegmentTemplate).join("\n")} +${projectionSegments + .reduce(reduceSegments, []) + .map(projectionSegmentTemplate) + .join("\n")} `; +const reduceSegments = ( + segments: ProjectionSegment[], + segment: ProjectionSegment +): ProjectionSegment[] => { + const previous = segments.length - 1; + if (previous >= 0 && isString(segment) && isString(segments[previous])) { + segments[previous] += " " + segment; + } else { + segments.push(segment); + } + return segments; +}; + const projectionSegmentTemplate = (segment: ProjectionSegment) => { if (isString(segment)) { return ` ${segment}`;