leverage-js v1.3.1
What is it?
š©āš» A super fast, super customizable library to orchestrate your next application.
What can you use it for?
- A HTTP server
- A chat bot
- A realtime websocket server
- An IRC server
- A MIDI interface
- š©š Anything else you can imagine!
Install it
npm i -S leverage-jsHello World
For a "Hello World", we'll create a simple http server that responds to requests with a "Hello World".
First, install the HTTP plugin:
npm i -S leverage-plugin-httpNow, we will write an HTTP component and load our component and the HTTP plugin:
import { manager, Component } from 'leverage-js'
import http from 'leverage-plugin-http'
const component = Component.of({
config: {
type: 'http',
http: {
path: '*',
method: 'get'
}
},
http (request, response) {
response.send('Hello World')
}
})
manager.add(component, http)
http.listen(3000)Run the above and head over to localhost:3000 to see it in action!
Documentation and Tutorials
Please see the project's wiki š.
API
Leverage.createComponent()
This is an alias for Component.of and allows you to create a
component instance by passing this method a component definition.
Example:
import { createComponent } from 'leverage-js'
const component = createComponent({
config: {
type: 'http'
}
})Leverage.createMiddleware()
This is an alias for Middleware.of and allows you to create a
middleware instance by passing this method a middleware definition.
Example:
import { createMiddleware } from 'leverage-js'
const middleware = createMiddleware({
config: {
type: 'http'
}
})Leverage.createService()
This is an alias for Service.of and allows you to create a
service instance by passing this method a service definition.
Example:
import { createService } from 'leverage-js'
const service = createService({
config: {
type: 'http'
}
})Leverage.createPlugin()
This is an alias for Plugin.of and allows you to create a
plugin instance by passing this method a plugin definition.
Example:
import { createPlugin } from 'leverage-js'
const plugin = createPlugin({
config: {
type: 'http'
}
})Leverage.Component
The Component class lets you create your own components. You can extend it
using the class syntax or use Component.of to extend using a normal object.
Example (with class syntax):
import { Component } from 'leverage-js'
class MyComponent extends Component {
constructor () {
super()
this.config = {
type: 'http'
}
}
}Component.config
The config object is a component's special configuration object and defines
how the component should be used.
Component.of()
You can create a component instance by calling this method with component definition object.
Example:
import { Component } from 'leverage-js'
Component.of({
config: {
type: 'http'
}
})Leverage.Middleware
The Middleware class lets you create your own middleware. You can extend it
using the class syntax or use Middleware.of to extend using a normal object.
Example (with class syntax):
import { Middleware } from 'leverage-js'
class MyComponent extends Middleware {
constructor () {
super()
this.config = {
type: 'http'
}
}
}Middleware.config
The config object is a middleware's special configuration object and defines
how the middleware should be used.
Middleware.of()
You can create a middleware instance by calling this method with middleware definition object.
Example:
import { Middleware } from 'leverage-js'
Middleware.of({
config: {
type: 'http'
}
})Leverage.Service
The Service class lets you create your own service. You can extend it
using the class syntax or use Service.of to extend using a normal object.
Example (with class syntax):
import { Service } from 'leverage-js'
class MyComponent extends Service {
constructor () {
super()
this.config = {
name: 'myService'
}
}
}Service.config
The config object is a service's special configuration object and defines
how the service should be used.
Service.of()
You can create a service instance by calling this method with service definition object.
Example:
import { Service } from 'leverage-js'
Service.of({
config: {
name: 'myService'
}
})Leverage.Plugin
The Plugin class lets you create your own plugin. You can extend it
using the class syntax or use Plugin.of to extend using a normal object.
Example (with class syntax):
import { Plugin } from 'leverage-js'
class MyComponent extends Plugin {
constructor () {
super()
this.config = {
type: 'http'
}
}
}Plugin.config
The config object is a plugin's special configuration object and defines
how the plugin should be used.
Plugin.of()
You can create a plugin instance by calling this method with plugin definition object.
Example:
import { Plugin } from 'leverage-js'
Plugin.of({
config: {
type: 'http'
}
})Leverage.manager
Leverage's manager handles loading components, plugins, middleware, and services.
manager.add()
manager.add will load leverage modules from arguments, arrays, or directory path.
Example:
import { manager, Component, Plugin, Service, Middleware } from 'leverage-js'
manager.add(
Component.of({ config: { type: 'some-type' } }),
Plugin.of({ config: { type: 'some-type', identifier: 'some-id' } }),
Service.of({ config: { name: 'some-name' } }),
Middleware.of({ config: { type: 'some-type' } })
)manager.component()
manager.component will load a component instance.
Example:
import { manager, Component } from 'leverage-js'
const component = Component.of({
config: {
type: 'http'
}
})
manager.component(component)manager.plugin()
manager.plugin will load a plugin instance.
Example:
import { manager, Plugin } from 'leverage-js'
const plugin = Plugin.of({
config: {
type: 'http',
identifier: 'path'
},
http (component) {
}
})
manager.plugin(plugin)manager.service()
manager.service will load a service instance.
Example:
import { manager, Service } from 'leverage-js'
const service = Service.of({
config: {
name: 'myService'
}
})
manager.service(service)manager.middleware()
manager.middleware will load a middleware instance
Example:
import { manager, Middleware } from 'leverage-js'
const middleware = Middleware.of({
config: {
type: 'http'
}
})
manager.middleware(middleware)8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago