senecajs / seneca

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

expose this on plugin #823

Closed github-actions[bot] closed 4 years ago

github-actions[bot] commented 4 years ago

expose this on plugin

https://github.com/senecajs/seneca/blob/97e895ba4e5f92ddd87c5b14a006bbb862b3b10a/lib/use.js#L418

            let resolved_options = {};
            //console.log('oAAA', delegate.util.Joi.isSchema(defaults))
            // TODO: expose this on plugin
            let joi_schema = intern.prepare_spec(delegate.util.Joi, defaults, { allow_unknown: true }, {});
            //console.log('oBBB', joi_schema === defaults)
            let joi_out = joi_schema.validate(outopts);
            //console.log('oCCC', joi_out)
            let err = void 0;
            if (joi_out.error) {
                err = delegate.error('invalid_plugin_option', {
                    name: fullname,
                    err_msg: joi_out.error.message,
                    options: outopts,
                });
                //console.log('oDDD', err)
            }
            else {
                resolved_options = joi_out.value;
            }
            return {
                op: 'seneca_options',
                err: err,
                out: {
                    plugin: {
                        options: resolved_options,
                        options_schema: joi_schema
                    }
                }
            };