[ci] format

This commit is contained in:
natemoo-re 2022-08-10 19:13:28 +00:00 committed by fredkbot
parent bfbd32588f
commit d186c406b9
4 changed files with 38 additions and 29 deletions

View file

@ -133,8 +133,8 @@ export async function generateHydrateScript(
};
// Attach renderer-provided attributes
if(attrs) {
for(const [key, value] of Object.entries(attrs)) {
if (attrs) {
for (const [key, value] of Object.entries(attrs)) {
island.props[key] = value;
}
}

View file

@ -1,5 +1,5 @@
import { sharedConfig } from 'solid-js';
import { hydrate, render, createComponent } from 'solid-js/web';
import { createComponent, hydrate, render } from 'solid-js/web';
export default (element: HTMLElement) =>
(Component: any, props: any, slotted: any, { client }: { client: string }) => {
@ -39,7 +39,7 @@ export default (element: HTMLElement) =>
}),
element,
{
renderId
renderId,
}
);
};

View file

@ -3,19 +3,19 @@ import type { RendererContext } from './types';
type Context = {
id: string;
c: number;
}
};
const contexts = new WeakMap<RendererContext['result'], Context>();
export function getContext(result: RendererContext['result']): Context {
if(contexts.has(result)) {
if (contexts.has(result)) {
return contexts.get(result)!;
}
let ctx = {
c: 0,
get id() {
return 's' + this.c.toString();
}
},
};
contexts.set(result, ctx);
return ctx;

View file

@ -1,6 +1,6 @@
import type { RendererContext } from './types';
import { renderToString, ssr, createComponent } from 'solid-js/web';
import { createComponent, renderToString, ssr } from 'solid-js/web';
import { getContext, incrementId } from './context.js';
import type { RendererContext } from './types';
const slotName = (str: string) => str.trim().replace(/[-_]([a-z])/g, (_, w) => w.toUpperCase());
@ -10,32 +10,41 @@ function check(this: RendererContext, Component: any, props: Record<string, any>
return typeof html === 'string';
}
function renderToStaticMarkup(this: RendererContext, Component: any, props: Record<string, any>, { default: children, ...slotted }: any, metadata?: undefined | Record<string, any>) {
function renderToStaticMarkup(
this: RendererContext,
Component: any,
props: Record<string, any>,
{ default: children, ...slotted }: any,
metadata?: undefined | Record<string, any>
) {
const renderId = metadata?.hydrate ? incrementId(getContext(this.result)) : '';
const html = renderToString(() => {
const slots: Record<string, any> = {};
for (const [key, value] of Object.entries(slotted)) {
const name = slotName(key);
slots[name] = ssr(`<astro-slot name="${name}">${value}</astro-slot>`);
}
// Note: create newProps to avoid mutating `props` before they are serialized
const newProps = {
...props,
...slots,
// In Solid SSR mode, `ssr` creates the expected structure for `children`.
children: children != null ? ssr(`<astro-slot>${children}</astro-slot>`) : children,
};
const html = renderToString(
() => {
const slots: Record<string, any> = {};
for (const [key, value] of Object.entries(slotted)) {
const name = slotName(key);
slots[name] = ssr(`<astro-slot name="${name}">${value}</astro-slot>`);
}
// Note: create newProps to avoid mutating `props` before they are serialized
const newProps = {
...props,
...slots,
// In Solid SSR mode, `ssr` creates the expected structure for `children`.
children: children != null ? ssr(`<astro-slot>${children}</astro-slot>`) : children,
};
return createComponent(Component, newProps);
}, {
renderId
});
return createComponent(Component, newProps);
},
{
renderId,
}
);
return {
attrs: {
'data-solid-render-id': renderId
'data-solid-render-id': renderId,
},
html
html,
};
}