JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Untitled Page | JustPaste.app
3 months ago0 views
👨‍💻Programming

OTPtoFrontend

logger.error("Begin ClientScriptExecutorNode");
var RESULT_KEY = "informationToFrontend"
var createClientExecutor = require('clientScriptLib');
var script = `console.log('Script Executed'); 
			var result='Information to Frontend';
            document.getElementById('informationToFrontend').value=result;
            document.getElementById('loginButton_0').click();`
var executor = createClientExecutor(
    callbacks,
    callbacksBuilder,
    nodeState,
    action,
    logger
);

executor.execute({
    script: script,
    RESULT_KEY: RESULT_KEY
});

clientscriptLib

logger.error("Begin ClientScriptExecutor library");

function factory(callbacks, callbacksBuilder, nodeState, action, logger) {

    function execute(config) {

        logger.error("[ClientScriptExecutor] Config received");

        var script      = config.script;
        var RESULT_KEY  = config.RESULT_KEY;

        if (!script || !RESULT_KEY) {
            logger.error("[ClientScriptExecutor] Missing script or RESULT_KEY");
            action.goTo("false");
            return;
        }

        // FIRST PASS → Send script to client
        if (callbacks.isEmpty()) {

            logger.error("[ClientScriptExecutor] Sending script to client");

            callbacksBuilder.hiddenValueCallback(RESULT_KEY, "");
            callbacksBuilder.scriptTextOutputCallback(script);

            action.goTo("true");
            return;
        }

        // SECOND PASS → Read hidden value
        var hiddenCallbacks = callbacks.getHiddenValueCallbacks();

        if (hiddenCallbacks) {

            var value = hiddenCallbacks[RESULT_KEY];

            if (value) {
                nodeState.putShared(RESULT_KEY, value);
                logger.error("[ClientScriptExecutor] Stored value for " + RESULT_KEY);
                action.goTo("true");
                return;
            }
        }

        logger.warn("[ClientScriptExecutor] Empty value returned from client");
        action.goTo("false");
    }

    return {
        execute: execute
    };
}

module.exports = factory
← Back to timeline