MCPcopy Create free account
hub / github.com/hydro-dev/Hydro / render

Method render

packages/ui-default/backendlib/template.ts:224–245  ·  view source on GitHub ↗
(name: string, state: any)

Source from the content-addressed store, hash-verified

222 env.addGlobal('templateExists', (name) => !!that.registry[name]);
223
224 const render = (name: string, state: any) => new Promise<string>((resolve, reject) => {
225 const start = Date.now();
226 env.render(name, {
227 page_name: name.split('.')[0],
228 ...state,
229 formatJudgeTexts: (texts) => texts.map((text) => {
230 if (typeof text === 'string') return text;
231 return state._(text.message).format(...text.params || []) + ((process.env.DEV && text.stack) ? `\n${text.stack}` : '');
232 }).join('\n'),
233 datetimeSpan: (arg0, arg1, arg2) => misc.datetimeSpan(arg0, arg1, arg2, state.handler.user?.timeZone),
234 ctx: state.handler?.ctx,
235 perm: PERM,
236 PRIV,
237 STATUS,
238 UiContext: state.handler?.UiContext || {},
239 }, (err, res) => {
240 const end = Date.now();
241 if (end - start > 5000) console.error(`Render of ${name} took ${end - start}ms`);
242 if (err) reject(err);
243 else resolve(res || '');
244 });
245 });
246
247 ctx.server.registerRenderer('ui-default', {
248 name: 'ui-default',

Callers 15

postMethod · 0.45
applyFunction · 0.45
tplFunction · 0.45
loadReactFunction · 0.45
loadObjectiveFunction · 0.45
mountComponentFunction · 0.45
mountComponentFunction · 0.45
setting.page.tsxFile · 0.45

Calls 2

resolveFunction · 0.85
errorMethod · 0.45

Tested by

no test coverage detected