@urso/core 0.8.21 → 0.9.1-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +227 -227
  3. package/build/js/index.js +77212 -2
  4. package/package.json +36 -50
  5. package/src/js/app.js +105 -104
  6. package/src/js/components/base/controller.js +76 -78
  7. package/src/js/components/debug/controller.js +39 -39
  8. package/src/js/components/debug/coords.js +23 -23
  9. package/src/js/components/debug/fps.js +36 -36
  10. package/src/js/components/debug/template.js +55 -55
  11. package/src/js/components/debug/timescale.js +60 -60
  12. package/src/js/components/deviceRotate/controller.js +95 -95
  13. package/src/js/components/editor/api.js +127 -127
  14. package/src/js/components/editor/controller.js +13 -13
  15. package/src/js/components/fullscreen/android.js +104 -104
  16. package/src/js/components/fullscreen/controller.js +76 -76
  17. package/src/js/components/fullscreen/desktop.js +49 -49
  18. package/src/js/components/fullscreen/ios.js +115 -115
  19. package/src/js/components/layersSwitcher/config.js +26 -26
  20. package/src/js/components/layersSwitcher/controller.js +36 -36
  21. package/src/js/components/loader/controller.js +66 -66
  22. package/src/js/components/loader/template.js +71 -71
  23. package/src/js/components/soundInitialPopup/controller.js +43 -43
  24. package/src/js/components/soundInitialPopup/template.js +110 -110
  25. package/src/js/components/stateDriven/controller.js +123 -123
  26. package/src/js/config/load.js +325 -194
  27. package/src/js/config/main.js +17 -17
  28. package/src/js/extra/browserEvents.js +57 -57
  29. package/src/js/extra/main.js +23 -25
  30. package/src/js/extra/pixiPatch.js +173 -171
  31. package/src/js/index.js +7 -7
  32. package/src/js/lib/cache.js +199 -125
  33. package/src/js/lib/composition.js +85 -85
  34. package/src/js/lib/device.js +1215 -1215
  35. package/src/js/lib/helper.js +678 -678
  36. package/src/js/lib/loader.js +216 -218
  37. package/src/js/lib/localData.js +29 -29
  38. package/src/js/lib/logger.js +69 -69
  39. package/src/js/lib/math.js +161 -161
  40. package/src/js/lib/objectPool.js +208 -208
  41. package/src/js/lib/time.js +19 -19
  42. package/src/js/lib/tween.js +153 -153
  43. package/src/js/modules/assets/baseModel.js +21 -21
  44. package/src/js/modules/assets/config.js +38 -38
  45. package/src/js/modules/assets/controller.js +65 -65
  46. package/src/js/modules/assets/models/atlas.js +19 -19
  47. package/src/js/modules/assets/models/audiosprite.js +28 -28
  48. package/src/js/modules/assets/models/bitmapFont.js +11 -11
  49. package/src/js/modules/assets/models/container.js +19 -19
  50. package/src/js/modules/assets/models/font.js +11 -11
  51. package/src/js/modules/assets/models/html.js +11 -11
  52. package/src/js/modules/assets/models/image.js +17 -17
  53. package/src/js/modules/assets/models/json.js +11 -11
  54. package/src/js/modules/assets/models/jsonAtlas.js +11 -11
  55. package/src/js/modules/assets/models/sound.js +17 -17
  56. package/src/js/modules/assets/models/spine.js +18 -17
  57. package/src/js/modules/assets/models/spineAtlas.js +11 -0
  58. package/src/js/modules/assets/service.js +564 -553
  59. package/src/js/modules/i18n/config.js +17 -17
  60. package/src/js/modules/i18n/controller.js +71 -71
  61. package/src/js/modules/instances/controller.js +357 -357
  62. package/src/js/modules/logic/config/sounds.js +23 -23
  63. package/src/js/modules/logic/controller.js +52 -52
  64. package/src/js/modules/logic/main.js +8 -8
  65. package/src/js/modules/logic/sounds.js +103 -103
  66. package/src/js/modules/objects/baseModel.js +205 -207
  67. package/src/js/modules/objects/cache.js +99 -99
  68. package/src/js/modules/objects/config.js +10 -10
  69. package/src/js/modules/objects/controller.js +139 -139
  70. package/src/js/modules/objects/find.js +58 -58
  71. package/src/js/modules/objects/models/bitmapText.js +56 -49
  72. package/src/js/modules/objects/models/button.js +208 -209
  73. package/src/js/modules/objects/models/buttonComposite.js +38 -38
  74. package/src/js/modules/objects/models/checkbox.js +100 -100
  75. package/src/js/modules/objects/models/collection.js +56 -54
  76. package/src/js/modules/objects/models/component.js +48 -48
  77. package/src/js/modules/objects/models/container.js +22 -22
  78. package/src/js/modules/objects/models/emitterFx.js +103 -114
  79. package/src/js/modules/objects/models/graphics.js +40 -40
  80. package/src/js/modules/objects/models/group.js +22 -22
  81. package/src/js/modules/objects/models/hitArea.js +187 -187
  82. package/src/js/modules/objects/models/image.js +36 -36
  83. package/src/js/modules/objects/models/imagesAnimation.js +115 -115
  84. package/src/js/modules/objects/models/mask.js +40 -40
  85. package/src/js/modules/objects/models/nineSlicePlane.js +32 -32
  86. package/src/js/modules/objects/models/slider.js +357 -357
  87. package/src/js/modules/objects/models/spine.js +354 -339
  88. package/src/js/modules/objects/models/text.js +70 -70
  89. package/src/js/modules/objects/models/toggle.js +186 -186
  90. package/src/js/modules/objects/models/world.js +22 -22
  91. package/src/js/modules/objects/pool.js +68 -68
  92. package/src/js/modules/objects/propertyAdapter.js +592 -592
  93. package/src/js/modules/objects/proxy.js +299 -298
  94. package/src/js/modules/objects/selector.js +136 -136
  95. package/src/js/modules/objects/service.js +255 -254
  96. package/src/js/modules/objects/styles.js +210 -210
  97. package/src/js/modules/observer/controller.js +168 -168
  98. package/src/js/modules/observer/events.js +51 -56
  99. package/src/js/modules/scenes/controller.js +126 -127
  100. package/src/js/modules/scenes/model.js +28 -28
  101. package/src/js/modules/scenes/pixiWrapper.js +360 -351
  102. package/src/js/modules/scenes/resolutions.js +173 -173
  103. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  104. package/src/js/modules/scenes/service.js +144 -146
  105. package/src/js/modules/soundManager/controller.js +103 -103
  106. package/src/js/modules/soundManager/soundSprite.js +314 -314
  107. package/src/js/modules/statesManager/action.js +97 -97
  108. package/src/js/modules/statesManager/all.js +23 -23
  109. package/src/js/modules/statesManager/configStates.js +77 -77
  110. package/src/js/modules/statesManager/controller.js +219 -219
  111. package/src/js/modules/statesManager/functionsStorage.js +83 -83
  112. package/src/js/modules/statesManager/helper.js +27 -27
  113. package/src/js/modules/statesManager/race.js +91 -91
  114. package/src/js/modules/statesManager/sequence.js +48 -48
  115. package/src/js/modules/template/controller.js +28 -28
  116. package/src/js/modules/template/model.js +11 -11
  117. package/src/js/modules/template/service.js +137 -137
  118. package/src/js/modules/template/types.js +50 -49
  119. package/src/js/modules/transport/baseConnectionType.js +25 -25
  120. package/src/js/modules/transport/config.js +13 -13
  121. package/src/js/modules/transport/connectionTypes/websocket.js +77 -77
  122. package/src/js/modules/transport/connectionTypes/xhr.js +47 -47
  123. package/src/js/modules/transport/controller.js +48 -48
  124. package/src/js/modules/transport/decorator.js +17 -17
  125. package/src/js/modules/transport/service.js +150 -150
  126. package/vite.config.js +31 -0
  127. package/.babelrc +0 -12
  128. package/build/js/index.js.LICENSE.txt +0 -227
  129. package/src/js/modules/objects/models/atlasImage.js +0 -52
  130. package/src/js/modules/objects/models/dragContainer.js +0 -665
  131. package/src/js/modules/objects/models/emitter.js +0 -69
  132. package/src/js/modules/objects/models/scrollbox.js +0 -67
  133. package/src/js/modules/objects/models/textInput.js +0 -68
  134. package/webpack.config.js +0 -47
@@ -1,218 +1,216 @@
1
- class LibLoader {
2
- constructor() {
3
- this.RELOAD_DELAY = 250;
4
- this._isRunning = false;
5
- this._iterationNumber = 0;
6
- this._assetsQuery = [];
7
- this._onLoadUpdate = () => { };
8
- this._loader = null;
9
- this._completeCallback = () => { };
10
- this._errorCallback = () => { };
11
- this._reloadOnError = true;
12
-
13
- this._onError = this._onError.bind(this);
14
- };
15
-
16
- isRunning() {
17
- return this._isRunning;
18
- };
19
-
20
- /**
21
- *
22
- * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
23
- */
24
- addAsset(asset) {
25
- this._assetsQuery.push(asset);
26
- }
27
-
28
- /**
29
- * gets part of loading path
30
- */
31
- _getLoadPath(asset) {
32
- const { path } = asset;
33
-
34
- if (path.indexOf('http') === 0) { //if absolute path - just return
35
- return path;
36
- }
37
-
38
- if (!Urso.config.useBinPath) {
39
- return `${Urso.config.gamePath}assets/${path}`;
40
- }
41
-
42
- const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
43
- const splitted = path.split('/');
44
-
45
- if (splitted[0] === 'images') {
46
- splitted.splice(1, 0, quality);
47
- }
48
-
49
- return `${Urso.config.gamePath}/bin/${splitted.join('/')}`;
50
- };
51
-
52
- /**
53
- * store loaded asset in cache
54
- */
55
- _storeAsset(asset, resource) {
56
- if (resource.error) {
57
- return Urso.logger.warn('LibLoader error: ', resource.error, asset);
58
- }
59
-
60
- switch (asset.type) {
61
- case Urso.types.assets.ATLAS:
62
- Urso.cache.addAtlas(asset.key, resource);
63
- break;
64
- case Urso.types.assets.BITMAPFONT:
65
- Urso.cache.addBitmapFont(asset.key, resource);
66
- break;
67
- case Urso.types.assets.CONTAINER:
68
- Urso.cache.addContainer(asset.key, resource);
69
- break;
70
- case Urso.types.assets.FONT:
71
- case Urso.types.assets.HTML:
72
- Urso.cache.addFile(asset.key, resource);
73
- break;
74
- case Urso.types.assets.IMAGE:
75
- Urso.cache.addImage(asset.key, resource);
76
- break;
77
- case Urso.types.assets.JSON:
78
- Urso.cache.addJson(asset.key, resource);
79
- break;
80
- case Urso.types.assets.JSONATLAS:
81
- Urso.cache.addJsonAtlas(asset.key, resource);
82
- break;
83
- case Urso.types.assets.SOUND:
84
- Urso.cache.addSound(asset.key, resource);
85
- break;
86
- case Urso.types.assets.SPINE:
87
- Urso.cache.addSpine(asset.key, resource);
88
- break;
89
- default:
90
- break;
91
- }
92
- }
93
-
94
- /**
95
- * setup onload callback
96
- * @param {Function} onLoad
97
- */
98
- setOnLoadUpdate(onLoadUpdate) {
99
- if (onLoadUpdate)
100
- this._onLoadUpdate = onLoadUpdate;
101
- }
102
-
103
- /**
104
- * start loading assets from assets query
105
- * @param {Function} callback
106
- */
107
- start(callback, errorCallback = () => { }, reloadOnError = true) {
108
- if (this._isRunning)
109
- return false;
110
-
111
- this._isRunning = true;
112
- this._lastLoadFailed = false;
113
- this._iterationNumber++;
114
- const currentIteration = this._iterationNumber;
115
- this._completeCallback = callback;
116
- this._errorCallback = errorCallback;
117
- this._reloadOnError = reloadOnError;
118
- this._loader = new PIXI.Loader();
119
- const appVersion = Urso.config.appVersion;
120
-
121
- if (appVersion) {
122
- this._loader.defaultQueryString = `appVersion=${appVersion}`;
123
- }
124
-
125
- this._assetsQuery.forEach(asset => {
126
- // TODO: check to load
127
-
128
- let params = asset.params || false; // TODO: Set params field in base mode
129
-
130
- if (asset.type === Urso.types.assets.JSON || asset.type === Urso.types.assets.ATLAS) { // check json in JSONATLAS
131
- const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
132
-
133
- if (jsonData) {
134
- switch (asset.type) {
135
- case Urso.types.assets.JSON:
136
- Urso.cache.addJson(asset.key, { data: jsonData });
137
- break;
138
- case Urso.types.assets.ATLAS:
139
- this._loader.add(asset.key, jsonData, params, (resource) => this._storeAsset(asset, resource));
140
- break;
141
- }
142
-
143
- return;
144
- }
145
- }
146
-
147
- if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) { // check SPINE in JSONATLAS
148
- if (!params)
149
- params = {};
150
-
151
- params.metadata = { spineAtlas: Urso.cache.getGlobalAtlas() };
152
-
153
- //check for json in JSONATLAS
154
- const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
155
-
156
- if (jsonData) {
157
- this._loadSpineFromExistingResourses(asset, jsonData, params);
158
- return;
159
- }
160
- }
161
-
162
- const loadPath = this._getLoadPath(asset);
163
- this._loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)); //TODO set assets resolution instead _processLoadedImage baseTexture resolution
164
- });
165
-
166
- this._onLoadUpdate({ progress: 0 });
167
- this._loader.onProgress.add(this._onLoadUpdate);
168
- this._loader.onError.add(this._onError);
169
-
170
- this._loader.load(function (loader, resources) {
171
- if (currentIteration !== this._iterationNumber || this._lastLoadFailed)
172
- return;
173
-
174
- this._onLoadUpdate({ progress: 100 });
175
- this._assetsQuery = [];
176
- this._isRunning = false;
177
- callback();
178
- }.bind(this));
179
- };
180
-
181
- _getJsonDataFromJsonAtlases(key) {
182
- const jsonAtlases = Urso.cache.getJsonAtlases();
183
-
184
- for (let jsonAtlasKey in jsonAtlases) {
185
- if (jsonAtlases[jsonAtlasKey].data.hasOwnProperty(key)) {
186
- return jsonAtlases[jsonAtlasKey].data[key];
187
- }
188
- }
189
-
190
- return null;
191
- }
192
-
193
- _loadSpineFromExistingResourses(asset, jsonData, params) {
194
- //params.metadata.spineAtlas
195
-
196
- const spineAtlasLoader = new PIXI.spine.AtlasAttachmentLoader(params.metadata.spineAtlas);
197
- const spineJsonParser = new PIXI.spine.SkeletonJson(spineAtlasLoader);
198
- const spineData = spineJsonParser.readSkeletonData(jsonData);
199
- Urso.cache.addSpine(asset.key, { spineData });
200
- }
201
-
202
- _onError(error) {
203
- Urso.logger.warn('LibLoader file load error: ', error);
204
-
205
- this._loader.reset();
206
- this._isRunning = false;
207
- this._lastLoadFailed = true;
208
- this._errorCallback(error);
209
-
210
- if (this._reloadOnError) {
211
- Urso.logger.warn('LibLoader all assets RELOAD...');
212
- Urso.setTimeout(() => this.start(this._completeCallback), this.RELOAD_DELAY);
213
- }
214
- }
215
-
216
- };
217
-
218
- module.exports = LibLoader;
1
+ class LibLoader {
2
+ constructor() {
3
+ this.RELOAD_DELAY = 250;
4
+ this._isRunning = false;
5
+ this._iterationNumber = 0;
6
+ this._assetsQuery = [];
7
+ this._onLoadUpdate = () => { };
8
+ this._loader = null;
9
+ this._completeCallback = () => { };
10
+
11
+ this._onError = this._onError.bind(this);
12
+ };
13
+
14
+ isRunning() {
15
+ return this._isRunning;
16
+ };
17
+
18
+ /**
19
+ *
20
+ * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
21
+ */
22
+ addAsset(asset) {
23
+ this._assetsQuery.push(asset);
24
+ }
25
+
26
+ /**
27
+ * gets part of loading path
28
+ */
29
+ _getLoadPath(asset) {
30
+ const { path } = asset;
31
+
32
+ if (path.indexOf('http') === 0) { //if absolute path - just return
33
+ return path;
34
+ }
35
+
36
+ if (!Urso.config.useBinPath) {
37
+ return `${Urso.config.gamePath}assets/${path}`;
38
+ }
39
+
40
+ const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
41
+ const splitted = path.split('/');
42
+
43
+ if (splitted[0] === 'images') {
44
+ splitted.splice(1, 0, quality);
45
+ }
46
+
47
+ return `${Urso.config.gamePath}/bin/${splitted.join('/')}`;
48
+ };
49
+
50
+ /**
51
+ * store loaded asset in cache
52
+ */
53
+ _storeAsset(asset, resource) {
54
+ if (resource.error) {
55
+ return Urso.logger.warn('LibLoader error: ', resource.error, asset);
56
+ }
57
+
58
+ switch (asset.type) {
59
+ case Urso.types.assets.ATLAS:
60
+ Urso.cache.addAtlas(asset.key, resource);
61
+ break;
62
+ case Urso.types.assets.BITMAPFONT:
63
+ Urso.cache.addBitmapFont(asset.key, resource);
64
+ break;
65
+ case Urso.types.assets.CONTAINER:
66
+ Urso.cache.addContainer(asset.key, resource);
67
+ break;
68
+ case Urso.types.assets.FONT:
69
+ case Urso.types.assets.HTML:
70
+ Urso.cache.addFile(asset.key, resource);
71
+ break;
72
+ case Urso.types.assets.IMAGE:
73
+ Urso.cache.addTexture(asset.key, resource);
74
+ break;
75
+ case Urso.types.assets.JSON:
76
+ Urso.cache.addJson(asset.key, resource);
77
+ break;
78
+ case Urso.types.assets.JSONATLAS:
79
+ Urso.cache.addJsonAtlas(asset.key, resource);
80
+ break;
81
+ case Urso.types.assets.SOUND:
82
+ Urso.cache.addSound(asset.key, resource);
83
+ break;
84
+ case Urso.types.assets.SPINE:
85
+ Urso.cache.addSpine(asset.key, resource);
86
+ break;
87
+ case Urso.types.assets.SPINEATLAS:
88
+ Urso.cache.addSpineAtlas(asset.key, resource);
89
+ break;
90
+ default:
91
+ break;
92
+ }
93
+ }
94
+
95
+ /**
96
+ * setup onload callback
97
+ * @param {Function} onLoad
98
+ */
99
+ setOnLoadUpdate(onLoadUpdate) {
100
+ if (onLoadUpdate)
101
+ this._onLoadUpdate = onLoadUpdate;
102
+ }
103
+
104
+ /**
105
+ * start loading assets from assets query
106
+ * @param {Function} callback
107
+ */
108
+ async start(callback) {
109
+ if (this._isRunning)
110
+ return false;
111
+
112
+ if (this._assetsQuery.length === 0) {
113
+ return await callback();
114
+ }
115
+
116
+ this._isRunning = true;
117
+ this._lastLoadFailed = false;
118
+ this._iterationNumber++;
119
+ const currentIteration = this._iterationNumber;
120
+ this._completeCallback = callback;
121
+ this._loader = PIXI.Assets // new PIXI.Loader();
122
+ const appVersion = Urso.config.appVersion;
123
+
124
+ if (appVersion) {
125
+ // this._loader.defaultQueryString = `appVersion=${appVersion}`; //FIXME
126
+ }
127
+
128
+ const assetsLoading = this._assetsQuery.map(async asset => {
129
+
130
+ // TODO: check to load
131
+ let params = asset.params || false; // TODO: Set params field in base mode
132
+
133
+ if (asset.type === Urso.types.assets.JSON || asset.type === Urso.types.assets.ATLAS) { // check json in JSONATLAS
134
+ const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
135
+
136
+ if (jsonData) {
137
+ switch (asset.type) {
138
+ case Urso.types.assets.JSON:
139
+ Urso.cache.addJson(asset.key, { data: jsonData });
140
+ break;
141
+ case Urso.types.assets.ATLAS:
142
+ //FIXME
143
+ // this._loader.add(asset.key, jsonData, params, (resource) => this._storeAsset(asset, resource));
144
+ break;
145
+ }
146
+
147
+ return;
148
+ }
149
+ }
150
+
151
+ //FIXME
152
+ // if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) { // check SPINE in JSONATLAS
153
+ // if (!params)
154
+ // params = {};
155
+
156
+ // params.metadata = { spineAtlas: Urso.cache.getGlobalAtlas() };
157
+
158
+ // //check for json in JSONATLAS
159
+ // const jsonData = this._getJsonDataFromJsonAtlases(asset.key);
160
+
161
+ // }
162
+
163
+ const loadPath = this._getLoadPath(asset);
164
+ // this._loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)); //TODO set assets resolution instead _processLoadedImage baseTexture resolution
165
+
166
+ const resource = await this._loader.load({ alias: asset.key, src: loadPath }); //TODO set assets resolution instead _processLoadedImage baseTexture resolution
167
+
168
+ this._storeAsset(asset, resource)
169
+ });
170
+
171
+ await Promise.all(assetsLoading);
172
+
173
+ await callback();
174
+ // FIXME
175
+ // this._onLoadUpdate({ progress: 0 });
176
+ // this._loader.onProgress.add(this._onLoadUpdate);
177
+ // this._loader.onError.add(this._onError);
178
+
179
+ // this._loader.load(function (loader, resources) {
180
+ // if (currentIteration !== this._iterationNumber || this._lastLoadFailed)
181
+ // return;
182
+
183
+ // this._onLoadUpdate({ progress: 100 });
184
+ // this._assetsQuery = [];
185
+ // this._isRunning = false;
186
+ //
187
+ // }.bind(this));
188
+ };
189
+
190
+ _getJsonDataFromJsonAtlases(key) {
191
+ const jsonAtlases = Urso.cache.getJsonAtlases();
192
+
193
+ for (let jsonAtlasKey in jsonAtlases) {
194
+ if (jsonAtlases[jsonAtlasKey].data.hasOwnProperty(key)) {
195
+ return jsonAtlases[jsonAtlasKey].data[key];
196
+ }
197
+ }
198
+
199
+ return null;
200
+ }
201
+
202
+
203
+ _onError(error) {
204
+ Urso.logger.warn('LibLoader file load error: ', error);
205
+
206
+ this._loader.reset();
207
+ this._isRunning = false;
208
+ this._lastLoadFailed = true;
209
+
210
+ Urso.logger.warn('LibLoader all assets RELOAD...');
211
+ this._resizeTimeoutId = Urso.setTimeout(() => this.start(this._completeCallback), this.RELOAD_DELAY);
212
+ }
213
+
214
+ };
215
+
216
+ export default LibLoader;
@@ -1,29 +1,29 @@
1
- class LibLocalData {
2
- constructor() {
3
- this._data = {};
4
- }
5
-
6
- /**
7
- * recursive get value from local data
8
- * (*) you can use '.' as objects keys splitter
9
- * @param {String} key
10
- * @returns {Mixed}
11
- */
12
- get(name) {
13
- return Urso.helper.recursiveGet(name, this._data);
14
- };
15
-
16
- /**
17
- * recursive set value to local data
18
- * (*) you can use '.' as objects keys splitter
19
- * @param {String} key
20
- * @param {Mixed} value
21
- * @returns {Boolean}
22
- */
23
- set(key, value) {
24
- Urso.helper.recursiveSet(key, value, this._data);
25
- return true;
26
- };
27
- }
28
-
29
- module.exports = LibLocalData;
1
+ class LibLocalData {
2
+ constructor() {
3
+ this._data = {};
4
+ }
5
+
6
+ /**
7
+ * recursive get value from local data
8
+ * (*) you can use '.' as objects keys splitter
9
+ * @param {String} key
10
+ * @returns {Mixed}
11
+ */
12
+ get(name) {
13
+ return Urso.helper.recursiveGet(name, this._data);
14
+ };
15
+
16
+ /**
17
+ * recursive set value to local data
18
+ * (*) you can use '.' as objects keys splitter
19
+ * @param {String} key
20
+ * @param {Mixed} value
21
+ * @returns {Boolean}
22
+ */
23
+ set(key, value) {
24
+ Urso.helper.recursiveSet(key, value, this._data);
25
+ return true;
26
+ };
27
+ }
28
+
29
+ export default LibLocalData;
@@ -1,69 +1,69 @@
1
- //setup custom log level with: ?logLevel=1,2,3,4 OR ?logLevel=ERROR,WARNING,INFO,LOG
2
-
3
- const LEVELS = [
4
- 'ERROR',
5
- 'WARNING',
6
- 'INFO',
7
- 'LOG'
8
- ];
9
-
10
- class LibLogger {
11
- constructor() {
12
- this._logLevel = {};
13
- this._setupLevels();
14
-
15
- //log
16
- if (this._logLevel['LOG']) {
17
- window.log = console.log.bind(console);
18
- } else {
19
- window.log = console.log = () => { }
20
- }
21
- }
22
-
23
- //todo set log level (dev/prod)
24
-
25
- log() {
26
- if (!this._logLevel['LOG']) return;
27
-
28
- console.log.apply(console, arguments);
29
- }
30
-
31
- info() {
32
- if (!this._logLevel['INFO']) return;
33
-
34
- console.info.apply(this, arguments);
35
- }
36
-
37
- warn() {
38
- if (!this._logLevel['WARNING']) return;
39
-
40
- console.warn.apply(this, arguments);
41
- }
42
-
43
- error() {
44
- if (!this._logLevel['ERROR']) return;
45
-
46
- console.error.apply(this, arguments);
47
- }
48
-
49
- /**
50
- * setup logging levels
51
- */
52
- _setupLevels() {
53
- const logLevelsString = Urso.helper.parseGetParams('logLevel') || Urso.config.defaultLogLevel;
54
- const logLevelsArray = logLevelsString.split(',');
55
-
56
- for (const [index, level] of Object.entries(LEVELS)) {
57
- let levelValue = false;
58
-
59
- if (logLevelsArray.includes(index) || logLevelsArray.includes(level))
60
- levelValue = true;
61
-
62
- this._logLevel[level] = levelValue;
63
- }
64
-
65
- console.log(`LibLogger log Level: ${JSON.stringify(this._logLevel)}`);
66
- }
67
- }
68
-
69
- module.exports = LibLogger;
1
+ //setup custom log level with: ?logLevel=1,2,3,4 OR ?logLevel=ERROR,WARNING,INFO,LOG
2
+
3
+ const LEVELS = [
4
+ 'ERROR',
5
+ 'WARNING',
6
+ 'INFO',
7
+ 'LOG'
8
+ ];
9
+
10
+ class LibLogger {
11
+ constructor() {
12
+ this._logLevel = {};
13
+ this._setupLevels();
14
+
15
+ //log
16
+ if (this._logLevel['LOG']) {
17
+ window.log = console.log.bind(console);
18
+ } else {
19
+ window.log = console.log = () => { }
20
+ }
21
+ }
22
+
23
+ //todo set log level (dev/prod)
24
+
25
+ log() {
26
+ if (!this._logLevel['LOG']) return;
27
+
28
+ console.log.apply(console, arguments);
29
+ }
30
+
31
+ info() {
32
+ if (!this._logLevel['INFO']) return;
33
+
34
+ console.info.apply(this, arguments);
35
+ }
36
+
37
+ warn() {
38
+ if (!this._logLevel['WARNING']) return;
39
+
40
+ console.warn.apply(this, arguments);
41
+ }
42
+
43
+ error() {
44
+ if (!this._logLevel['ERROR']) return;
45
+
46
+ console.error.apply(this, arguments);
47
+ }
48
+
49
+ /**
50
+ * setup logging levels
51
+ */
52
+ _setupLevels() {
53
+ const logLevelsString = Urso.helper.parseGetParams('logLevel') || Urso.config.defaultLogLevel;
54
+ const logLevelsArray = logLevelsString.split(',');
55
+
56
+ for (const [index, level] of Object.entries(LEVELS)) {
57
+ let levelValue = false;
58
+
59
+ if (logLevelsArray.includes(index) || logLevelsArray.includes(level))
60
+ levelValue = true;
61
+
62
+ this._logLevel[level] = levelValue;
63
+ }
64
+
65
+ console.log(`LibLogger log Level: ${JSON.stringify(this._logLevel)}`);
66
+ }
67
+ }
68
+
69
+ export default LibLogger;