@8ms/helpers 2.2.9 → 2.2.10

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 (176) hide show
  1. package/_class/BaseClass.js +43 -52
  2. package/_class/BaseNamespace.js +17 -20
  3. package/_class/index.js +2 -7
  4. package/adverity/getJobs.js +7 -11
  5. package/adverity/index.js +51 -54
  6. package/adverity/server.js +1 -5
  7. package/api/ApiResponseClass.js +84 -88
  8. package/api/functions.js +13 -22
  9. package/api/index.js +3 -19
  10. package/api/types.js +5 -9
  11. package/array/index.js +3 -11
  12. package/atInternet/index.js +10 -13
  13. package/aws/ec2/AwsEc2Namespace.js +34 -74
  14. package/aws/ec2/server.js +5 -9
  15. package/aws/ecs/AwsEcsNamespace.js +110 -150
  16. package/aws/ecs/server.js +5 -9
  17. package/aws/glue/AwsGlueNamespace.js +26 -66
  18. package/aws/glue/server.js +5 -9
  19. package/aws/isResponse200.js +3 -7
  20. package/aws/lambda/AwsLambdaNamespace.js +62 -102
  21. package/aws/lambda/server.js +6 -11
  22. package/aws/s3/AwsS3Namespace.js +347 -390
  23. package/aws/s3/payload.js +29 -32
  24. package/aws/s3/server.js +9 -14
  25. package/aws/server.js +5 -10
  26. package/aws/ses/AwsSesNamespace.js +36 -76
  27. package/aws/ses/SimpleEmail.js +267 -304
  28. package/aws/ses/server.js +6 -11
  29. package/aws/sqs/AwsSqsNamespace.js +49 -89
  30. package/aws/sqs/server.js +5 -9
  31. package/aws/ssm/AwsSsmNamespace.js +43 -79
  32. package/aws/ssm/server.js +5 -9
  33. package/axios/deleteRequest.js +8 -15
  34. package/axios/get.js +8 -15
  35. package/axios/index.js +3 -9
  36. package/axios/post.js +8 -15
  37. package/boolean/index.js +3 -10
  38. package/brightData/serpApi/buildGoogleSerpUrl.js +1 -5
  39. package/brightData/serpApi/buildGoogleTrendsUrl.js +1 -5
  40. package/brightData/serpApi/getAsyncRequestId.js +8 -12
  41. package/brightData/serpApi/getAsyncResults.js +8 -12
  42. package/brightData/serpApi/getRealtime.js +3 -7
  43. package/brightData/serpApi/server.js +6 -14
  44. package/brightData/server.js +2 -7
  45. package/brightData/webScraperIde/getBatch.js +3 -7
  46. package/brightData/webScraperIde/getRealtime.js +11 -15
  47. package/brightData/webScraperIde/server.js +2 -7
  48. package/cache/server.js +2 -7
  49. package/cache/test/cache.test.js +4 -6
  50. package/crud/index.js +1 -4
  51. package/crypto/getDecrypt.js +2 -39
  52. package/crypto/getEncrypt.js +2 -39
  53. package/crypto/getRandom.js +1 -5
  54. package/crypto/getSha256.js +4 -41
  55. package/crypto/index.js +4 -11
  56. package/date/calculation.js +70 -99
  57. package/date/financialYear.js +16 -23
  58. package/date/format.js +40 -61
  59. package/date/index.js +4 -20
  60. package/date/type.js +4 -7
  61. package/environment/index.js +15 -25
  62. package/eskimi/getAgeGroup.js +3 -7
  63. package/eskimi/getData.js +3 -7
  64. package/eskimi/getDevice.js +3 -7
  65. package/eskimi/getGender.js +3 -7
  66. package/eskimi/server.js +23 -26
  67. package/file/index.js +8 -46
  68. package/geo/countries.js +1 -4
  69. package/geo/index.js +2 -7
  70. package/geo/languages.js +1 -4
  71. package/google/bigQuery/GoogleBigQueryNamespace.js +108 -148
  72. package/google/bigQuery/loadData.js +1 -5
  73. package/google/bigQuery/server.js +8 -14
  74. package/google/server.js +1 -5
  75. package/google/sheets/GoogleSheetsNamespace.js +34 -74
  76. package/google/sheets/getAssociatedData.js +1 -5
  77. package/google/sheets/server.js +8 -14
  78. package/google/storage/GoogleCloudStorageNamespace.js +62 -102
  79. package/google/storage/server.js +6 -10
  80. package/googleAds/GoogleAdsNamespace.js +28 -68
  81. package/googleAds/keywordPlanner/server.js +32 -35
  82. package/googleAds/server.js +6 -10
  83. package/googlePageSpeed/GooglePageSpeedNamespace.js +21 -28
  84. package/googlePageSpeed/server.js +8 -12
  85. package/googleSearchIncidents/server.js +28 -32
  86. package/greenDomain/server.js +17 -21
  87. package/inngest/server.js +1 -4
  88. package/json/getJsonNewline.js +3 -7
  89. package/json/index.js +2 -7
  90. package/json/isJson.js +1 -5
  91. package/littleWarden/LittleWardenNamespace.js +24 -31
  92. package/littleWarden/getUrlStatus.js +3 -7
  93. package/littleWarden/server.js +14 -22
  94. package/lumar/api/buildRequest.js +14 -18
  95. package/lumar/api/getData.js +3 -7
  96. package/lumar/api/initClient.js +3 -7
  97. package/lumar/api/server.js +6 -12
  98. package/lumar/graphql/columns.js +1 -4
  99. package/lumar/graphql/getData.js +3 -7
  100. package/lumar/graphql/initClient.js +3 -7
  101. package/lumar/graphql/queries/crawl.js +1 -2
  102. package/lumar/graphql/queries/getCrawls.js +1 -3
  103. package/lumar/graphql/queries/getReportDifferences.js +3 -5
  104. package/lumar/graphql/queries/getRows.js +1 -3
  105. package/lumar/graphql/queries/getTotals.js +1 -3
  106. package/lumar/graphql/queries/row.js +1 -2
  107. package/lumar/graphql/reportTemplates.js +1 -4
  108. package/lumar/graphql/server.js +7 -15
  109. package/myTarget/server.js +3 -7
  110. package/nextAuth/index.js +2 -6
  111. package/nextAuth/isSessionReady.js +1 -5
  112. package/nextJs/client/LazyLoad.js +5 -12
  113. package/nextJs/client.js +1 -5
  114. package/nextJs/index.js +2 -7
  115. package/number/format.js +3 -7
  116. package/number/formatCurrency.js +1 -5
  117. package/number/getDecimal.js +3 -7
  118. package/number/getNumber.js +3 -7
  119. package/number/getPercentIncrease.js +4 -8
  120. package/number/getSafeDivide.js +6 -10
  121. package/number/index.js +6 -15
  122. package/object/index.js +1 -5
  123. package/object/replaceKeys.js +3 -7
  124. package/onePassword/OnePasswordNamespace.js +36 -76
  125. package/onePassword/server.js +3 -7
  126. package/openAi/OpenAiNamespace.js +32 -39
  127. package/openAi/server.js +6 -10
  128. package/package.json +7 -1
  129. package/prisma/PrismaNamespace.js +53 -93
  130. package/prisma/getDecimal.js +5 -12
  131. package/prisma/server.js +4 -9
  132. package/snapchat/SnapchatNamespace.js +20 -27
  133. package/snapchat/server.js +6 -10
  134. package/sorting/byNumberAscending.js +1 -5
  135. package/sorting/byNumberDescending.js +1 -5
  136. package/sorting/byStringAscending.js +1 -5
  137. package/sorting/byStringDescending.js +1 -5
  138. package/sorting/index.js +4 -11
  139. package/stream/server.js +1 -5
  140. package/stream/sort.js +1 -5
  141. package/string/getCapitalised.js +3 -7
  142. package/string/getClean.js +17 -21
  143. package/string/getFolder.js +3 -10
  144. package/string/getProperCase.js +4 -8
  145. package/string/getString.js +8 -15
  146. package/string/getStringFromStream.js +1 -5
  147. package/string/getUnescaped.js +3 -10
  148. package/string/getWithoutAccents.js +1 -5
  149. package/string/getWithoutHtmlTags.js +1 -5
  150. package/string/getWithoutPunctuation.js +1 -5
  151. package/string/getWithoutUnderscores.js +1 -5
  152. package/string/getWithoutWhitespaces.js +1 -5
  153. package/string/index.js +12 -27
  154. package/string/reservedWords.js +5 -9
  155. package/swr/index.js +9 -18
  156. package/upTimeRobot/UpTimeRobotNamespace.js +32 -42
  157. package/upTimeRobot/server.js +11 -15
  158. package/url/index.js +12 -23
  159. package/url/server.js +1 -5
  160. package/url/writeUrlContents.js +6 -46
  161. package/util/defaultTo.js +5 -12
  162. package/util/getBrotliCompressed.js +3 -10
  163. package/util/getBrotliDecompressed.js +3 -10
  164. package/util/getClean.js +5 -9
  165. package/util/getError.js +1 -5
  166. package/util/getGzipCompressed.js +3 -10
  167. package/util/getGzipDecompressed.js +3 -10
  168. package/util/getWithoutHash.js +1 -5
  169. package/util/getWithoutParameter.js +1 -5
  170. package/util/index.js +7 -17
  171. package/util/isUndefined.js +3 -7
  172. package/util/promiseChunks.js +6 -10
  173. package/util/server.js +4 -11
  174. package/util/sleep.js +1 -5
  175. package/webWorker/index.js +1 -4
  176. package/xml/getXml.js +3 -7
package/date/type.js CHANGED
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Month = exports.defaultDateTime = exports.defaultDateNumber = exports.defaultDate = void 0;
4
- exports.defaultDate = "1901-01-01";
5
- exports.defaultDateNumber = 19010101;
6
- exports.defaultDateTime = "1901-01-01 00:00:00";
1
+ export const defaultDate = "1901-01-01";
2
+ export const defaultDateNumber = 19010101;
3
+ export const defaultDateTime = "1901-01-01 00:00:00";
7
4
  /**
8
5
  * Used by Google Ads API.
9
6
  */
10
- exports.Month = {
7
+ export const Month = {
11
8
  JANUARY: "JANUARY",
12
9
  FEBRUARY: "FEBRUARY",
13
10
  MARCH: "MARCH",
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLocalhost = exports.isProduction = exports.isStaging = exports.isDevelopment = exports.isServer = exports.isVercel = exports.isAws = exports.getEnvironment = exports.Platform = exports.Environment = void 0;
4
- exports.Environment = {
1
+ export const Environment = {
5
2
  DEVELOPMENT: "development",
6
3
  STAGING: "staging",
7
4
  PRODUCTION: "production",
8
5
  };
9
- exports.Platform = {
6
+ export const Platform = {
10
7
  AWS: "AWS",
11
8
  VERCEL: "VERCEL",
12
9
  };
13
10
  /**
14
11
  * Determine the environment we're using.
15
12
  */
16
- const getEnvironment = () => {
13
+ export const getEnvironment = () => {
17
14
  let platformEnvironment = process.env.ENVIRONMENT;
18
15
  let response;
19
16
  // Custom - Backend/AWS
@@ -37,54 +34,47 @@ const getEnvironment = () => {
37
34
  .trim();
38
35
  switch (platformEnvironmentClean) {
39
36
  case "production":
40
- response = exports.Environment.PRODUCTION;
37
+ response = Environment.PRODUCTION;
41
38
  break;
42
39
  case "demo":
43
40
  case "preview":
44
41
  case "staging":
45
- response = exports.Environment.STAGING;
42
+ response = Environment.STAGING;
46
43
  break;
47
44
  default:
48
- response = exports.Environment.DEVELOPMENT;
45
+ response = Environment.DEVELOPMENT;
49
46
  }
50
47
  return response;
51
48
  };
52
- exports.getEnvironment = getEnvironment;
53
49
  /**
54
50
  * Check to see if we are working on AWS Lambda.
55
51
  */
56
- const isAws = () => exports.Platform.AWS === process.env["EMS_PLATFORM"];
57
- exports.isAws = isAws;
58
- const isVercel = () => undefined !== process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF;
59
- exports.isVercel = isVercel;
52
+ export const isAws = () => Platform.AWS === process.env["EMS_PLATFORM"];
53
+ export const isVercel = () => undefined !== process.env.NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF;
60
54
  /**
61
55
  * Some code should only run on the server side to protect the data.
62
56
  */
63
- exports.isServer = typeof window === "undefined";
57
+ export const isServer = typeof window === "undefined";
64
58
  /**
65
59
  * Check the environment currently running.
66
60
  */
67
- const isDevelopment = () => exports.Environment.DEVELOPMENT === (0, exports.getEnvironment)();
68
- exports.isDevelopment = isDevelopment;
69
- const isStaging = () => exports.Environment.STAGING === (0, exports.getEnvironment)();
70
- exports.isStaging = isStaging;
71
- const isProduction = () => exports.Environment.PRODUCTION === (0, exports.getEnvironment)();
72
- exports.isProduction = isProduction;
61
+ export const isDevelopment = () => Environment.DEVELOPMENT === getEnvironment();
62
+ export const isStaging = () => Environment.STAGING === getEnvironment();
63
+ export const isProduction = () => Environment.PRODUCTION === getEnvironment();
73
64
  /**
74
65
  * Check to see if we are developing locally or on the hosted platform.
75
66
  */
76
- const isLocalhost = () => {
67
+ export const isLocalhost = () => {
77
68
  let response = false;
78
69
  if ("true" === process.env["IS_LOCAL"]) {
79
70
  response = true;
80
71
  }
81
- else if ((0, exports.isAws)()) {
72
+ else if (isAws()) {
82
73
  response = "true" === process.env["AWS_SAM_LOCAL"];
83
74
  }
84
- else if ((0, exports.isVercel)()) {
75
+ else if (isVercel()) {
85
76
  // This value needs to only be included in Vercel but undefined in locally
86
77
  response = undefined === process.env["NEXT_PUBLIC_VERCEL_GIT_REPO_ID"];
87
78
  }
88
79
  return response;
89
80
  };
90
- exports.isLocalhost = isLocalhost;
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAgeGroup = void 0;
4
- const server_1 = require("./server");
1
+ import { ageGroups } from "./server";
5
2
  /**
6
3
  * Map the Age Group and return the user-friendly string.
7
4
  */
8
- const getAgeGroup = (input) => {
9
- const matches = server_1.ageGroups.filter(group => group.id === input);
5
+ export const getAgeGroup = (input) => {
6
+ const matches = ageGroups.filter(group => group.id === input);
10
7
  if (1 === matches.length) {
11
8
  return matches[0].name;
12
9
  }
13
10
  return "Undefined";
14
11
  };
15
- exports.getAgeGroup = getAgeGroup;
package/eskimi/getData.js CHANGED
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getData = void 0;
4
- const axios_1 = require("../axios");
1
+ import { post } from "../axios";
5
2
  /**
6
3
  * Make the request to Eskimi API using the access token.
7
4
  */
8
- const getData = async (accessToken, data, url) => {
9
- const response = await (0, axios_1.post)(url, data, {
5
+ export const getData = async (accessToken, data, url) => {
6
+ const response = await post(url, data, {
10
7
  headers: {
11
8
  Authorization: `Bearer ${accessToken}`,
12
9
  "Content-Type": "application/json",
@@ -14,4 +11,3 @@ const getData = async (accessToken, data, url) => {
14
11
  });
15
12
  return response.getBodyDefaultTo(["data"], null);
16
13
  };
17
- exports.getData = getData;
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDevice = void 0;
4
- const server_1 = require("./server");
1
+ import { devices } from "./server";
5
2
  /**
6
3
  * Map the Devices and return the user-friendly string.
7
4
  */
8
- const getDevice = (input) => {
9
- const matches = server_1.devices.filter(device => device.id === input);
5
+ export const getDevice = (input) => {
6
+ const matches = devices.filter(device => device.id === input);
10
7
  if (1 === matches.length) {
11
8
  return matches[0].name;
12
9
  }
13
10
  return "Undefined";
14
11
  };
15
- exports.getDevice = getDevice;
@@ -1,15 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGender = void 0;
4
- const server_1 = require("./server");
1
+ import { genders } from "./server";
5
2
  /**
6
3
  * Map the Gender and return the user-friendly string.
7
4
  */
8
- const getGender = (input) => {
9
- const matches = server_1.genders.filter(gender => gender.id === input);
5
+ export const getGender = (input) => {
6
+ const matches = genders.filter(gender => gender.id === input);
10
7
  if (1 === matches.length) {
11
8
  return matches[0].name;
12
9
  }
13
10
  return "Undefined";
14
11
  };
15
- exports.getGender = getGender;
package/eskimi/server.js CHANGED
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.genders = exports.devices = exports.ageGroups = exports.endpoints = void 0;
4
- const v4_1 = require("zod/v4");
1
+ import { z } from "zod/v4";
5
2
  /**
6
3
  * https://dsp-api.eskimi.com/docs/api/v1/#api-Report-GetCampaignReportByAgeGroups
7
4
  */
8
- exports.endpoints = {
5
+ export const endpoints = {
9
6
  campaign: {
10
7
  age: "https://dsp-api.eskimi.com/api/v1/report/ageGroups/get",
11
8
  gender: "https://dsp-api.eskimi.com/api/v1/report/genders/get",
@@ -17,26 +14,26 @@ exports.endpoints = {
17
14
  list: "https://dsp-api.eskimi.com/api/v1/report/sites/get",
18
15
  },
19
16
  };
20
- const campaignSchema = v4_1.z.object({
21
- id: v4_1.z.number(),
22
- name: v4_1.z.string(),
23
- type: v4_1.z.number(),
24
- user_id: v4_1.z.number(),
25
- ad_domain: v4_1.z.string(),
26
- click_url: v4_1.z.string(),
27
- bid: v4_1.z.string(),
28
- budget: v4_1.z.any(),
29
- dates: v4_1.z.any(),
30
- creative_set_ids: v4_1.z.any(),
31
- audience_ids: v4_1.z.any(),
32
- ad_placement_type_ids: v4_1.z.any(),
33
- ad_placement_position_ids: v4_1.z.any(),
34
- operator_ids: v4_1.z.any(),
35
- devices: v4_1.z.any(),
36
- auto_start: v4_1.z.number(),
37
- created_at: v4_1.z.string(),
17
+ const campaignSchema = z.object({
18
+ id: z.number(),
19
+ name: z.string(),
20
+ type: z.number(),
21
+ user_id: z.number(),
22
+ ad_domain: z.string(),
23
+ click_url: z.string(),
24
+ bid: z.string(),
25
+ budget: z.any(),
26
+ dates: z.any(),
27
+ creative_set_ids: z.any(),
28
+ audience_ids: z.any(),
29
+ ad_placement_type_ids: z.any(),
30
+ ad_placement_position_ids: z.any(),
31
+ operator_ids: z.any(),
32
+ devices: z.any(),
33
+ auto_start: z.number(),
34
+ created_at: z.string(),
38
35
  });
39
- exports.ageGroups = [
36
+ export const ageGroups = [
40
37
  {
41
38
  "id": 0,
42
39
  "name": "0-17",
@@ -74,7 +71,7 @@ exports.ageGroups = [
74
71
  "name": "65+",
75
72
  },
76
73
  ];
77
- exports.devices = [
74
+ export const devices = [
78
75
  {
79
76
  "id": 2,
80
77
  "name": "Personal Computer",
@@ -84,7 +81,7 @@ exports.devices = [
84
81
  "name": "Connected TV",
85
82
  },
86
83
  ];
87
- exports.genders = [
84
+ export const genders = [
88
85
  {
89
86
  "id": 1,
90
87
  "name": "Male",
package/file/index.js CHANGED
@@ -1,59 +1,22 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getFileKey = exports.createDirectory = void 0;
37
- const date_1 = require("../date");
38
- const luxon_1 = require("luxon");
1
+ import { format } from "../date";
2
+ import { DateTime } from "luxon";
39
3
  /**
40
4
  * Create a directory recursively.
41
5
  * Requires fs-extra
42
6
  */
43
- const createDirectory = (filePath) => {
7
+ export const createDirectory = (filePath) => {
44
8
  return new Promise(async (resolve, reject) => {
45
- const fs = await Promise.resolve().then(() => __importStar(require("fs-extra")));
46
- const path = await Promise.resolve().then(() => __importStar(require("path")));
9
+ const fs = await import("fs-extra");
10
+ const path = await import("path");
47
11
  const fileDir = path.parse(filePath).dir;
48
12
  fs.ensureDirSync(fileDir);
49
13
  resolve(true);
50
14
  });
51
15
  };
52
- exports.createDirectory = createDirectory;
53
16
  /**
54
17
  * Create a file key from the inputs so it can handle objects/number/etc.
55
18
  */
56
- const getFileKey = (inputs) => {
19
+ export const getFileKey = (inputs) => {
57
20
  let response = "";
58
21
  for (let i = 0; i < inputs.length; i++) {
59
22
  if (i > 0) {
@@ -62,8 +25,8 @@ const getFileKey = (inputs) => {
62
25
  if ("string" === typeof inputs[i]) {
63
26
  response += inputs[i];
64
27
  }
65
- else if (inputs[i] instanceof Date || inputs[i] instanceof luxon_1.DateTime) {
66
- response += (0, date_1.format)(inputs[i], "YYYY-MM-DD");
28
+ else if (inputs[i] instanceof Date || inputs[i] instanceof DateTime) {
29
+ response += format(inputs[i], "YYYY-MM-DD");
67
30
  }
68
31
  else {
69
32
  response += JSON.stringify(inputs[i]);
@@ -71,4 +34,3 @@ const getFileKey = (inputs) => {
71
34
  }
72
35
  return response;
73
36
  };
74
- exports.getFileKey = getFileKey;
package/geo/countries.js CHANGED
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.countries = void 0;
4
1
  /**
5
2
  * Countries - excluded non-Google Ads supported ones
6
3
  * https://docs.google.com/spreadsheets/d/1nrQ9h1n9p0Mab81_FKGqIw4fTOMOOjpcFrf0oSQvHIw/edit?gid=0#gid=0
7
4
  */
8
- exports.countries = [
5
+ export const countries = [
9
6
  { name: 'Afghanistan', population: 42647492, iso2: 'AF', iso3: 'AFG', googleAdsId: 2004 },
10
7
  { name: 'Albania', population: 2791765, iso2: 'AL', iso3: 'ALB', googleAdsId: 2008 },
11
8
  { name: 'Algeria', population: 46814308, iso2: 'DZ', iso3: 'DZA', googleAdsId: 2012 },
package/geo/index.js CHANGED
@@ -1,7 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.languages = exports.countries = void 0;
4
- var countries_1 = require("./countries");
5
- Object.defineProperty(exports, "countries", { enumerable: true, get: function () { return countries_1.countries; } });
6
- var languages_1 = require("./languages");
7
- Object.defineProperty(exports, "languages", { enumerable: true, get: function () { return languages_1.languages; } });
1
+ export { countries } from "./countries";
2
+ export { languages } from "./languages";
package/geo/languages.js CHANGED
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.languages = void 0;
4
1
  /**
5
2
  * https://docs.google.com/spreadsheets/d/1nrQ9h1n9p0Mab81_FKGqIw4fTOMOOjpcFrf0oSQvHIw/edit?gid=0#gid=0
6
3
  */
7
- exports.languages = [
4
+ export const languages = [
8
5
  { name: 'Arabic', iso2: 'ar', googleAdsId: 1019 },
9
6
  { name: 'Bengali', iso2: 'bn', googleAdsId: 1056 },
10
7
  { name: 'Bulgarian', iso2: 'bg', googleAdsId: 1020 },
@@ -1,155 +1,115 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.GoogleBigQueryNamespace = void 0;
37
- const _class_1 = require("../../_class");
38
- const server_1 = require("../server");
39
- class GoogleBigQueryNamespace extends _class_1.BaseNamespace {
40
- constructor() {
41
- super(...arguments);
42
- this.ensureInit = async () => {
43
- if (!this.client) {
44
- try {
45
- const { BigQuery } = await Promise.resolve().then(() => __importStar(require("@google-cloud/bigquery")));
46
- const formattedConfig = (0, server_1.getConfig)(this.config, this.config?.projectId);
47
- this.client = new BigQuery(formattedConfig);
48
- }
49
- catch (e) {
50
- throw new Error("Google BigQuery Client not installed");
51
- }
52
- }
53
- };
54
- /**
55
- * Create a Dataset if it doesn't already exist.
56
- * Returns table instance.
57
- */
58
- this.createDataset = async (datasetId, options = {}) => {
59
- await this.ensureInit();
60
- const datasetExists = await this.datasetExists(datasetId);
61
- if (!datasetExists) {
62
- await this.client
63
- .createDataset(datasetId);
64
- }
65
- };
66
- /**
67
- * Check to see whether a given BigQuery dataset exists.
68
- * Based off:
69
- * https://github.com/googleapis/nodejs-bigquery/blob/main/samples/getDataset.js
70
- */
71
- this.datasetExists = async (datasetId) => {
72
- await this.ensureInit();
73
- let response;
1
+ import { BaseNamespace } from "../../_class";
2
+ import { getConfig } from "../server";
3
+ export class GoogleBigQueryNamespace extends BaseNamespace {
4
+ ensureInit = async () => {
5
+ if (!this.client) {
74
6
  try {
75
- await this.client.dataset(datasetId)
76
- .get();
77
- response = true;
78
- }
79
- catch (exception) {
80
- response = false;
7
+ const { BigQuery } = await import("@google-cloud/bigquery");
8
+ const formattedConfig = getConfig(this.config, this.config?.projectId);
9
+ this.client = new BigQuery(formattedConfig);
81
10
  }
82
- return response;
83
- };
84
- /**
85
- * Retrieve all the Datasets
86
- */
87
- this.getDatasets = async () => {
88
- await this.ensureInit();
89
- let response = [];
90
- const datasets = await this.client.getDatasets();
91
- if (datasets?.[0]) {
92
- for (let i = 0; i < datasets[0].length; i++) {
93
- response.push({
94
- id: datasets[0][i].id,
95
- location: datasets[0][i].location,
96
- projectId: datasets[0][i].bigQuery.projectId,
97
- });
98
- }
11
+ catch (e) {
12
+ throw new Error("Google BigQuery Client not installed");
99
13
  }
100
- return response;
101
- };
102
- this.query = async (props) => {
103
- await this.ensureInit();
104
- let queryString = "string" === typeof props ? props : props.query;
105
- let options = "string" === typeof props ? {} : props?.params;
106
- const apiResponse = await this.client.query(queryString, options);
107
- return apiResponse;
108
- };
109
- /**
110
- * Create a Table if it doesn't already exist.
111
- */
112
- this.createTable = async (datasetId, datasetOptions = {}, tableId, options = {}) => {
113
- await this.ensureInit();
114
- // Create the BigQuery table if it doesn't exist
115
- await this.createDataset(datasetId, datasetOptions);
116
- const tableExists = await this.tableExists(datasetId, tableId);
117
- if (!tableExists) {
118
- await this.client
119
- .dataset(datasetId)
120
- .createTable(tableId, options || {});
14
+ }
15
+ };
16
+ /**
17
+ * Create a Dataset if it doesn't already exist.
18
+ * Returns table instance.
19
+ */
20
+ createDataset = async (datasetId, options = {}) => {
21
+ await this.ensureInit();
22
+ const datasetExists = await this.datasetExists(datasetId);
23
+ if (!datasetExists) {
24
+ await this.client
25
+ .createDataset(datasetId);
26
+ }
27
+ };
28
+ /**
29
+ * Check to see whether a given BigQuery dataset exists.
30
+ * Based off:
31
+ * https://github.com/googleapis/nodejs-bigquery/blob/main/samples/getDataset.js
32
+ */
33
+ datasetExists = async (datasetId) => {
34
+ await this.ensureInit();
35
+ let response;
36
+ try {
37
+ await this.client.dataset(datasetId)
38
+ .get();
39
+ response = true;
40
+ }
41
+ catch (exception) {
42
+ response = false;
43
+ }
44
+ return response;
45
+ };
46
+ /**
47
+ * Retrieve all the Datasets
48
+ */
49
+ getDatasets = async () => {
50
+ await this.ensureInit();
51
+ let response = [];
52
+ const datasets = await this.client.getDatasets();
53
+ if (datasets?.[0]) {
54
+ for (let i = 0; i < datasets[0].length; i++) {
55
+ response.push({
56
+ id: datasets[0][i].id,
57
+ location: datasets[0][i].location,
58
+ projectId: datasets[0][i].bigQuery.projectId,
59
+ });
121
60
  }
122
- };
123
- /**
124
- * Check to see whether a given BigQuery table exists.
125
- * https://cloud.google.com/bigquery/docs/samples/bigquery-table-exists
126
- */
127
- this.tableExists = async (datasetId, tableId) => {
128
- await this.ensureInit();
129
- let response = false;
130
- const tables = await this.getTables(datasetId);
131
- for (let i = 0; i < tables.length; i++) {
132
- if (tables[i].id === tableId) {
133
- response = true;
134
- break;
135
- }
61
+ }
62
+ return response;
63
+ };
64
+ query = async (props) => {
65
+ await this.ensureInit();
66
+ let queryString = "string" === typeof props ? props : props.query;
67
+ let options = "string" === typeof props ? {} : props?.params;
68
+ const apiResponse = await this.client.query(queryString, options);
69
+ return apiResponse;
70
+ };
71
+ /**
72
+ * Create a Table if it doesn't already exist.
73
+ */
74
+ createTable = async (datasetId, datasetOptions = {}, tableId, options = {}) => {
75
+ await this.ensureInit();
76
+ // Create the BigQuery table if it doesn't exist
77
+ await this.createDataset(datasetId, datasetOptions);
78
+ const tableExists = await this.tableExists(datasetId, tableId);
79
+ if (!tableExists) {
80
+ await this.client
81
+ .dataset(datasetId)
82
+ .createTable(tableId, options || {});
83
+ }
84
+ };
85
+ /**
86
+ * Check to see whether a given BigQuery table exists.
87
+ * https://cloud.google.com/bigquery/docs/samples/bigquery-table-exists
88
+ */
89
+ tableExists = async (datasetId, tableId) => {
90
+ await this.ensureInit();
91
+ let response = false;
92
+ const tables = await this.getTables(datasetId);
93
+ for (let i = 0; i < tables.length; i++) {
94
+ if (tables[i].id === tableId) {
95
+ response = true;
96
+ break;
136
97
  }
137
- return response;
138
- };
139
- this.getTables = async (datasetId) => {
140
- await this.ensureInit();
141
- let response = [];
142
- const tables = await this.client.dataset(datasetId)
143
- .getTables();
144
- if (tables?.[0]) {
145
- for (let i = 0; i < tables[0].length; i++) {
146
- response.push({
147
- id: tables[0][i].id,
148
- });
149
- }
98
+ }
99
+ return response;
100
+ };
101
+ getTables = async (datasetId) => {
102
+ await this.ensureInit();
103
+ let response = [];
104
+ const tables = await this.client.dataset(datasetId)
105
+ .getTables();
106
+ if (tables?.[0]) {
107
+ for (let i = 0; i < tables[0].length; i++) {
108
+ response.push({
109
+ id: tables[0][i].id,
110
+ });
150
111
  }
151
- return response;
152
- };
153
- }
112
+ }
113
+ return response;
114
+ };
154
115
  }
155
- exports.GoogleBigQueryNamespace = GoogleBigQueryNamespace;