Détail du package

@pulsor/core

loteoo92ISC0.0.2-rc.2

Virtual DOM unleashed

virtual-dom

readme

@puslor/core

Core runtime for the pulsor framework

Installation

npm install @pulsor/core

Basic usage

import { run } from '@pulsor/core';

const app = // app definition ...

run(app);

The app is a single tree of vNodes describing the whole app.

<summary>Raw hello world</summary> typescript import { run } from '@pulsor/core'; // App definition const app = { type: 'div', children: [ { type: 'h1', children: 'Hello world' } ] }; // Run app run(app);
<summary>Using the h helper directly</summary> typescript import { run, h } from '@pulsor/core'; // App definition const app = ( h('div', {}, [ h('h1', {}, 'Hello world') ]) ); // Run app run(app); > h stands for HyperScript: h(type, props, ...children)
<summary>Using JSX</summary> tsx import { run } from '@pulsor/core'; // App definition const app = ( <div> <h1>Hello world</h1> </div> ) // Run app run(app);

Counter

import { run } from '@pulsor/core';

const Init = { count: 0 };
const Decrement = (state) => ({ count: state.count - 1 });
const Increment = (state) => ({ count: state.count + 1 });

const app = (
  <main init={Init}>
    <h1>{(state) => state.count}</h1>
    <button onclick={Decrement}>-</button>
    <button onclick={Increment}>+</button>
  </main>
);

run(app);

Docs coming soon!