@8ms/helpers 1.1.73 → 1.1.77

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 (352) hide show
  1. package/api/response.d.ts +8 -0
  2. package/api/response.js +12 -1
  3. package/api/states.d.ts +9 -0
  4. package/api/states.js +10 -1
  5. package/api/unexpectedError.d.ts +2 -0
  6. package/api/unexpectedError.js +4 -1
  7. package/array/contains.d.ts +8 -0
  8. package/array/contains.js +6 -2
  9. package/array/getArray.d.ts +7 -0
  10. package/array/getArray.js +10 -2
  11. package/atInternet/request.d.ts +30 -0
  12. package/atInternet/request.js +2 -1
  13. package/aws/athenaExpress/initClient.d.ts +12 -0
  14. package/aws/athenaExpress/initClient.js +27 -3
  15. package/aws/athenaExpress/query.d.ts +8 -0
  16. package/aws/athenaExpress/query.js +9 -2
  17. package/aws/getConfig.d.ts +13 -0
  18. package/aws/getConfig.js +26 -2
  19. package/aws/glue/initClient.d.ts +10 -0
  20. package/aws/glue/initClient.js +17 -2
  21. package/aws/glue/invoke.d.ts +9 -0
  22. package/aws/glue/invoke.js +19 -2
  23. package/aws/isResponse200.d.ts +7 -0
  24. package/aws/isResponse200.js +21 -2
  25. package/aws/lambda/getHandlerPath.d.ts +5 -0
  26. package/aws/lambda/getHandlerPath.js +7 -1
  27. package/aws/lambda/initClient.d.ts +10 -0
  28. package/aws/lambda/initClient.js +17 -2
  29. package/aws/lambda/invoke.d.ts +12 -0
  30. package/aws/lambda/invoke.js +39 -2
  31. package/aws/s3/copyFile.d.ts +13 -0
  32. package/aws/s3/copyFile.js +13 -2
  33. package/aws/s3/deleteFile.d.ts +9 -0
  34. package/aws/s3/deleteFile.js +12 -2
  35. package/aws/s3/deleteFiles.d.ts +9 -0
  36. package/aws/s3/deleteFiles.js +16 -2
  37. package/aws/s3/deleteFolder.d.ts +9 -0
  38. package/aws/s3/deleteFolder.js +35 -2
  39. package/aws/s3/getGlueJson.d.ts +5 -0
  40. package/aws/s3/getGlueJson.js +15 -2
  41. package/aws/s3/getPresignedPost.d.ts +20 -0
  42. package/aws/s3/getPresignedPost.js +16 -3
  43. package/aws/s3/getSignedUrl.d.ts +12 -0
  44. package/aws/s3/getSignedUrl.js +15 -2
  45. package/aws/s3/initClient.d.ts +10 -0
  46. package/aws/s3/initClient.js +17 -2
  47. package/aws/s3/isFileExists.d.ts +9 -0
  48. package/aws/s3/isFileExists.js +26 -2
  49. package/aws/s3/listFiles.d.ts +9 -0
  50. package/aws/s3/listFiles.js +32 -2
  51. package/aws/s3/listFolders.d.ts +9 -0
  52. package/aws/s3/listFolders.js +31 -4
  53. package/aws/s3/moveFile.d.ts +10 -0
  54. package/aws/s3/moveFile.js +20 -2
  55. package/aws/s3/readBuffer.d.ts +13 -0
  56. package/aws/s3/readBuffer.js +51 -2
  57. package/aws/s3/readFile.d.ts +30 -0
  58. package/aws/s3/readFile.js +69 -2
  59. package/aws/s3/writeFile.d.ts +10 -0
  60. package/aws/s3/writeFile.js +15 -2
  61. package/aws/s3/writePresignedPost.d.ts +14 -0
  62. package/aws/s3/writePresignedPost.js +30 -2
  63. package/aws/s3cache/cache.d.ts +7 -0
  64. package/aws/s3cache/cache.js +2 -1
  65. package/aws/s3cache/getCache.d.ts +12 -0
  66. package/aws/s3cache/getCache.js +35 -2
  67. package/aws/s3cache/getKey.d.ts +10 -0
  68. package/aws/s3cache/getKey.js +16 -2
  69. package/aws/s3cache/saveCache.d.ts +10 -0
  70. package/aws/s3cache/saveCache.js +12 -2
  71. package/aws/s3cache/updateCache.d.ts +10 -0
  72. package/aws/s3cache/updateCache.js +23 -2
  73. package/aws/ses/SimpleEmail.d.ts +51 -0
  74. package/aws/ses/SimpleEmail.js +115 -2
  75. package/aws/ses/initClient.d.ts +10 -0
  76. package/aws/ses/initClient.js +17 -2
  77. package/aws/ssm/getParameter.d.ts +10 -0
  78. package/aws/ssm/getParameter.js +39 -2
  79. package/aws/ssm/initClient.d.ts +10 -0
  80. package/aws/ssm/initClient.js +17 -2
  81. package/axios/get.d.ts +8 -0
  82. package/axios/get.js +44 -1
  83. package/axios/post.d.ts +12 -0
  84. package/axios/post.js +46 -2
  85. package/boolean/getBoolean.d.ts +7 -0
  86. package/boolean/getBoolean.js +15 -2
  87. package/class/BaseClass.d.ts +31 -0
  88. package/class/BaseClass.js +50 -9
  89. package/crud/actions.d.ts +8 -0
  90. package/crud/actions.js +10 -1
  91. package/crypto/getDecrypt.d.ts +10 -0
  92. package/crypto/getDecrypt.js +11 -2
  93. package/crypto/getEncrypt.d.ts +10 -0
  94. package/crypto/getEncrypt.js +11 -2
  95. package/crypto/getRandom.d.ts +8 -0
  96. package/crypto/getRandom.js +10 -2
  97. package/crypto/getSha256.d.ts +8 -0
  98. package/crypto/getSha256.js +15 -2
  99. package/date/date.d.ts +4 -0
  100. package/date/date.js +2 -1
  101. package/date/duration.d.ts +5 -0
  102. package/date/duration.js +2 -1
  103. package/date/durationComparisons.d.ts +5 -0
  104. package/date/durationComparisons.js +7 -1
  105. package/date/durations.d.ts +8 -0
  106. package/date/durations.js +10 -1
  107. package/date/financialYear.d.ts +4 -0
  108. package/date/financialYear.js +2 -1
  109. package/date/financialYearWeek.d.ts +6 -0
  110. package/date/financialYearWeek.js +2 -1
  111. package/date/format.d.ts +13 -0
  112. package/date/format.js +18 -2
  113. package/date/getDate.d.ts +12 -0
  114. package/date/getDate.js +96 -9
  115. package/date/getDatesBetween.d.ts +10 -0
  116. package/date/getDatesBetween.js +25 -3
  117. package/date/getDurationHours.d.ts +8 -0
  118. package/date/getDurationHours.js +25 -2
  119. package/date/getDurationMinutes.d.ts +8 -0
  120. package/date/getDurationMinutes.js +24 -2
  121. package/date/getFinancialYear.d.ts +9 -0
  122. package/date/getFinancialYear.js +48 -8
  123. package/date/getFinancialYearToDate.d.ts +7 -0
  124. package/date/getFinancialYearToDate.js +18 -2
  125. package/date/getFinancialYearToYesterday.d.ts +7 -0
  126. package/date/getFinancialYearToYesterday.js +18 -2
  127. package/date/getFinancialYearWeeks.d.ts +9 -0
  128. package/date/getFinancialYearWeeks.js +29 -2
  129. package/date/getLastWeek.d.ts +10 -0
  130. package/date/getLastWeek.js +28 -2
  131. package/date/getMax.d.ts +12 -0
  132. package/date/getMax.js +15 -2
  133. package/date/getMidnight.d.ts +10 -0
  134. package/date/getMidnight.js +12 -2
  135. package/date/getMin.d.ts +12 -0
  136. package/date/getMin.js +15 -2
  137. package/date/getMonday.d.ts +14 -0
  138. package/date/getMonday.js +32 -5
  139. package/date/getNumber.d.ts +11 -0
  140. package/date/getNumber.js +14 -2
  141. package/date/getPredefinedTimeframe.d.ts +9 -0
  142. package/date/getPredefinedTimeframe.js +23 -2
  143. package/date/getSunday.d.ts +14 -0
  144. package/date/getSunday.js +32 -5
  145. package/date/getThisWeek.d.ts +10 -0
  146. package/date/getThisWeek.js +28 -2
  147. package/date/getTimeZoned.d.ts +13 -0
  148. package/date/getTimeZoned.js +36 -5
  149. package/date/getToday.d.ts +9 -0
  150. package/date/getToday.js +39 -2
  151. package/date/getTwoWeeksAgo.d.ts +10 -0
  152. package/date/getTwoWeeksAgo.js +28 -2
  153. package/date/getWeeksAgo.d.ts +12 -0
  154. package/date/getWeeksAgo.js +16 -2
  155. package/date/getYesterday.d.ts +9 -0
  156. package/date/getYesterday.js +40 -2
  157. package/date/isDateValid.d.ts +7 -0
  158. package/date/isDateValid.js +22 -2
  159. package/date/isLastWeek.d.ts +6 -0
  160. package/date/isLastWeek.js +13 -2
  161. package/date/isThisWeek.d.ts +6 -0
  162. package/date/isThisWeek.js +13 -2
  163. package/date/parseExcelDate.d.ts +8 -0
  164. package/date/parseExcelDate.js +17 -2
  165. package/date/predefinedTimeframes.d.ts +7 -0
  166. package/date/predefinedTimeframes.js +9 -1
  167. package/date/timeframe.d.ts +8 -0
  168. package/date/timeframe.js +2 -1
  169. package/date/timeframes.d.ts +4 -0
  170. package/date/timeframes.js +7 -1
  171. package/deepCrawl/buildRequest.d.ts +15 -0
  172. package/deepCrawl/buildRequest.js +83 -4
  173. package/deepCrawl/filter.d.ts +5 -0
  174. package/deepCrawl/filter.js +2 -1
  175. package/deepCrawl/getData.d.ts +5 -0
  176. package/deepCrawl/getData.js +29 -1
  177. package/deepCrawl/initClient.d.ts +13 -0
  178. package/deepCrawl/initClient.js +31 -2
  179. package/deepCrawl/operands.d.ts +11 -0
  180. package/deepCrawl/operands.js +13 -1
  181. package/deepCrawl/orders.d.ts +9 -0
  182. package/deepCrawl/orders.js +7 -1
  183. package/deepCrawl/reports.d.ts +11 -0
  184. package/deepCrawl/reports.js +13 -1
  185. package/environment/environments.d.ts +7 -0
  186. package/environment/environments.js +8 -1
  187. package/environment/getEnvironment.d.ts +6 -0
  188. package/environment/getEnvironment.js +42 -2
  189. package/environment/isAws.d.ts +5 -0
  190. package/environment/isAws.js +10 -2
  191. package/environment/isDevelopment.d.ts +2 -0
  192. package/environment/isDevelopment.js +9 -1
  193. package/environment/isLocalhost.d.ts +5 -0
  194. package/environment/isLocalhost.js +21 -2
  195. package/environment/isProduction.d.ts +2 -0
  196. package/environment/isProduction.js +9 -1
  197. package/environment/isStaging.d.ts +2 -0
  198. package/environment/isStaging.js +9 -1
  199. package/environment/isVercel.d.ts +5 -0
  200. package/environment/isVercel.js +6 -2
  201. package/environment/platforms.d.ts +6 -0
  202. package/environment/platforms.js +7 -1
  203. package/eskimi/ageGroups.d.ts +5 -0
  204. package/eskimi/ageGroups.js +41 -1
  205. package/eskimi/campaign.d.ts +19 -0
  206. package/eskimi/campaign.js +2 -1
  207. package/eskimi/devices.d.ts +5 -0
  208. package/eskimi/devices.js +13 -1
  209. package/eskimi/endpoints.d.ts +16 -0
  210. package/eskimi/endpoints.js +17 -2
  211. package/eskimi/genders.d.ts +5 -0
  212. package/eskimi/genders.js +13 -1
  213. package/eskimi/getAccessToken.d.ts +9 -0
  214. package/eskimi/getAccessToken.js +22 -2
  215. package/eskimi/getAgeGroup.d.ts +7 -0
  216. package/eskimi/getAgeGroup.js +16 -2
  217. package/eskimi/getCampaignIds.d.ts +7 -0
  218. package/eskimi/getCampaignIds.js +11 -2
  219. package/eskimi/getDevice.d.ts +7 -0
  220. package/eskimi/getDevice.js +16 -2
  221. package/eskimi/getGender.d.ts +7 -0
  222. package/eskimi/getGender.js +16 -2
  223. package/eskimi/request.d.ts +8 -0
  224. package/eskimi/request.js +23 -2
  225. package/google/bigQuery/initClient.d.ts +11 -0
  226. package/google/bigQuery/initClient.js +20 -2
  227. package/google/bigQuery/query.d.ts +9 -0
  228. package/google/bigQuery/query.js +9 -2
  229. package/google/getConfig.d.ts +20 -0
  230. package/google/getConfig.js +21 -3
  231. package/google/sheets/getAssociatedData.d.ts +16 -0
  232. package/google/sheets/getAssociatedData.js +52 -8
  233. package/google/sheets/getBatchData.d.ts +18 -0
  234. package/google/sheets/getBatchData.js +19 -1
  235. package/google/sheets/initClient.d.ts +11 -0
  236. package/google/sheets/initClient.js +22 -2
  237. package/google/sheets/isCellNa.d.ts +7 -0
  238. package/google/sheets/isCellNa.js +6 -2
  239. package/google/storage/initClient.d.ts +12 -0
  240. package/google/storage/initClient.js +20 -2
  241. package/google/storage/writeFile.d.ts +12 -0
  242. package/google/storage/writeFile.js +30 -2
  243. package/googleAds/getCustomer.d.ts +8 -0
  244. package/googleAds/getCustomer.js +13 -2
  245. package/googleAds/initClient.d.ts +16 -0
  246. package/googleAds/initClient.js +23 -2
  247. package/initClients.d.ts +40 -0
  248. package/initClients.js +99 -5
  249. package/json/isJson.d.ts +8 -0
  250. package/json/isJson.js +18 -2
  251. package/littleWarden/getUrlStatus.d.ts +9 -0
  252. package/littleWarden/getUrlStatus.js +20 -2
  253. package/littleWarden/isAllGood.d.ts +7 -0
  254. package/littleWarden/isAllGood.js +17 -2
  255. package/littleWarden/isDanger.d.ts +7 -0
  256. package/littleWarden/isDanger.js +17 -2
  257. package/littleWarden/isWarning.d.ts +7 -0
  258. package/littleWarden/isWarning.js +17 -2
  259. package/littleWarden/states.d.ts +7 -0
  260. package/littleWarden/states.js +8 -1
  261. package/myTarget/getAccessToken.d.ts +9 -0
  262. package/myTarget/getAccessToken.js +22 -2
  263. package/myTarget/request.d.ts +8 -0
  264. package/myTarget/request.js +23 -2
  265. package/nextAuth/isSessionReady.d.ts +4 -0
  266. package/nextAuth/isSessionReady.js +12 -1
  267. package/nextAuth/states.d.ts +7 -0
  268. package/nextAuth/states.js +8 -2
  269. package/nextJs/getIp.d.ts +7 -0
  270. package/nextJs/getIp.js +12 -2
  271. package/nextJs/getUserAgent.d.ts +7 -0
  272. package/nextJs/getUserAgent.js +6 -2
  273. package/number/getDivide.d.ts +9 -0
  274. package/number/getDivide.js +17 -2
  275. package/number/getNumber.d.ts +8 -0
  276. package/number/getNumber.js +50 -7
  277. package/number/getPercent.d.ts +9 -0
  278. package/number/getPercent.js +17 -2
  279. package/number/getPercentIncrease.d.ts +9 -0
  280. package/number/getPercentIncrease.js +17 -2
  281. package/number/getRounded.d.ts +9 -0
  282. package/number/getRounded.js +21 -2
  283. package/package.json +44 -47
  284. package/prisma/initClient.d.ts +4 -0
  285. package/prisma/initClient.js +33 -3
  286. package/snapchat/getAccessToken.d.ts +9 -0
  287. package/snapchat/getAccessToken.js +36 -2
  288. package/sorting/byNumberAscending.d.ts +8 -0
  289. package/sorting/byNumberAscending.js +16 -2
  290. package/sorting/byNumberDescending.d.ts +8 -0
  291. package/sorting/byNumberDescending.js +16 -2
  292. package/sorting/byStringAscending.d.ts +8 -0
  293. package/sorting/byStringAscending.js +20 -2
  294. package/sorting/byStringDescending.d.ts +8 -0
  295. package/sorting/byStringDescending.js +20 -2
  296. package/string/formatCapitalise.d.ts +9 -0
  297. package/string/formatCapitalise.js +14 -2
  298. package/string/getCleanFolder.d.ts +7 -0
  299. package/string/getCleanFolder.js +11 -2
  300. package/string/getString.d.ts +7 -0
  301. package/string/getString.js +35 -2
  302. package/string/getStringFromStream.d.ts +8 -0
  303. package/string/getStringFromStream.js +14 -2
  304. package/string/toProperCase.d.ts +7 -0
  305. package/string/toProperCase.js +17 -2
  306. package/swr/isAllData.d.ts +7 -0
  307. package/swr/isAllData.js +18 -2
  308. package/swr/isAnyError.d.ts +7 -0
  309. package/swr/isAnyError.js +18 -2
  310. package/swr/isAnyLoading.d.ts +7 -0
  311. package/swr/isAnyLoading.js +20 -2
  312. package/swr/isData.d.ts +7 -0
  313. package/swr/isData.js +6 -2
  314. package/swr/isError.d.ts +7 -0
  315. package/swr/isError.js +6 -2
  316. package/swr/isLoading.d.ts +7 -0
  317. package/swr/isLoading.js +11 -2
  318. package/upTimeRobot/getMonitors.d.ts +1 -0
  319. package/upTimeRobot/getMonitors.js +31 -2
  320. package/upTimeRobot/logTypes.d.ts +7 -0
  321. package/upTimeRobot/logTypes.js +9 -1
  322. package/upTimeRobot/monitorStatuses.d.ts +8 -0
  323. package/upTimeRobot/monitorStatuses.js +10 -1
  324. package/upTimeRobot/monitorSubTypes.d.ts +10 -0
  325. package/upTimeRobot/monitorSubTypes.js +12 -1
  326. package/upTimeRobot/monitorTypes.d.ts +8 -0
  327. package/upTimeRobot/monitorTypes.js +10 -1
  328. package/upTimeRobot/requestStatuses.d.ts +5 -0
  329. package/upTimeRobot/requestStatuses.js +7 -1
  330. package/url/buildParameters.d.ts +8 -0
  331. package/url/buildParameters.js +21 -2
  332. package/url/buildRelative.d.ts +8 -0
  333. package/url/buildRelative.js +12 -2
  334. package/url/buildUrl.d.ts +10 -0
  335. package/url/buildUrl.js +28 -2
  336. package/url/isAbsolute.d.ts +7 -0
  337. package/url/isAbsolute.js +14 -2
  338. package/url/isRelative.d.ts +7 -0
  339. package/url/isRelative.js +7 -2
  340. package/url/url.d.ts +6 -0
  341. package/url/url.js +2 -1
  342. package/util/defaultTo.d.ts +10 -0
  343. package/util/defaultTo.js +34 -2
  344. package/util/isUndefined.d.ts +9 -0
  345. package/util/isUndefined.js +18 -2
  346. package/util/sleep.d.ts +4 -0
  347. package/util/sleep.js +6 -1
  348. package/webWorker/states.d.ts +7 -0
  349. package/webWorker/states.js +8 -1
  350. package/xml/getXml.d.ts +4 -0
  351. package/xml/getXml.js +14 -1
  352. package/globals.d.js +0 -1
@@ -1,5 +1,23 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;// Same input as output, except formatting differences for Private Key.
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  /**
3
4
  * Using the response from Parameter Store and format it ready to be used with Google API.
4
- */var getConfig=function(a){// Format the private key to be in the same format as required by Google
5
- var b=a.private_key.replace(/\\n/g,"\n"),c={type:a.type,project_id:a.project_id,private_key_id:a.private_key_id,private_key:b,client_email:a.client_email,client_id:a.client_id,auth_uri:a.auth_uri,token_uri:a.token_uri,auth_provider_x509_cert_url:a.auth_provider_x509_cert_url,client_x509_cert_url:a.client_x509_cert_url};return c},_default=getConfig;exports["default"]=_default;
5
+ */
6
+ const getConfig = ({ parameter }) => {
7
+ // Format the private key to be in the same format as required by Google
8
+ const privateKey = parameter['private_key'].replace(/\\n/g, '\n');
9
+ const response = {
10
+ type: parameter['type'],
11
+ project_id: parameter['project_id'],
12
+ private_key_id: parameter['private_key_id'],
13
+ private_key: privateKey,
14
+ client_email: parameter['client_email'],
15
+ client_id: parameter['client_id'],
16
+ auth_uri: parameter['auth_uri'],
17
+ token_uri: parameter['token_uri'],
18
+ auth_provider_x509_cert_url: parameter['auth_provider_x509_cert_url'],
19
+ client_x509_cert_url: parameter['client_x509_cert_url'],
20
+ };
21
+ return response;
22
+ };
23
+ exports.default = getConfig;
@@ -0,0 +1,16 @@
1
+ declare type GetAssociatedData = {
2
+ spreadsheetId: string;
3
+ ranges: [
4
+ format: string,
5
+ defaultRange: string,
6
+ heading: string,
7
+ data: string
8
+ ];
9
+ dateTimeRender: 'FORMATTED_STRING' | 'SERIAL_NUMBER';
10
+ valueRender: 'FORMATTED_VALUE' | 'UNFORMATTED_VALUE' | 'FORMULA';
11
+ };
12
+ /**
13
+ * Make a batch get to Google Sheets to retrieve the data correctly formatted, with default values provided.
14
+ */
15
+ declare const getAssociatedData: ({ dateTimeRender, ranges, spreadsheetId, valueRender }: GetAssociatedData) => Promise<object[]>;
16
+ export default getAssociatedData;
@@ -1,9 +1,53 @@
1
- "use strict";var _getBatchData=_interopRequireDefault(require("./getBatchData"));function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}/**
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
+ const getBatchData_1 = __importDefault(require("./getBatchData"));
7
+ /**
2
8
  * Make a batch get to Google Sheets to retrieve the data correctly formatted, with default values provided.
3
- */var getAssociatedData=/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,j,k,l,m,n,o,p,q;return _regeneratorRuntime().wrap(function i(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.dateTimeRender,d=a.ranges,e=a.spreadsheetId,f=a.valueRender,b.next=3,(0,_getBatchData["default"])({spreadsheetId:e,ranges:d,dateTimeRender:c,valueRender:f});case 3:if(g=b.sent,h=[],j=[],4===g.valueRanges.length){b.next=8;break}throw new Error("Associated data response length must be 4.");case 8:// Loop through the headings
4
- for(k=g.valueRanges[0].values[0].length,l=0;l<k;l++)h.push({format:g.valueRanges[0].values[0][l],default:g.valueRanges[1].values[0][l],heading:g.valueRanges[2].values[0][l],index:l});// console.log('template', template);
5
- // Loop through each row of data
6
- if(void 0!==g.valueRanges[3].values)for(m=0;m<g.valueRanges[3].values.length;m++){// Loop through each column within the row
7
- for(n={},o=0;o<g.valueRanges[3].values[m].length;o++)// Add this to our row
8
- p=g.valueRanges[3].values[m][o],q=""===p?h[o]["default"]:p,n[h[o].heading]=q;// Add the row to our response
9
- j.push(n)}return b.abrupt("return",j);case 12:case"end":return b.stop();}},b)}));return function getAssociatedData(b){return a.apply(this,arguments)}}(),_default=getAssociatedData;exports["default"]=_default;
9
+ */
10
+ const getAssociatedData = async ({ dateTimeRender, ranges, spreadsheetId, valueRender }) => {
11
+ // Make the API request
12
+ const apiResponse = await (0, getBatchData_1.default)({
13
+ spreadsheetId,
14
+ ranges,
15
+ dateTimeRender,
16
+ valueRender,
17
+ });
18
+ let template = [];
19
+ let response = [];
20
+ // Missing ranges or too many ranges
21
+ if (4 !== apiResponse.valueRanges.length) {
22
+ throw new Error("Associated data response length must be 4.");
23
+ }
24
+ // Get the first data range
25
+ const initialRangeLength = apiResponse.valueRanges[0].values[0].length;
26
+ // Loop through the headings
27
+ for (let i = 0; i < initialRangeLength; i++) {
28
+ template.push({
29
+ format: apiResponse.valueRanges[0].values[0][i],
30
+ default: apiResponse.valueRanges[1].values[0][i],
31
+ heading: apiResponse.valueRanges[2].values[0][i],
32
+ index: i,
33
+ });
34
+ }
35
+ // console.log('template', template);
36
+ // Loop through each row of data
37
+ if (undefined !== apiResponse.valueRanges[3].values) {
38
+ for (let rowIndex = 0; rowIndex < apiResponse.valueRanges[3].values.length; rowIndex++) {
39
+ let row = {};
40
+ // Loop through each column within the row
41
+ for (let columnIndex = 0; columnIndex < apiResponse.valueRanges[3].values[rowIndex].length; columnIndex++) {
42
+ const refValue = apiResponse.valueRanges[3].values[rowIndex][columnIndex];
43
+ const value = ('' === refValue ? template[columnIndex]['default'] : refValue);
44
+ // Add this to our row
45
+ row[template[columnIndex]['heading']] = value;
46
+ }
47
+ // Add the row to our response
48
+ response.push(row);
49
+ }
50
+ }
51
+ return response;
52
+ };
53
+ exports.default = getAssociatedData;
@@ -0,0 +1,18 @@
1
+ declare type BatchData = {
2
+ spreadsheetId: string;
3
+ valueRanges: {
4
+ range: string;
5
+ majorDimension: 'rows' | 'dimension';
6
+ values: [
7
+ any[]
8
+ ];
9
+ }[];
10
+ };
11
+ declare type GetBatchData = {
12
+ spreadsheetId: string;
13
+ ranges: string[];
14
+ dateTimeRender?: string;
15
+ valueRender?: string;
16
+ };
17
+ declare const getBatchData: ({ spreadsheetId, ranges, dateTimeRender, valueRender, }: GetBatchData) => Promise<BatchData>;
18
+ export default getBatchData;
@@ -1 +1,19 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}var getBatchData=/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k;return _regeneratorRuntime().wrap(function l(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.spreadsheetId,d=a.ranges,e=a.dateTimeRender,f=void 0===e?"FORMATTED_STRING":e,g=a.valueRender,h=void 0===g?"UNFORMATTED_VALUE":g,i=require("@googleapis/sheets"),j={auth:global.googleSheetsClient,dateTimeRenderOption:f,ranges:d,spreadsheetId:c,valueRenderOption:h},b.next=5,i.sheets("v4").spreadsheets.values.batchGet(j);case 5:return k=b.sent,b.abrupt("return",k.data);case 7:case"end":return b.stop();}},b)}));return function getBatchData(b){return a.apply(this,arguments)}}(),_default=getBatchData;exports["default"]=_default;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const getBatchData = async ({ spreadsheetId, ranges, dateTimeRender = 'FORMATTED_STRING', valueRender = 'UNFORMATTED_VALUE', }) => {
4
+ const googleApisSheets = require('@googleapis/sheets');
5
+ const request = {
6
+ auth: global.googleSheetsClient,
7
+ dateTimeRenderOption: dateTimeRender,
8
+ ranges: ranges,
9
+ spreadsheetId: spreadsheetId,
10
+ valueRenderOption: valueRender,
11
+ };
12
+ // Make the API request
13
+ const apiResponse = (await googleApisSheets.sheets('v4')
14
+ .spreadsheets
15
+ .values
16
+ .batchGet(request));
17
+ return apiResponse.data;
18
+ };
19
+ exports.default = getBatchData;
@@ -0,0 +1,11 @@
1
+ import { Config } from '../getConfig';
2
+ declare type InitClient = {
3
+ parameter: Config;
4
+ };
5
+ /**
6
+ * Initialise the Google Sheets instance using the separate service method.
7
+ * https://github.com/googleapis/google-api-nodejs-client
8
+ * Library: @googleapis/sheets
9
+ */
10
+ declare const initClient: ({ parameter }: InitClient) => void;
11
+ export default initClient;
@@ -1,5 +1,25 @@
1
- "use strict";var _getConfig=_interopRequireDefault(require("../getConfig"));Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}global.googleSheetsClient=null;/**
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
+ const getConfig_1 = __importDefault(require("../getConfig"));
7
+ global.googleSheetsClient = null;
8
+ /**
2
9
  * Initialise the Google Sheets instance using the separate service method.
3
10
  * https://github.com/googleapis/google-api-nodejs-client
4
11
  * Library: @googleapis/sheets
5
- */var initClient=function(a){var b=a.parameter;if(!global.googleSheetsClient){var c=require("@googleapis/sheets"),d=(0,_getConfig["default"])({parameter:b});global.googleSheetsClient=new c.auth.GoogleAuth({credentials:d,scopes:["https://www.googleapis.com/auth/spreadsheets"]})}},_default=initClient;exports["default"]=_default;
12
+ */
13
+ const initClient = ({ parameter }) => {
14
+ if (!global.googleSheetsClient) {
15
+ const googleApisSheets = require('@googleapis/sheets');
16
+ const formattedConfig = (0, getConfig_1.default)({ parameter });
17
+ global.googleSheetsClient = new googleApisSheets.auth.GoogleAuth({
18
+ credentials: formattedConfig,
19
+ scopes: [
20
+ 'https://www.googleapis.com/auth/spreadsheets',
21
+ ],
22
+ });
23
+ }
24
+ };
25
+ exports.default = initClient;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Noticed sometimes Google Sheets can struggle with import XML resulting to N/A values.
3
+ */
4
+ declare const isCellNa: ({ input }: {
5
+ input: any;
6
+ }) => boolean;
7
+ export default isCellNa;
@@ -1,3 +1,7 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;/**
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
2
4
  * Noticed sometimes Google Sheets can struggle with import XML resulting to N/A values.
3
- */var isCellNa=function(a){var b=a.input;return"#N/A"===b},_default=isCellNa;exports["default"]=_default;
5
+ */
6
+ const isCellNa = ({ input }) => '#N/A' === input;
7
+ exports.default = isCellNa;
@@ -0,0 +1,12 @@
1
+ import { Config } from '../getConfig';
2
+ declare type InitClient = {
3
+ parameter: Config;
4
+ projectId: string;
5
+ };
6
+ /**
7
+ * Initialise the Google Sheets instance using the separate service method.
8
+ * https://github.com/googleapis/google-api-nodejs-client
9
+ * Library: @googleapis/sheets
10
+ */
11
+ declare const initClient: ({ parameter, projectId }: InitClient) => void;
12
+ export default initClient;
@@ -1,5 +1,23 @@
1
- "use strict";var _getConfig=_interopRequireDefault(require("../getConfig"));Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}global.googleStorageClient={};/**
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
+ const getConfig_1 = __importDefault(require("../getConfig"));
7
+ global.googleStorageClient = {};
8
+ /**
2
9
  * Initialise the Google Sheets instance using the separate service method.
3
10
  * https://github.com/googleapis/google-api-nodejs-client
4
11
  * Library: @googleapis/sheets
5
- */var initClient=function(a){var b=a.parameter,c=a.projectId;if(!global.googleStorageClient[c]){var d=require("@google-cloud/storage"),e=d.Storage,f=(0,_getConfig["default"])({parameter:b});global.googleStorageClient[c]=new e({credentials:f,projectId:c})}},_default=initClient;exports["default"]=_default;
12
+ */
13
+ const initClient = ({ parameter, projectId }) => {
14
+ if (!global.googleStorageClient[projectId]) {
15
+ const { Storage } = require('@google-cloud/storage');
16
+ const formattedConfig = (0, getConfig_1.default)({ parameter });
17
+ global.googleStorageClient[projectId] = new Storage({
18
+ credentials: formattedConfig,
19
+ projectId: projectId,
20
+ });
21
+ }
22
+ };
23
+ exports.default = initClient;
@@ -0,0 +1,12 @@
1
+ declare type WriteFile = {
2
+ bucket: string;
3
+ credentials: any;
4
+ data: any;
5
+ key: string;
6
+ projectId: string;
7
+ };
8
+ /**
9
+ * Write a file to Google Cloud Storage.
10
+ */
11
+ export declare const writeFile: ({ bucket, data, key, projectId }: WriteFile) => Promise<any>;
12
+ export default writeFile;
@@ -1,3 +1,31 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.writeFile=exports["default"]=void 0;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}/**
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeFile = void 0;
4
+ /**
2
5
  * Write a file to Google Cloud Storage.
3
- */var writeFile=/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.bucket,d=a.data,e=a.key,f=a.projectId,g=require("stream"),h=new g.PassThrough,i=global.googleStorageClient[f].bucket(c).file(e),h.push(d),h.push(null),b.next=8,new Promise(function(a,b){h.pipe(i.createWriteStream({contentType:"auto",resumable:!1,validation:!1,metadata:{}})).on("error",function(a){b(a)}).on("finish",function(){a(!0)})});case 8:return b.abrupt("return",b.sent);case 9:case"end":return b.stop();}},b)}));return function writeFile(b){return a.apply(this,arguments)}}();exports.writeFile=writeFile;var _default=writeFile;exports["default"]=_default;
6
+ */
7
+ const writeFile = async ({ bucket, data, key, projectId }) => {
8
+ const stream = require('stream');
9
+ const dataStream = new stream.PassThrough();
10
+ const googleFile = global.googleStorageClient[projectId].bucket(bucket)
11
+ .file(key);
12
+ dataStream.push(data);
13
+ dataStream.push(null);
14
+ return await new Promise((resolve, reject) => {
15
+ dataStream.pipe(googleFile.createWriteStream({
16
+ contentType: 'auto',
17
+ resumable: false,
18
+ validation: false,
19
+ metadata: {},
20
+ }))
21
+ .on('error', (error) => {
22
+ reject(error);
23
+ })
24
+ .on('finish', () => {
25
+ // console.log(`File uploaded successfully.`);
26
+ resolve(true);
27
+ });
28
+ });
29
+ };
30
+ exports.writeFile = writeFile;
31
+ exports.default = exports.writeFile;
@@ -0,0 +1,8 @@
1
+ declare type GetCustomer = {
2
+ customerId: string;
3
+ };
4
+ /**
5
+ * Return the Google Ads Client with the specified customer set.
6
+ */
7
+ declare const getCustomer: ({ customerId }: GetCustomer) => Promise<any>;
8
+ export default getCustomer;
@@ -1,3 +1,14 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}/**
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
2
4
  * Return the Google Ads Client with the specified customer set.
3
- */var getCustomer=/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.customerId,d=global.googleAdsClient.instance.Customer({customer_id:c,login_customer_id:global.googleAdsClient.mccAccountId,refresh_token:global.googleAdsClient.refreshToken}),b.abrupt("return",d);case 3:case"end":return b.stop();}},b)}));return function getCustomer(b){return a.apply(this,arguments)}}(),_default=getCustomer;exports["default"]=_default;
5
+ */
6
+ const getCustomer = async ({ customerId }) => {
7
+ const customer = global.googleAdsClient.instance.Customer({
8
+ customer_id: customerId,
9
+ login_customer_id: global.googleAdsClient.mccAccountId,
10
+ refresh_token: global.googleAdsClient.refreshToken,
11
+ });
12
+ return customer;
13
+ };
14
+ exports.default = getCustomer;
@@ -0,0 +1,16 @@
1
+ export declare type GoogleAdsParameter = {
2
+ clientId: string;
3
+ clientSecret: string;
4
+ developerToken: string;
5
+ mccAccountId: string;
6
+ refreshToken: string;
7
+ };
8
+ declare type InitClient = {
9
+ parameter: GoogleAdsParameter;
10
+ };
11
+ /**
12
+ * Shorthand function to get the Google Ads Client.
13
+ * Library: google-ads-api
14
+ */
15
+ declare const initClient: ({ parameter }: InitClient) => Promise<void>;
16
+ export default initClient;
@@ -1,4 +1,25 @@
1
- "use strict";function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,e,f){var g=b&&b.prototype instanceof d?b:d,h=Object.create(g.prototype),j=new l(f||[]);return h._invoke=function(a,b,d){var e="suspendedStart";return function(f,g){if("executing"===e)throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return n()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var j=i(h,d);if(j){if(j===v)continue;return j}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===v)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}(a,e,j),h}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&q.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;this._invoke=function(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}}function i(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator["return"]&&(b.method="return",b.arg=void 0,i(a,b),"throw"===b.method))return v;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,v;var f=e.arg;return f?f.done?(b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,v):f:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,v)}function j(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function k(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function l(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(j,this),this.reset(!0)}function m(a){if(a){var b=a[s];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:n}}function n(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return o};var o={},p=Object.prototype,q=p.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}o.wrap=b;var v={},w={};a(w,s,function(){return this});var x=Object.getPrototypeOf,y=x&&x(x(m([])));y&&y!==p&&q.call(y,s)&&(w=y);var z=f.prototype=d.prototype=Object.create(w);return e.prototype=f,a(z,"constructor",f),a(f,"constructor",e),e.displayName=a(f,u,"GeneratorFunction"),o.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},o.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,u,"GeneratorFunction")),b.prototype=Object.create(z),b},o.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,t,function(){return this}),o.AsyncIterator=h,o.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return o.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(z),a(z,u,"Generator"),a(z,s,function(){return this}),a(z,"toString",function(){return"[object Generator]"}),o.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},o.values=m,l.prototype={constructor:l,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,v):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),v},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),k(b),v},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;k(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:m(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),v}},o}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}global.googleAdsClient={instance:null,mccAccountId:"",refreshToken:""};/**
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ global.googleAdsClient = {
4
+ instance: null,
5
+ mccAccountId: '',
6
+ refreshToken: '',
7
+ };
8
+ /**
2
9
  * Shorthand function to get the Google Ads Client.
3
10
  * Library: google-ads-api
4
- */var initClient=/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function b(a){var c,d,e;return _regeneratorRuntime().wrap(function f(b){for(;1;)switch(b.prev=b.next){case 0:c=a.parameter,global.googleAdsClient.instance||(d=require("google-ads-api"),e=d.GoogleAdsApi,global.googleAdsClient.instance=new e({client_id:c.clientId,client_secret:c.clientSecret,developer_token:c.developerToken}),global.googleAdsClient.mccAccountId=c.mccAccountId,global.googleAdsClient.refreshToken=c.refreshToken);case 2:case"end":return b.stop();}},b)}));return function initClient(b){return a.apply(this,arguments)}}(),_default=initClient;exports["default"]=_default;
11
+ */
12
+ const initClient = async ({ parameter }) => {
13
+ if (!global.googleAdsClient.instance) {
14
+ const { GoogleAdsApi } = require('google-ads-api');
15
+ // Create a new client instance
16
+ global.googleAdsClient.instance = new GoogleAdsApi({
17
+ client_id: parameter.clientId,
18
+ client_secret: parameter.clientSecret,
19
+ developer_token: parameter.developerToken,
20
+ });
21
+ global.googleAdsClient.mccAccountId = parameter.mccAccountId;
22
+ global.googleAdsClient.refreshToken = parameter.refreshToken;
23
+ }
24
+ };
25
+ exports.default = initClient;
@@ -0,0 +1,40 @@
1
+ import { Config as AwsConfig } from './aws/getConfig';
2
+ declare type InitClients = {
3
+ athenaExpress?: {
4
+ database: string;
5
+ s3Bucket: string;
6
+ s3Key: string;
7
+ };
8
+ awsConfig?: AwsConfig;
9
+ awsGlue?: boolean;
10
+ awsLambda?: boolean;
11
+ awsS3?: boolean;
12
+ awsSes?: boolean;
13
+ awsSsm?: boolean;
14
+ deepCrawl?: {
15
+ parameterName: string;
16
+ };
17
+ eskimi?: boolean;
18
+ googleAds?: {
19
+ parameterName: string;
20
+ };
21
+ googleBigQuery?: {
22
+ projectId: string;
23
+ };
24
+ googleConfig?: {
25
+ parameterName: string;
26
+ };
27
+ googleSheets?: boolean;
28
+ googleStorage?: {
29
+ projectId: string;
30
+ };
31
+ prisma?: {
32
+ debug?: boolean;
33
+ };
34
+ myTarget?: boolean;
35
+ };
36
+ /**
37
+ * Function to simplify initialising the clients.
38
+ */
39
+ declare const initClients: ({ athenaExpress, awsConfig, awsGlue, awsS3, awsSes, awsSsm, deepCrawl, googleAds, googleConfig, googleBigQuery, googleSheets, googleStorage, prisma, }: InitClients) => Promise<void>;
40
+ export default initClients;