@8ms/helpers 2.2.9 → 2.2.12
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.
- package/.github/workflows/deploy_npmjs.yml +3 -0
- package/_class/BaseClass.js +43 -52
- package/_class/BaseNamespace.js +17 -20
- package/_class/index.js +2 -7
- package/adverity/getJobs.js +7 -11
- package/adverity/index.js +51 -54
- package/adverity/server.js +1 -5
- package/api/ApiResponseClass.js +84 -88
- package/api/functions.js +13 -22
- package/api/index.js +3 -19
- package/api/types.js +5 -9
- package/array/index.js +3 -11
- package/atInternet/index.js +10 -13
- package/aws/ec2/AwsEc2Namespace.js +34 -74
- package/aws/ec2/server.js +5 -9
- package/aws/ecs/AwsEcsNamespace.js +110 -150
- package/aws/ecs/server.js +5 -9
- package/aws/glue/AwsGlueNamespace.js +26 -66
- package/aws/glue/server.js +5 -9
- package/aws/isResponse200.js +3 -7
- package/aws/lambda/AwsLambdaNamespace.js +62 -102
- package/aws/lambda/server.js +6 -11
- package/aws/s3/AwsS3Namespace.js +347 -390
- package/aws/s3/payload.js +29 -32
- package/aws/s3/server.js +9 -14
- package/aws/server.js +5 -10
- package/aws/ses/AwsSesNamespace.js +36 -76
- package/aws/ses/SimpleEmail.js +267 -304
- package/aws/ses/server.js +6 -11
- package/aws/sqs/AwsSqsNamespace.js +49 -89
- package/aws/sqs/server.js +5 -9
- package/aws/ssm/AwsSsmNamespace.js +43 -79
- package/aws/ssm/server.js +5 -9
- package/axios/deleteRequest.js +8 -15
- package/axios/get.js +8 -15
- package/axios/index.js +3 -9
- package/axios/post.js +8 -15
- package/boolean/index.js +3 -10
- package/brightData/serpApi/buildGoogleSerpUrl.js +1 -5
- package/brightData/serpApi/buildGoogleTrendsUrl.js +1 -5
- package/brightData/serpApi/getAsyncRequestId.js +8 -12
- package/brightData/serpApi/getAsyncResults.js +8 -12
- package/brightData/serpApi/getRealtime.js +3 -7
- package/brightData/serpApi/server.js +6 -14
- package/brightData/server.js +2 -7
- package/brightData/webScraperIde/getBatch.js +3 -7
- package/brightData/webScraperIde/getRealtime.js +11 -15
- package/brightData/webScraperIde/server.js +2 -7
- package/cache/server.js +2 -7
- package/cache/test/cache.test.js +4 -6
- package/crud/index.js +1 -4
- package/crypto/getDecrypt.js +2 -39
- package/crypto/getEncrypt.js +2 -39
- package/crypto/getRandom.js +1 -5
- package/crypto/getSha256.js +4 -41
- package/crypto/index.js +4 -11
- package/date/calculation.js +70 -99
- package/date/financialYear.js +16 -23
- package/date/format.js +40 -61
- package/date/index.js +4 -20
- package/date/type.js +4 -7
- package/environment/index.js +15 -25
- package/eskimi/getAgeGroup.js +3 -7
- package/eskimi/getData.js +3 -7
- package/eskimi/getDevice.js +3 -7
- package/eskimi/getGender.js +3 -7
- package/eskimi/server.js +23 -26
- package/file/index.js +8 -46
- package/geo/countries.js +1 -4
- package/geo/index.js +2 -7
- package/geo/languages.js +1 -4
- package/google/bigQuery/GoogleBigQueryNamespace.js +108 -148
- package/google/bigQuery/loadData.js +1 -5
- package/google/bigQuery/server.js +8 -14
- package/google/server.js +1 -5
- package/google/sheets/GoogleSheetsNamespace.js +34 -74
- package/google/sheets/getAssociatedData.js +1 -5
- package/google/sheets/server.js +8 -14
- package/google/storage/GoogleCloudStorageNamespace.js +62 -102
- package/google/storage/server.js +6 -10
- package/googleAds/GoogleAdsNamespace.js +28 -68
- package/googleAds/keywordPlanner/server.js +32 -35
- package/googleAds/server.js +6 -10
- package/googlePageSpeed/GooglePageSpeedNamespace.js +21 -28
- package/googlePageSpeed/server.js +8 -12
- package/googleSearchIncidents/server.js +28 -32
- package/greenDomain/server.js +17 -21
- package/inngest/server.js +1 -4
- package/json/getJsonNewline.js +3 -7
- package/json/index.js +2 -7
- package/json/isJson.js +1 -5
- package/littleWarden/LittleWardenNamespace.js +24 -31
- package/littleWarden/getUrlStatus.js +3 -7
- package/littleWarden/server.js +14 -22
- package/lumar/api/buildRequest.js +14 -18
- package/lumar/api/getData.js +3 -7
- package/lumar/api/initClient.js +3 -7
- package/lumar/api/server.js +6 -12
- package/lumar/graphql/columns.js +1 -4
- package/lumar/graphql/getData.js +3 -7
- package/lumar/graphql/initClient.js +3 -7
- package/lumar/graphql/queries/crawl.js +1 -2
- package/lumar/graphql/queries/getCrawls.js +1 -3
- package/lumar/graphql/queries/getReportDifferences.js +3 -5
- package/lumar/graphql/queries/getRows.js +1 -3
- package/lumar/graphql/queries/getTotals.js +1 -3
- package/lumar/graphql/queries/row.js +1 -2
- package/lumar/graphql/reportTemplates.js +1 -4
- package/lumar/graphql/server.js +7 -15
- package/myTarget/server.js +3 -7
- package/nextAuth/index.js +2 -6
- package/nextAuth/isSessionReady.js +1 -5
- package/nextJs/client/LazyLoad.js +5 -12
- package/nextJs/client.js +1 -5
- package/nextJs/index.js +2 -7
- package/number/format.js +3 -7
- package/number/formatCurrency.js +1 -5
- package/number/getDecimal.js +3 -7
- package/number/getNumber.js +3 -7
- package/number/getPercentIncrease.js +4 -8
- package/number/getSafeDivide.js +6 -10
- package/number/index.js +6 -15
- package/object/index.js +1 -5
- package/object/replaceKeys.js +3 -7
- package/onePassword/OnePasswordNamespace.js +36 -76
- package/onePassword/server.js +3 -7
- package/openAi/OpenAiNamespace.js +32 -39
- package/openAi/server.js +6 -10
- package/package.json +224 -122
- package/prisma/PrismaNamespace.js +53 -93
- package/prisma/getDecimal.js +5 -12
- package/prisma/server.js +4 -9
- package/scripts/generate-exports.js +50 -0
- package/snapchat/SnapchatNamespace.js +20 -27
- package/snapchat/server.js +6 -10
- package/sorting/byNumberAscending.js +1 -5
- package/sorting/byNumberDescending.js +1 -5
- package/sorting/byStringAscending.js +1 -5
- package/sorting/byStringDescending.js +1 -5
- package/sorting/index.js +4 -11
- package/stream/server.js +1 -5
- package/stream/sort.js +1 -5
- package/string/getCapitalised.js +3 -7
- package/string/getClean.js +17 -21
- package/string/getFolder.js +3 -10
- package/string/getProperCase.js +4 -8
- package/string/getString.js +8 -15
- package/string/getStringFromStream.js +1 -5
- package/string/getUnescaped.js +3 -10
- package/string/getWithoutAccents.js +1 -5
- package/string/getWithoutHtmlTags.js +1 -5
- package/string/getWithoutPunctuation.js +1 -5
- package/string/getWithoutUnderscores.js +1 -5
- package/string/getWithoutWhitespaces.js +1 -5
- package/string/index.js +12 -27
- package/string/reservedWords.js +5 -9
- package/swr/index.js +9 -18
- package/upTimeRobot/UpTimeRobotNamespace.js +32 -42
- package/upTimeRobot/server.js +11 -15
- package/url/index.js +12 -23
- package/url/server.js +1 -5
- package/url/writeUrlContents.js +6 -46
- package/util/defaultTo.js +5 -12
- package/util/getBrotliCompressed.js +3 -10
- package/util/getBrotliDecompressed.js +3 -10
- package/util/getClean.js +5 -9
- package/util/getError.js +1 -5
- package/util/getGzipCompressed.js +3 -10
- package/util/getGzipDecompressed.js +3 -10
- package/util/getWithoutHash.js +1 -5
- package/util/getWithoutParameter.js +1 -5
- package/util/index.js +7 -17
- package/util/isUndefined.js +3 -7
- package/util/promiseChunks.js +6 -10
- package/util/server.js +4 -11
- package/util/sleep.js +1 -5
- package/webWorker/index.js +1 -4
- package/xml/getXml.js +3 -7
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
|
|
8
|
+
const projectRoot = path.join(__dirname, '..');
|
|
9
|
+
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
10
|
+
|
|
11
|
+
// Read package.json
|
|
12
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
13
|
+
|
|
14
|
+
// Find all directories in the project root (excluding specific ones)
|
|
15
|
+
const excludeDirs = ['node_modules', 'scripts', 'jest', 'src', '.git', '.github', '.idea'];
|
|
16
|
+
const entries = fs.readdirSync(projectRoot, {withFileTypes: true});
|
|
17
|
+
|
|
18
|
+
// Build exports object
|
|
19
|
+
const exports = {
|
|
20
|
+
'.': {
|
|
21
|
+
types: './index.d.ts',
|
|
22
|
+
default: './index.js'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// Add all directories that have an index.js file
|
|
27
|
+
entries.forEach(entry =>
|
|
28
|
+
{
|
|
29
|
+
if(entry.isDirectory() && !excludeDirs.includes(entry.name) && !entry.name.startsWith('.'))
|
|
30
|
+
{
|
|
31
|
+
const indexJsPath = path.join(projectRoot, entry.name, 'index.js');
|
|
32
|
+
const indexDtsPath = path.join(projectRoot, entry.name, 'index.d.ts');
|
|
33
|
+
|
|
34
|
+
if(fs.existsSync(indexJsPath))
|
|
35
|
+
{
|
|
36
|
+
exports[`./${entry.name}`] = {
|
|
37
|
+
types: `./${entry.name}/index.d.ts`,
|
|
38
|
+
default: `./${entry.name}/index.js`
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Update package.json with new exports
|
|
45
|
+
packageJson.exports = exports;
|
|
46
|
+
|
|
47
|
+
// Write back to package.json
|
|
48
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, '\t') + '\n', 'utf8');
|
|
49
|
+
|
|
50
|
+
console.log(`Generated exports for ${Object.keys(exports).length} entries`);
|
|
@@ -1,29 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.client = {
|
|
20
|
-
expires: luxon_1.DateTime.now()
|
|
21
|
-
.toUnixInteger() + (3 * 60 * 60 * 1000),
|
|
22
|
-
refreshToken: apiResponse.getBodyDefaultTo(["data", "access_token"], null)
|
|
23
|
-
};
|
|
24
|
-
}
|
|
1
|
+
import { BaseNamespace } from "../_class";
|
|
2
|
+
import { post } from "../axios";
|
|
3
|
+
import { DateTime } from "luxon";
|
|
4
|
+
export class SnapchatNamespace extends BaseNamespace {
|
|
5
|
+
/**
|
|
6
|
+
* Renew the access token as it expires every 3 hours.
|
|
7
|
+
*/
|
|
8
|
+
ensureInit = async () => {
|
|
9
|
+
if (!this.client) {
|
|
10
|
+
// Build the token request for Snapchat
|
|
11
|
+
const url = `https://accounts.snapchat.com/login/oauth2/access_token?client_id=${this.config.clientId}&client_secret=${this.config.clientSecret}&grant_type=refresh_token&refresh_token=${this.config.refreshToken}`;
|
|
12
|
+
const apiResponse = await post(url);
|
|
13
|
+
if (apiResponse.isSuccess()) {
|
|
14
|
+
this.client = {
|
|
15
|
+
expires: DateTime.now()
|
|
16
|
+
.toUnixInteger() + (3 * 60 * 60 * 1000),
|
|
17
|
+
refreshToken: apiResponse.getBodyDefaultTo(["data", "access_token"], null)
|
|
18
|
+
};
|
|
25
19
|
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
28
22
|
}
|
|
29
|
-
exports.SnapchatNamespace = SnapchatNamespace;
|
package/snapchat/server.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.snapchatClient = void 0;
|
|
4
|
-
const SnapchatNamespace_1 = require("./SnapchatNamespace");
|
|
5
|
-
const server_1 = require("../onePassword/server");
|
|
1
|
+
import { SnapchatNamespace } from "./SnapchatNamespace";
|
|
2
|
+
import { onePasswordClient } from "../onePassword/server";
|
|
6
3
|
const snapchatNamespaces = new Map();
|
|
7
|
-
const snapchatClient = async (key = "default", config, vaultId, itemId) => {
|
|
4
|
+
export const snapchatClient = async (key = "default", config, vaultId, itemId) => {
|
|
8
5
|
if (snapchatNamespaces.has(key)) {
|
|
9
6
|
return snapchatNamespaces.get(key);
|
|
10
7
|
}
|
|
@@ -13,18 +10,17 @@ const snapchatClient = async (key = "default", config, vaultId, itemId) => {
|
|
|
13
10
|
instanceConfig = config;
|
|
14
11
|
}
|
|
15
12
|
else if (vaultId && itemId) {
|
|
16
|
-
instanceConfig = await (await
|
|
13
|
+
instanceConfig = await (await onePasswordClient())
|
|
17
14
|
.getJsonNote(vaultId, itemId);
|
|
18
15
|
}
|
|
19
16
|
else if (process.env.SNAPCHAT_VAULT_ID && process.env.SNAPCHAT_ITEM_ID) {
|
|
20
|
-
instanceConfig = await (await
|
|
17
|
+
instanceConfig = await (await onePasswordClient())
|
|
21
18
|
.getJsonNote(process.env.SNAPCHAT_VAULT_ID, process.env.SNAPCHAT_ITEM_ID);
|
|
22
19
|
}
|
|
23
20
|
else {
|
|
24
21
|
throw new Error(`Config required for namespace '${key}'`);
|
|
25
22
|
}
|
|
26
|
-
const namespace = new
|
|
23
|
+
const namespace = new SnapchatNamespace(key, instanceConfig);
|
|
27
24
|
snapchatNamespaces.set(key, namespace);
|
|
28
25
|
return namespace;
|
|
29
26
|
};
|
|
30
|
-
exports.snapchatClient = snapchatClient;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.byNumberAscending = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Take two values, ensure they are numbers and return the sorting value.
|
|
6
3
|
*/
|
|
7
|
-
const byNumberAscending = (valueA, valueB) => {
|
|
4
|
+
export const byNumberAscending = (valueA, valueB) => {
|
|
8
5
|
const a = Number(valueA);
|
|
9
6
|
const b = Number(valueB);
|
|
10
7
|
// Handle NaN cases
|
|
@@ -16,4 +13,3 @@ const byNumberAscending = (valueA, valueB) => {
|
|
|
16
13
|
return -1;
|
|
17
14
|
return a - b;
|
|
18
15
|
};
|
|
19
|
-
exports.byNumberAscending = byNumberAscending;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.byNumberDescending = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Take two values, ensure they are numbers and return the sorting value.
|
|
6
3
|
*/
|
|
7
|
-
const byNumberDescending = (valueA, valueB) => {
|
|
4
|
+
export const byNumberDescending = (valueA, valueB) => {
|
|
8
5
|
const a = Number(valueA);
|
|
9
6
|
const b = Number(valueB);
|
|
10
7
|
// Handle NaN cases
|
|
@@ -19,4 +16,3 @@ const byNumberDescending = (valueA, valueB) => {
|
|
|
19
16
|
}
|
|
20
17
|
return b - a;
|
|
21
18
|
};
|
|
22
|
-
exports.byNumberDescending = byNumberDescending;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.byStringAscending = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Take two values, clean the strings and return the sorting value.
|
|
6
3
|
*/
|
|
7
|
-
const byStringAscending = (valueA, valueB) => {
|
|
4
|
+
export const byStringAscending = (valueA, valueB) => {
|
|
8
5
|
const valueAClean = valueA.toString()
|
|
9
6
|
.trim()
|
|
10
7
|
.toLowerCase();
|
|
@@ -13,4 +10,3 @@ const byStringAscending = (valueA, valueB) => {
|
|
|
13
10
|
.toLowerCase();
|
|
14
11
|
return valueAClean.localeCompare(valueBClean);
|
|
15
12
|
};
|
|
16
|
-
exports.byStringAscending = byStringAscending;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.byStringDescending = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Take two values, clean the strings and return the sorting value.
|
|
6
3
|
*/
|
|
7
|
-
const byStringDescending = (valueA, valueB) => {
|
|
4
|
+
export const byStringDescending = (valueA, valueB) => {
|
|
8
5
|
const valueAClean = valueA.toString()
|
|
9
6
|
.trim()
|
|
10
7
|
.toLowerCase();
|
|
@@ -13,4 +10,3 @@ const byStringDescending = (valueA, valueB) => {
|
|
|
13
10
|
.toLowerCase();
|
|
14
11
|
return valueBClean.localeCompare(valueAClean);
|
|
15
12
|
};
|
|
16
|
-
exports.byStringDescending = byStringDescending;
|
package/sorting/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "byNumberAscending", { enumerable: true, get: function () { return byNumberAscending_1.byNumberAscending; } });
|
|
6
|
-
var byNumberDescending_1 = require("./byNumberDescending");
|
|
7
|
-
Object.defineProperty(exports, "byNumberDescending", { enumerable: true, get: function () { return byNumberDescending_1.byNumberDescending; } });
|
|
8
|
-
var byStringAscending_1 = require("./byStringAscending");
|
|
9
|
-
Object.defineProperty(exports, "byStringAscending", { enumerable: true, get: function () { return byStringAscending_1.byStringAscending; } });
|
|
10
|
-
var byStringDescending_1 = require("./byStringDescending");
|
|
11
|
-
Object.defineProperty(exports, "byStringDescending", { enumerable: true, get: function () { return byStringDescending_1.byStringDescending; } });
|
|
1
|
+
export { byNumberAscending } from "./byNumberAscending";
|
|
2
|
+
export { byNumberDescending } from "./byNumberDescending";
|
|
3
|
+
export { byStringAscending } from "./byStringAscending";
|
|
4
|
+
export { byStringDescending } from "./byStringDescending";
|
package/stream/server.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sort = void 0;
|
|
4
|
-
var sort_1 = require("./sort");
|
|
5
|
-
Object.defineProperty(exports, "sort", { enumerable: true, get: function () { return sort_1.sort; } });
|
|
1
|
+
export { sort } from "./sort";
|
package/stream/sort.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sort = void 0;
|
|
4
1
|
const Transform = require("stream").Transform;
|
|
5
2
|
const batch = 15000;
|
|
6
3
|
/**
|
|
@@ -44,8 +41,7 @@ class SortStreamer extends Transform {
|
|
|
44
41
|
this.push(null);
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
|
-
const sort = (comp, options) => {
|
|
44
|
+
export const sort = (comp, options) => {
|
|
48
45
|
options = options || { objectMode: true };
|
|
49
46
|
return new SortStreamer(options, comp);
|
|
50
47
|
};
|
|
51
|
-
exports.sort = sort;
|
package/string/getCapitalised.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCapitalised = void 0;
|
|
4
|
-
const reservedWords_1 = require("./reservedWords");
|
|
1
|
+
import { isReservedWord } from "./reservedWords";
|
|
5
2
|
/**
|
|
6
3
|
* Convert a string into Capitalised Text.
|
|
7
4
|
* https://stackoverflow.com/a/196991/2664955
|
|
8
5
|
*/
|
|
9
|
-
const getCapitalised = (input, split = "_") => {
|
|
6
|
+
export const getCapitalised = (input, split = "_") => {
|
|
10
7
|
const regex = new RegExp(split || "_", "g");
|
|
11
8
|
return input
|
|
12
9
|
.replace(regex, " ")
|
|
13
10
|
.replace(/\w\S*/g, function (txt) {
|
|
14
11
|
// Check if individual word is reserved
|
|
15
|
-
const reservedWord =
|
|
12
|
+
const reservedWord = isReservedWord(txt);
|
|
16
13
|
if (reservedWord) {
|
|
17
14
|
return reservedWord;
|
|
18
15
|
}
|
|
@@ -22,4 +19,3 @@ const getCapitalised = (input, split = "_") => {
|
|
|
22
19
|
.toLowerCase();
|
|
23
20
|
});
|
|
24
21
|
};
|
|
25
|
-
exports.getCapitalised = getCapitalised;
|
package/string/getClean.js
CHANGED
|
@@ -1,42 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const getWithoutPunctuation_1 = require("./getWithoutPunctuation");
|
|
10
|
-
const getWithoutUnderscores_1 = require("./getWithoutUnderscores");
|
|
11
|
-
const getUnescaped_1 = require("./getUnescaped");
|
|
1
|
+
import { getString } from "./getString";
|
|
2
|
+
import { getWithoutHtmlTags } from "./getWithoutHtmlTags";
|
|
3
|
+
import { getWithoutAccents } from "./getWithoutAccents";
|
|
4
|
+
import { getProperCase } from "./getProperCase";
|
|
5
|
+
import { getWithoutWhitespaces } from "./getWithoutWhitespaces";
|
|
6
|
+
import { getWithoutPunctuation } from "./getWithoutPunctuation";
|
|
7
|
+
import { getWithoutUnderscores } from "./getWithoutUnderscores";
|
|
8
|
+
import { getUnescaped } from "./getUnescaped";
|
|
12
9
|
/**
|
|
13
10
|
* Shorthand function to get a clean version of a string.
|
|
14
11
|
*/
|
|
15
|
-
const getClean = (props) => {
|
|
16
|
-
let response =
|
|
12
|
+
export const getClean = (props) => {
|
|
13
|
+
let response = getString(props.input);
|
|
17
14
|
if (props.decoded) {
|
|
18
|
-
response =
|
|
15
|
+
response = getUnescaped(response);
|
|
19
16
|
}
|
|
20
17
|
if (props.accents) {
|
|
21
|
-
response =
|
|
18
|
+
response = getWithoutAccents(response);
|
|
22
19
|
}
|
|
23
20
|
if (props.htmlTags) {
|
|
24
|
-
response =
|
|
21
|
+
response = getWithoutHtmlTags(response);
|
|
25
22
|
}
|
|
26
23
|
if (props.underscores) {
|
|
27
|
-
response =
|
|
24
|
+
response = getWithoutUnderscores(response);
|
|
28
25
|
}
|
|
29
26
|
if (props.punctuation) {
|
|
30
|
-
response =
|
|
27
|
+
response = getWithoutPunctuation(response);
|
|
31
28
|
}
|
|
32
29
|
if (props.whitespace) {
|
|
33
|
-
response =
|
|
30
|
+
response = getWithoutWhitespaces(response);
|
|
34
31
|
}
|
|
35
32
|
if (props.lowercase) {
|
|
36
33
|
response = response.toLowerCase();
|
|
37
34
|
}
|
|
38
35
|
if (props.propercase) {
|
|
39
|
-
response =
|
|
36
|
+
response = getProperCase({
|
|
40
37
|
input: response,
|
|
41
38
|
});
|
|
42
39
|
}
|
|
@@ -48,4 +45,3 @@ const getClean = (props) => {
|
|
|
48
45
|
}
|
|
49
46
|
return response;
|
|
50
47
|
};
|
|
51
|
-
exports.getClean = getClean;
|
package/string/getFolder.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFolder = void 0;
|
|
7
|
-
const trim_1 = __importDefault(require("lodash/trim"));
|
|
1
|
+
import trim from "lodash/trim";
|
|
8
2
|
/**
|
|
9
3
|
* Take an input that may have a / before or after the input and return just the folder.
|
|
10
4
|
*/
|
|
11
|
-
const getFolder = (input) => {
|
|
12
|
-
return (
|
|
5
|
+
export const getFolder = (input) => {
|
|
6
|
+
return trim(input, "/")
|
|
13
7
|
.trim();
|
|
14
8
|
};
|
|
15
|
-
exports.getFolder = getFolder;
|
package/string/getProperCase.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProperCase = void 0;
|
|
4
|
-
const reservedWords_1 = require("./reservedWords");
|
|
1
|
+
import { isReservedWord, reservedWords } from "./reservedWords";
|
|
5
2
|
/**
|
|
6
3
|
* Return a string "With Proper Casing".
|
|
7
4
|
*/
|
|
8
|
-
const getProperCase = (props) => {
|
|
5
|
+
export const getProperCase = (props) => {
|
|
9
6
|
const cleanInput = props.input.toString()
|
|
10
7
|
.trim();
|
|
11
8
|
// Don't process if the entire input is a reserved word
|
|
12
|
-
if (
|
|
9
|
+
if (reservedWords.includes(cleanInput.toUpperCase())) {
|
|
13
10
|
return cleanInput;
|
|
14
11
|
}
|
|
15
12
|
// Build the split pattern - always include spaces
|
|
@@ -33,7 +30,7 @@ const getProperCase = (props) => {
|
|
|
33
30
|
.filter(word => word.length > 0) // Remove empty strings
|
|
34
31
|
.map(word => {
|
|
35
32
|
// Check if individual word is reserved
|
|
36
|
-
const reservedWord =
|
|
33
|
+
const reservedWord = isReservedWord(word);
|
|
37
34
|
if (reservedWord) {
|
|
38
35
|
return reservedWord;
|
|
39
36
|
}
|
|
@@ -44,4 +41,3 @@ const getProperCase = (props) => {
|
|
|
44
41
|
});
|
|
45
42
|
return words.join(' ');
|
|
46
43
|
};
|
|
47
|
-
exports.getProperCase = getProperCase;
|
package/string/getString.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getString = void 0;
|
|
7
|
-
const isArray_1 = __importDefault(require("lodash/isArray"));
|
|
8
|
-
const isDate_1 = __importDefault(require("lodash/isDate"));
|
|
9
|
-
const isObject_1 = __importDefault(require("lodash/isObject"));
|
|
10
|
-
const date_1 = require("../date");
|
|
1
|
+
import isArray from "lodash/isArray";
|
|
2
|
+
import isDate from "lodash/isDate";
|
|
3
|
+
import isObject from "lodash/isObject";
|
|
4
|
+
import { getYmdString } from "../date";
|
|
11
5
|
/**
|
|
12
6
|
* Convert into string.
|
|
13
7
|
*/
|
|
14
|
-
const getString = (input) => {
|
|
8
|
+
export const getString = (input) => {
|
|
15
9
|
let string = "";
|
|
16
10
|
// Already a string
|
|
17
11
|
if ("string" === typeof input) {
|
|
@@ -22,13 +16,12 @@ const getString = (input) => {
|
|
|
22
16
|
string = input.toString();
|
|
23
17
|
}
|
|
24
18
|
// Object or array to JSON
|
|
25
|
-
else if ((
|
|
19
|
+
else if (isObject(input) || isArray(input)) {
|
|
26
20
|
string = JSON.stringify(input);
|
|
27
21
|
}
|
|
28
22
|
// Date
|
|
29
|
-
else if ((
|
|
30
|
-
string =
|
|
23
|
+
else if (isDate(input)) {
|
|
24
|
+
string = getYmdString(input);
|
|
31
25
|
}
|
|
32
26
|
return string;
|
|
33
27
|
};
|
|
34
|
-
exports.getString = getString;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getStringFromStream = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Converts a stream into a string.
|
|
6
3
|
* https://stackoverflow.com/a/49428486
|
|
7
4
|
*/
|
|
8
|
-
const getStringFromStream = (stream) => {
|
|
5
|
+
export const getStringFromStream = (stream) => {
|
|
9
6
|
const chunks = [];
|
|
10
7
|
return new Promise((resolve, reject) => {
|
|
11
8
|
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
|
|
@@ -14,4 +11,3 @@ const getStringFromStream = (stream) => {
|
|
|
14
11
|
.toString("utf8")));
|
|
15
12
|
});
|
|
16
13
|
};
|
|
17
|
-
exports.getStringFromStream = getStringFromStream;
|
package/string/getUnescaped.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getUnescaped = void 0;
|
|
7
|
-
const unescape_1 = __importDefault(require("lodash/unescape"));
|
|
1
|
+
import _unescape from "lodash/unescape";
|
|
8
2
|
/**
|
|
9
3
|
* Convert escaped copy into unescaped.
|
|
10
4
|
* E.g. there's => there's
|
|
11
5
|
* https://stackoverflow.com/a/42182294/2664955
|
|
12
6
|
*/
|
|
13
|
-
const getUnescaped = (input) => {
|
|
7
|
+
export const getUnescaped = (input) => {
|
|
14
8
|
let response = input;
|
|
15
9
|
// Only works if DOM exists
|
|
16
10
|
if ("undefined" !== typeof document) {
|
|
@@ -19,8 +13,7 @@ const getUnescaped = (input) => {
|
|
|
19
13
|
response = el.value;
|
|
20
14
|
}
|
|
21
15
|
else {
|
|
22
|
-
response = (
|
|
16
|
+
response = _unescape(response);
|
|
23
17
|
}
|
|
24
18
|
return response;
|
|
25
19
|
};
|
|
26
|
-
exports.getUnescaped = getUnescaped;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithoutAccents = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Remove the accents from a string.
|
|
6
3
|
* https://stackoverflow.com/a/37511463
|
|
7
4
|
*/
|
|
8
|
-
const getWithoutAccents = (input) => {
|
|
5
|
+
export const getWithoutAccents = (input) => {
|
|
9
6
|
return input
|
|
10
7
|
.normalize("NFD")
|
|
11
8
|
.replace(/[\u0300-\u036f]/g, "");
|
|
12
9
|
};
|
|
13
|
-
exports.getWithoutAccents = getWithoutAccents;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithoutHtmlTags = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Removes all HTML tags from an input.
|
|
6
3
|
* https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
|
|
7
4
|
*/
|
|
8
|
-
const getWithoutHtmlTags = (input) => {
|
|
5
|
+
export const getWithoutHtmlTags = (input) => {
|
|
9
6
|
return input
|
|
10
7
|
.replace(/(<([^>]+)>)/gi, "");
|
|
11
8
|
};
|
|
12
|
-
exports.getWithoutHtmlTags = getWithoutHtmlTags;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithoutPunctuation = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Remove all punctuation from a string and replace with a space.
|
|
6
3
|
* https://stackoverflow.com/a/25575009
|
|
7
4
|
*/
|
|
8
|
-
const getWithoutPunctuation = (input) => {
|
|
5
|
+
export const getWithoutPunctuation = (input) => {
|
|
9
6
|
return input
|
|
10
7
|
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]/g, "")
|
|
11
8
|
.replace(/\s+/g, " ");
|
|
12
9
|
};
|
|
13
|
-
exports.getWithoutPunctuation = getWithoutPunctuation;
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithoutUnderscores = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Replace all underscores with a space.
|
|
6
3
|
*/
|
|
7
|
-
const getWithoutUnderscores = (input) => {
|
|
4
|
+
export const getWithoutUnderscores = (input) => {
|
|
8
5
|
return input
|
|
9
6
|
.replace("_", " ");
|
|
10
7
|
};
|
|
11
|
-
exports.getWithoutUnderscores = getWithoutUnderscores;
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWithoutWhitespaces = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Remove all new lines, tabs multiple spaces, with a single space.
|
|
6
3
|
* https://stackoverflow.com/a/45029224
|
|
7
4
|
*/
|
|
8
|
-
const getWithoutWhitespaces = (input) => {
|
|
5
|
+
export const getWithoutWhitespaces = (input) => {
|
|
9
6
|
return input
|
|
10
7
|
.replace(/\s+/g, " ")
|
|
11
8
|
.trim();
|
|
12
9
|
};
|
|
13
|
-
exports.getWithoutWhitespaces = getWithoutWhitespaces;
|
package/string/index.js
CHANGED
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, "getString", { enumerable: true, get: function () { return getString_1.getString; } });
|
|
14
|
-
var getStringFromStream_1 = require("./getStringFromStream");
|
|
15
|
-
Object.defineProperty(exports, "getStringFromStream", { enumerable: true, get: function () { return getStringFromStream_1.getStringFromStream; } });
|
|
16
|
-
var getUnescaped_1 = require("./getUnescaped");
|
|
17
|
-
Object.defineProperty(exports, "getUnescaped", { enumerable: true, get: function () { return getUnescaped_1.getUnescaped; } });
|
|
18
|
-
var getWithoutAccents_1 = require("./getWithoutAccents");
|
|
19
|
-
Object.defineProperty(exports, "getWithoutAccents", { enumerable: true, get: function () { return getWithoutAccents_1.getWithoutAccents; } });
|
|
20
|
-
var getWithoutHtmlTags_1 = require("./getWithoutHtmlTags");
|
|
21
|
-
Object.defineProperty(exports, "getWithoutHtmlTags", { enumerable: true, get: function () { return getWithoutHtmlTags_1.getWithoutHtmlTags; } });
|
|
22
|
-
var getWithoutPunctuation_1 = require("./getWithoutPunctuation");
|
|
23
|
-
Object.defineProperty(exports, "getWithoutPunctuation", { enumerable: true, get: function () { return getWithoutPunctuation_1.getWithoutPunctuation; } });
|
|
24
|
-
var getWithoutUnderscores_1 = require("./getWithoutUnderscores");
|
|
25
|
-
Object.defineProperty(exports, "getWithoutUnderscores", { enumerable: true, get: function () { return getWithoutUnderscores_1.getWithoutUnderscores; } });
|
|
26
|
-
var getWithoutWhitespaces_1 = require("./getWithoutWhitespaces");
|
|
27
|
-
Object.defineProperty(exports, "getWithoutWhitespaces", { enumerable: true, get: function () { return getWithoutWhitespaces_1.getWithoutWhitespaces; } });
|
|
1
|
+
export { getCapitalised } from "./getCapitalised";
|
|
2
|
+
export { getClean } from "./getClean";
|
|
3
|
+
export { getFolder } from "./getFolder";
|
|
4
|
+
export { getProperCase } from "./getProperCase";
|
|
5
|
+
export { getString } from "./getString";
|
|
6
|
+
export { getStringFromStream } from "./getStringFromStream";
|
|
7
|
+
export { getUnescaped } from "./getUnescaped";
|
|
8
|
+
export { getWithoutAccents } from "./getWithoutAccents";
|
|
9
|
+
export { getWithoutHtmlTags } from "./getWithoutHtmlTags";
|
|
10
|
+
export { getWithoutPunctuation } from "./getWithoutPunctuation";
|
|
11
|
+
export { getWithoutUnderscores } from "./getWithoutUnderscores";
|
|
12
|
+
export { getWithoutWhitespaces } from "./getWithoutWhitespaces";
|
package/string/reservedWords.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isReservedWord = exports.reservedWords = void 0;
|
|
4
|
-
exports.reservedWords = [
|
|
1
|
+
export const reservedWords = [
|
|
5
2
|
"AI",
|
|
6
3
|
"GA4",
|
|
7
4
|
"GSC",
|
|
@@ -13,14 +10,13 @@ exports.reservedWords = [
|
|
|
13
10
|
/**
|
|
14
11
|
* Check if its a reserved word, the casing may be specific eg, OpenAI.
|
|
15
12
|
*/
|
|
16
|
-
const isReservedWord = (word) => {
|
|
13
|
+
export const isReservedWord = (word) => {
|
|
17
14
|
let response = null;
|
|
18
|
-
for (let i = 0; i <
|
|
19
|
-
if (
|
|
20
|
-
response =
|
|
15
|
+
for (let i = 0; i < reservedWords.length; i++) {
|
|
16
|
+
if (reservedWords[i].toLowerCase() === word.toLowerCase()) {
|
|
17
|
+
response = reservedWords[i];
|
|
21
18
|
break;
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
21
|
return response;
|
|
25
22
|
};
|
|
26
|
-
exports.isReservedWord = isReservedWord;
|