UNPKG

11.8 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _vendorLinker = require('../vendorLinker');
8
9var _vendorLinker2 = _interopRequireDefault(_vendorLinker);
10
11var _Cache = require('../cache/Cache');
12
13var _Cache2 = _interopRequireDefault(_Cache);
14
15var _CacheFactory = require('../cache/CacheFactory');
16
17var _CacheFactory2 = _interopRequireDefault(_CacheFactory);
18
19var _CacheImpl = require('../cache/CacheImpl');
20
21var _CacheImpl2 = _interopRequireDefault(_CacheImpl);
22
23var _ControllerDecorator = require('../controller/ControllerDecorator');
24
25var _ControllerDecorator2 = _interopRequireDefault(_ControllerDecorator);
26
27var _AbstractController = require('../controller/AbstractController');
28
29var _AbstractController2 = _interopRequireDefault(_AbstractController);
30
31var _DevTool = require('../debug/DevTool');
32
33var _DevTool2 = _interopRequireDefault(_DevTool);
34
35var _Dictionary = require('../dictionary/Dictionary');
36
37var _Dictionary2 = _interopRequireDefault(_Dictionary);
38
39var _MessageFormatDictionary = require('../dictionary/MessageFormatDictionary');
40
41var _MessageFormatDictionary2 = _interopRequireDefault(_MessageFormatDictionary);
42
43var _EventBus = require('../event/EventBus');
44
45var _EventBus2 = _interopRequireDefault(_EventBus);
46
47var _EventBusImpl = require('../event/EventBusImpl');
48
49var _EventBusImpl2 = _interopRequireDefault(_EventBusImpl);
50
51var _Dispatcher = require('../event/Dispatcher');
52
53var _Dispatcher2 = _interopRequireDefault(_Dispatcher);
54
55var _DispatcherImpl = require('../event/DispatcherImpl');
56
57var _DispatcherImpl2 = _interopRequireDefault(_DispatcherImpl);
58
59var _AbstractExtension = require('../extension/AbstractExtension');
60
61var _AbstractExtension2 = _interopRequireDefault(_AbstractExtension);
62
63var _GenericError = require('../error/GenericError');
64
65var _GenericError2 = _interopRequireDefault(_GenericError);
66
67var _HttpAgent = require('../http/HttpAgent');
68
69var _HttpAgent2 = _interopRequireDefault(_HttpAgent);
70
71var _HttpAgentImpl = require('../http/HttpAgentImpl');
72
73var _HttpAgentImpl2 = _interopRequireDefault(_HttpAgentImpl);
74
75var _HttpProxy = require('../http/HttpProxy');
76
77var _HttpProxy2 = _interopRequireDefault(_HttpProxy);
78
79var _StatusCode = require('../http/StatusCode');
80
81var _StatusCode2 = _interopRequireDefault(_StatusCode);
82
83var _UrlTransformer = require('../http/UrlTransformer');
84
85var _UrlTransformer2 = _interopRequireDefault(_UrlTransformer);
86
87var _MetaManager = require('../meta/MetaManager');
88
89var _MetaManager2 = _interopRequireDefault(_MetaManager);
90
91var _MetaManagerImpl = require('../meta/MetaManagerImpl');
92
93var _MetaManagerImpl2 = _interopRequireDefault(_MetaManagerImpl);
94
95var _componentHelpers = require('../page/componentHelpers');
96
97var _AbstractComponent = require('../page/AbstractComponent');
98
99var _AbstractComponent2 = _interopRequireDefault(_AbstractComponent);
100
101var _AbstractPureComponent = require('../page/AbstractPureComponent');
102
103var _AbstractPureComponent2 = _interopRequireDefault(_AbstractPureComponent);
104
105var _PageFactory = require('../page/PageFactory');
106
107var _PageFactory2 = _interopRequireDefault(_PageFactory);
108
109var _ClientPageManager = require('../page/manager/ClientPageManager');
110
111var _ClientPageManager2 = _interopRequireDefault(_ClientPageManager);
112
113var _PageManager = require('../page/manager/PageManager');
114
115var _PageManager2 = _interopRequireDefault(_PageManager);
116
117var _ServerPageManager = require('../page/manager/ServerPageManager');
118
119var _ServerPageManager2 = _interopRequireDefault(_ServerPageManager);
120
121var _ClientPageRenderer = require('../page/renderer/ClientPageRenderer');
122
123var _ClientPageRenderer2 = _interopRequireDefault(_ClientPageRenderer);
124
125var _PageRenderer = require('../page/renderer/PageRenderer');
126
127var _PageRenderer2 = _interopRequireDefault(_PageRenderer);
128
129var _PageRendererFactory = require('../page/renderer/PageRendererFactory');
130
131var _PageRendererFactory2 = _interopRequireDefault(_PageRendererFactory);
132
133var _ServerPageRenderer = require('../page/renderer/ServerPageRenderer');
134
135var _ServerPageRenderer2 = _interopRequireDefault(_ServerPageRenderer);
136
137var _PageStateManager = require('../page/state/PageStateManager');
138
139var _PageStateManager2 = _interopRequireDefault(_PageStateManager);
140
141var _PageStateManagerDecorator = require('../page/state/PageStateManagerDecorator');
142
143var _PageStateManagerDecorator2 = _interopRequireDefault(_PageStateManagerDecorator);
144
145var _PageStateManagerImpl = require('../page/state/PageStateManagerImpl');
146
147var _PageStateManagerImpl2 = _interopRequireDefault(_PageStateManagerImpl);
148
149var _ClientRouter = require('../router/ClientRouter');
150
151var _ClientRouter2 = _interopRequireDefault(_ClientRouter);
152
153var _Events = require('../router/Events');
154
155var _Events2 = _interopRequireDefault(_Events);
156
157var _Request = require('../router/Request');
158
159var _Request2 = _interopRequireDefault(_Request);
160
161var _Response = require('../router/Response');
162
163var _Response2 = _interopRequireDefault(_Response);
164
165var _RouteFactory = require('../router/RouteFactory');
166
167var _RouteFactory2 = _interopRequireDefault(_RouteFactory);
168
169var _RouteNames = require('../router/RouteNames');
170
171var _RouteNames2 = _interopRequireDefault(_RouteNames);
172
173var _Router = require('../router/Router');
174
175var _Router2 = _interopRequireDefault(_Router);
176
177var _ServerRouter = require('../router/ServerRouter');
178
179var _ServerRouter2 = _interopRequireDefault(_ServerRouter);
180
181var _CookieStorage = require('../storage/CookieStorage');
182
183var _CookieStorage2 = _interopRequireDefault(_CookieStorage);
184
185var _MapStorage = require('../storage/MapStorage');
186
187var _MapStorage2 = _interopRequireDefault(_MapStorage);
188
189var _SessionMapStorage = require('../storage/SessionMapStorage');
190
191var _SessionMapStorage2 = _interopRequireDefault(_SessionMapStorage);
192
193var _SessionStorage = require('../storage/SessionStorage');
194
195var _SessionStorage2 = _interopRequireDefault(_SessionStorage);
196
197var _WeakMapStorage = require('../storage/WeakMapStorage');
198
199var _WeakMapStorage2 = _interopRequireDefault(_WeakMapStorage);
200
201var _ClientWindow = require('../window/ClientWindow');
202
203var _ClientWindow2 = _interopRequireDefault(_ClientWindow);
204
205var _ServerWindow = require('../window/ServerWindow');
206
207var _ServerWindow2 = _interopRequireDefault(_ServerWindow);
208
209var _Window = require('../window/Window');
210
211var _Window2 = _interopRequireDefault(_Window);
212
213function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
214
215//eslint-disable-line no-unused-vars
216//eslint-disable-line no-unused-vars
217//eslint-disable-line no-unused-vars
218exports.default = (ns, oc, config) => {
219 //**************START VENDORS**************
220
221 oc.constant('$Helper', _vendorLinker2.default.get('ima-helpers', true));
222
223 //React
224 oc.constant('$React', _vendorLinker2.default.get('react', true));
225 oc.constant('$ReactDOM', _vendorLinker2.default.get('react-dom', true));
226 oc.constant('$ReactDOMServer', _vendorLinker2.default.get('react-dom/server.js', true));
227 //*************END VENDORS*****************
228
229 //*************START CONSTANTS*****************
230 oc.constant('$Settings', config);
231 oc.constant('$Env', config.$Env);
232 oc.constant('$Protocol', config.$Protocol);
233 oc.constant('$Secure', config.$Protocol === 'https:');
234 //*************END CONSTANTS*****************
235
236 //*************START IMA**************
237
238 //Request & Response
239 oc.bind('$Request', _Request2.default);
240 oc.bind('$Response', _Response2.default);
241
242 //Window helper
243 if (typeof window !== 'undefined' && window !== null) {
244 oc.provide(_Window2.default, _ClientWindow2.default);
245 } else {
246 oc.provide(_Window2.default, _ServerWindow2.default);
247 }
248 oc.bind('$Window', _Window2.default);
249
250 //IMA Error
251 oc.bind('$Error', _GenericError2.default);
252
253 //Dictionary
254 oc.provide(_Dictionary2.default, _MessageFormatDictionary2.default);
255 oc.bind('$Dictionary', _Dictionary2.default);
256
257 //Storage
258 oc.constant('$CookieTransformFunction', { encode: s => s, decode: s => s });
259 oc.bind('$CookieStorage', _CookieStorage2.default);
260 if (oc.get(_Window2.default).hasSessionStorage()) {
261 oc.bind('$SessionStorage', _SessionStorage2.default);
262 } else {
263 oc.bind('$SessionStorage', _MapStorage2.default);
264 }
265 oc.bind('$MapStorage', _MapStorage2.default);
266 oc.inject(_WeakMapStorage2.default, [{
267 entryTtl: 30 * 60 * 1000,
268 maxEntries: 1000,
269 gcInterval: 60 * 1000,
270 gcEntryCountTreshold: 16
271 }]);
272 oc.bind('$WeakMapStorage', _WeakMapStorage2.default);
273 oc.bind('$SessionMapStorage', _SessionMapStorage2.default);
274
275 // Dispatcher
276 oc.provide(_Dispatcher2.default, _DispatcherImpl2.default);
277 oc.bind('$Dispatcher', _Dispatcher2.default);
278
279 // Custom Event Bus
280 oc.provide(_EventBus2.default, _EventBusImpl2.default);
281 oc.bind('$EventBus', _EventBus2.default);
282
283 //Cache
284 if (oc.get('$Window').hasSessionStorage()) {
285 oc.constant('$CacheStorage', oc.get(_SessionMapStorage2.default));
286 } else {
287 oc.constant('$CacheStorage', oc.get(_MapStorage2.default));
288 }
289 oc.bind('$CacheFactory', _CacheFactory2.default);
290 oc.provide(_Cache2.default, _CacheImpl2.default, ['$CacheStorage', _CacheFactory2.default, '$Helper', config.$Cache]);
291 oc.bind('$Cache', _Cache2.default);
292
293 //SEO
294 oc.provide(_MetaManager2.default, _MetaManagerImpl2.default);
295 oc.bind('$MetaManager', _MetaManager2.default);
296 oc.bind('$ControllerDecorator', _ControllerDecorator2.default);
297 oc.bind('$PageStateManagerDecorator', _PageStateManagerDecorator2.default);
298
299 // UI components
300 oc.bind('$CssClasses', function () {
301 return _componentHelpers.defaultCssClasses;
302 });
303
304 //Page
305 oc.provide(_PageStateManager2.default, _PageStateManagerImpl2.default);
306 oc.bind('$PageStateManager', _PageStateManager2.default);
307 oc.inject(_PageFactory2.default, [oc]);
308 oc.bind('$PageFactory', _PageFactory2.default);
309 oc.inject(_PageRendererFactory2.default, [oc, '$React']);
310 oc.bind('$PageRendererFactory', _PageRendererFactory2.default);
311
312 if (oc.get(_Window2.default).isClient()) {
313 oc.provide(_PageRenderer2.default, _ClientPageRenderer2.default, [_PageRendererFactory2.default, '$Helper', '$ReactDOM', '$Settings', _Window2.default]);
314 } else {
315 oc.provide(_PageRenderer2.default, _ServerPageRenderer2.default, [_PageRendererFactory2.default, '$Helper', '$ReactDOMServer', '$Settings', _Response2.default, _Cache2.default]);
316 }
317 oc.bind('$PageRenderer', _PageRenderer2.default);
318
319 if (oc.get(_Window2.default).isClient()) {
320 oc.provide(_PageManager2.default, _ClientPageManager2.default);
321 } else {
322 oc.provide(_PageManager2.default, _ServerPageManager2.default);
323 }
324 oc.bind('$PageManager', _PageManager2.default);
325
326 //Router
327 oc.bind('$RouteFactory', _RouteFactory2.default);
328
329 if (oc.get(_Window2.default).isClient()) {
330 oc.provide(_Router2.default, _ClientRouter2.default);
331 } else {
332 oc.provide(_Router2.default, _ServerRouter2.default);
333 }
334 oc.bind('$Router', _Router2.default);
335 oc.constant('$RouteNames', _RouteNames2.default);
336 oc.constant('$RouterEvents', _Events2.default);
337
338 //Http agent
339 oc.bind('$HttpUrlTransformer', _UrlTransformer2.default);
340 oc.bind('$HttpAgentProxy', _HttpProxy2.default, ['$HttpUrlTransformer', '$Window']);
341 oc.provide(_HttpAgent2.default, _HttpAgentImpl2.default, ['$HttpAgentProxy', '$Cache', _CookieStorage2.default, config.$Http]);
342 oc.bind('$Http', _HttpAgent2.default);
343 oc.constant('$HttpStatusCode', _StatusCode2.default);
344
345 //Dev tools
346 oc.bind('$DevTool', _DevTool2.default);
347
348 //*************END IMA****************
349}; //eslint-disable-line no-unused-vars
350
351typeof $IMA !== 'undefined' && $IMA !== null && $IMA.Loader && $IMA.Loader.register('ima/config/bind', [], function (_export, _context) {
352 'use strict';
353 return {
354 setters: [],
355 execute: function () {
356 _export('default', exports.default);
357 }
358 };
359});