@siglesiasg/node-red-hyperledger-fabric-gateway
Version:
Hyperledger Fabric 2.x nodes for node-red with latest fabric-gateway library
101 lines • 3.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addResultToPayload = exports.addEventToPayload = exports.getConfigValidate = exports.getConfig = exports.addConfiguration = exports.getSharedData = exports.addSharedData = void 0;
function addSharedData(node, key, sharedData) {
const nodeAny = node;
if (!nodeAny.sharedData) {
nodeAny.sharedData = {};
}
node.debug(`Updating shared data of ${node.name ? node.name : 'nodeId[' + node.id + ']'} - Key: ${key}`);
nodeAny.sharedData[key] = sharedData;
}
exports.addSharedData = addSharedData;
function getSharedData(RED, nodeId, key) {
const nodeAny = RED.nodes.getNode(nodeId);
if (!nodeAny) {
return undefined;
}
if (nodeAny.sharedData[key]) {
return nodeAny.sharedData[key];
}
else {
return undefined;
}
}
exports.getSharedData = getSharedData;
function addConfiguration(node, config) {
const nodeAny = node;
if (!nodeAny.internalConfig) {
nodeAny.internalConfig = {};
}
nodeAny.internalConfig = config;
node.debug(`Updating data of ${node.name ? node.name : 'nodeId[' + node.id + ']'}`);
}
exports.addConfiguration = addConfiguration;
function getConfig(node) {
const nodeAny = node;
if (nodeAny.internalConfig) {
return nodeAny.internalConfig;
}
else {
return undefined;
}
}
exports.getConfig = getConfig;
function getConfigValidate(RED, nodeId) {
const nodeAny = RED.nodes.getNode(nodeId);
if (!nodeAny) {
throw new Error('Unable to get config node with id: ' + nodeId + '. Is this node enabled and available?');
}
if (nodeAny.internalConfig) {
return nodeAny.internalConfig;
}
else {
throw new Error('Unable to get internal config node with id: ' + nodeId + '. Is this node filled with internal config info?');
}
}
exports.getConfigValidate = getConfigValidate;
function addEventToPayload(RED, msg, decodedResult) {
const data = {
event: decodedResult ? JSON.parse(decodedResult) : undefined
};
RED.util.setMessageProperty(msg, 'payload', data, true);
}
exports.addEventToPayload = addEventToPayload;
function addResultToPayload(RED, msg, name, transactionArgs, decodedResult) {
let transaction;
if (!transactionArgs) {
transaction = {
name,
};
}
else if (Array.isArray(transactionArgs)) {
transaction = {
name,
args: transactionArgs
};
}
else {
transaction = {
name,
args: transactionArgs.arguments,
transient: transactionArgs.transientData,
};
}
const payloadData = {
transaction,
result: decodedResult ? JSON.parse(decodedResult) : undefined
};
if (!payloadData.result) {
delete payloadData.result;
}
if (!payloadData.transaction.args) {
delete payloadData.transaction.args;
}
if (!payloadData.transaction.transient) {
delete payloadData.transaction.transient;
}
RED.util.setMessageProperty(msg, 'payload', payloadData, true);
}
exports.addResultToPayload = addResultToPayload;
//# sourceMappingURL=node-red-utils.js.map