<commit_before>module.exports = function (RED) {

    function simpleJsNode(config) {
        RED.nodes.createNode(this, config);
        var node = this;

        this.func = config.func;

        if (!this.func.length) {
            node.warn('invalid function');
            this.status({
                fill: 'red',
                shape: 'ring',
                text: 'invalid function'
            });

            return;
        }
        this.status({});

        this.on('input', function (msg) {

            this.status({});

            switch (this.func) {

                case 'parse-str':

                    if (typeof msg.payload.toString == 'function') {
                        msg.payload = msg.payload.toString();
                    } else {
                        msg.payload = String(msg.payload);
                    }

                    break;

                case 'parse-float':
                    msg.payload = parseFloat(msg.payload);
                    break;

                case 'parse-int':
                    msg.payload = parseInt(msg.payload);
                    break;

                case 'is-nan':
                    if (!isNaN(msg.payload)) {
                        msg = null;
                        this.status({
                            fill: 'yellow',
                            shape: 'dot',
                            text: 'msg.payload is a number'
                        });
                        node.warn('msg.payload is a number');
                    }
                    break;

                case 'is-finite':
                    if (!isFinite(msg.payload)) {
                        msg = null;
                        this.status({
                            fill: 'yellow',
                            shape: 'dot',
                            text: 'msg.payload is not a number'
                        });
                        node.warn('msg.payload is not a number');
                    }
                    break;

                default:
                    msg = null;
            }

            node.send(msg);
        });

    }

    RED.nodes.registerType("simplejs", simpleJsNode);
};<commit_msg>better use of status object<commit_after>module.exports = function (RED) {

    function simpleJsNode(config) {
        RED.nodes.createNode(this, config);
        var node = this;

        this.func = config.func;

        if (!this.func.length) {
            node.warn('invalid function');
            this.status({
                fill: 'red',
                shape: 'ring',
                text: 'invalid function'
            });

            return;
        }
        this.status({});

        this.on('input', function (msg) {

            var funcStatus;
            this.status({});

            switch (this.func) {

                case 'parse-str':

                    if (typeof msg.payload.toString == 'function') {
                        msg.payload = msg.payload.toString();
                    } else {
                        msg.payload = String(msg.payload);
                    }

                    break;

                case 'parse-float':
                    msg.payload = parseFloat(msg.payload);
                    break;

                case 'parse-int':
                    msg.payload = parseInt(msg.payload);
                    break;

                case 'is-nan':
                    if (!isNaN(msg.payload)) {
                        msg = null;
                        funcStatus = {
                            fill: 'yellow',
                            shape: 'dot',
                            text: 'msg.payload is a number'
                        };

                        node.warn(funcStatus.text);
                        this.status(funcStatus);
                    }
                    break;

                case 'is-finite':
                    if (!isFinite(msg.payload)) {
                        msg = null;
                        funcStatus = {
                            fill: 'yellow',
                            shape: 'dot',
                            text: 'msg.payload is not a number'
                        };

                        node.warn(funcStatus.text);
                        this.status(funcStatus);
                    }
                    break;

                default:
                    msg = null;
            }

            node.send(msg);
        });

    }

    RED.nodes.registerType("simplejs", simpleJsNode);
};
{'fraction_non_alphanumeric': 0.10301284891448825, 'fraction_numerical': 0.0, 'mean_word_length': 0.8016759776536313, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '769421', 'n_tokens_mistral': 1091, 'n_tokens_neox': 975, 'n_words': 209}