npm.io
0.16.5 • Published 3h ago

@arkstack/view

Licence
Version
0.16.5
Deps
2
Size
35 kB
Vulns
0
Weekly
2.9K

@arkstack/view

@arkstack/view

View module for Arkstack, providing template rendering and view integration utilities.

import { View, view } from '@arkstack/view';

View.share({ appName: 'Arkstack' });
View.share('year', new Date().getFullYear());

View.composer('welcome', (view) => {
  view.with({ title: 'Welcome' });
});

class WelcomeComposer {
  compose(view) {
    view.with('message', 'Your app is ready.');
  }
}

View.composer('welcome', WelcomeComposer);

const html = await view('welcome').with('name', 'Ada');

const dashboard = await View.make('dashboard').with({ user }).render();

const email = await view('~org/package-name.mail', { user });

Views are resolved from src/resources/views by default. Use View.mount() to add or replace mounted view directories. Package views resolve from node_modules/<package>/resources/views.

Keywords