senecajs / seneca

A microservices toolkit for Node.js.
http://senecajs.org
MIT License
3.95k stars 314 forks source link

test this, with preload, explicitly #830

Closed github-actions[bot] closed 4 years ago

github-actions[bot] commented 4 years ago

test this, with preload, explicitly

https://github.com/senecajs/seneca/blob/6d7a79515c7272184785478495f3958ed872c827/lib/plugin.js#L464

            }
            // TODO: test this, with preload, explicitly
            return {
                op: 'merge',
                out: {
                    meta,
                }
            };
        },
        call_prepare: (spec) => {
            let plugin = spec.data.plugin;
            let plugin_options = spec.data.plugin.options;
            let delegate = spec.data.delegate;
            // If init$ option false, do not execute init action.
            if (false === plugin_options.init$) {
                return;
            }
            var exports = spec.data.exports;
            delegate.log.debug({
                kind: 'plugin',
                case: 'INIT',
                name: plugin.name,
                tag: plugin.tag,
                exports: exports,
            });
            return new Promise(resolve => {
                delegate.act({
                    role: 'seneca',
                    plugin: 'init',
                    seq: spec.data.seq,
                    init: plugin.name,
                    tag: plugin.tag,
                    default$: {},
                    fatal$: true,
                    local$: true,
                }, function (err, res) {
                    resolve({
                        op: 'merge',
                        out: {
                            prepare: {
                                err,
                                res
                            }
                        }
                    });
                });
            });
        },
        complete: (spec) => {
            let prepare = spec.data.prepare;
            let plugin = spec.data.plugin;
            let plugin_done = spec.data.plugin_done;
            let plugin_options = spec.data.plugin.options;
            let delegate = spec.data.delegate;
            let so = delegate.options();
            if (prepare) {
                if (prepare.err) {
                    var plugin_out = {};
                    plugin_out.err_code = 'plugin_init';
                    plugin_out.plugin_error = prepare.err.message;
                    if (prepare.err.code === 'action-timeout') {
                        plugin_out.err_code = 'plugin_init_timeout';
                        plugin_out.timeout = so.timeout;
                    }
                    return {
                        op: 'seneca_complete',
                        out: {
                            plugin: plugin_out
                        }
                    };
                }
                var fullname = plugin.name + (plugin.tag ? '$' + plugin.tag : '');
                if (so.debug.print && so.debug.print.options) {
                    Print.plugin_options(delegate, fullname, plugin_options);
                }
                delegate.log.info({
                    kind: 'plugin',
                    case: 'READY',
                    name: plugin.name,
github-actions[bot] commented 4 years ago

Closed in 6d7a79515c7272184785478495f3958ed872c827

github-actions[bot] commented 4 years ago

Closed in 6d7a79515c7272184785478495f3958ed872c827