TypeScript
For TypeScript users:
Creating a component
import { TxMountPoint, TxMountPointRegistry, TxTask } from 'rx-txjs';
export class Component {
// NOTE: you can use Symbol('GITHUB::GIST::C1') as mountpoint identifier as well as a string.
mountpoint = TxMountPointRegistry.instance.create('GITHUB::GIST::C1');
constructor() {
this.mountpoint.tasks().subscribe(
(task) => {
console.log('[Component:tasks] got task = ' + JSON.stringify(task, undefined, 2));
// just send the reply to whom is 'setting' on this reply subject
this.mountpoint.reply().next(new TxTask('from Component', 'ok', task['data']))
}
)
this.mountpoint.undos().subscribe(
(data) => {
console.log('[Component:undo] going to undo my stuff, data = ' + JSON.stringify(data, undefined, 2));
this.method = task['method'];
// just send the reply to whom is 'setting' on this reply subject
this.mountpoint.reply().next(new TxTask('from Component', 'ok', data['data']))
}
)
}
}
2. Create and run a job
let job = new TxJob();
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C1'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C2'));
job.add(TxMountPointRegistry.instance.get('GITHUB::GIST::C3'));
job.execute(new TxTask(
'create',
'',
{something: 'more data here'})
);
Last updated