@urso/core 0.3.9 → 0.4.0

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 (144) hide show
  1. package/.babelrc +11 -11
  2. package/README.md +10 -10
  3. package/build/js/index.js +1 -1
  4. package/build/js/index.js.LICENSE.txt +29 -29
  5. package/package.json +51 -51
  6. package/src/js/app.js +77 -77
  7. package/src/js/components/_info.js +8 -8
  8. package/src/js/components/base/_info.js +3 -3
  9. package/src/js/components/base/controller.js +78 -78
  10. package/src/js/components/debug/_info.js +7 -7
  11. package/src/js/components/debug/controller.js +38 -38
  12. package/src/js/components/debug/coords.js +23 -23
  13. package/src/js/components/debug/fps.js +34 -34
  14. package/src/js/components/debug/template.js +55 -55
  15. package/src/js/components/debug/timescale.js +60 -60
  16. package/src/js/components/deviceRotate/_info.js +3 -3
  17. package/src/js/components/deviceRotate/controller.js +86 -86
  18. package/src/js/components/fullscreen/_info.js +6 -6
  19. package/src/js/components/fullscreen/android.js +104 -104
  20. package/src/js/components/fullscreen/controller.js +64 -64
  21. package/src/js/components/fullscreen/desktop.js +49 -49
  22. package/src/js/components/fullscreen/ios.js +111 -111
  23. package/src/js/components/loader/_info.js +4 -4
  24. package/src/js/components/loader/controller.js +66 -66
  25. package/src/js/components/loader/template.js +70 -70
  26. package/src/js/components/soundInitialPopup/_info.js +3 -3
  27. package/src/js/components/soundInitialPopup/controller.js +42 -42
  28. package/src/js/components/soundInitialPopup/template.js +109 -109
  29. package/src/js/components/stateDriven/_info.js +3 -3
  30. package/src/js/components/stateDriven/controller.js +118 -118
  31. package/src/js/config/load.js +5 -5
  32. package/src/js/config/main.js +10 -10
  33. package/src/js/extra/_info.js +22 -22
  34. package/src/js/extra/browserEvents.js +38 -38
  35. package/src/js/extra/setTimeout.js +7 -7
  36. package/src/js/index.js +8 -8
  37. package/src/js/lib/_info.js +13 -13
  38. package/src/js/lib/cache.js +105 -105
  39. package/src/js/lib/composition.js +85 -89
  40. package/src/js/lib/device.js +1286 -1276
  41. package/src/js/lib/helper.js +539 -539
  42. package/src/js/lib/loader.js +127 -127
  43. package/src/js/lib/localData.js +15 -15
  44. package/src/js/lib/logger.js +22 -22
  45. package/src/js/lib/math.js +35 -35
  46. package/src/js/lib/objectPool.js +54 -54
  47. package/src/js/lib/time.js +18 -18
  48. package/src/js/lib/tween.js +147 -147
  49. package/src/js/modules/_info.js +11 -11
  50. package/src/js/modules/assets/_info.js +7 -7
  51. package/src/js/modules/assets/baseModel.js +18 -18
  52. package/src/js/modules/assets/config.js +37 -35
  53. package/src/js/modules/assets/controller.js +46 -39
  54. package/src/js/modules/assets/models/_info.js +11 -11
  55. package/src/js/modules/assets/models/atlas.js +8 -8
  56. package/src/js/modules/assets/models/audiosprite.js +27 -27
  57. package/src/js/modules/assets/models/bitmapFont.js +8 -8
  58. package/src/js/modules/assets/models/container.js +16 -16
  59. package/src/js/modules/assets/models/font.js +8 -8
  60. package/src/js/modules/assets/models/image.js +13 -13
  61. package/src/js/modules/assets/models/json.js +8 -8
  62. package/src/js/modules/assets/models/sound.js +14 -14
  63. package/src/js/modules/assets/models/spine.js +14 -14
  64. package/src/js/modules/assets/service.js +356 -353
  65. package/src/js/modules/instances/_info.js +3 -3
  66. package/src/js/modules/instances/controller.js +251 -219
  67. package/src/js/modules/logic/_info.js +4 -4
  68. package/src/js/modules/logic/config/_info.js +2 -2
  69. package/src/js/modules/logic/config/sounds.js +23 -23
  70. package/src/js/modules/logic/controller.js +48 -48
  71. package/src/js/modules/logic/sounds.js +96 -96
  72. package/src/js/modules/objects/_info.js +11 -11
  73. package/src/js/modules/objects/baseModel.js +171 -161
  74. package/src/js/modules/objects/cache.js +99 -99
  75. package/src/js/modules/objects/controller.js +131 -121
  76. package/src/js/modules/objects/create.js +234 -230
  77. package/src/js/modules/objects/find.js +140 -140
  78. package/src/js/modules/objects/models/_info.js +24 -24
  79. package/src/js/modules/objects/models/atlasImage.js +50 -50
  80. package/src/js/modules/objects/models/bitmapText.js +23 -23
  81. package/src/js/modules/objects/models/button.js +184 -184
  82. package/src/js/modules/objects/models/buttonComposite.js +35 -35
  83. package/src/js/modules/objects/models/checkbox.js +96 -96
  84. package/src/js/modules/objects/models/collection.js +54 -54
  85. package/src/js/modules/objects/models/component.js +44 -44
  86. package/src/js/modules/objects/models/container.js +19 -19
  87. package/src/js/modules/objects/models/emitter.js +54 -54
  88. package/src/js/modules/objects/models/graphics.js +38 -38
  89. package/src/js/modules/objects/models/group.js +19 -19
  90. package/src/js/modules/objects/models/hitArea.js +104 -104
  91. package/src/js/modules/objects/models/image.js +34 -34
  92. package/src/js/modules/objects/models/imagesAnimation.js +113 -113
  93. package/src/js/modules/objects/models/mask.js +38 -38
  94. package/src/js/modules/objects/models/scrollbox.js +61 -61
  95. package/src/js/modules/objects/models/slider.js +223 -223
  96. package/src/js/modules/objects/models/spine.js +89 -89
  97. package/src/js/modules/objects/models/text.js +38 -38
  98. package/src/js/modules/objects/models/textInput.js +66 -66
  99. package/src/js/modules/objects/models/toggle.js +178 -178
  100. package/src/js/modules/objects/models/world.js +19 -19
  101. package/src/js/modules/objects/propertyAdapter.js +421 -421
  102. package/src/js/modules/objects/proxy.js +182 -182
  103. package/src/js/modules/objects/styles.js +116 -116
  104. package/src/js/modules/observer/_info.js +4 -4
  105. package/src/js/modules/observer/controller.js +99 -99
  106. package/src/js/modules/observer/events.js +38 -38
  107. package/src/js/modules/scenes/_info.js +8 -8
  108. package/src/js/modules/scenes/controller.js +46 -42
  109. package/src/js/modules/scenes/model.js +35 -35
  110. package/src/js/modules/scenes/pixiWrapper.js +202 -202
  111. package/src/js/modules/scenes/resolutions.js +172 -176
  112. package/src/js/modules/scenes/resolutionsConfig.js +73 -73
  113. package/src/js/modules/scenes/service.js +105 -92
  114. package/src/js/modules/soundManager/_info.js +3 -3
  115. package/src/js/modules/soundManager/controller.js +99 -99
  116. package/src/js/modules/soundManager/soundSprite.js +202 -202
  117. package/src/js/modules/statesManager/_info.js +12 -12
  118. package/src/js/modules/statesManager/action.js +60 -60
  119. package/src/js/modules/statesManager/actions/_info.js +3 -3
  120. package/src/js/modules/statesManager/all.js +23 -23
  121. package/src/js/modules/statesManager/configStates.js +71 -71
  122. package/src/js/modules/statesManager/controller.js +170 -170
  123. package/src/js/modules/statesManager/functionsStorage.js +82 -82
  124. package/src/js/modules/statesManager/helper.js +27 -27
  125. package/src/js/modules/statesManager/race.js +75 -75
  126. package/src/js/modules/statesManager/sequence.js +47 -47
  127. package/src/js/modules/template/_info.js +6 -6
  128. package/src/js/modules/template/controller.js +28 -28
  129. package/src/js/modules/template/model.js +11 -11
  130. package/src/js/modules/template/service.js +137 -125
  131. package/src/js/modules/template/types.js +44 -44
  132. package/src/js/modules/transport/_info.js +8 -8
  133. package/src/js/modules/transport/baseConnectionType.js +24 -24
  134. package/src/js/modules/transport/config.js +13 -13
  135. package/src/js/modules/transport/connectionTypes/_info.js +3 -3
  136. package/src/js/modules/transport/connectionTypes/websocket.js +74 -74
  137. package/src/js/modules/transport/connectionTypes/xhr.js +44 -44
  138. package/src/js/modules/transport/controller.js +48 -48
  139. package/src/js/modules/transport/decorator.js +17 -17
  140. package/src/js/modules/transport/service.js +153 -153
  141. package/src/js/templates/_info.js +4 -4
  142. package/src/js/templates/groups/_info.js +1 -1
  143. package/src/js/templates/scenes/_info.js +1 -1
  144. package/webpack.config.js +47 -47
@@ -1,127 +1,127 @@
1
- class LibLoader {
2
- constructor() {
3
- this._isRunning = false;
4
- this._assetsQuery = [];
5
- this._onLoadUpdate = () => { };
6
- };
7
-
8
- isRunning() {
9
- return this._isRunning;
10
- };
11
-
12
- /**
13
- *
14
- * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
15
- */
16
- addAsset(asset) {
17
- this._assetsQuery.push(asset);
18
- }
19
-
20
- /**
21
- * gets part of loading path
22
- */
23
- _getLoadPath(asset) {
24
- const { path } = asset;
25
-
26
- if (!Urso.config.useBinPath) {
27
- return `assets/${path}`;
28
- }
29
-
30
- const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
31
- const splitted = path.split('/');
32
-
33
- if (splitted[0] === 'images') {
34
- splitted.splice(1, 0, quality);
35
- }
36
-
37
- return `bin/${splitted.join('/')}`;
38
- };
39
-
40
- /**
41
- * store loaded asset in cache
42
- */
43
- _storeAsset(asset, resource) {
44
- if (resource.error) {
45
- return Urso.logger.warn('LibLoader error: ', resource.error, asset);
46
- }
47
-
48
- switch (asset.type) {
49
- case Urso.types.assets.ATLAS:
50
- Urso.cache.addAtlas(asset.key, resource);
51
- break;
52
- case Urso.types.assets.BITMAPFONT:
53
- Urso.cache.addBitmapFont(asset.key, resource);
54
- break;
55
- case Urso.types.assets.FONT:
56
- Urso.cache.addFile(asset.key, resource);
57
- break;
58
- case Urso.types.assets.CONTAINER:
59
- Urso.cache.addContainer(asset.key, resource);
60
- break;
61
- case Urso.types.assets.IMAGE:
62
- Urso.cache.addImage(asset.key, resource);
63
- break;
64
- case Urso.types.assets.JSON:
65
- Urso.cache.addJson(asset.key, resource);
66
- break;
67
- case Urso.types.assets.SOUND:
68
- Urso.cache.addSound(asset.key, resource);
69
- break;
70
- case Urso.types.assets.SPINE:
71
- Urso.cache.addSpine(asset.key, resource);
72
- break;
73
- default:
74
- break;
75
- }
76
- }
77
-
78
- /**
79
- * setup onload callback
80
- * @param {Function} onLoad
81
- */
82
- setOnLoadUpdate(onLoadUpdate) {
83
- if (onLoadUpdate)
84
- this._onLoadUpdate = onLoadUpdate;
85
- }
86
-
87
- /**
88
- * start loading assets from assets query
89
- * @param {Function} callback
90
- */
91
- start(callback) {
92
- if (this._isRunning)
93
- return false;
94
-
95
- this._isRunning = true;
96
-
97
- const loader = new PIXI.Loader();
98
- this._assetsQuery.forEach(asset => {
99
- // TODO: check to load
100
-
101
- let params = asset.params || false; // TODO: Set params field in base mode
102
-
103
- if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) {
104
- if (!params)
105
- params = {};
106
-
107
- params.metadata = { spineAtlas: Urso.cache.getGlobalAtlas() };
108
- }
109
-
110
- const loadPath = this._getLoadPath(asset);
111
- loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)) //TODO set assets resolution instead _processLoadedImage baseTexture resolution
112
- });
113
-
114
- this._onLoadUpdate({ progress: 0 });
115
- loader.onProgress.add(this._onLoadUpdate);
116
-
117
- loader.load(function (loader, resources) {
118
- this._onLoadUpdate({ progress: 100 });
119
- this._assetsQuery = [];
120
- this._isRunning = false;
121
- callback();
122
- }.bind(this));
123
- };
124
-
125
- };
126
-
127
- module.exports = LibLoader;
1
+ class LibLoader {
2
+ constructor() {
3
+ this._isRunning = false;
4
+ this._assetsQuery = [];
5
+ this._onLoadUpdate = () => { };
6
+ };
7
+
8
+ isRunning() {
9
+ return this._isRunning;
10
+ };
11
+
12
+ /**
13
+ *
14
+ * @param {Object} asset - {type: 1, key: "somekey", path: "somepath"}
15
+ */
16
+ addAsset(asset) {
17
+ this._assetsQuery.push(asset);
18
+ }
19
+
20
+ /**
21
+ * gets part of loading path
22
+ */
23
+ _getLoadPath(asset) {
24
+ const { path } = asset;
25
+
26
+ if (!Urso.config.useBinPath) {
27
+ return `assets/${path}`;
28
+ }
29
+
30
+ const quality = Urso.getInstance('Modules.Assets.Service').getQuality();
31
+ const splitted = path.split('/');
32
+
33
+ if (splitted[0] === 'images') {
34
+ splitted.splice(1, 0, quality);
35
+ }
36
+
37
+ return `bin/${splitted.join('/')}`;
38
+ };
39
+
40
+ /**
41
+ * store loaded asset in cache
42
+ */
43
+ _storeAsset(asset, resource) {
44
+ if (resource.error) {
45
+ return Urso.logger.warn('LibLoader error: ', resource.error, asset);
46
+ }
47
+
48
+ switch (asset.type) {
49
+ case Urso.types.assets.ATLAS:
50
+ Urso.cache.addAtlas(asset.key, resource);
51
+ break;
52
+ case Urso.types.assets.BITMAPFONT:
53
+ Urso.cache.addBitmapFont(asset.key, resource);
54
+ break;
55
+ case Urso.types.assets.FONT:
56
+ Urso.cache.addFile(asset.key, resource);
57
+ break;
58
+ case Urso.types.assets.CONTAINER:
59
+ Urso.cache.addContainer(asset.key, resource);
60
+ break;
61
+ case Urso.types.assets.IMAGE:
62
+ Urso.cache.addImage(asset.key, resource);
63
+ break;
64
+ case Urso.types.assets.JSON:
65
+ Urso.cache.addJson(asset.key, resource);
66
+ break;
67
+ case Urso.types.assets.SOUND:
68
+ Urso.cache.addSound(asset.key, resource);
69
+ break;
70
+ case Urso.types.assets.SPINE:
71
+ Urso.cache.addSpine(asset.key, resource);
72
+ break;
73
+ default:
74
+ break;
75
+ }
76
+ }
77
+
78
+ /**
79
+ * setup onload callback
80
+ * @param {Function} onLoad
81
+ */
82
+ setOnLoadUpdate(onLoadUpdate) {
83
+ if (onLoadUpdate)
84
+ this._onLoadUpdate = onLoadUpdate;
85
+ }
86
+
87
+ /**
88
+ * start loading assets from assets query
89
+ * @param {Function} callback
90
+ */
91
+ start(callback) {
92
+ if (this._isRunning)
93
+ return false;
94
+
95
+ this._isRunning = true;
96
+
97
+ const loader = new PIXI.Loader();
98
+ this._assetsQuery.forEach(asset => {
99
+ // TODO: check to load
100
+
101
+ let params = asset.params || false; // TODO: Set params field in base mode
102
+
103
+ if (asset.type === Urso.types.assets.SPINE && asset.noAtlas) {
104
+ if (!params)
105
+ params = {};
106
+
107
+ params.metadata = { spineAtlas: Urso.cache.getGlobalAtlas() };
108
+ }
109
+
110
+ const loadPath = this._getLoadPath(asset);
111
+ loader.add(asset.key, loadPath, params, (resource) => this._storeAsset(asset, resource)) //TODO set assets resolution instead _processLoadedImage baseTexture resolution
112
+ });
113
+
114
+ this._onLoadUpdate({ progress: 0 });
115
+ loader.onProgress.add(this._onLoadUpdate);
116
+
117
+ loader.load(function (loader, resources) {
118
+ this._onLoadUpdate({ progress: 100 });
119
+ this._assetsQuery = [];
120
+ this._isRunning = false;
121
+ callback();
122
+ }.bind(this));
123
+ };
124
+
125
+ };
126
+
127
+ module.exports = LibLoader;
@@ -1,16 +1,16 @@
1
- class LibLocalData {
2
- constructor(){
3
- this._data = {};
4
- }
5
-
6
- get (name) {
7
- return Urso.helper.recursiveGet(name, this._data);
8
- };
9
-
10
- set (key, value) {
11
- Urso.helper.recursiveSet(key, value, this._data);
12
- return true;
13
- };
14
- }
15
-
1
+ class LibLocalData {
2
+ constructor(){
3
+ this._data = {};
4
+ }
5
+
6
+ get (name) {
7
+ return Urso.helper.recursiveGet(name, this._data);
8
+ };
9
+
10
+ set (key, value) {
11
+ Urso.helper.recursiveSet(key, value, this._data);
12
+ return true;
13
+ };
14
+ }
15
+
16
16
  module.exports = LibLocalData;
@@ -1,23 +1,23 @@
1
- class LibLogger {
2
-
3
- constructor() {
4
- //log
5
- window.log = console.log.bind(console); //todo this.log ?!
6
- }
7
-
8
- //todo set log level (dev/prod)
9
-
10
- log() {
11
- console.log.apply(console, arguments);
12
- }
13
-
14
- warn() {
15
- console.warn.apply(this, arguments);
16
- }
17
-
18
- error() {
19
- console.error.apply(this, arguments);
20
- }
21
- }
22
-
1
+ class LibLogger {
2
+
3
+ constructor() {
4
+ //log
5
+ window.log = console.log.bind(console); //todo this.log ?!
6
+ }
7
+
8
+ //todo set log level (dev/prod)
9
+
10
+ log() {
11
+ console.log.apply(console, arguments);
12
+ }
13
+
14
+ warn() {
15
+ console.warn.apply(this, arguments);
16
+ }
17
+
18
+ error() {
19
+ console.error.apply(this, arguments);
20
+ }
21
+ }
22
+
23
23
  module.exports = LibLogger;
@@ -1,36 +1,36 @@
1
- class LibMath {
2
- /**
3
- * validate number to make it value between min and max values
4
- * @param {Number} num
5
- * @param {Number} min
6
- * @param {Number} max
7
- */
8
- intMakeBetween(num, min, max) {
9
- return Math.max.apply(Math, [min, Math.min.apply(Math, [max, num])]);
10
- }
11
-
12
- getRandomInt(max) {
13
- return this.getRandomIntBetween(0, max);
14
- }
15
-
16
- getRandomIntBetween(min, max) {
17
- return Math.floor(Math.random() * (max - min + 1)) + min;
18
- }
19
-
20
- /**
21
- * round float number to digits count
22
- * @param {Number} num
23
- * @param {Number} digits - rounding digits count
24
- * @returns {Number}
25
- */
26
- roundToDigits(num, digits) {
27
- if (isNaN(num) || isNaN(digits))
28
- return false;
29
-
30
- const pow = Math.pow(10, digits);
31
- return Math.round(num * pow) / pow;
32
- }
33
-
34
- }
35
-
1
+ class LibMath {
2
+ /**
3
+ * validate number to make it value between min and max values
4
+ * @param {Number} num
5
+ * @param {Number} min
6
+ * @param {Number} max
7
+ */
8
+ intMakeBetween(num, min, max) {
9
+ return Math.max.apply(Math, [min, Math.min.apply(Math, [max, num])]);
10
+ }
11
+
12
+ getRandomInt(max) {
13
+ return this.getRandomIntBetween(0, max);
14
+ }
15
+
16
+ getRandomIntBetween(min, max) {
17
+ return Math.floor(Math.random() * (max - min + 1)) + min;
18
+ }
19
+
20
+ /**
21
+ * round float number to digits count
22
+ * @param {Number} num
23
+ * @param {Number} digits - rounding digits count
24
+ * @returns {Number}
25
+ */
26
+ roundToDigits(num, digits) {
27
+ if (isNaN(num) || isNaN(digits))
28
+ return false;
29
+
30
+ const pow = Math.pow(10, digits);
31
+ return Math.round(num * pow) / pow;
32
+ }
33
+
34
+ }
35
+
36
36
  module.exports = LibMath;
@@ -1,55 +1,55 @@
1
- class ObjectPoolMember {
2
- free = true;
3
- data = null;
4
-
5
- constructor(data) {
6
- this.data = data
7
- }
8
- }
9
-
10
- class LibObjectPool {
11
- pool = {};
12
- resetFunction = () => { }
13
- constructorFunction = () => { }
14
-
15
- constructor(constructorFunction, resetFunction = (obj) => obj, initialSize = 0) { //todo initialSize
16
- this.resetFunction = resetFunction;
17
- this.constructorFunction = constructorFunction;
18
- }
19
-
20
- getElement(key = 'default', additionalCreateArguments) {
21
- this._checkPoolKey(key);
22
- const poolArray = this.pool[key];
23
-
24
-
25
- for (let i = 0; i < poolArray.length; i++) {
26
- if (poolArray[i].free) {
27
- poolArray[i].free = false;
28
- return poolArray[i];
29
- }
30
- }
31
-
32
- const newObj = this._createElement(key, additionalCreateArguments);
33
- newObj.free = false;
34
- return newObj;
35
- }
36
-
37
- putElement(element) {
38
- element.free = true;
39
- this.resetFunction(element.data);
40
- }
41
-
42
- _createElement(key, additionalCreateArguments = null) {
43
- const newObj = this.resetFunction(this.constructorFunction(key, additionalCreateArguments));
44
- const poolMember = new ObjectPoolMember(newObj);
45
- this.pool[key].push(poolMember);
46
- return poolMember;
47
- }
48
-
49
- _checkPoolKey(key) {
50
- if (!this.pool[key])
51
- this.pool[key] = [];
52
- }
53
- }
54
-
1
+ class ObjectPoolMember {
2
+ free = true;
3
+ data = null;
4
+
5
+ constructor(data) {
6
+ this.data = data
7
+ }
8
+ }
9
+
10
+ class LibObjectPool {
11
+ pool = {};
12
+ resetFunction = () => { }
13
+ constructorFunction = () => { }
14
+
15
+ constructor(constructorFunction, resetFunction = (obj) => obj, initialSize = 0) { //todo initialSize
16
+ this.resetFunction = resetFunction;
17
+ this.constructorFunction = constructorFunction;
18
+ }
19
+
20
+ getElement(key = 'default', additionalCreateArguments) {
21
+ this._checkPoolKey(key);
22
+ const poolArray = this.pool[key];
23
+
24
+
25
+ for (let i = 0; i < poolArray.length; i++) {
26
+ if (poolArray[i].free) {
27
+ poolArray[i].free = false;
28
+ return poolArray[i];
29
+ }
30
+ }
31
+
32
+ const newObj = this._createElement(key, additionalCreateArguments);
33
+ newObj.free = false;
34
+ return newObj;
35
+ }
36
+
37
+ putElement(element) {
38
+ element.free = true;
39
+ this.resetFunction(element.data);
40
+ }
41
+
42
+ _createElement(key, additionalCreateArguments = null) {
43
+ const newObj = this.resetFunction(this.constructorFunction(key, additionalCreateArguments));
44
+ const poolMember = new ObjectPoolMember(newObj);
45
+ this.pool[key].push(poolMember);
46
+ return poolMember;
47
+ }
48
+
49
+ _checkPoolKey(key) {
50
+ if (!this.pool[key])
51
+ this.pool[key] = [];
52
+ }
53
+ }
54
+
55
55
  module.exports = LibObjectPool;
@@ -1,19 +1,19 @@
1
- class LibTime {
2
-
3
- get(foo) {
4
- if (!foo)
5
- foo = new Date();
6
-
7
- return foo.getTime();
8
- }
9
-
10
- getUnixtime(foo) {
11
- if (!foo)
12
- foo = new Date();
13
-
14
- var unixtime_ms = foo.getTime();
15
- return ~~(unixtime_ms / 1e3);
16
- }
17
- }
18
-
1
+ class LibTime {
2
+
3
+ get(foo) {
4
+ if (!foo)
5
+ foo = new Date();
6
+
7
+ return foo.getTime();
8
+ }
9
+
10
+ getUnixtime(foo) {
11
+ if (!foo)
12
+ foo = new Date();
13
+
14
+ var unixtime_ms = foo.getTime();
15
+ return ~~(unixtime_ms / 1e3);
16
+ }
17
+ }
18
+
19
19
  module.exports = LibTime;