gamelet-cli 0.7.10 → 0.7.13

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 (51) hide show
  1. package/assets/package.json.twig +3 -3
  2. package/assets/server/static/js/monitor.js +6 -0
  3. package/assets/server/views/monitor.twig +1 -0
  4. package/assets/tsconfig.json.twig +1 -1
  5. package/build/package.json +67 -67
  6. package/build/src/gamelet/download.js +773 -737
  7. package/build/src/gamelet/merges.js +181 -179
  8. package/build/src/gamelet/prepare.js +276 -277
  9. package/build/src/gamelet/upload.js +280 -279
  10. package/build/src/index.js +86 -86
  11. package/build/src/server/Constant.js +9 -9
  12. package/build/src/server/entities/Client.js +78 -78
  13. package/build/src/server/entities/ClientOwner.js +67 -67
  14. package/build/src/server/entities/ClientProject.js +84 -84
  15. package/build/src/server/entities/Gameroom.js +89 -89
  16. package/build/src/server/entities/GameroomBase.js +276 -276
  17. package/build/src/server/entities/Gamezone.js +73 -73
  18. package/build/src/server/entities/ListFilter.js +193 -193
  19. package/build/src/server/entities/Monitor.js +94 -81
  20. package/build/src/server/entities/Player.js +140 -140
  21. package/build/src/server/managers/ApiManager.js +75 -75
  22. package/build/src/server/managers/ClientManager.js +64 -64
  23. package/build/src/server/managers/Database.js +627 -627
  24. package/build/src/server/managers/GameroomManager.js +392 -392
  25. package/build/src/server/managers/ManagerBase.js +17 -17
  26. package/build/src/server/managers/MonitorManager.js +73 -73
  27. package/build/src/server/managers/PlayerManager.js +108 -108
  28. package/build/src/server/managers/SocketManager.js +60 -60
  29. package/build/src/server/managers/UserManager.js +58 -58
  30. package/build/src/server/messages/Message.js +143 -143
  31. package/build/src/server/server.js +112 -113
  32. package/build/src/server/services/ServiceBase.js +25 -25
  33. package/build/src/server/services/clientService.js +23 -23
  34. package/build/src/server/services/gameroomService.js +121 -121
  35. package/build/src/server/services/gltserver.service.js +23 -23
  36. package/build/src/server/services/playerService.js +32 -32
  37. package/build/src/server/startServer.js +32 -33
  38. package/build/src/server/types/BadgeStatus.js +25 -25
  39. package/build/src/server/types/OrderType.js +38 -38
  40. package/build/src/server/types/SubmitType.js +24 -24
  41. package/build/src/server/types/TimeRange.js +26 -26
  42. package/build/src/server/utils/ArrayUtil.js +126 -126
  43. package/build/src/server/utils/IntUtil.js +9 -9
  44. package/build/src/server/utils/ObjectUtil.js +191 -191
  45. package/build/src/server/utils/StringUtil.js +37 -37
  46. package/build/src/utils/cli.js +53 -53
  47. package/build/src/utils/file.js +350 -337
  48. package/build/src/utils/init.js +57 -42
  49. package/build/src/utils/log.js +18 -17
  50. package/build/src/utils/net.js +43 -39
  51. package/package.json +2 -2
@@ -1,191 +1,191 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectUtil = void 0;
4
- class ObjectUtil {
5
- /**
6
- * Create a new object and deep clone data from provided source.
7
- *
8
- * @param {any} data
9
- * @return {any}
10
- */
11
- static deepCloneObject(data) {
12
- if (!data) {
13
- return data;
14
- }
15
- if (typeof data === 'object') {
16
- if (Array.isArray(data)) {
17
- return data.map(item => ObjectUtil.deepCloneObject(item));
18
- }
19
- else {
20
- let obj = {};
21
- for (let key in data) {
22
- obj[key] = ObjectUtil.deepCloneObject(data[key]);
23
- }
24
- return obj;
25
- }
26
- }
27
- return data;
28
- }
29
- /**
30
- * Compare 2 objects to see if they contains same data.
31
- *
32
- * @param {any} data0
33
- * @param {any} data1
34
- * @return {boolean}
35
- */
36
- static equals(data0, data1) {
37
- if (data0 && data1 && typeof data0 === 'object' && typeof data1 === 'object') {
38
- if (Array.isArray(data0)) {
39
- if (Array.isArray(data1)) {
40
- // array comparing
41
- let len = data0.length;
42
- if (data1.length != len) {
43
- return false;
44
- }
45
- for (let i = 0; i < len; ++i) {
46
- if (!ObjectUtil.equals(data0[i], data1[i])) {
47
- return false;
48
- }
49
- }
50
- return true;
51
- }
52
- return false;
53
- }
54
- else if (Array.isArray(data1)) {
55
- return false;
56
- }
57
- // object comparing
58
- let keys0 = Object.keys(data0);
59
- let keys1 = Object.keys(data1);
60
- let len = keys0.length;
61
- if (len != keys1.length) {
62
- return false;
63
- }
64
- keys0.sort();
65
- keys1.sort();
66
- for (let i = 0; i < len; ++i) {
67
- let key = keys0[i];
68
- if (key != keys1[i]) {
69
- return false;
70
- }
71
- if (!ObjectUtil.equals(data0[key], data1[key])) {
72
- return false;
73
- }
74
- }
75
- return true;
76
- }
77
- return data0 === data1;
78
- }
79
- /**
80
- * Similar to Object.assign, but will not overwrite child that is object-typed.
81
- * safeAssign() will recursively safeAssign object-typed children.
82
- *
83
- * @param {any} target The target object.
84
- * @param {any} source The source object(s).
85
- * @return {any} The target object.
86
- */
87
- static safeAssign(target, source) {
88
- if (source && typeof source === 'object') {
89
- if (target && typeof target === 'object') {
90
- if (Array.isArray(source)) {
91
- if (Array.isArray(target)) {
92
- // copy array items
93
- for (let i = 0; i < source.length; ++i) {
94
- target[i] = ObjectUtil.safeAssign(target[i], source[i]);
95
- }
96
- return target;
97
- }
98
- else {
99
- return ObjectUtil.safeAssign([], source);
100
- }
101
- }
102
- else if (Array.isArray(target)) {
103
- return ObjectUtil.safeAssign({}, source);
104
- }
105
- else {
106
- // copy object items
107
- for (let key in source) {
108
- target[key] = ObjectUtil.safeAssign(target[key], source[key]);
109
- }
110
- return target;
111
- }
112
- }
113
- else if (Array.isArray(source)) {
114
- return ObjectUtil.safeAssign([], source);
115
- }
116
- else {
117
- return ObjectUtil.safeAssign({}, source);
118
- }
119
- }
120
- else {
121
- return source;
122
- }
123
- }
124
- /**
125
- * Remove keys on data that contain same value as in reference.
126
- *
127
- * @param {any} data The target object that is being modified.
128
- * @param {any} reference The reference object.
129
- * @return {any} The target object.
130
- */
131
- static removeKeysWithSameValue(target, reference) {
132
- if (target && typeof target === 'object' && reference && typeof reference === 'object') {
133
- if (Array.isArray(target)) {
134
- if (Array.isArray(reference)) {
135
- for (let i = 0; i < target.length; ++i) {
136
- ObjectUtil.removeKeysWithSameValue(target[i], reference[i]);
137
- }
138
- }
139
- }
140
- else if (Array.isArray(reference)) {
141
- // do nothing with object vs array
142
- }
143
- else {
144
- for (let key in target) {
145
- let value = target[key];
146
- let refValue = reference[key];
147
- if (value === refValue) {
148
- delete target[key];
149
- }
150
- else {
151
- ObjectUtil.removeKeysWithSameValue(value, refValue);
152
- }
153
- }
154
- }
155
- }
156
- return target;
157
- }
158
- static forEach(obj, callback) {
159
- if (obj && typeof obj === 'object') {
160
- if (Array.isArray(obj)) {
161
- throw new Error('ObjectUtil.forEach: obj is an array, use Array.forEach instead.');
162
- }
163
- Object.keys(obj).forEach(key => {
164
- callback(key, obj[key], obj);
165
- });
166
- }
167
- else {
168
- throw new Error('ObjectUtil.forEach: not an object');
169
- }
170
- }
171
- static map(obj, callback) {
172
- if (obj && typeof obj === 'object') {
173
- if (Array.isArray(obj)) {
174
- throw new Error('ObjectUtil.map: obj is an array, use Array.map instead.');
175
- }
176
- let ret = {};
177
- Object.keys(obj).map(key => {
178
- ret[key] = callback(key, obj[key], obj);
179
- });
180
- return ret;
181
- }
182
- else {
183
- throw new Error('ObjectUtil.map: not an object');
184
- }
185
- }
186
- static isPromise(value) {
187
- return value && Promise.resolve(value) == value;
188
- }
189
- }
190
- exports.ObjectUtil = ObjectUtil;
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvT2JqZWN0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFVBQVU7SUFFdEI7Ozs7O09BS007SUFDQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVM7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ1o7UUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUMxRDtpQkFBTTtnQkFDTixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7b0JBQ3JCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNqRDtnQkFDRCxPQUFPLEdBQUcsQ0FBQzthQUNYO1NBQ0Q7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7O09BTU07SUFDQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVUsRUFBRSxLQUFVO1FBQzFDLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN6QixrQkFBa0I7b0JBQ2xCLElB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
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ObjectUtil = void 0;
4
+ class ObjectUtil {
5
+ /**
6
+ * Create a new object and deep clone data from provided source.
7
+ *
8
+ * @param {any} data
9
+ * @return {any}
10
+ */
11
+ static deepCloneObject(data) {
12
+ if (!data) {
13
+ return data;
14
+ }
15
+ if (typeof data === 'object') {
16
+ if (Array.isArray(data)) {
17
+ return data.map(item => ObjectUtil.deepCloneObject(item));
18
+ }
19
+ else {
20
+ let obj = {};
21
+ for (let key in data) {
22
+ obj[key] = ObjectUtil.deepCloneObject(data[key]);
23
+ }
24
+ return obj;
25
+ }
26
+ }
27
+ return data;
28
+ }
29
+ /**
30
+ * Compare 2 objects to see if they contains same data.
31
+ *
32
+ * @param {any} data0
33
+ * @param {any} data1
34
+ * @return {boolean}
35
+ */
36
+ static equals(data0, data1) {
37
+ if (data0 && data1 && typeof data0 === 'object' && typeof data1 === 'object') {
38
+ if (Array.isArray(data0)) {
39
+ if (Array.isArray(data1)) {
40
+ // array comparing
41
+ let len = data0.length;
42
+ if (data1.length != len) {
43
+ return false;
44
+ }
45
+ for (let i = 0; i < len; ++i) {
46
+ if (!ObjectUtil.equals(data0[i], data1[i])) {
47
+ return false;
48
+ }
49
+ }
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ else if (Array.isArray(data1)) {
55
+ return false;
56
+ }
57
+ // object comparing
58
+ let keys0 = Object.keys(data0);
59
+ let keys1 = Object.keys(data1);
60
+ let len = keys0.length;
61
+ if (len != keys1.length) {
62
+ return false;
63
+ }
64
+ keys0.sort();
65
+ keys1.sort();
66
+ for (let i = 0; i < len; ++i) {
67
+ let key = keys0[i];
68
+ if (key != keys1[i]) {
69
+ return false;
70
+ }
71
+ if (!ObjectUtil.equals(data0[key], data1[key])) {
72
+ return false;
73
+ }
74
+ }
75
+ return true;
76
+ }
77
+ return data0 === data1;
78
+ }
79
+ /**
80
+ * Similar to Object.assign, but will not overwrite child that is object-typed.
81
+ * safeAssign() will recursively safeAssign object-typed children.
82
+ *
83
+ * @param {any} target The target object.
84
+ * @param {any} source The source object(s).
85
+ * @return {any} The target object.
86
+ */
87
+ static safeAssign(target, source) {
88
+ if (source && typeof source === 'object') {
89
+ if (target && typeof target === 'object') {
90
+ if (Array.isArray(source)) {
91
+ if (Array.isArray(target)) {
92
+ // copy array items
93
+ for (let i = 0; i < source.length; ++i) {
94
+ target[i] = ObjectUtil.safeAssign(target[i], source[i]);
95
+ }
96
+ return target;
97
+ }
98
+ else {
99
+ return ObjectUtil.safeAssign([], source);
100
+ }
101
+ }
102
+ else if (Array.isArray(target)) {
103
+ return ObjectUtil.safeAssign({}, source);
104
+ }
105
+ else {
106
+ // copy object items
107
+ for (let key in source) {
108
+ target[key] = ObjectUtil.safeAssign(target[key], source[key]);
109
+ }
110
+ return target;
111
+ }
112
+ }
113
+ else if (Array.isArray(source)) {
114
+ return ObjectUtil.safeAssign([], source);
115
+ }
116
+ else {
117
+ return ObjectUtil.safeAssign({}, source);
118
+ }
119
+ }
120
+ else {
121
+ return source;
122
+ }
123
+ }
124
+ /**
125
+ * Remove keys on data that contain same value as in reference.
126
+ *
127
+ * @param {any} data The target object that is being modified.
128
+ * @param {any} reference The reference object.
129
+ * @return {any} The target object.
130
+ */
131
+ static removeKeysWithSameValue(target, reference) {
132
+ if (target && typeof target === 'object' && reference && typeof reference === 'object') {
133
+ if (Array.isArray(target)) {
134
+ if (Array.isArray(reference)) {
135
+ for (let i = 0; i < target.length; ++i) {
136
+ ObjectUtil.removeKeysWithSameValue(target[i], reference[i]);
137
+ }
138
+ }
139
+ }
140
+ else if (Array.isArray(reference)) {
141
+ // do nothing with object vs array
142
+ }
143
+ else {
144
+ for (let key in target) {
145
+ let value = target[key];
146
+ let refValue = reference[key];
147
+ if (value === refValue) {
148
+ delete target[key];
149
+ }
150
+ else {
151
+ ObjectUtil.removeKeysWithSameValue(value, refValue);
152
+ }
153
+ }
154
+ }
155
+ }
156
+ return target;
157
+ }
158
+ static forEach(obj, callback) {
159
+ if (obj && typeof obj === 'object') {
160
+ if (Array.isArray(obj)) {
161
+ throw new Error('ObjectUtil.forEach: obj is an array, use Array.forEach instead.');
162
+ }
163
+ Object.keys(obj).forEach(key => {
164
+ callback(key, obj[key], obj);
165
+ });
166
+ }
167
+ else {
168
+ throw new Error('ObjectUtil.forEach: not an object');
169
+ }
170
+ }
171
+ static map(obj, callback) {
172
+ if (obj && typeof obj === 'object') {
173
+ if (Array.isArray(obj)) {
174
+ throw new Error('ObjectUtil.map: obj is an array, use Array.map instead.');
175
+ }
176
+ let ret = {};
177
+ Object.keys(obj).map(key => {
178
+ ret[key] = callback(key, obj[key], obj);
179
+ });
180
+ return ret;
181
+ }
182
+ else {
183
+ throw new Error('ObjectUtil.map: not an object');
184
+ }
185
+ }
186
+ static isPromise(value) {
187
+ return value && Promise.resolve(value) == value;
188
+ }
189
+ }
190
+ exports.ObjectUtil = ObjectUtil;
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2JqZWN0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvT2JqZWN0VXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFVBQVU7SUFFdEI7Ozs7O09BS007SUFDQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVM7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUM7aUJBQU0sQ0FBQztnQkFDUCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELENBQUM7Z0JBQ0QsT0FBTyxHQUFHLENBQUM7WUFDWixDQUFDO1FBQ0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7T0FNTTtJQUNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBVSxFQUFFLEtBQVU7UUFDMUMsSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsSUFB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
@@ -1,37 +1,37 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StringUtil = void 0;
4
- class StringUtil {
5
- static getExtension(filename) {
6
- let match = filename.match(/^(.+)\.([^\.]+)$/);
7
- let extension = match[2];
8
- return extension;
9
- }
10
- static numberWithCommas(x) {
11
- return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
12
- }
13
- static generateRandomString(length) {
14
- let str = charsForRandomHead[Math.floor(Math.random() * charsForRandomHead.length)];
15
- while (str.length < length) {
16
- str += charsForRandom[Math.floor(Math.random() * charsForRandomLen)];
17
- }
18
- return str;
19
- }
20
- static errorToString(err) {
21
- if (typeof err === 'string') {
22
- return err;
23
- }
24
- return (err.response && err.response.data) || err.error || err.message || err.text || err;
25
- }
26
- }
27
- exports.StringUtil = StringUtil;
28
- StringUtil.PATTERN = {
29
- URL: /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?\/&=]*)/,
30
- PHONE: /^(\d{3}-?\s?\d{3}-?\s?\d{4}\s?)?([x|#|ext|ext.|-]\s?\d{1,5})?$/,
31
- EMAIL: /^\w+([.-]\w+)*@\w+([.-]\w+)*\.\w{2,6}$/,
32
- WORD_SEPERATOR: /[\s,.:;\r\n]/
33
- };
34
- const charsForRandomHead = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
35
- const charsForRandom = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
36
- const charsForRandomLen = charsForRandom.length;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvU3RyaW5nVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFVBQVU7SUFTWixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWdCO1FBQ3ZDLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFTO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQWM7UUFDN0MsSUFBSSxHQUFHLEdBQVcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RixPQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFO1lBQ3ZCLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHO1FBQzNCLElBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ3hCLE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztJQUM5RixDQUFDOztBQWhDTCxnQ0FrQ0M7QUFoQ1Usa0JBQU8sR0FBRztJQUNiLEdBQUcsRUFBRSw4RkFBOEY7SUFDbkcsS0FBSyxFQUFFLGdFQUFnRTtJQUN2RSxLQUFLLEVBQUUsd0NBQXdDO0lBQy9DLGNBQWMsRUFBRSxjQUFjO0NBQ2pDLENBQUE7QUE2QkwsTUFBTSxrQkFBa0IsR0FBRyxzREFBc0QsQ0FBQztBQUNsRixNQUFNLGNBQWMsR0FBRyxnRUFBZ0UsQ0FBQztBQUN4RixNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMifQ==
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringUtil = void 0;
4
+ class StringUtil {
5
+ static getExtension(filename) {
6
+ let match = filename.match(/^(.+)\.([^\.]+)$/);
7
+ let extension = match[2];
8
+ return extension;
9
+ }
10
+ static numberWithCommas(x) {
11
+ return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
12
+ }
13
+ static generateRandomString(length) {
14
+ let str = charsForRandomHead[Math.floor(Math.random() * charsForRandomHead.length)];
15
+ while (str.length < length) {
16
+ str += charsForRandom[Math.floor(Math.random() * charsForRandomLen)];
17
+ }
18
+ return str;
19
+ }
20
+ static errorToString(err) {
21
+ if (typeof err === 'string') {
22
+ return err;
23
+ }
24
+ return (err.response && err.response.data) || err.error || err.message || err.text || err;
25
+ }
26
+ }
27
+ exports.StringUtil = StringUtil;
28
+ StringUtil.PATTERN = {
29
+ URL: /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?\/&=]*)/,
30
+ PHONE: /^(\d{3}-?\s?\d{3}-?\s?\d{4}\s?)?([x|#|ext|ext.|-]\s?\d{1,5})?$/,
31
+ EMAIL: /^\w+([.-]\w+)*@\w+([.-]\w+)*\.\w{2,6}$/,
32
+ WORD_SEPERATOR: /[\s,.:;\r\n]/
33
+ };
34
+ const charsForRandomHead = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
35
+ const charsForRandom = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
36
+ const charsForRandomLen = charsForRandom.length;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMvU3RyaW5nVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFVBQVU7SUFTWixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWdCO1FBQ3ZDLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFTO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQWM7UUFDN0MsSUFBSSxHQUFHLEdBQVcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RixPQUFNLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDeEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRztRQUMzQixJQUFHLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDO0lBQzlGLENBQUM7O0FBaENMLGdDQWtDQztBQWhDVSxrQkFBTyxHQUFHO0lBQ2IsR0FBRyxFQUFFLDhGQUE4RjtJQUNuRyxLQUFLLEVBQUUsZ0VBQWdFO0lBQ3ZFLEtBQUssRUFBRSx3Q0FBd0M7SUFDL0MsY0FBYyxFQUFFLGNBQWM7Q0FDakMsQ0FBQTtBQTZCTCxNQUFNLGtCQUFrQixHQUFHLHNEQUFzRCxDQUFDO0FBQ2xGLE1BQU0sY0FBYyxHQUFHLGdFQUFnRSxDQUFDO0FBQ3hGLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyJ9
@@ -1,53 +1,53 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cli = void 0;
7
- //import * as meow from 'meow';
8
- const cli_meow_help_1 = __importDefault(require("cli-meow-help"));
9
- const meow_1 = __importDefault(require("meow"));
10
- const flags = {
11
- clear: {
12
- type: `boolean`,
13
- default: true,
14
- alias: `c`,
15
- desc: `Clear the console`
16
- },
17
- noClear: {
18
- type: `boolean`,
19
- default: false,
20
- desc: `Don't clear the console`
21
- },
22
- debug: {
23
- type: `boolean`,
24
- default: false,
25
- alias: `d`,
26
- desc: `Print debug info`
27
- },
28
- version: {
29
- type: `boolean`,
30
- alias: `v`,
31
- desc: `Print CLI version`
32
- }
33
- };
34
- const commands = {
35
- help: { desc: `Print help info` },
36
- download: { desc: `download a project from CG` },
37
- merge: { desc: `merge sources and resources of a CG project` },
38
- upload: { desc: `Upload sources from local to CG project` },
39
- server: { desc: `Create a local server to test a multiplayer game that utilizes CG.Server library` },
40
- };
41
- const helpText = cli_meow_help_1.default({
42
- name: `gamelet`,
43
- flags,
44
- commands
45
- });
46
- const options = {
47
- inferType: true,
48
- description: false,
49
- hardRejection: false,
50
- flags
51
- };
52
- exports.cli = meow_1.default(helpText, options);
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBK0I7QUFDL0Isa0VBQXFDO0FBQ3JDLGdEQUF3QjtBQUV4QixNQUFNLEtBQUssR0FBRztJQUNWLEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLElBQUk7UUFDYixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxtQkFBbUI7S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsSUFBSSxFQUFFLHlCQUF5QjtLQUNsQztJQUNELEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxrQkFBa0I7S0FDM0I7SUFDRCxPQUFPLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLG1CQUFtQjtLQUM1QjtDQUNKLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRztJQUNiLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtJQUNqQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7SUFDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDZDQUE2QyxFQUFFO0lBQzlELE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSx5Q0FBeUMsRUFBRTtJQUMzRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0ZBQWtGLEVBQUU7Q0FDdkcsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLHVCQUFRLENBQUM7SUFDdEIsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLO0lBQ0wsUUFBUTtDQUNYLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFRO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEtBQUs7SUFDbEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsS0FBSztDQUNSLENBQUM7QUFFVyxRQUFBLEdBQUcsR0FBRyxjQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDIn0=
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.cli = void 0;
7
+ //import * as meow from 'meow';
8
+ const cli_meow_help_1 = __importDefault(require("cli-meow-help"));
9
+ const meow_1 = __importDefault(require("meow"));
10
+ const flags = {
11
+ clear: {
12
+ type: `boolean`,
13
+ default: true,
14
+ alias: `c`,
15
+ desc: `Clear the console`
16
+ },
17
+ noClear: {
18
+ type: `boolean`,
19
+ default: false,
20
+ desc: `Don't clear the console`
21
+ },
22
+ debug: {
23
+ type: `boolean`,
24
+ default: false,
25
+ alias: `d`,
26
+ desc: `Print debug info`
27
+ },
28
+ version: {
29
+ type: `boolean`,
30
+ alias: `v`,
31
+ desc: `Print CLI version`
32
+ }
33
+ };
34
+ const commands = {
35
+ help: { desc: `Print help info` },
36
+ download: { desc: `download a project from CG` },
37
+ merge: { desc: `merge sources and resources of a CG project` },
38
+ upload: { desc: `Upload sources from local to CG project` },
39
+ server: { desc: `Create a local server to test a multiplayer game that utilizes CG.Server library` },
40
+ };
41
+ const helpText = (0, cli_meow_help_1.default)({
42
+ name: `gamelet`,
43
+ flags,
44
+ commands
45
+ });
46
+ const options = {
47
+ inferType: true,
48
+ description: false,
49
+ hardRejection: false,
50
+ flags
51
+ };
52
+ exports.cli = (0, meow_1.default)(helpText, options);
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBK0I7QUFDL0Isa0VBQXFDO0FBQ3JDLGdEQUF3QjtBQUV4QixNQUFNLEtBQUssR0FBRztJQUNWLEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLElBQUk7UUFDYixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxtQkFBbUI7S0FDNUI7SUFDRCxPQUFPLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsSUFBSSxFQUFFLHlCQUF5QjtLQUNsQztJQUNELEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLEtBQUs7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxrQkFBa0I7S0FDM0I7SUFDRCxPQUFPLEVBQUU7UUFDTCxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLG1CQUFtQjtLQUM1QjtDQUNKLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRztJQUNiLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtJQUNqQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsNEJBQTRCLEVBQUU7SUFDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDZDQUE2QyxFQUFFO0lBQzlELE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSx5Q0FBeUMsRUFBRTtJQUMzRCxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsa0ZBQWtGLEVBQUU7Q0FDdkcsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLElBQUEsdUJBQVEsRUFBQztJQUN0QixJQUFJLEVBQUUsU0FBUztJQUNmLEtBQUs7SUFDTCxRQUFRO0NBQ1gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxPQUFPLEdBQVE7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsS0FBSztJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQixLQUFLO0NBQ1IsQ0FBQztBQUVXLFFBQUEsR0FBRyxHQUFHLElBQUEsY0FBSSxFQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyJ9