Tide · API

tide.graph

tide.graph returns the trigger graph of the loaded reflexes, computed without executing anything. It has an edge from a reflex whose effect writes a table to each reflex triggered by writes to that table, and an edge from a reflex to each reflex triggered by its run.

Reflexes: trigger and effect
[
  {
    id: 'billing.charge',
    on: {
      clock: {
        every: 'month',
        on: 1,
        at: '03:00',
        tz: 'Europe/Vienna',
      },
    },
    effect: 'payments.charge',
  },
  {
    id: 'billing.receipt',
    on: { fact: { entity: 'charges', op: 'insert' } },
    effect: 'mail.send',
  },
  {
    id: 'billing.summary',
    on: { fact: { run: 'billing.charge' } },
    effect: 'mail.send',
  },
]
Writes of payments.charge
['charges']
Edges
[
  {
    from: 'billing.charge',
    to: 'billing.receipt',
    via: 'charges',
  },
  {
    from: 'billing.charge',
    to: 'billing.summary',
    via: 'run:billing.charge',
  },
]
Output matches the expected value

Runs in this page on the installed package. The input and the expected output are defined by the example.