@andre1502/react-utilities 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. package/README.md +340 -0
  2. package/dist/Config/Config.d.ts +28 -0
  3. package/dist/Config/Config.js +200 -0
  4. package/dist/Config/Config.js.map +1 -0
  5. package/dist/Config/GoogleAuth.d.ts +15 -0
  6. package/dist/Config/GoogleAuth.js +71 -0
  7. package/dist/Config/GoogleAuth.js.map +1 -0
  8. package/dist/Config/Locales.d.ts +18 -0
  9. package/dist/Config/Locales.js +62 -0
  10. package/dist/Config/Locales.js.map +1 -0
  11. package/dist/Config/Output.d.ts +10 -0
  12. package/dist/Config/Output.js +28 -0
  13. package/dist/Config/Output.js.map +1 -0
  14. package/dist/Config/Sitemap.d.ts +13 -0
  15. package/dist/Config/Sitemap.js +73 -0
  16. package/dist/Config/Sitemap.js.map +1 -0
  17. package/dist/Format/NumberFormat.d.ts +6 -0
  18. package/dist/Format/NumberFormat.js +77 -0
  19. package/dist/Format/NumberFormat.js.map +1 -0
  20. package/dist/Format/NumberParser.d.ts +9 -0
  21. package/dist/Format/NumberParser.js +51 -0
  22. package/dist/Format/NumberParser.js.map +1 -0
  23. package/dist/React-BaJ1KfGF.js +87 -0
  24. package/dist/React-BaJ1KfGF.js.map +1 -0
  25. package/dist/React-qUl0CBmE.js +109 -0
  26. package/dist/React-qUl0CBmE.js.map +1 -0
  27. package/dist/ReactNative-CqUrY2ZJ.js +3856 -0
  28. package/dist/ReactNative-CqUrY2ZJ.js.map +1 -0
  29. package/dist/ReactNative-mNnws-b5.js +3834 -0
  30. package/dist/ReactNative-mNnws-b5.js.map +1 -0
  31. package/dist/Sentry/Build.d.ts +9 -0
  32. package/dist/Sentry/Build.js +88 -0
  33. package/dist/Sentry/Build.js.map +1 -0
  34. package/dist/Sentry/React.d.ts +18 -0
  35. package/dist/Sentry/React.js +104 -0
  36. package/dist/Sentry/React.js.map +1 -0
  37. package/dist/Sentry/ReactNative.d.ts +18 -0
  38. package/dist/Sentry/ReactNative.js +114 -0
  39. package/dist/Sentry/ReactNative.js.map +1 -0
  40. package/dist/Sentry/Utils.d.ts +2 -0
  41. package/dist/Sentry/Utils.js +24 -0
  42. package/dist/Sentry/Utils.js.map +1 -0
  43. package/dist/Utils/Files.d.ts +7 -0
  44. package/dist/Utils/Files.js +52 -0
  45. package/dist/Utils/Files.js.map +1 -0
  46. package/dist/Utils-Cq948gfa.js +20 -0
  47. package/dist/Utils-Cq948gfa.js.map +1 -0
  48. package/dist/Utils-Dilye04y.js +22 -0
  49. package/dist/Utils-Dilye04y.js.map +1 -0
  50. package/dist/config-cli.cjs +471 -0
  51. package/dist/config-cli.cjs.map +1 -0
  52. package/dist/config-cli.d.ts +34 -0
  53. package/dist/config-cli.js +220 -0
  54. package/dist/config-cli.js.map +1 -0
  55. package/dist/config-cli.mjs +443 -0
  56. package/dist/config-cli.mjs.map +1 -0
  57. package/dist/enums/CurrencySymbolEnum.d.ts +5 -0
  58. package/dist/enums/CurrencySymbolEnum.js +13 -0
  59. package/dist/enums/CurrencySymbolEnum.js.map +1 -0
  60. package/dist/format.cjs +122 -0
  61. package/dist/format.cjs.map +1 -0
  62. package/dist/format.d.ts +3 -0
  63. package/dist/format.js +55 -0
  64. package/dist/format.js.map +1 -0
  65. package/dist/format.mjs +117 -0
  66. package/dist/format.mjs.map +1 -0
  67. package/dist/index-cli.cjs +24 -0
  68. package/dist/index-cli.cjs.map +1 -0
  69. package/dist/index-cli.d.ts +2 -0
  70. package/dist/index-cli.js +28 -0
  71. package/dist/index-cli.js.map +1 -0
  72. package/dist/index-cli.mjs +12 -0
  73. package/dist/index-cli.mjs.map +1 -0
  74. package/dist/index-fmt.cjs +16 -0
  75. package/dist/index-fmt.cjs.map +1 -0
  76. package/dist/index-fmt.d.ts +1 -0
  77. package/dist/index-fmt.js +17 -0
  78. package/dist/index-fmt.js.map +1 -0
  79. package/dist/index-fmt.mjs +3 -0
  80. package/dist/index-fmt.mjs.map +1 -0
  81. package/dist/index-rn.cjs +21 -0
  82. package/dist/index-rn.cjs.map +1 -0
  83. package/dist/index-rn.d.ts +2 -0
  84. package/dist/index-rn.js +28 -0
  85. package/dist/index-rn.js.map +1 -0
  86. package/dist/index-rn.mjs +6 -0
  87. package/dist/index-rn.mjs.map +1 -0
  88. package/dist/index.cjs +21 -0
  89. package/dist/index.cjs.map +1 -0
  90. package/dist/index.d.ts +2 -0
  91. package/dist/index.js +28 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/index.mjs +6 -0
  94. package/dist/index.mjs.map +1 -0
  95. package/dist/interfaces/Config/ConfigOptions.d.ts +8 -0
  96. package/dist/interfaces/Config/ConfigOptions.js +6 -0
  97. package/dist/interfaces/Config/ConfigOptions.js.map +1 -0
  98. package/dist/interfaces/Config/OutputMap.d.ts +3 -0
  99. package/dist/interfaces/Config/OutputMap.js +6 -0
  100. package/dist/interfaces/Config/OutputMap.js.map +1 -0
  101. package/dist/interfaces/Config/OutputOptions.d.ts +7 -0
  102. package/dist/interfaces/Config/OutputOptions.js +6 -0
  103. package/dist/interfaces/Config/OutputOptions.js.map +1 -0
  104. package/dist/interfaces/Config/SitemapMap.d.ts +5 -0
  105. package/dist/interfaces/Config/SitemapMap.js +6 -0
  106. package/dist/interfaces/Config/SitemapMap.js.map +1 -0
  107. package/dist/interfaces/Config/StringMap.d.ts +3 -0
  108. package/dist/interfaces/Config/StringMap.js +6 -0
  109. package/dist/interfaces/Config/StringMap.js.map +1 -0
  110. package/dist/interfaces/Format/FormatOptions.d.ts +14 -0
  111. package/dist/interfaces/Format/FormatOptions.js +6 -0
  112. package/dist/interfaces/Format/FormatOptions.js.map +1 -0
  113. package/dist/interfaces/Sentry/InitOptions.d.ts +20 -0
  114. package/dist/interfaces/Sentry/InitOptions.js +6 -0
  115. package/dist/interfaces/Sentry/InitOptions.js.map +1 -0
  116. package/dist/interfaces/Sentry/InitOptionsRN.d.ts +4 -0
  117. package/dist/interfaces/Sentry/InitOptionsRN.js +6 -0
  118. package/dist/interfaces/Sentry/InitOptionsRN.js.map +1 -0
  119. package/dist/interfaces/Sentry/SourceMapOptions.d.ts +7 -0
  120. package/dist/interfaces/Sentry/SourceMapOptions.js +6 -0
  121. package/dist/interfaces/Sentry/SourceMapOptions.js.map +1 -0
  122. package/dist/sentry-cli.cjs +119 -0
  123. package/dist/sentry-cli.cjs.map +1 -0
  124. package/dist/sentry-cli.d.ts +9 -0
  125. package/dist/sentry-cli.js +50 -0
  126. package/dist/sentry-cli.js.map +1 -0
  127. package/dist/sentry-cli.mjs +98 -0
  128. package/dist/sentry-cli.mjs.map +1 -0
  129. package/dist/sentry-rn.cjs +11 -0
  130. package/dist/sentry-rn.cjs.map +1 -0
  131. package/dist/sentry-rn.d.ts +2 -0
  132. package/dist/sentry-rn.js +28 -0
  133. package/dist/sentry-rn.js.map +1 -0
  134. package/dist/sentry-rn.mjs +4 -0
  135. package/dist/sentry-rn.mjs.map +1 -0
  136. package/dist/sentry.cjs +11 -0
  137. package/dist/sentry.cjs.map +1 -0
  138. package/dist/sentry.d.ts +2 -0
  139. package/dist/sentry.js +28 -0
  140. package/dist/sentry.js.map +1 -0
  141. package/dist/sentry.mjs +4 -0
  142. package/dist/sentry.mjs.map +1 -0
  143. package/dist/types/Config/OptionType.d.ts +2 -0
  144. package/dist/types/Config/OptionType.js +6 -0
  145. package/dist/types/Config/OptionType.js.map +1 -0
  146. package/dist/types/Format/OptionType.d.ts +3 -0
  147. package/dist/types/Format/OptionType.js +6 -0
  148. package/dist/types/Format/OptionType.js.map +1 -0
  149. package/dist/types/Sentry/OptionType.d.ts +1 -0
  150. package/dist/types/Sentry/OptionType.js +6 -0
  151. package/dist/types/Sentry/OptionType.js.map +1 -0
  152. package/package.json +139 -0
  153. package/src/Config/Config.ts +258 -0
  154. package/src/Config/GoogleAuth.ts +54 -0
  155. package/src/Config/Locales.ts +72 -0
  156. package/src/Config/Output.ts +29 -0
  157. package/src/Config/Sitemap.ts +67 -0
  158. package/src/Format/NumberFormat.ts +96 -0
  159. package/src/Format/NumberParser.ts +42 -0
  160. package/src/Sentry/Build.ts +67 -0
  161. package/src/Sentry/React.ts +127 -0
  162. package/src/Sentry/ReactNative.ts +133 -0
  163. package/src/Sentry/Utils.ts +26 -0
  164. package/src/Utils/Files.ts +51 -0
  165. package/src/config-cli.ts +152 -0
  166. package/src/enums/CurrencySymbolEnum.ts +5 -0
  167. package/src/format.ts +39 -0
  168. package/src/index-cli.ts +2 -0
  169. package/src/index-fmt.ts +1 -0
  170. package/src/index-rn.ts +2 -0
  171. package/src/index.ts +2 -0
  172. package/src/interfaces/Config/ConfigOptions.ts +9 -0
  173. package/src/interfaces/Config/OutputMap.ts +3 -0
  174. package/src/interfaces/Config/OutputOptions.ts +8 -0
  175. package/src/interfaces/Config/SitemapMap.ts +5 -0
  176. package/src/interfaces/Config/StringMap.ts +3 -0
  177. package/src/interfaces/Format/FormatOptions.ts +19 -0
  178. package/src/interfaces/Sentry/InitOptions.ts +23 -0
  179. package/src/interfaces/Sentry/InitOptionsRN.ts +5 -0
  180. package/src/interfaces/Sentry/SourceMapOptions.ts +7 -0
  181. package/src/sentry-cli.ts +16 -0
  182. package/src/sentry-rn.ts +2 -0
  183. package/src/sentry.ts +2 -0
  184. package/src/types/Config/OptionType.ts +2 -0
  185. package/src/types/Format/OptionType.ts +15 -0
  186. package/src/types/Sentry/OptionType.ts +1 -0
@@ -0,0 +1,443 @@
1
+ import * as lodash from 'lodash';
2
+ import { writeFile, existsSync } from 'fs';
3
+ import { GoogleAuth } from 'google-auth-library';
4
+ import { google } from 'googleapis';
5
+ import * as path from 'path';
6
+ import * as process from 'process';
7
+ import { SitemapStream, streamToPromise } from 'sitemap';
8
+ import { Readable } from 'stream';
9
+
10
+ /**
11
+ * Write content into target file
12
+ *
13
+ * @param {string} content
14
+ * @param {OutputOptions} options
15
+ * @return {void}
16
+ */
17
+ const outputToFile = (content, options) => {
18
+ let filename = options.filename;
19
+ if (options.isFilenameLowercase) {
20
+ filename = filename.toLowerCase();
21
+ }
22
+ const filePath = `${options.folder}/${filename}`;
23
+ writeFile(filePath, content, 'utf8', function (err) {
24
+ if (err) {
25
+ throw err;
26
+ }
27
+ console.log(filePath, content);
28
+ });
29
+ };
30
+
31
+ /**
32
+ * Process config data
33
+ *
34
+ * @param {any[][]} rows
35
+ * @return {OutputMap}
36
+ */
37
+ const processConfig = rows => {
38
+ let versionConfig = {};
39
+ let params = rows[0].map(key => {
40
+ return key;
41
+ });
42
+ rows.forEach((row, index) => {
43
+ if (index === 0) {
44
+ return;
45
+ }
46
+ versionConfig = processRow(row, params, versionConfig);
47
+ });
48
+ return versionConfig;
49
+ };
50
+ /**
51
+ * Process config item
52
+ *
53
+ * @param {string[]} data
54
+ * @param {string[]} params
55
+ * @param {OutputMap} versionConfig
56
+ * @return {OutputMap}
57
+ */
58
+ const processRow = (data, params, versionConfig) => {
59
+ const versionName = data[0];
60
+ versionConfig[versionName] = {};
61
+ params.forEach((paramsName, index) => {
62
+ if (index === 0 || data[index] === undefined || data[index] === '') {
63
+ return;
64
+ }
65
+ versionConfig[versionName][paramsName] = paramsTypeHandler(data[index]);
66
+ });
67
+ return versionConfig;
68
+ };
69
+ /**
70
+ * Check is JSON value
71
+ *
72
+ * @param {string} str
73
+ * @return {boolean}
74
+ */
75
+ const isJsonString = str => {
76
+ try {
77
+ JSON.parse(str);
78
+ } catch (e) {
79
+ return false;
80
+ }
81
+ return true;
82
+ };
83
+ /**
84
+ * Handling config value type
85
+ *
86
+ * @param {string} params
87
+ * @return {any}
88
+ */
89
+ const paramsTypeHandler = params => {
90
+ const booleanText = ['TRUE', 'FALSE'];
91
+ if (booleanText.includes(params.toUpperCase())) {
92
+ return params === 'TRUE';
93
+ }
94
+ if (isJsonString(params)) {
95
+ return JSON.parse(params);
96
+ }
97
+ return params;
98
+ };
99
+ /**
100
+ * Export config data into js file
101
+ *
102
+ * @param {OutputMap} data
103
+ * @param {OutputOptions} options
104
+ * @return {void}
105
+ */
106
+ const exportConfig = (data, options) => {
107
+ const config = {
108
+ params: data
109
+ };
110
+ const content = `module.exports = ${JSON.stringify(config, null, 2)}`;
111
+ outputToFile(content, options);
112
+ };
113
+ /**
114
+ * Handling env map value
115
+ *
116
+ * @param {string} env
117
+ * @return {string}
118
+ */
119
+ const envMap = env => {
120
+ let result;
121
+ switch (env) {
122
+ case 'dev':
123
+ case 'develop':
124
+ case 'development':
125
+ result = 'dev';
126
+ break;
127
+ case 'stg':
128
+ case 'stag':
129
+ case 'staging':
130
+ result = 'staging';
131
+ break;
132
+ case 'prd':
133
+ case 'prod':
134
+ case 'production':
135
+ result = 'production';
136
+ break;
137
+ default:
138
+ throw new Error(`env ${env} not supported.`);
139
+ }
140
+ return result;
141
+ };
142
+ /**
143
+ * Mapping content to exportAs value
144
+ *
145
+ * @param {string} key
146
+ * @param {any} value
147
+ * @param {string} exportAs
148
+ * @return {string}
149
+ */
150
+ const contentMap = (key, value, exportAs) => {
151
+ let content = '';
152
+ switch (exportAs) {
153
+ case 'ts':
154
+ if (lodash.isNull(value)) {
155
+ content += `export const ${key}: string | null = ${value};\n`;
156
+ } else if (typeof value === 'boolean') {
157
+ content += `export const ${key}: boolean = ${value};\n`;
158
+ } else {
159
+ content += `export const ${key} = '${value}';\n`;
160
+ }
161
+ break;
162
+ case 'js':
163
+ content += `export const ${key} = "${value}";\n`;
164
+ break;
165
+ case 'env':
166
+ content += `${key} = "${value}"\n`;
167
+ break;
168
+ default:
169
+ throw new Error(`exportAs ${exportAs} not supported.`);
170
+ }
171
+ return content;
172
+ };
173
+ /**
174
+ * Transform config
175
+ *
176
+ * @param {OutputMap} data
177
+ * @param {string} env
178
+ * @param {string} configKeyPrefix
179
+ * @param {OutputOptions} options
180
+ * @return {void}
181
+ */
182
+ const transformConfig = (data, env, configKeyPrefix, options) => {
183
+ const envKey = configKeyPrefix ? `${configKeyPrefix}ENV` : 'ENV';
184
+ let content = contentMap(envKey, envMap(env), options.exportAs);
185
+ Object.keys(data).forEach(key => {
186
+ const newConfigKey = configKeyPrefix ? `${configKeyPrefix}${key}` : key;
187
+ if (key === 'BASE_PROJECT') {
188
+ const extensionFile = [`.${data[key]}.js`, `.${data[key]}.jsx`, `.${data[key]}.ts`, `.${data[key]}.tsx`, `.${data[key]}.css`, `.${data[key]}.json`, `.${data[key]}.scss`];
189
+ content += contentMap(newConfigKey, extensionFile.join(','), options.exportAs);
190
+ return;
191
+ }
192
+ if (key === 'SITEMAP') {
193
+ content += contentMap(newConfigKey, JSON.stringify(data[key]), options.exportAs);
194
+ return;
195
+ }
196
+ if (Array.isArray(data[key])) {
197
+ content += contentMap(newConfigKey, data[key].join(','), options.exportAs);
198
+ return;
199
+ }
200
+ if (typeof data[key] === 'object') {
201
+ if (data[key].hasOwnProperty(env)) {
202
+ content += contentMap(newConfigKey, data[key][env], options.exportAs);
203
+ } else {
204
+ content += contentMap(newConfigKey, JSON.stringify(data[key]), options.exportAs);
205
+ }
206
+ return;
207
+ }
208
+ content += contentMap(newConfigKey, data[key], options.exportAs);
209
+ });
210
+ outputToFile(content, options);
211
+ };
212
+
213
+ const SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly'];
214
+ const GOOGLE_APPLICATION_CREDENTIALS_PATH = path.join(process.cwd(), '/google_application_credentials.json');
215
+ /**
216
+ * Authenticate using google console service account.
217
+ * @return {GoogleAuth<JSONClient>}
218
+ */
219
+ const authorizeServiceAccount = () => {
220
+ const isExist = existsSync(GOOGLE_APPLICATION_CREDENTIALS_PATH);
221
+ const options = {
222
+ scopes: SCOPES
223
+ };
224
+ if (isExist) {
225
+ options.keyFile = GOOGLE_APPLICATION_CREDENTIALS_PATH;
226
+ }
227
+ return new GoogleAuth(options);
228
+ };
229
+ /**
230
+ * @param {GoogleAuth<JSONClient>} auth The authenticated Google OAuth client.
231
+ * @param {string} spreadsheetId
232
+ * @param {string} spreadsheetTab
233
+ * @return {Promise<any[][] | null | undefined>}
234
+ */
235
+ const fetchGoogleSheet = async (auth, spreadsheetId, spreadsheetTab) => {
236
+ const sheets = google.sheets({
237
+ version: 'v4',
238
+ auth
239
+ });
240
+ const res = await sheets.spreadsheets.values.get({
241
+ spreadsheetId: spreadsheetId,
242
+ range: spreadsheetTab,
243
+ majorDimension: 'COLUMNS'
244
+ });
245
+ return res.data.values;
246
+ };
247
+
248
+ /**
249
+ * Process locales data
250
+ *
251
+ * @param {any[][]} rows
252
+ * @return {OutputMap}
253
+ */
254
+ const processLocales = rows => {
255
+ let keys = rows[0].map(key => {
256
+ return key;
257
+ });
258
+ let data = {};
259
+ rows.forEach((lang, index) => {
260
+ if (index === 0) {
261
+ return;
262
+ }
263
+ let langData = {};
264
+ lang.forEach((data, dIndex) => {
265
+ if (dIndex === 0) {
266
+ return;
267
+ }
268
+ langData[keys[dIndex]] = data;
269
+ });
270
+ data[lang[0]] = langData;
271
+ });
272
+ return data;
273
+ };
274
+ /**
275
+ * Export locales data to file
276
+ *
277
+ * @param {OutputMap} data
278
+ * @param {OutputOptions} options
279
+ * @return {void}
280
+ */
281
+ const exportLocales = (data, options) => {
282
+ Object.keys(data).forEach(key => {
283
+ options.filename = `${key}.${options.exportAs.toLowerCase()}`;
284
+ let content = '';
285
+ switch (options.exportAs) {
286
+ case 'ts':
287
+ content = 'export default ' + JSON.stringify(data[key], null, 2);
288
+ break;
289
+ case 'json':
290
+ content = JSON.stringify(data[key], null, 2);
291
+ break;
292
+ default:
293
+ throw new Error(`exportAs ${options.exportAs} not supported.`);
294
+ }
295
+ if (!content) {
296
+ throw new Error(`empty content, please check remote value.`);
297
+ }
298
+ outputToFile(content, options);
299
+ });
300
+ };
301
+
302
+ /**
303
+ * Generate Sitemap Robots
304
+ *
305
+ * @param {string} hostname
306
+ * @param {OutputOptions} options
307
+ * @return {void}
308
+ */
309
+ const generateRobots = (hostname, options) => {
310
+ let content = ['# https://www.robotstxt.org/robotstxt.html', `Sitemap: ${hostname}/${options.filename}`, 'User-agent: *', 'Disallow:'];
311
+ options.filename = 'robots.txt';
312
+ outputToFile(content.join('\r\n'), options);
313
+ };
314
+ /**
315
+ * Transform Sitemap
316
+ *
317
+ * @param {string} hostname
318
+ * @param {SitemapMap[]} urls
319
+ * @param {boolean} includeRobots
320
+ * @param {OutputOptions} options
321
+ * @return {Promise<void>}
322
+ */
323
+ const transformSitemap = async (hostname, urls, includeRobots, options) => {
324
+ const stream = new SitemapStream({
325
+ hostname: hostname,
326
+ lastmodDateOnly: false,
327
+ xmlns: {
328
+ news: false,
329
+ xhtml: false,
330
+ image: false,
331
+ video: false,
332
+ custom: ['xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"', 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"']
333
+ }
334
+ });
335
+ const content = await streamToPromise(Readable.from(urls).pipe(stream)).then(data => data.toString());
336
+ outputToFile(content, options);
337
+ if (includeRobots) {
338
+ generateRobots(hostname, options);
339
+ }
340
+ };
341
+
342
+ /**
343
+ * Private function to fetch locales
344
+ *
345
+ * @param {GoogleAuth<JSONClient>} auth
346
+ * @param {ConfigOption} options
347
+ * @return {Promise<void>}
348
+ */
349
+ const innerFetchLocales = async (auth, options) => {
350
+ // console.log('auth', auth);
351
+ const values = await fetchGoogleSheet(auth, options.spreadsheetId, options.spreadsheetTab);
352
+ if (!values || values.length === 0) {
353
+ console.log('No data found.');
354
+ return;
355
+ }
356
+ // console.log('values,', values);
357
+ const data = processLocales(values);
358
+ exportLocales(data, options.output);
359
+ };
360
+ /**
361
+ * Private function to fetch config
362
+ *
363
+ * @param {GoogleAuth<JSONClient>} auth
364
+ * @param {ConfigOption} options
365
+ * @return {Promise<void>}
366
+ */
367
+ const innerFetchConfig = async (auth, options) => {
368
+ // console.log('auth', auth);
369
+ const values = await fetchGoogleSheet(auth, options.spreadsheetId, options.spreadsheetTab);
370
+ if (!values || values.length === 0) {
371
+ console.log('No data found.');
372
+ return;
373
+ }
374
+ // console.log('values,', values);
375
+ const data = processConfig(values);
376
+ exportConfig(data, options.output);
377
+ };
378
+ /**
379
+ * Fetch locales
380
+ *
381
+ * @param {ConfigOptions} options
382
+ * @return {void}
383
+ */
384
+ const fetchLocales = options => {
385
+ try {
386
+ const auth = authorizeServiceAccount();
387
+ innerFetchLocales(auth, options);
388
+ } catch (error) {
389
+ console.error(error);
390
+ }
391
+ };
392
+ /**
393
+ * Fetch config
394
+ *
395
+ * @param {ConfigOptions} options
396
+ * @return {void}
397
+ */
398
+ const fetchConfig = options => {
399
+ try {
400
+ const auth = authorizeServiceAccount();
401
+ innerFetchConfig(auth, options);
402
+ } catch (error) {
403
+ console.error(error);
404
+ }
405
+ };
406
+ /**
407
+ * Fetch all format from array options
408
+ *
409
+ * @param {ConfigOptions[]} options
410
+ * @return {void}
411
+ */
412
+ const fetchAll = options => {
413
+ try {
414
+ const auth = authorizeServiceAccount();
415
+ options.forEach(option => {
416
+ if (option.formatAs === 'locales') {
417
+ innerFetchLocales(auth, option);
418
+ } else if (option.formatAs === 'config') {
419
+ innerFetchConfig(auth, option);
420
+ }
421
+ });
422
+ } catch (error) {
423
+ console.error(error);
424
+ }
425
+ };
426
+ /**
427
+ * Fetch raw value
428
+ *
429
+ * @param {ConfigOptions} options
430
+ * @return {Promise<any[][] | null | undefined>}
431
+ */
432
+ const fetchRawValue = async options => {
433
+ try {
434
+ const auth = authorizeServiceAccount();
435
+ return await fetchGoogleSheet(auth, options.spreadsheetId, options.spreadsheetTab);
436
+ } catch (error) {
437
+ console.error(error);
438
+ }
439
+ return null;
440
+ };
441
+
442
+ export { fetchAll, fetchConfig, fetchLocales, fetchRawValue, transformConfig, transformSitemap };
443
+ //# sourceMappingURL=config-cli.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cli.mjs","sources":["../src/Config/Output.ts","../src/Config/Config.ts","../src/Config/GoogleAuth.ts","../src/Config/Locales.ts","../src/Config/Sitemap.ts","../src/config-cli.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["outputToFile","content","options","filename","isFilenameLowercase","toLowerCase","filePath","folder","writeFile","err","console","log","processConfig","rows","versionConfig","params","map","key","forEach","row","index","processRow","data","versionName","paramsName","undefined","paramsTypeHandler","isJsonString","str","JSON","parse","e","booleanText","includes","toUpperCase","exportConfig","config","stringify","envMap","env","result","Error","contentMap","value","exportAs","lodash","isNull","transformConfig","configKeyPrefix","envKey","Object","keys","newConfigKey","extensionFile","join","Array","isArray","hasOwnProperty","SCOPES","GOOGLE_APPLICATION_CREDENTIALS_PATH","path","process","cwd","authorizeServiceAccount","isExist","existsSync","scopes","keyFile","GoogleAuth","fetchGoogleSheet","auth","spreadsheetId","spreadsheetTab","sheets","google","version","res","spreadsheets","values","get","range","majorDimension","processLocales","lang","langData","dIndex","exportLocales","generateRobots","hostname","transformSitemap","urls","includeRobots","stream","SitemapStream","lastmodDateOnly","xmlns","news","xhtml","image","video","custom","streamToPromise","Readable","from","pipe","then","toString","innerFetchLocales","length","output","innerFetchConfig","fetchLocales","error","fetchConfig","fetchAll","option","formatAs","fetchRawValue"],"mappings":";;;;;;;;;AAGA;;;;;;AAMG;AACH,MAAMA,YAAY,GAAGA,CAACC,OAAe,EAAEC,OAAsB,KAAU;AACrE,EAAA,IAAIC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,CAAA;EAE/B,IAAID,OAAO,CAACE,mBAAmB,EAAE;AAC/BD,IAAAA,QAAQ,GAAGA,QAAQ,CAACE,WAAW,EAAE,CAAA;AACnC,GAAA;EAEA,MAAMC,QAAQ,GAAG,CAAGJ,EAAAA,OAAO,CAACK,MAAM,CAAA,CAAA,EAAIJ,QAAQ,CAAE,CAAA,CAAA;EAEhDK,SAAS,CAACF,QAAQ,EAAEL,OAAO,EAAE,MAAM,EAAE,UAAUQ,GAAG,EAAA;AAChD,IAAA,IAAIA,GAAG,EAAE;AACP,MAAA,MAAMA,GAAG,CAAA;AACX,KAAA;AAEAC,IAAAA,OAAO,CAACC,GAAG,CAACL,QAAQ,EAAEL,OAAO,CAAC,CAAA;AAChC,GAAC,CAAC,CAAA;AACJ,CAAC;;ACrBD;;;;;AAKG;AACH,MAAMW,aAAa,GAAIC,IAAa,IAAe;EACjD,IAAIC,aAAa,GAAc,EAAE,CAAA;EAEjC,IAAIC,MAAM,GAAGF,IAAI,CAAC,CAAC,CAAC,CAACG,GAAG,CAAEC,GAAG,IAAI;AAC/B,IAAA,OAAOA,GAAG,CAAA;AACZ,GAAC,CAAC,CAAA;AAEFJ,EAAAA,IAAI,CAACK,OAAO,CAAC,CAACC,GAAa,EAAEC,KAAa,KAAI;IAC5C,IAAIA,KAAK,KAAK,CAAC,EAAE;AACf,MAAA,OAAA;AACF,KAAA;IAEAN,aAAa,GAAGO,UAAU,CAACF,GAAG,EAAEJ,MAAM,EAAED,aAAa,CAAC,CAAA;AACxD,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOA,aAAa,CAAA;AACtB,CAAC,CAAA;AAED;;;;;;;AAOG;AACH,MAAMO,UAAU,GAAGA,CACjBC,IAAc,EACdP,MAAgB,EAChBD,aAAwB,KACX;AACb,EAAA,MAAMS,WAAW,GAAGD,IAAI,CAAC,CAAC,CAAC,CAAA;AAC3BR,EAAAA,aAAa,CAACS,WAAW,CAAC,GAAG,EAAE,CAAA;AAE/BR,EAAAA,MAAM,CAACG,OAAO,CAAC,CAACM,UAAU,EAAEJ,KAAK,KAAI;AACnC,IAAA,IAAIA,KAAK,KAAK,CAAC,IAAIE,IAAI,CAACF,KAAK,CAAC,KAAKK,SAAS,IAAIH,IAAI,CAACF,KAAK,CAAC,KAAK,EAAE,EAAE;AAClE,MAAA,OAAA;AACF,KAAA;AAEAN,IAAAA,aAAa,CAACS,WAAW,CAAC,CAACC,UAAU,CAAC,GAAGE,iBAAiB,CAACJ,IAAI,CAACF,KAAK,CAAC,CAAC,CAAA;AACzE,GAAC,CAAC,CAAA;AAEF,EAAA,OAAON,aAAa,CAAA;AACtB,CAAC,CAAA;AAED;;;;;AAKG;AACH,MAAMa,YAAY,GAAIC,GAAW,IAAa;EAC5C,IAAI;AACFC,IAAAA,IAAI,CAACC,KAAK,CAACF,GAAG,CAAC,CAAA;GAChB,CAAC,OAAOG,CAAC,EAAE;AACV,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;AAKG;AACH,MAAML,iBAAiB,GAAIX,MAAc,IAAS;AAChD,EAAA,MAAMiB,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;EAErC,IAAIA,WAAW,CAACC,QAAQ,CAAClB,MAAM,CAACmB,WAAW,EAAE,CAAC,EAAE;IAC9C,OAAOnB,MAAM,KAAK,MAAM,CAAA;AAC1B,GAAA;AAEA,EAAA,IAAIY,YAAY,CAACZ,MAAM,CAAC,EAAE;AACxB,IAAA,OAAOc,IAAI,CAACC,KAAK,CAACf,MAAM,CAAC,CAAA;AAC3B,GAAA;AAEA,EAAA,OAAOA,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;AAMG;AACH,MAAMoB,YAAY,GAAGA,CAACb,IAAe,EAAEpB,OAAsB,KAAU;AACrE,EAAA,MAAMkC,MAAM,GAAG;AACbrB,IAAAA,MAAM,EAAEO,IAAAA;GACT,CAAA;AAED,EAAA,MAAMrB,OAAO,GAAG,CAAoB4B,iBAAAA,EAAAA,IAAI,CAACQ,SAAS,CAACD,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAE,CAAA,CAAA;AAErEpC,EAAAA,YAAY,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAA;AAChC,CAAC,CAAA;AAED;;;;;AAKG;AACH,MAAMoC,MAAM,GAAIC,GAAW,IAAY;AACrC,EAAA,IAAIC,MAAM,CAAA;AAEV,EAAA,QAAQD,GAAG;AACT,IAAA,KAAK,KAAK,CAAA;AACV,IAAA,KAAK,SAAS,CAAA;AACd,IAAA,KAAK,aAAa;AAChBC,MAAAA,MAAM,GAAG,KAAK,CAAA;AACd,MAAA,MAAA;AACF,IAAA,KAAK,KAAK,CAAA;AACV,IAAA,KAAK,MAAM,CAAA;AACX,IAAA,KAAK,SAAS;AACZA,MAAAA,MAAM,GAAG,SAAS,CAAA;AAClB,MAAA,MAAA;AACF,IAAA,KAAK,KAAK,CAAA;AACV,IAAA,KAAK,MAAM,CAAA;AACX,IAAA,KAAK,YAAY;AACfA,MAAAA,MAAM,GAAG,YAAY,CAAA;AACrB,MAAA,MAAA;AACF,IAAA;AACE,MAAA,MAAM,IAAIC,KAAK,CAAC,CAAOF,IAAAA,EAAAA,GAAG,iBAAiB,CAAC,CAAA;AAChD,GAAA;AAEA,EAAA,OAAOC,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;;AAOG;AACH,MAAME,UAAU,GAAGA,CAACzB,GAAW,EAAE0B,KAAU,EAAEC,QAAgB,KAAY;EACvE,IAAI3C,OAAO,GAAG,EAAE,CAAA;AAEhB,EAAA,QAAQ2C,QAAQ;AACd,IAAA,KAAK,IAAI;AACP,MAAA,IAAIC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC,EAAE;AACxB1C,QAAAA,OAAO,IAAI,CAAA,aAAA,EAAgBgB,GAAG,CAAA,kBAAA,EAAqB0B,KAAK,CAAK,GAAA,CAAA,CAAA;AAC/D,OAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE;AACrC1C,QAAAA,OAAO,IAAI,CAAA,aAAA,EAAgBgB,GAAG,CAAA,YAAA,EAAe0B,KAAK,CAAK,GAAA,CAAA,CAAA;AACzD,OAAC,MAAM;AACL1C,QAAAA,OAAO,IAAI,CAAA,aAAA,EAAgBgB,GAAG,CAAA,IAAA,EAAO0B,KAAK,CAAM,IAAA,CAAA,CAAA;AAClD,OAAA;AACA,MAAA,MAAA;AACF,IAAA,KAAK,IAAI;AACP1C,MAAAA,OAAO,IAAI,CAAA,aAAA,EAAgBgB,GAAG,CAAA,IAAA,EAAO0B,KAAK,CAAM,IAAA,CAAA,CAAA;AAChD,MAAA,MAAA;AACF,IAAA,KAAK,KAAK;AACR1C,MAAAA,OAAO,IAAI,CAAA,EAAGgB,GAAG,CAAA,IAAA,EAAO0B,KAAK,CAAK,GAAA,CAAA,CAAA;AAClC,MAAA,MAAA;AACF,IAAA;AACE,MAAA,MAAM,IAAIF,KAAK,CAAC,CAAYG,SAAAA,EAAAA,QAAQ,iBAAiB,CAAC,CAAA;AAC1D,GAAA;AAEA,EAAA,OAAO3C,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;;;AAQG;AACG8C,MAAAA,eAAe,GAAGA,CACtBzB,IAAe,EACfiB,GAAW,EACXS,eAAuB,EACvB9C,OAAsB,KACd;EACR,MAAM+C,MAAM,GAAGD,eAAe,GAAG,GAAGA,eAAe,CAAA,GAAA,CAAK,GAAG,KAAK,CAAA;AAEhE,EAAA,IAAI/C,OAAO,GAAGyC,UAAU,CAACO,MAAM,EAAEX,MAAM,CAACC,GAAG,CAAC,EAAErC,OAAO,CAAC0C,QAAS,CAAC,CAAA;EAEhEM,MAAM,CAACC,IAAI,CAAC7B,IAAI,CAAC,CAACJ,OAAO,CAAED,GAAG,IAAI;IAChC,MAAMmC,YAAY,GAAGJ,eAAe,GAAG,CAAA,EAAGA,eAAe,CAAG/B,EAAAA,GAAG,CAAE,CAAA,GAAGA,GAAG,CAAA;IAEvE,IAAIA,GAAG,KAAK,cAAc,EAAE;MAC1B,MAAMoC,aAAa,GAAG,CACpB,CAAA,CAAA,EAAI/B,IAAI,CAACL,GAAG,CAAC,CAAA,GAAA,CAAK,EAClB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,IAAA,CAAM,EACnB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,GAAA,CAAK,EAClB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,IAAA,CAAM,EACnB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,IAAA,CAAM,EACnB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,KAAA,CAAO,EACpB,CAAA,CAAA,EAAIK,IAAI,CAACL,GAAG,CAAC,CAAA,KAAA,CAAO,CACrB,CAAA;AAEDhB,MAAAA,OAAO,IAAIyC,UAAU,CACnBU,YAAY,EACZC,aAAa,CAACC,IAAI,CAAC,GAAG,CAAC,EACvBpD,OAAO,CAAC0C,QAAS,CAClB,CAAA;AAED,MAAA,OAAA;AACF,KAAA;IAEA,IAAI3B,GAAG,KAAK,SAAS,EAAE;AACrBhB,MAAAA,OAAO,IAAIyC,UAAU,CACnBU,YAAY,EACZvB,IAAI,CAACQ,SAAS,CAACf,IAAI,CAACL,GAAG,CAAC,CAAC,EACzBf,OAAO,CAAC0C,QAAS,CAClB,CAAA;AAED,MAAA,OAAA;AACF,KAAA;IAEA,IAAIW,KAAK,CAACC,OAAO,CAAClC,IAAI,CAACL,GAAG,CAAC,CAAC,EAAE;AAC5BhB,MAAAA,OAAO,IAAIyC,UAAU,CACnBU,YAAY,EACZ9B,IAAI,CAACL,GAAG,CAAC,CAACqC,IAAI,CAAC,GAAG,CAAC,EACnBpD,OAAO,CAAC0C,QAAS,CAClB,CAAA;AAED,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAI,OAAOtB,IAAI,CAACL,GAAG,CAAC,KAAK,QAAQ,EAAE;MACjC,IAAIK,IAAI,CAACL,GAAG,CAAC,CAACwC,cAAc,CAAClB,GAAG,CAAC,EAAE;AACjCtC,QAAAA,OAAO,IAAIyC,UAAU,CAACU,YAAY,EAAE9B,IAAI,CAACL,GAAG,CAAC,CAACsB,GAAG,CAAC,EAAErC,OAAO,CAAC0C,QAAS,CAAC,CAAA;AACxE,OAAC,MAAM;AACL3C,QAAAA,OAAO,IAAIyC,UAAU,CACnBU,YAAY,EACZvB,IAAI,CAACQ,SAAS,CAACf,IAAI,CAACL,GAAG,CAAC,CAAC,EACzBf,OAAO,CAAC0C,QAAS,CAClB,CAAA;AACH,OAAA;AAEA,MAAA,OAAA;AACF,KAAA;AAEA3C,IAAAA,OAAO,IAAIyC,UAAU,CAACU,YAAY,EAAE9B,IAAI,CAACL,GAAG,CAAC,EAAEf,OAAO,CAAC0C,QAAS,CAAC,CAAA;AACnE,GAAC,CAAC,CAAA;AAEF5C,EAAAA,YAAY,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAA;AAChC;;ACxPA,MAAMwD,MAAM,GAAG,CAAC,uDAAuD,CAAC,CAAA;AACxE,MAAMC,mCAAmC,GAAGC,IAAI,CAACN,IAAI,CACnDO,OAAO,CAACC,GAAG,EAAE,EACb,sCAAsC,CACvC,CAAA;AAED;;;AAGG;AACH,MAAMC,uBAAuB,GAAGA,MAA6B;AAC3D,EAAA,MAAMC,OAAO,GAAGC,UAAU,CAACN,mCAAmC,CAAC,CAAA;AAE/D,EAAA,MAAMzD,OAAO,GAAQ;AACnBgE,IAAAA,MAAM,EAAER,MAAAA;GACT,CAAA;AAED,EAAA,IAAIM,OAAO,EAAE;IACX9D,OAAO,CAACiE,OAAO,GAAGR,mCAAmC,CAAA;AACvD,GAAA;AAEA,EAAA,OAAO,IAAIS,UAAU,CAAClE,OAAO,CAAC,CAAA;AAChC,CAAC,CAAA;AAED;;;;;AAKG;AACH,MAAMmE,gBAAgB,GAAG,OACvBC,IAA4B,EAC5BC,aAAqB,EACrBC,cAAsB,KACiB;AACvC,EAAA,MAAMC,MAAM,GAAGC,MAAM,CAACD,MAAM,CAAC;AAAEE,IAAAA,OAAO,EAAE,IAAI;AAAEL,IAAAA,IAAAA;AAAI,GAAE,CAAC,CAAA;EAErD,MAAMM,GAAG,GAAG,MAAMH,MAAM,CAACI,YAAY,CAACC,MAAM,CAACC,GAAG,CAAC;AAC/CR,IAAAA,aAAa,EAAEA,aAAa;AAC5BS,IAAAA,KAAK,EAAER,cAAc;AACrBS,IAAAA,cAAc,EAAE,SAAA;AACjB,GAAA,CAAC,CAAA;AAEF,EAAA,OAAOL,GAAG,CAACtD,IAAI,CAACwD,MAAM,CAAA;AACxB,CAAC;;AC9CD;;;;;AAKG;AACH,MAAMI,cAAc,GAAIrE,IAAa,IAAe;EAClD,IAAIsC,IAAI,GAAGtC,IAAI,CAAC,CAAC,CAAC,CAACG,GAAG,CAAEC,GAAG,IAAI;AAC7B,IAAA,OAAOA,GAAG,CAAA;AACZ,GAAC,CAAC,CAAA;EAEF,IAAIK,IAAI,GAAc,EAAE,CAAA;AAExBT,EAAAA,IAAI,CAACK,OAAO,CAAC,CAACiE,IAAc,EAAE/D,KAAa,KAAI;IAC7C,IAAIA,KAAK,KAAK,CAAC,EAAE;AACf,MAAA,OAAA;AACF,KAAA;IAEA,IAAIgE,QAAQ,GAAc,EAAE,CAAA;AAE5BD,IAAAA,IAAI,CAACjE,OAAO,CAAC,CAACI,IAAY,EAAE+D,MAAc,KAAI;MAC5C,IAAIA,MAAM,KAAK,CAAC,EAAE;AAChB,QAAA,OAAA;AACF,OAAA;AAEAD,MAAAA,QAAQ,CAACjC,IAAI,CAACkC,MAAM,CAAC,CAAC,GAAG/D,IAAI,CAAA;AAC/B,KAAC,CAAC,CAAA;AAEFA,IAAAA,IAAI,CAAC6D,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGC,QAAQ,CAAA;AAC1B,GAAC,CAAC,CAAA;AAEF,EAAA,OAAO9D,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;AAMG;AACH,MAAMgE,aAAa,GAAGA,CAAChE,IAAe,EAAEpB,OAAsB,KAAU;EACtEgD,MAAM,CAACC,IAAI,CAAC7B,IAAI,CAAC,CAACJ,OAAO,CAAED,GAAG,IAAI;AAChCf,IAAAA,OAAO,CAACC,QAAQ,GAAG,CAAA,EAAGc,GAAG,CAAA,CAAA,EAAIf,OAAO,CAAC0C,QAAS,CAACvC,WAAW,EAAE,CAAE,CAAA,CAAA;IAE9D,IAAIJ,OAAO,GAAG,EAAE,CAAA;IAEhB,QAAQC,OAAO,CAAC0C,QAAQ;AACtB,MAAA,KAAK,IAAI;AACP3C,QAAAA,OAAO,GAAG,iBAAiB,GAAG4B,IAAI,CAACQ,SAAS,CAACf,IAAI,CAACL,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAChE,QAAA,MAAA;AACF,MAAA,KAAK,MAAM;AACThB,QAAAA,OAAO,GAAG4B,IAAI,CAACQ,SAAS,CAACf,IAAI,CAACL,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAC5C,QAAA,MAAA;AACF,MAAA;QACE,MAAM,IAAIwB,KAAK,CAAC,CAAA,SAAA,EAAYvC,OAAO,CAAC0C,QAAQ,iBAAiB,CAAC,CAAA;AAClE,KAAA;IAEA,IAAI,CAAC3C,OAAO,EAAE;AACZ,MAAA,MAAM,IAAIwC,KAAK,CAAC,CAAA,yCAAA,CAA2C,CAAC,CAAA;AAC9D,KAAA;AAEAzC,IAAAA,YAAY,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAA;AAChC,GAAC,CAAC,CAAA;AACJ,CAAC;;AC/DD;;;;;;AAMG;AACH,MAAMqF,cAAc,GAAGA,CAACC,QAAgB,EAAEtF,OAAsB,KAAU;AACxE,EAAA,IAAID,OAAO,GAAG,CACZ,4CAA4C,EAC5C,YAAYuF,QAAQ,CAAA,CAAA,EAAItF,OAAO,CAACC,QAAQ,CAAE,CAAA,EAC1C,eAAe,EACf,WAAW,CACZ,CAAA;EAEDD,OAAO,CAACC,QAAQ,GAAG,YAAY,CAAA;EAE/BH,YAAY,CAACC,OAAO,CAACqD,IAAI,CAAC,MAAM,CAAC,EAAEpD,OAAO,CAAC,CAAA;AAC7C,CAAC,CAAA;AAED;;;;;;;;AAQG;AACGuF,MAAAA,gBAAgB,GAAG,OACvBD,QAAgB,EAChBE,IAAkB,EAClBC,aAAsB,EACtBzF,OAAsB,KACL;AACjB,EAAA,MAAM0F,MAAM,GAAG,IAAIC,aAAa,CAAC;AAC/BL,IAAAA,QAAQ,EAAEA,QAAQ;AAClBM,IAAAA,eAAe,EAAE,KAAK;AACtBC,IAAAA,KAAK,EAAE;AACLC,MAAAA,IAAI,EAAE,KAAK;AACXC,MAAAA,KAAK,EAAE,KAAK;AACZC,MAAAA,KAAK,EAAE,KAAK;AACZC,MAAAA,KAAK,EAAE,KAAK;AACZC,MAAAA,MAAM,EAAE,CACN,uDAAuD,EACvD,0HAA0H,CAAA;AAE7H,KAAA;AACF,GAAA,CAAC,CAAA;EACF,MAAMnG,OAAO,GAAG,MAAMoG,eAAe,CAACC,QAAQ,CAACC,IAAI,CAACb,IAAI,CAAC,CAACc,IAAI,CAACZ,MAAM,CAAC,CAAC,CAACa,IAAI,CACzEnF,IAAI,IAAKA,IAAI,CAACoF,QAAQ,EAAE,CAC1B,CAAA;AAED1G,EAAAA,YAAY,CAACC,OAAO,EAAEC,OAAO,CAAC,CAAA;AAE9B,EAAA,IAAIyF,aAAa,EAAE;AACjBJ,IAAAA,cAAc,CAACC,QAAQ,EAAEtF,OAAO,CAAC,CAAA;AACnC,GAAA;AACF;;ACnDA;;;;;;AAMG;AACH,MAAMyG,iBAAiB,GAAG,OACxBrC,IAA4B,EAC5BpE,OAAsB,KACL;AACjB;AAEA,EAAA,MAAM4E,MAAM,GAAG,MAAMT,gBAAgB,CACnCC,IAAI,EACJpE,OAAO,CAACqE,aAAa,EACrBrE,OAAO,CAACsE,cAAc,CACvB,CAAA;EAED,IAAI,CAACM,MAAM,IAAIA,MAAM,CAAC8B,MAAM,KAAK,CAAC,EAAE;AAClClG,IAAAA,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC7B,IAAA,OAAA;AACF,GAAA;AAEA;AAEA,EAAA,MAAMW,IAAI,GAAG4D,cAAc,CAACJ,MAAM,CAAC,CAAA;AAEnCQ,EAAAA,aAAa,CAAChE,IAAI,EAAEpB,OAAO,CAAC2G,MAAM,CAAC,CAAA;AACrC,CAAC,CAAA;AAED;;;;;;AAMG;AACH,MAAMC,gBAAgB,GAAG,OACvBxC,IAA4B,EAC5BpE,OAAsB,KACL;AACjB;AAEA,EAAA,MAAM4E,MAAM,GAAG,MAAMT,gBAAgB,CACnCC,IAAI,EACJpE,OAAO,CAACqE,aAAa,EACrBrE,OAAO,CAACsE,cAAc,CACvB,CAAA;EAED,IAAI,CAACM,MAAM,IAAIA,MAAM,CAAC8B,MAAM,KAAK,CAAC,EAAE;AAClClG,IAAAA,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC7B,IAAA,OAAA;AACF,GAAA;AAEA;AAEA,EAAA,MAAMW,IAAI,GAAGV,aAAa,CAACkE,MAAM,CAAC,CAAA;AAElC3C,EAAAA,YAAY,CAACb,IAAI,EAAEpB,OAAO,CAAC2G,MAAM,CAAC,CAAA;AACpC,CAAC,CAAA;AAED;;;;;AAKG;AACUE,MAAAA,YAAY,GAAI7G,OAAsB,IAAU;EAC3D,IAAI;AACF,IAAA,MAAMoE,IAAI,GAAGP,uBAAuB,EAAE,CAAA;AAEtC4C,IAAAA,iBAAiB,CAACrC,IAAI,EAAEpE,OAAO,CAAC,CAAA;GACjC,CAAC,OAAO8G,KAAK,EAAE;AACdtG,IAAAA,OAAO,CAACsG,KAAK,CAACA,KAAK,CAAC,CAAA;AACtB,GAAA;AACF,EAAC;AAED;;;;;AAKG;AACUC,MAAAA,WAAW,GAAI/G,OAAsB,IAAU;EAC1D,IAAI;AACF,IAAA,MAAMoE,IAAI,GAAGP,uBAAuB,EAAE,CAAA;AAEtC+C,IAAAA,gBAAgB,CAACxC,IAAI,EAAEpE,OAAO,CAAC,CAAA;GAChC,CAAC,OAAO8G,KAAK,EAAE;AACdtG,IAAAA,OAAO,CAACsG,KAAK,CAACA,KAAK,CAAC,CAAA;AACtB,GAAA;AACF,EAAC;AAED;;;;;AAKG;AACUE,MAAAA,QAAQ,GAAIhH,OAAwB,IAAU;EACzD,IAAI;AACF,IAAA,MAAMoE,IAAI,GAAGP,uBAAuB,EAAE,CAAA;AAEtC7D,IAAAA,OAAO,CAACgB,OAAO,CAAEiG,MAAM,IAAI;AACzB,MAAA,IAAIA,MAAM,CAACC,QAAQ,KAAK,SAAS,EAAE;AACjCT,QAAAA,iBAAiB,CAACrC,IAAI,EAAE6C,MAAM,CAAC,CAAA;AACjC,OAAC,MAAM,IAAIA,MAAM,CAACC,QAAQ,KAAK,QAAQ,EAAE;AACvCN,QAAAA,gBAAgB,CAACxC,IAAI,EAAE6C,MAAM,CAAC,CAAA;AAChC,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAC,OAAOH,KAAK,EAAE;AACdtG,IAAAA,OAAO,CAACsG,KAAK,CAACA,KAAK,CAAC,CAAA;AACtB,GAAA;AACF,EAAC;AAED;;;;;AAKG;AACUK,MAAAA,aAAa,GAAG,MAC3BnH,OAAsB,IACiB;EACvC,IAAI;AACF,IAAA,MAAMoE,IAAI,GAAGP,uBAAuB,EAAE,CAAA;AAEtC,IAAA,OAAO,MAAMM,gBAAgB,CAC3BC,IAAI,EACJpE,OAAO,CAACqE,aAAa,EACrBrE,OAAO,CAACsE,cAAc,CACvB,CAAA;GACF,CAAC,OAAOwC,KAAK,EAAE;AACdtG,IAAAA,OAAO,CAACsG,KAAK,CAACA,KAAK,CAAC,CAAA;AACtB,GAAA;AAEA,EAAA,OAAO,IAAI,CAAA;AACb;;;;"}
@@ -0,0 +1,5 @@
1
+ export declare enum CurrencySymbolEnum {
2
+ TWD = "NT$",// Taiwan
3
+ USD = "US$",// USA
4
+ VND = "\u20AB"
5
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CurrencySymbolEnum = void 0;
7
+ var CurrencySymbolEnum = exports.CurrencySymbolEnum = /*#__PURE__*/function (CurrencySymbolEnum) {
8
+ CurrencySymbolEnum["TWD"] = "NT$";
9
+ CurrencySymbolEnum["USD"] = "US$";
10
+ CurrencySymbolEnum["VND"] = "\u20AB";
11
+ return CurrencySymbolEnum;
12
+ }({}); // Vietnam
13
+ //# sourceMappingURL=CurrencySymbolEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrencySymbolEnum.js","names":["CurrencySymbolEnum","exports"],"sources":["../../src/enums/CurrencySymbolEnum.ts"],"sourcesContent":["export enum CurrencySymbolEnum {\n TWD = 'NT$', // Taiwan\n USD = 'US$', // USA\n VND = '₫', // Vietnam\n}\n"],"mappings":";;;;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA,OAGjB","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var intlNumberformat = require('@formatjs/intl-numberformat');
4
+
5
+ exports.CurrencySymbolEnum = void 0;
6
+ (function (CurrencySymbolEnum) {
7
+ CurrencySymbolEnum["TWD"] = "NT$";
8
+ CurrencySymbolEnum["USD"] = "US$";
9
+ CurrencySymbolEnum["VND"] = "\u20AB";
10
+ })(exports.CurrencySymbolEnum || (exports.CurrencySymbolEnum = {}));
11
+
12
+ class NumberParser {
13
+ constructor(locale) {
14
+ const parts = new intlNumberformat.NumberFormat(locale).formatToParts(12345.6);
15
+ const numerals = [...new intlNumberformat.NumberFormat(locale, {
16
+ useGrouping: false
17
+ }).format(9876543210)].reverse();
18
+ const index = new Map(numerals.map((d, i) => [d, i]));
19
+ this._group = new RegExp(`[${parts.find(d => d.type === 'group')?.value}]`, 'g');
20
+ this._decimal = new RegExp(`[${parts.find(d => d.type === 'decimal')?.value}]`);
21
+ this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
22
+ this._index = d => index.get(d);
23
+ }
24
+ parse(value) {
25
+ value = value?.trim()?.replace(this._group, '')?.replace(this._decimal, '.')?.replace(this._numeral, this._index);
26
+ return value ? +value : NaN;
27
+ }
28
+ }
29
+
30
+ const formatAccountNumber = function (accountNumber) {
31
+ let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';
32
+ return accountNumber?.replace(/\s?/g, '').replace(/(\d{4})/g, `$1${separator}`).trim();
33
+ };
34
+ const getCurrencySymbol = function (currency) {
35
+ let showCurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
36
+ let symbol;
37
+ switch (currency) {
38
+ case 'TWD':
39
+ symbol = exports.CurrencySymbolEnum.TWD;
40
+ break;
41
+ case 'USD':
42
+ symbol = exports.CurrencySymbolEnum.USD;
43
+ break;
44
+ case 'VND':
45
+ symbol = exports.CurrencySymbolEnum.VND;
46
+ break;
47
+ default:
48
+ symbol = '';
49
+ }
50
+ if (!showCurrency) {
51
+ symbol = '';
52
+ }
53
+ return symbol;
54
+ };
55
+ const formatNumber = options => {
56
+ options.value = options.value ?? 0;
57
+ options.styleCurrency = options.styleCurrency ?? 'currency';
58
+ options.currencyDisplay = options.currencyDisplay ?? 'code';
59
+ options.showValue = options.showValue ?? true;
60
+ options.showCurrency = options.showCurrency ?? true;
61
+ options.minimumFractionDigits = options.minimumFractionDigits ?? 0;
62
+ options.maximumFractionDigits = options.maximumFractionDigits ?? 0;
63
+ options.trailingZeroDisplay = options.trailingZeroDisplay ?? 'stripIfInteger';
64
+ // console.log(`options: ${JSON.stringify(options)}.`);
65
+ let formatOptions = {
66
+ style: options.styleCurrency,
67
+ currency: options.currency,
68
+ currencyDisplay: options.currencyDisplay,
69
+ minimumFractionDigits: options.minimumFractionDigits,
70
+ maximumFractionDigits: options.maximumFractionDigits,
71
+ trailingZeroDisplay: options.trailingZeroDisplay
72
+ };
73
+ if (options.options) {
74
+ formatOptions = {
75
+ ...formatOptions,
76
+ ...options.options
77
+ };
78
+ }
79
+ let localizedNumber = intlNumberformat.NumberFormat(options.lang, formatOptions).format(options.value).replace(/^([\d,.]+)(\s*)([A-Z]{3})$/, '$3$2$1').replace(/([\d,.]+)$/, options.showValue ? ' $1' : ' ********').replace(options.currency, getCurrencySymbol(options.currency, options.showCurrency)).trim();
80
+ // console.log(`localizedNumber: ${localizedNumber}.`);
81
+ return localizedNumber;
82
+ };
83
+ const parseFormatNumber = (lang, value) => {
84
+ if (!value) {
85
+ return null;
86
+ }
87
+ return new NumberParser(lang).parse(value);
88
+ };
89
+
90
+ require('@formatjs/intl-getcanonicallocales/polyfill');
91
+ require('@formatjs/intl-locale/polyfill');
92
+ require('@formatjs/intl-pluralrules/polyfill');
93
+ require('@formatjs/intl-pluralrules/locale-data/en');
94
+ require('@formatjs/intl-pluralrules/locale-data/vi');
95
+ require('@formatjs/intl-pluralrules/locale-data/zh');
96
+ require('@formatjs/intl-displaynames/polyfill');
97
+ require('@formatjs/intl-displaynames/locale-data/en');
98
+ require('@formatjs/intl-displaynames/locale-data/vi');
99
+ require('@formatjs/intl-displaynames/locale-data/zh');
100
+ require('@formatjs/intl-listformat/polyfill');
101
+ require('@formatjs/intl-listformat/locale-data/en');
102
+ require('@formatjs/intl-listformat/locale-data/vi');
103
+ require('@formatjs/intl-listformat/locale-data/zh');
104
+ require('@formatjs/intl-numberformat/polyfill');
105
+ require('@formatjs/intl-numberformat/locale-data/en');
106
+ require('@formatjs/intl-numberformat/locale-data/vi');
107
+ require('@formatjs/intl-numberformat/locale-data/zh');
108
+ require('@formatjs/intl-relativetimeformat/polyfill');
109
+ require('@formatjs/intl-relativetimeformat/locale-data/en');
110
+ require('@formatjs/intl-relativetimeformat/locale-data/vi');
111
+ require('@formatjs/intl-relativetimeformat/locale-data/zh');
112
+ require('@formatjs/intl-datetimeformat/polyfill');
113
+ require('@formatjs/intl-datetimeformat/locale-data/en');
114
+ require('@formatjs/intl-datetimeformat/locale-data/vi');
115
+ require('@formatjs/intl-datetimeformat/locale-data/zh');
116
+ require('@formatjs/intl-datetimeformat/add-golden-tz.js');
117
+
118
+ exports.formatAccountNumber = formatAccountNumber;
119
+ exports.formatNumber = formatNumber;
120
+ exports.getCurrencySymbol = getCurrencySymbol;
121
+ exports.parseFormatNumber = parseFormatNumber;
122
+ //# sourceMappingURL=format.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.cjs","sources":["../src/enums/CurrencySymbolEnum.ts","../src/Format/NumberParser.ts","../src/Format/NumberFormat.ts","../src/format.ts"],"sourcesContent":[null,null,null,null],"names":["CurrencySymbolEnum","NumberParser","constructor","locale","parts","NumberFormat","formatToParts","numerals","useGrouping","format","reverse","index","Map","map","d","i","_group","RegExp","find","type","value","_decimal","_numeral","join","_index","get","parse","trim","replace","NaN","formatAccountNumber","accountNumber","separator","arguments","length","undefined","getCurrencySymbol","currency","showCurrency","symbol","TWD","USD","VND","formatNumber","options","styleCurrency","currencyDisplay","showValue","minimumFractionDigits","maximumFractionDigits","trailingZeroDisplay","formatOptions","style","localizedNumber","lang","parseFormatNumber","require"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CurrencySymbolEnum } from './enums/CurrencySymbolEnum';
2
+ export * from './Format/NumberFormat';
3
+ export { CurrencySymbolEnum };