UNPKG

1.93 kBJavaScriptView Raw
1'use strict';
2
3const {
4 ServiceProvider
5} = require('adonis-fold');
6
7const path = require('path');
8
9class AppProvider extends ServiceProvider {
10
11 registerState() {
12 this.app.singleton('Lesswork/Src/State', function (app) {
13 const State = require('../src/State');
14
15 return new State();
16 });
17
18 return this;
19 }
20
21 registerApp() {
22 this.app.singleton('Lesswork/Src/App', function (app) {
23 const App = require('../src/App');
24
25 return new App();
26 });
27
28 return this;
29 }
30
31 registerConfig() {
32 this.app.singleton('Lesswork/Src/Config', function (app) {
33 const Config = require('../src/Config');
34
35 return new Config(use('Helpers').configPath());
36 });
37 this.app.alias('Adonis/Src/Config', 'Lesswork/Src/Config');
38
39 return this;
40 }
41
42 registerRoute() {
43 this.app.singleton('Lesswork/Src/Route', function (app) {
44 return require('../src/Route');
45 });
46
47 return this;
48 }
49
50 registerCommand() {
51 this.app.bind('Lesswork/Src/Command', function (app) {
52 const work = require('lesswork-cmd');
53
54 return work.Command;
55 });
56 this.app.alias('Adonis/Src/Command', 'Lesswork/Src/Command');
57
58 return this;
59 }
60
61 registerEnv() {
62 this.app.singleton('Lesswork/Src/Env', function (app) {
63 const Env = require('../src/Env');
64
65 return new Env(use('Helpers')._appRoot);
66 });
67 this.app.alias('Adonis/Src/Env', 'Lesswork/Src/Env');
68
69 return this;
70 }
71
72 registerException() {
73 this.app.bind('Lesswork/Src/Exception', function (app) {
74 const Exception = require('../src/Exception');
75
76 return Exception;
77 });
78 this.app.alias('Adonis/Src/Exception', 'Lesswork/Src/Exception');
79
80 return this;
81 }
82
83 * register() {
84 this.registerState()
85 .registerApp()
86 .registerConfig()
87 .registerCommand()
88 .registerEnv()
89 .registerException()
90 .registerRoute();
91 }
92}
93
94module.exports = AppProvider;
\No newline at end of file