Доступ к метаданным компонента в noFlo

Я хочу динамически использовать некоторые основные данные в компонентах noflo. Например, в моем графике я буду использовать один и тот же компонент с разными идентификаторами. исходя из этого я также изменю данные. Как получить доступ к метадам в графике в моем компоненте?

 "processes": {
    "Foo": { "component": "Bar", "metadata": { "display": { "x": 100, "y": 200 }, "hello": "World" } },
    "Bar": { "component": "Baz", "metadata": {} },
    "Bar2": { "component": "bar", "metadata": {} },
    "Bar3": { "component": "bar2", "metadata": {} }
  },

Например, если это график, как получить доступ к метаданным в моем компоненте? Я использую nodejs для создания пользовательских компонентов.


person Mohan Dass Subramanian    schedule 10.07.2019    source источник


Ответы (2)


Вы не можете получить доступ к графику или метаданным из компонента. Входные данные должны быть переданы через inports.

Если интересующие данные являются конфигурацией и обычно задаются один раз, вы можете использовать порт без запуска.

person Jon Nordby    schedule 11.07.2019
comment
Хотя считается правильным, что обычно данные, используемые в графе, должны обрабатываться через IP-адреса, на самом деле можно получить доступ к метаданным узла внутри компонента. - person bergie; 29.12.2020

Метаданные узла передаются компонентам через аргумент метода getComponent.

const noflo = require('noflo');
exports.getComponent = (metadata) => {
  const c = new noflo.Component();
  console.log(metadata);
  // ...
};
person bergie    schedule 29.12.2020