UNPKG

@unito/integration-debugger

Version:

The Unito Integration Debugger

94 lines (93 loc) 3.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const store_1 = require("./store"); const configuration_1 = require("./resources/configuration"); const integrationsPlatform_1 = require("./services/integrationsPlatform"); const process_1 = require("./resources/process"); const ConfigurationWatcher = (props) => { const configuration = (0, store_1.useConfigurationState)(); const profile = (0, store_1.useProfileState)(); const integration = (0, store_1.useIntegrationState)(); const credential = (0, store_1.useCredentialState)(); const status = (0, store_1.useStatusState)(); const processState = (0, store_1.useIntegrationProcessState)(); // // API key. // (0, react_1.useEffect)(() => { (0, integrationsPlatform_1.setEnvironment)(configuration.environment); (0, integrationsPlatform_1.setApiKey)(configuration.apiKey); if (!status.environment || !status.apiKey || configuration.environment === configuration_1.Environment.None) { profile.current = null; } else { (0, integrationsPlatform_1.getProfile)() .then(incomingProfile => { profile.current = incomingProfile; }) .catch(() => { // TODO. profile.current = null; }); } }, [configuration.apiKey, configuration.environment, status.apiKey, status.environment]); // // Integration. // (0, react_1.useEffect)(() => { if (configuration.integrationId) { (0, integrationsPlatform_1.getIntegration)(configuration.integrationId) .then(incomingIntegration => { integration.current = incomingIntegration; }) .catch(() => { // TODO. integration.current = null; }); } else { integration.current = null; } }, [configuration.integrationId]); // // Credential. // (0, react_1.useEffect)(() => { if (configuration.credentialId) { (0, integrationsPlatform_1.getCredential)(configuration.credentialId) .then(incomingCredential => { credential.current = incomingCredential; }) .catch(() => { // TODO. credential.current = null; }); } else { credential.current = null; } }, [configuration.credentialId]); // // Integration Process. // (0, react_1.useEffect)(() => { if (configuration.spawnProcessCommand && !processState.process) { processState.process = (0, process_1.spawnProcess)(configuration.spawnProcessCommand, data => { data .trimEnd() .split('\n') .forEach((line) => processState.addLine(line)); }); } }, [configuration.spawnProcessCommand]); // // Load from disk. // (0, react_1.useEffect)(() => { configuration.current = props.configuration; }, []); return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}); }; exports.default = ConfigurationWatcher;