summaryrefslogtreecommitdiff
path: root/packages/integrations/preact/src/client.ts
diff options
context:
space:
mode:
authorGravatar Matthew Phillips <matthew@skypack.dev> 2022-09-22 10:32:42 -0400
committerGravatar GitHub <noreply@github.com> 2022-09-22 10:32:42 -0400
commit25a5b9a89aee81c87affca64e1682ebc0c553eaf (patch)
treed635f1f003f7f3eff5ee6516387f7ba1a4066c62 /packages/integrations/preact/src/client.ts
parentd650a1161a0288f8f2d35ae67771279d067920e9 (diff)
downloadastro-25a5b9a89aee81c87affca64e1682ebc0c553eaf.tar.gz
astro-25a5b9a89aee81c87affca64e1682ebc0c553eaf.tar.zst
astro-25a5b9a89aee81c87affca64e1682ebc0c553eaf.zip
Revert preact signals support (#4843)
* Revert "Update preact example to match @astrojs/preact ranges (#4840)" This reverts commit d650a1161a0288f8f2d35ae67771279d067920e9. * Revert "[ci] format" This reverts commit e3c78c5b164c338389c437743ba02a7be64e27fb. * Revert "Support shared signals in Preact islands (#4763)" This reverts commit 5e46be54683592773e6dfc2d33825493886114b0.
Diffstat (limited to 'packages/integrations/preact/src/client.ts')
-rw-r--r--packages/integrations/preact/src/client.ts33
1 files changed, 0 insertions, 33 deletions
diff --git a/packages/integrations/preact/src/client.ts b/packages/integrations/preact/src/client.ts
deleted file mode 100644
index 4549e79f4..000000000
--- a/packages/integrations/preact/src/client.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { h, render } from 'preact';
-import StaticHtml from './static-html.js';
-import type { SignalLike } from './types';
-
-const sharedSignalMap: Map<string, SignalLike> = new Map();
-
-export default (element: HTMLElement) =>
- async (
- Component: any,
- props: Record<string, any>,
- { default: children, ...slotted }: Record<string, any>
- ) => {
- if (!element.hasAttribute('ssr')) return;
- for (const [key, value] of Object.entries(slotted)) {
- props[key] = h(StaticHtml, { value, name: key });
- }
- let signalsRaw = element.dataset.preactSignals;
- if (signalsRaw) {
- const { signal } = await import('@preact/signals');
- let signals: Record<string, string> = JSON.parse(element.dataset.preactSignals as string);
- for (const [propName, signalId] of Object.entries(signals)) {
- if (!sharedSignalMap.has(signalId)) {
- const signalValue = signal(props[propName]);
- sharedSignalMap.set(signalId, signalValue);
- }
- props[propName] = sharedSignalMap.get(signalId);
- }
- }
- render(
- h(Component, props, children != null ? h(StaticHtml, { value: children }) : children),
- element
- );
- };