UNPKG

rest-methods

Version:

Declaratively publish functions for remote invocation.

87 lines (65 loc) 2.13 kB
import Server from '../server'; var service = Server({ name:'My Service', version: '1.0.1', basePath: '/v1' }).start({ port:3030 }); service.methods({ 'empty-1': {}, // Won't show. 'empty-2': { docs:'foo' }, // Won't show. "args": { docs: ` Lorem \`ipsum\` dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor. - One - Two - Three Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et. `, get: function() { return { now: new Date() }; }, put: function(id) { return { id:id }; } }, 'bar': { url: '/user/:id?skip=:skip', docs: `Foo Lorem \`ipsum\` dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - Foo - bar - Baz Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. @param {string} id: The ID Lorem ipsum dolor sit amet, consectetur \`adipisicing\` elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi. @param {number} count: The thing that is a number. @return {object} `, get: (id, skip) => { return {id:id, date:new Date(), skip:skip }}, put: (id, skip, count) => {} }, 'foo/bar': function(id, text) { // console.log('invoking foo', id); // throw new Error('ouch') console.log('id', id); console.log('text', text); console.log(''); return { // id: id, text: text, date: new Date() } }, 'baz': { docs: ` @param {object} value: The value to use. `, put: (value) => { } }, }); // Invoke directly from the server. // TEMP service.methods.bar.get(123, 5) .then((result) => { console.log('result - bar:', result); })