@maxhealth.tech/prefab 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,9 +34,11 @@ import { dispatchActions, clearAllIntervals } from './actions.js';
34
34
  import { createHttpTransport, createNoopTransport } from './transport.js';
35
35
  import { app } from './app.js';
36
36
  import { Bridge, isIframe } from './bridge.js';
37
+ import { registerPipe, unregisterPipe, listPipes } from '../rx/pipes.js';
37
38
  // Re-export new APIs
38
39
  export { app } from './app.js';
39
40
  export { Bridge, isIframe, applyHostTheme } from './bridge.js';
41
+ export { registerPipe, unregisterPipe, listPipes } from '../rx/pipes.js';
40
42
  // ── PrefabRenderer ───────────────────────────────────────────────────────────
41
43
  export const PrefabRenderer = {
42
44
  /**
@@ -50,6 +52,13 @@ export const PrefabRenderer = {
50
52
  mount(root, data, options) {
51
53
  // Register all built-in components (idempotent)
52
54
  registerAllComponents();
55
+ // Hydrate custom pipes from wire format (before any rendering)
56
+ const wirePipeNames = [];
57
+ if (data.pipes) {
58
+ for (const [name, source] of Object.entries(data.pipes)) {
59
+ hydratePipe(name, source, wirePipeNames);
60
+ }
61
+ }
53
62
  // Initialize state store
54
63
  const store = new Store(data.state);
55
64
  // Set up transport
@@ -122,6 +131,9 @@ export const PrefabRenderer = {
122
131
  clearAllIntervals();
123
132
  for (const s of styleEls)
124
133
  s.remove();
134
+ // Unregister wire-hydrated pipes (scoped to this mount)
135
+ for (const name of wirePipeNames)
136
+ unregisterPipe(name);
125
137
  root.innerHTML = '';
126
138
  },
127
139
  };
@@ -142,6 +154,40 @@ export const PrefabRenderer = {
142
154
  'update' in data);
143
155
  },
144
156
  };
157
+ // ── Pipe hydration ───────────────────────────────────────────────────────────
158
+ /** Built-in pipe names that wire pipes must never shadow. */
159
+ const BUILTIN_PIPES = new Set([
160
+ 'find', 'dot', 'length', 'upper', 'lower', 'truncate', 'join',
161
+ 'first', 'last', 'abs', 'round', 'number', 'currency', 'percent',
162
+ 'compact', 'date', 'time', 'datetime', 'pluralize', 'default',
163
+ 'selectattr', 'rejectattr',
164
+ ]);
165
+ /**
166
+ * Safely hydrate a pipe from its source string.
167
+ * Registers it via registerPipe if valid; skips with a warning otherwise.
168
+ * Built-in pipe names are silently ignored (security).
169
+ */
170
+ function hydratePipe(name, source, tracked) {
171
+ if (BUILTIN_PIPES.has(name)) {
172
+ console.warn(`[prefab] wire pipe "${name}" ignored — shadows built-in`);
173
+ return;
174
+ }
175
+ try {
176
+ // Evaluate the source string as a function expression.
177
+ // new Function is intentional — it's the only way to hydrate serialized pipe source from wire format.
178
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval, @typescript-eslint/no-unsafe-call
179
+ const fn = new Function('return (' + source + ')')();
180
+ if (typeof fn !== 'function') {
181
+ console.warn(`[prefab] wire pipe "${name}" — source did not evaluate to a function`);
182
+ return;
183
+ }
184
+ registerPipe(name, fn);
185
+ tracked.push(name);
186
+ }
187
+ catch (e) {
188
+ console.warn(`[prefab] wire pipe "${name}" — failed to hydrate:`, e);
189
+ }
190
+ }
145
191
  // ── Default toast ────────────────────────────────────────────────────────────
146
192
  function defaultToastHandler(toast) {
147
193
  if (typeof document === 'undefined')
@@ -202,6 +248,9 @@ if (typeof window !== 'undefined') {
202
248
  isPrefabUpdate: PrefabRenderer.isPrefabUpdate.bind(PrefabRenderer),
203
249
  Bridge,
204
250
  isIframe,
251
+ registerPipe,
252
+ unregisterPipe,
253
+ listPipes,
205
254
  };
206
255
  // Auto-mount if data is available
207
256
  const prefabData = w.__PREFAB_DATA__;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}