@ductape/sdk 0.0.4-v5 → 0.0.4-v51
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/README.md +1 -1
- package/dist/api/services/appApi.service.d.ts +48 -2
- package/dist/api/services/appApi.service.js +101 -2
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/pricingApi.service.d.ts +10 -0
- package/dist/api/services/pricingApi.service.js +34 -0
- package/dist/api/services/pricingApi.service.js.map +1 -0
- package/dist/api/services/processorApi.service.d.ts +12 -2
- package/dist/api/services/processorApi.service.js +12 -2
- package/dist/api/services/processorApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +40 -1
- package/dist/api/services/productsApi.service.js +105 -1
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/services/userApi.service.js +1 -0
- package/dist/api/services/userApi.service.js.map +1 -1
- package/dist/api/services/workspaceApi.service.js +1 -0
- package/dist/api/services/workspaceApi.service.js.map +1 -1
- package/dist/api/services/workspaceSecretsApi.service.d.ts +75 -0
- package/dist/api/services/workspaceSecretsApi.service.js +62 -0
- package/dist/api/services/workspaceSecretsApi.service.js.map +1 -0
- package/dist/api/urls.d.ts +6 -1
- package/dist/api/urls.js +12 -2
- package/dist/api/urls.js.map +1 -1
- package/dist/api/utils/cache.utils.d.ts +1 -1
- package/dist/api/utils/cache.utils.js +10 -4
- package/dist/api/utils/cache.utils.js.map +1 -1
- package/dist/api/utils/strings.utils.d.ts +2 -0
- package/dist/api/utils/strings.utils.js +14 -0
- package/dist/api/utils/strings.utils.js.map +1 -1
- package/dist/apps/services/app.service.d.ts +51 -33
- package/dist/apps/services/app.service.js +488 -244
- package/dist/apps/services/app.service.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appAction.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js +21 -2
- package/dist/apps/validators/joi-validators/create.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js +2 -15
- package/dist/apps/validators/joi-validators/create.appWebhook.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js +11 -1
- package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.d.ts +1 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js +34 -1
- package/dist/apps/validators/joi-validators/update.appActionResponse.validator.js.map +1 -1
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.d.ts +1 -2
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js +2 -14
- package/dist/apps/validators/joi-validators/update.appWebhook.validator.js.map +1 -1
- package/dist/clients/pricing.client.d.ts +3 -0
- package/dist/clients/pricing.client.js +33 -0
- package/dist/clients/pricing.client.js.map +1 -0
- package/dist/database/adapters/base.adapter.d.ts +176 -0
- package/dist/database/adapters/base.adapter.js +31 -0
- package/dist/database/adapters/base.adapter.js.map +1 -0
- package/dist/database/adapters/dynamodb.adapter.d.ts +91 -0
- package/dist/database/adapters/dynamodb.adapter.js +1608 -0
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
- package/dist/database/adapters/mongodb.adapter.d.ts +71 -0
- package/dist/database/adapters/mongodb.adapter.js +1072 -0
- package/dist/database/adapters/mongodb.adapter.js.map +1 -0
- package/dist/database/adapters/mysql.adapter.d.ts +146 -0
- package/dist/database/adapters/mysql.adapter.js +1492 -0
- package/dist/database/adapters/mysql.adapter.js.map +1 -0
- package/dist/database/adapters/postgresql.adapter.d.ts +147 -0
- package/dist/database/adapters/postgresql.adapter.js +1603 -0
- package/dist/database/adapters/postgresql.adapter.js.map +1 -0
- package/dist/database/database.service.d.ts +232 -0
- package/dist/database/database.service.js +802 -0
- package/dist/database/database.service.js.map +1 -0
- package/dist/database/index.d.ts +18 -0
- package/dist/database/index.js +98 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/types/aggregation.types.d.ts +261 -0
- package/dist/database/types/aggregation.types.js +21 -0
- package/dist/database/types/aggregation.types.js.map +1 -0
- package/dist/database/types/connection.types.d.ts +132 -0
- package/dist/database/types/connection.types.js +6 -0
- package/dist/database/types/connection.types.js.map +1 -0
- package/dist/database/types/database.types.d.ts +175 -0
- package/dist/database/types/database.types.js +75 -0
- package/dist/database/types/database.types.js.map +1 -0
- package/dist/database/types/index.d.ts +12 -0
- package/dist/database/types/index.js +37 -0
- package/dist/database/types/index.js.map +1 -0
- package/dist/database/types/index.types.d.ts +220 -0
- package/dist/database/types/index.types.js +27 -0
- package/dist/database/types/index.types.js.map +1 -0
- package/dist/database/types/migration.types.d.ts +205 -0
- package/dist/database/types/migration.types.js +44 -0
- package/dist/database/types/migration.types.js.map +1 -0
- package/dist/database/types/query.types.d.ts +305 -0
- package/dist/database/types/query.types.js +57 -0
- package/dist/database/types/query.types.js.map +1 -0
- package/dist/database/types/result.types.d.ts +220 -0
- package/dist/database/types/result.types.js +6 -0
- package/dist/database/types/result.types.js.map +1 -0
- package/dist/database/types/schema.types.d.ts +190 -0
- package/dist/database/types/schema.types.js +69 -0
- package/dist/database/types/schema.types.js.map +1 -0
- package/dist/database/utils/helpers.d.ts +66 -0
- package/dist/database/utils/helpers.js +501 -0
- package/dist/database/utils/helpers.js.map +1 -0
- package/dist/database/utils/migration.utils.d.ts +151 -0
- package/dist/database/utils/migration.utils.js +476 -0
- package/dist/database/utils/migration.utils.js.map +1 -0
- package/dist/database/utils/transaction.d.ts +64 -0
- package/dist/database/utils/transaction.js +130 -0
- package/dist/database/utils/transaction.js.map +1 -0
- package/dist/database/validators/connection.validator.d.ts +20 -0
- package/dist/database/validators/connection.validator.js +267 -0
- package/dist/database/validators/connection.validator.js.map +1 -0
- package/dist/database/validators/query.validator.d.ts +31 -0
- package/dist/database/validators/query.validator.js +305 -0
- package/dist/database/validators/query.validator.js.map +1 -0
- package/dist/database/validators/schema.validator.d.ts +31 -0
- package/dist/database/validators/schema.validator.js +334 -0
- package/dist/database/validators/schema.validator.js.map +1 -0
- package/dist/graph/adapters/arangodb.adapter.d.ts +80 -0
- package/dist/graph/adapters/arangodb.adapter.js +1393 -0
- package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
- package/dist/graph/adapters/base.adapter.d.ts +228 -0
- package/dist/graph/adapters/base.adapter.js +38 -0
- package/dist/graph/adapters/base.adapter.js.map +1 -0
- package/dist/graph/adapters/index.d.ts +10 -0
- package/dist/graph/adapters/index.js +23 -0
- package/dist/graph/adapters/index.js.map +1 -0
- package/dist/graph/adapters/memgraph.adapter.d.ts +85 -0
- package/dist/graph/adapters/memgraph.adapter.js +1491 -0
- package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
- package/dist/graph/adapters/neo4j.adapter.d.ts +88 -0
- package/dist/graph/adapters/neo4j.adapter.js +1861 -0
- package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
- package/dist/graph/adapters/neptune.adapter.d.ts +87 -0
- package/dist/graph/adapters/neptune.adapter.js +1430 -0
- package/dist/graph/adapters/neptune.adapter.js.map +1 -0
- package/dist/graph/graph.service.d.ts +278 -0
- package/dist/graph/graph.service.js +687 -0
- package/dist/graph/graph.service.js.map +1 -0
- package/dist/graph/index.d.ts +11 -0
- package/dist/graph/index.js +42 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/types/connection.types.d.ts +158 -0
- package/dist/graph/types/connection.types.js +43 -0
- package/dist/graph/types/connection.types.js.map +1 -0
- package/dist/graph/types/graph.types.d.ts +144 -0
- package/dist/graph/types/graph.types.js +84 -0
- package/dist/graph/types/graph.types.js.map +1 -0
- package/dist/graph/types/index.d.ts +11 -0
- package/dist/graph/types/index.js +35 -0
- package/dist/graph/types/index.js.map +1 -0
- package/dist/graph/types/node.types.d.ts +193 -0
- package/dist/graph/types/node.types.js +49 -0
- package/dist/graph/types/node.types.js.map +1 -0
- package/dist/graph/types/path.types.d.ts +224 -0
- package/dist/graph/types/path.types.js +38 -0
- package/dist/graph/types/path.types.js.map +1 -0
- package/dist/graph/types/query.types.d.ts +247 -0
- package/dist/graph/types/query.types.js +23 -0
- package/dist/graph/types/query.types.js.map +1 -0
- package/dist/graph/types/relationship.types.d.ts +224 -0
- package/dist/graph/types/relationship.types.js +35 -0
- package/dist/graph/types/relationship.types.js.map +1 -0
- package/dist/graph/types/result.types.d.ts +237 -0
- package/dist/graph/types/result.types.js +7 -0
- package/dist/graph/types/result.types.js.map +1 -0
- package/dist/graph/validators/index.d.ts +81 -0
- package/dist/graph/validators/index.js +243 -0
- package/dist/graph/validators/index.js.map +1 -0
- package/dist/imports/imports.service.d.ts +3 -3
- package/dist/imports/imports.service.js +7 -7
- package/dist/imports/imports.service.js.map +1 -1
- package/dist/imports/imports.types.d.ts +8 -0
- package/dist/imports/repos/postmanV21.repo.d.ts +1 -1
- package/dist/imports/repos/postmanV21.repo.js +29 -2
- package/dist/imports/repos/postmanV21.repo.js.map +1 -1
- package/dist/index.d.ts +1244 -150
- package/dist/index.js +1309 -209
- package/dist/index.js.map +1 -1
- package/dist/inputs/inputs.service.js +2 -2
- package/dist/inputs/inputs.service.js.map +1 -1
- package/dist/inputs/utils/inputs.utils.create.js +1 -1
- package/dist/inputs/utils/inputs.utils.create.js.map +1 -1
- package/dist/logs/logs.types.d.ts +5 -0
- package/dist/logs/logs.types.js +1 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/parsers/index.d.ts +3 -0
- package/dist/parsers/index.js +27 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/pipelines/postman.pipelines.d.ts +15 -0
- package/dist/parsers/pipelines/postman.pipelines.js +103 -0
- package/dist/parsers/pipelines/postman.pipelines.js.map +1 -0
- package/dist/parsers/types/postman.types.d.ts +200 -0
- package/dist/parsers/types/postman.types.js +3 -0
- package/dist/parsers/types/postman.types.js.map +1 -0
- package/dist/parsers/utils/postman.utils.d.ts +12 -0
- package/dist/parsers/utils/postman.utils.js +116 -0
- package/dist/parsers/utils/postman.utils.js.map +1 -0
- package/dist/parsers/validators/postman-auth.validators.d.ts +10 -0
- package/dist/parsers/validators/postman-auth.validators.js +127 -0
- package/dist/parsers/validators/postman-auth.validators.js.map +1 -0
- package/dist/parsers/validators/postman-request.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-request.validators.js +139 -0
- package/dist/parsers/validators/postman-request.validators.js.map +1 -0
- package/dist/parsers/validators/postman-response.validators.d.ts +13 -0
- package/dist/parsers/validators/postman-response.validators.js +150 -0
- package/dist/parsers/validators/postman-response.validators.js.map +1 -0
- package/dist/parsers/validators/postman-variable.validators.d.ts +14 -0
- package/dist/parsers/validators/postman-variable.validators.js +163 -0
- package/dist/parsers/validators/postman-variable.validators.js.map +1 -0
- package/dist/pricing/pricing.repo.d.ts +0 -0
- package/dist/pricing/pricing.repo.js +1 -0
- package/dist/pricing/pricing.repo.js.map +1 -0
- package/dist/pricing/pricing.service.d.ts +24 -0
- package/dist/pricing/pricing.service.js +51 -0
- package/dist/pricing/pricing.service.js.map +1 -0
- package/dist/pricing/pricing.types.d.ts +76 -0
- package/dist/pricing/pricing.types.js +21 -0
- package/dist/pricing/pricing.types.js.map +1 -0
- package/dist/pricing/utils/string.utils.d.ts +1 -0
- package/dist/pricing/utils/string.utils.js +9 -0
- package/dist/pricing/utils/string.utils.js.map +1 -0
- package/dist/processor/repos/sms.repo.d.ts +4 -4
- package/dist/processor/repos/sms.repo.js +23 -10
- package/dist/processor/repos/sms.repo.js.map +1 -1
- package/dist/processor/services/messagebrokers/kafka.service.js +0 -2
- package/dist/processor/services/messagebrokers/kafka.service.js.map +1 -1
- package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +9 -1
- package/dist/processor/services/messagebrokers/rabbitmq.service.js +40 -11
- package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +38 -10
- package/dist/processor/services/processor.service.js +533 -248
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/processor/services/request.service.d.ts +36 -0
- package/dist/processor/services/request.service.js +304 -0
- package/dist/processor/services/request.service.js.map +1 -0
- package/dist/processor/types/request.types.d.ts +14 -0
- package/dist/processor/types/request.types.js +3 -0
- package/dist/processor/types/request.types.js.map +1 -0
- package/dist/processor/utils/processor.utils.d.ts +3 -0
- package/dist/processor/utils/processor.utils.js +84 -22
- package/dist/processor/utils/processor.utils.js.map +1 -1
- package/dist/processor/utils/request.utils.d.ts +20 -0
- package/dist/processor/utils/request.utils.js +113 -0
- package/dist/processor/utils/request.utils.js.map +1 -0
- package/dist/products/services/products.service.d.ts +114 -77
- package/dist/products/services/products.service.js +805 -362
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/services/utils/crypt.utils.d.ts +1 -0
- package/dist/products/services/utils/crypt.utils.js +17 -0
- package/dist/products/services/utils/crypt.utils.js.map +1 -0
- package/dist/products/services/utils/functions.utils.d.ts +13 -0
- package/dist/products/services/utils/functions.utils.js +289 -0
- package/dist/products/services/utils/functions.utils.js.map +1 -0
- package/dist/products/services/utils/objects.utils.d.ts +13 -0
- package/dist/products/services/utils/objects.utils.js +89 -0
- package/dist/products/services/utils/objects.utils.js.map +1 -0
- package/dist/products/services/utils/string.utils.d.ts +12 -0
- package/dist/products/services/utils/string.utils.js +168 -0
- package/dist/products/services/utils/string.utils.js.map +1 -0
- package/dist/products/utils/string.utils.d.ts +1 -1
- package/dist/products/utils/string.utils.js +14 -2
- package/dist/products/utils/string.utils.js.map +1 -1
- package/dist/products/validators/index.d.ts +4 -1
- package/dist/products/validators/index.js +7 -1
- package/dist/products/validators/index.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +15 -4
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +501 -109
- package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productEnv.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +82 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +14 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +696 -0
- package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.d.ts +4 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js +58 -0
- package/dist/products/validators/joi-validators/create.productHealthcheck.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +9 -4
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productNotification.validator.js +5 -2
- package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.userAuth.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.dataValue.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.dataValue.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +6 -0
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +28 -26
- package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productEnv.validator.js +3 -0
- package/dist/products/validators/joi-validators/update.productEnv.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.d.ts +3 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +87 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +7 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +72 -0
- package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +1 -0
- package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.productMessageBrokerTopic.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.userAuth.validator.js +1 -0
- package/dist/products/validators/joi-validators/update.userAuth.validator.js.map +1 -1
- package/dist/test/test.health.d.ts +1 -0
- package/dist/test/test.health.js +49 -0
- package/dist/test/test.health.js.map +1 -0
- package/dist/test/test.import.js +51 -4
- package/dist/test/test.import.js.map +1 -1
- package/dist/test/test.imports.js +22 -7
- package/dist/test/test.imports.js.map +1 -1
- package/dist/test/test.notifiers.d.ts +1 -0
- package/dist/test/test.notifiers.js +85 -0
- package/dist/test/test.notifiers.js.map +1 -0
- package/dist/test/test.processor.js +30 -115
- package/dist/test/test.processor.js.map +1 -1
- package/dist/test/test.products.d.ts +1 -0
- package/dist/test/test.products.js +49 -0
- package/dist/test/test.products.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/appBuilder.types.d.ts +5 -12
- package/dist/types/enums.d.ts +4 -1
- package/dist/types/enums.js +3 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +4 -0
- package/dist/types/pricing.types.d.ts +4 -0
- package/dist/types/pricing.types.js +3 -0
- package/dist/types/pricing.types.js.map +1 -0
- package/dist/types/processor.types.d.ts +67 -11
- package/dist/types/processor.types.js.map +1 -1
- package/dist/types/productsBuilder.types.d.ts +132 -14
- package/dist/types/productsBuilder.types.js +69 -4
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/types/request-tracker.interface.d.ts +0 -0
- package/dist/types/request-tracker.interface.js +1 -0
- package/dist/types/request-tracker.interface.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -0
- package/package.json +17 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const gcpPKCSConvert: (private_key: string) => string | Buffer<ArrayBufferLike>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.gcpPKCSConvert = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const gcpPKCSConvert = (private_key) => {
|
|
6
|
+
const privateKey = (0, crypto_1.createPrivateKey)({
|
|
7
|
+
key: private_key,
|
|
8
|
+
format: "pem",
|
|
9
|
+
type: "pkcs1", // This assumes it's in PKCS#1 format
|
|
10
|
+
});
|
|
11
|
+
return privateKey.export({
|
|
12
|
+
format: "pem",
|
|
13
|
+
type: "pkcs8", // Convert to PKCS#8
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
exports.gcpPKCSConvert = gcpPKCSConvert;
|
|
17
|
+
//# sourceMappingURL=crypt.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypt.utils.js","sourceRoot":"","sources":["../../../../src/products/services/utils/crypt.utils.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAEnC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,MAAM,UAAU,GAAG,IAAA,yBAAgB,EAAC;QAChC,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO,EAAE,qCAAqC;KACrD,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,OAAO,EAAE,oBAAoB;KACpC,CAAC,CAAC;AACT,CAAC,CAAA;AAXY,QAAA,cAAc,kBAW1B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { HttpMethods } from '../../../types/enums';
|
|
2
|
+
import { IProductFunction } from '../../../types/productsBuilder.types';
|
|
3
|
+
export declare const transformToJson: (template: string, payload: Record<string, any>) => any;
|
|
4
|
+
export declare const replaceTemplateValues: (template: string, payload: Record<string, any>) => string;
|
|
5
|
+
export declare function makeRequest(url: string, method: HttpMethods, body?: string): Promise<import("axios").AxiosResponse<any, any>>;
|
|
6
|
+
export declare const makeFunctionsRequest: (cloudFunction: IProductFunction, payload: Record<string, any>) => Promise<void>;
|
|
7
|
+
export declare const startsWithFunctionAndEndsWithParen: (value: string) => string;
|
|
8
|
+
export declare function extractFunctionAndArgs(value: string): {
|
|
9
|
+
functionName: string;
|
|
10
|
+
args: string[];
|
|
11
|
+
} | null;
|
|
12
|
+
export declare function validateAWSSQSQueueUrl(envs: any, queueUrls: any[]): Promise<void>;
|
|
13
|
+
export declare function convertInputToValueMap(input: Record<string, unknown>): Record<string, string>;
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.startsWithFunctionAndEndsWithParen = exports.makeFunctionsRequest = exports.replaceTemplateValues = exports.transformToJson = void 0;
|
|
7
|
+
exports.makeRequest = makeRequest;
|
|
8
|
+
exports.extractFunctionAndArgs = extractFunctionAndArgs;
|
|
9
|
+
exports.validateAWSSQSQueueUrl = validateAWSSQSQueueUrl;
|
|
10
|
+
exports.convertInputToValueMap = convertInputToValueMap;
|
|
11
|
+
const function_client_1 = __importDefault(require("../../../clients/function.client"));
|
|
12
|
+
const types_1 = require("../../../types");
|
|
13
|
+
const enums_1 = require("../../../types/enums");
|
|
14
|
+
const productsBuilder_types_1 = require("../../../types/productsBuilder.types");
|
|
15
|
+
const transformToJson = (template, payload) => {
|
|
16
|
+
try {
|
|
17
|
+
const jsonString = (0, exports.replaceTemplateValues)(template, payload);
|
|
18
|
+
// Parse the resulting string into JSON
|
|
19
|
+
const jsonObject = JSON.parse(jsonString);
|
|
20
|
+
return jsonObject;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.error('Error transforming string to JSON:', error);
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.transformToJson = transformToJson;
|
|
28
|
+
const replaceTemplateValues = (template, payload) => {
|
|
29
|
+
const combinedRegex = /{{\s*([^}]+)\s*}}|(?<!")(\$?\w+)(?=\s*:)/g;
|
|
30
|
+
const templateString = template.replace(combinedRegex, (match, placeholder, keyOrMongoOperator) => {
|
|
31
|
+
if (placeholder) {
|
|
32
|
+
// If it's a placeholder (e.g., {{key}})
|
|
33
|
+
if (!(placeholder in payload)) {
|
|
34
|
+
throw new Error(`Missing key: ${placeholder}`);
|
|
35
|
+
}
|
|
36
|
+
return JSON.stringify(payload[placeholder]); // Replace placeholder with the corresponding value from the payload
|
|
37
|
+
}
|
|
38
|
+
return match; // Default case: return match unchanged
|
|
39
|
+
});
|
|
40
|
+
return templateString;
|
|
41
|
+
};
|
|
42
|
+
exports.replaceTemplateValues = replaceTemplateValues;
|
|
43
|
+
async function makeRequest(url, method, body) {
|
|
44
|
+
switch (method) {
|
|
45
|
+
case enums_1.HttpMethods.GET:
|
|
46
|
+
return await (0, function_client_1.default)(url).get('');
|
|
47
|
+
case enums_1.HttpMethods.PATCH:
|
|
48
|
+
return await (0, function_client_1.default)(url).patch('', body);
|
|
49
|
+
case enums_1.HttpMethods.POST:
|
|
50
|
+
return await (0, function_client_1.default)(url).post('', body);
|
|
51
|
+
case enums_1.HttpMethods.DELETE:
|
|
52
|
+
return await (0, function_client_1.default)(url).delete('');
|
|
53
|
+
case enums_1.HttpMethods.PUT:
|
|
54
|
+
return await (0, function_client_1.default)(url).put('', body);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const makeFunctionsRequest = async (cloudFunction, payload) => {
|
|
58
|
+
/*const { inputType, template } = cloudFunction;
|
|
59
|
+
if (inputType === FunctionInputType.BODY) {
|
|
60
|
+
const body = transformToJson(template, payload);
|
|
61
|
+
return (await makeRequest(cloudFunction.url, cloudFunction.method, body)).data;
|
|
62
|
+
} else {
|
|
63
|
+
const query = replaceTemplateValues(template, payload);
|
|
64
|
+
const fullUrl = `${cloudFunction.url}?${query}`;
|
|
65
|
+
|
|
66
|
+
return (await makeRequest(fullUrl, cloudFunction.method)).data;
|
|
67
|
+
}*/
|
|
68
|
+
};
|
|
69
|
+
exports.makeFunctionsRequest = makeFunctionsRequest;
|
|
70
|
+
const functionNames = [
|
|
71
|
+
'$Add', '$Substract', '$Pick', '$Concat', '$Substring',
|
|
72
|
+
'$Trim', '$Join', '$Split', '$Uppercase', '$Lowercase',
|
|
73
|
+
'$Dateformat', '$Replace', '$Filter', '$Find'
|
|
74
|
+
];
|
|
75
|
+
const startsWithFunctionAndEndsWithParen = (value) => {
|
|
76
|
+
return functionNames.find((funcName) => value.startsWith(`${funcName}(`) && value.endsWith(')'));
|
|
77
|
+
};
|
|
78
|
+
exports.startsWithFunctionAndEndsWithParen = startsWithFunctionAndEndsWithParen;
|
|
79
|
+
const extractors = {
|
|
80
|
+
'$Add': (value) => {
|
|
81
|
+
const match = value.match(types_1.sumRegex);
|
|
82
|
+
if (match && match[1] && !match[2]) {
|
|
83
|
+
const values = match ? match[1].split(',').map(arg => arg.trim()) : [];
|
|
84
|
+
values.map((value) => extractFunctionAndArgs(value));
|
|
85
|
+
return values;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
throw `$Add is to be defined as $Add(...numbers), ${value} is invalid`;
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
'$Substract': (value) => {
|
|
92
|
+
const match = value.match(types_1.substractRegex);
|
|
93
|
+
if (match && match[1] && !match[2]) {
|
|
94
|
+
const values = match ? match[1].split(',').map(arg => arg.trim()) : [];
|
|
95
|
+
values.map((value) => extractFunctionAndArgs(value));
|
|
96
|
+
return values;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw `$Substract is to be defined as $Substract(...numbers), ${value} is invalid`;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
'$Concat': (value) => {
|
|
103
|
+
const match = value.match(types_1.concatRegex);
|
|
104
|
+
if (match && match[1] && match[2] && !match[3]) {
|
|
105
|
+
extractFunctionAndArgs(match[1].trim());
|
|
106
|
+
extractFunctionAndArgs(match[2].trim());
|
|
107
|
+
return [match[1].trim(), match[2].trim()];
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
throw `$Concat is to be defined as $Concat([string...], delimiter), ${value} is invalid`;
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
'$Substring': (value) => {
|
|
114
|
+
const match = value.match(types_1.substringRegex);
|
|
115
|
+
if (match && match[1] && match[2] && match[3] && !match[4]) {
|
|
116
|
+
// await validateArray(array);
|
|
117
|
+
// await validateNumber(index);
|
|
118
|
+
extractFunctionAndArgs(match[1].trim());
|
|
119
|
+
extractFunctionAndArgs(match[2].trim());
|
|
120
|
+
extractFunctionAndArgs(match[3].trim());
|
|
121
|
+
return [match[1].trim(), match[2].trim(), match[3].trim()];
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
throw `$Substring is to be defined as $Substring(string, start, end), ${value} is invalid`;
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
'$Trim': (value) => {
|
|
128
|
+
const match = value.match(types_1.trimRegex);
|
|
129
|
+
if (match && match[1] && !match[2]) {
|
|
130
|
+
// await validateArray(array);
|
|
131
|
+
// await validateNumber(index);
|
|
132
|
+
extractFunctionAndArgs(match[1].trim());
|
|
133
|
+
return [match[1].trim()];
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
throw `$Trim is to be defined as $Trim(string), ${value} is invalid`;
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
'$Split': (value) => {
|
|
140
|
+
const match = value.match(types_1.splitRegex);
|
|
141
|
+
if (match && match[1] && match[2] && !match[3]) {
|
|
142
|
+
// await validateArray(array);
|
|
143
|
+
// await validateNumber(index);
|
|
144
|
+
extractFunctionAndArgs(match[1].trim());
|
|
145
|
+
return [match[1].trim(), match[2].trim()];
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
throw `$Split is to be defined as $Split(string, seperator), ${value} is invalid`;
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
'$Pick': (value) => {
|
|
152
|
+
const match = value.match(types_1.pickRegex);
|
|
153
|
+
if (match && match[1] && match[2] && !match[3]) {
|
|
154
|
+
// await validateArray(array);
|
|
155
|
+
// await validateNumber(index);
|
|
156
|
+
extractFunctionAndArgs(match[1].trim());
|
|
157
|
+
extractFunctionAndArgs(match[2].trim());
|
|
158
|
+
return [match[1].trim(), match[2].trim()];
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
throw `$Pick is to be defined as $Pick(array, index), ${value} is invalid`;
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
'$Join': (value) => {
|
|
165
|
+
const match = value.match(types_1.joinRegex);
|
|
166
|
+
if (match && match[1] && !match[2]) {
|
|
167
|
+
extractFunctionAndArgs(match[1].trim());
|
|
168
|
+
return [match[1].trim()];
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
throw `$Join is to be defined as $Join(arrays), ${value} is invalid`;
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
'$Uppercase': (value) => {
|
|
175
|
+
const match = value.match(types_1.uppercaseRegex);
|
|
176
|
+
if (match && match[1] && !match[2]) {
|
|
177
|
+
extractFunctionAndArgs(match[1].trim());
|
|
178
|
+
return [match[1].trim()];
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
throw `$Uppercase is to be defined as $Lowercase(string), ${value} is invalid`;
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
'$Lowercase': (value) => {
|
|
185
|
+
const match = value.match(types_1.lowercaseRegex);
|
|
186
|
+
if (match && match[1] && !match[2]) {
|
|
187
|
+
extractFunctionAndArgs(match[1].trim());
|
|
188
|
+
return [match[1].trim()];
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
throw `$Lowercase is to be defined as $Lowercase(string), ${value} is invalid`;
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
'$Dateformat': (value) => {
|
|
195
|
+
const match = value.match(types_1.dateFormatRegex);
|
|
196
|
+
if (match && match[1] && match[3]) {
|
|
197
|
+
extractFunctionAndArgs(match[1].trim());
|
|
198
|
+
extractFunctionAndArgs(match[3].trim());
|
|
199
|
+
return [match[1].trim(), match[3].trim()];
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
throw `$Dateformat is to be defined as $Dateformat(dateString, format), ${value} is invalid`;
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
'$Replace': (value) => {
|
|
206
|
+
const match = value.match(types_1.replaceRegex);
|
|
207
|
+
if (match) {
|
|
208
|
+
const [_, strPlaceholder, , searchStr, , replaceStr] = match;
|
|
209
|
+
extractFunctionAndArgs(strPlaceholder.trim());
|
|
210
|
+
extractFunctionAndArgs(searchStr.trim());
|
|
211
|
+
extractFunctionAndArgs(replaceStr.trim());
|
|
212
|
+
return [strPlaceholder.trim(), searchStr.trim(), replaceStr.trim()];
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
throw `$Replace is to be defined as $Replace(string, search, replace), ${value} is invalid`;
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
'$Filter': (value) => {
|
|
219
|
+
const match = value.match(types_1.filterRegex);
|
|
220
|
+
if (match && match[1] && match[2] && match[3] && !match[4]) {
|
|
221
|
+
if (!productsBuilder_types_1.ValidOperators.includes(match[2].trim())) {
|
|
222
|
+
throw `invalid operator ${match[2].trim()}`;
|
|
223
|
+
}
|
|
224
|
+
extractFunctionAndArgs(match[1].trim());
|
|
225
|
+
extractFunctionAndArgs(match[3].trim());
|
|
226
|
+
// await validateArray(array);
|
|
227
|
+
// await validateNumber(value);
|
|
228
|
+
return [match[1].trim(), match[2].trim(), match[3].trim()];
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
throw `$Filter is to be defined as $Filter(array, "operator", value), ${value} is invalid`;
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
'$Find': (value) => {
|
|
235
|
+
const match = value.match(types_1.findRegex);
|
|
236
|
+
if (match && match[1] && match[2] && match[3] && !match[4]) {
|
|
237
|
+
if (!productsBuilder_types_1.ValidOperators.includes(match[2].trim())) {
|
|
238
|
+
throw `invalid operator ${match[2].trim()}`;
|
|
239
|
+
}
|
|
240
|
+
extractFunctionAndArgs(match[1].trim());
|
|
241
|
+
extractFunctionAndArgs(match[3].trim());
|
|
242
|
+
// await validateArray(array);
|
|
243
|
+
// await validateNumber(value);
|
|
244
|
+
return [match[1].trim(), match[2].trim(), match[3].trim()];
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
throw `$Find is to be defined as $Find(array, "operator", value), ${value} is invalid`;
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
// Add more extractors here...
|
|
251
|
+
};
|
|
252
|
+
function extractFunctionAndArgs(value) {
|
|
253
|
+
if (typeof value === 'string') {
|
|
254
|
+
const functionName = Object.keys(extractors).find((name) => value.startsWith(name));
|
|
255
|
+
if (!functionName)
|
|
256
|
+
return null;
|
|
257
|
+
const args = extractors[functionName](value);
|
|
258
|
+
return args ? { functionName, args } : null;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async function validateAWSSQSQueueUrl(envs, queueUrls) {
|
|
265
|
+
const hasSQS = envs.filter((env) => env.type === productsBuilder_types_1.MessageBrokerTypes.AWS_SQS);
|
|
266
|
+
if (hasSQS.length) {
|
|
267
|
+
if (!queueUrls || !queueUrls.length) {
|
|
268
|
+
throw new Error(`One or more envs require queueUrls setup`);
|
|
269
|
+
}
|
|
270
|
+
// Find envs in hasSQS that are missing from data.queueUrls
|
|
271
|
+
const missingEnvs = hasSQS
|
|
272
|
+
.filter((env) => !queueUrls.some((queueUrl) => queueUrl.env_slug === env.slug))
|
|
273
|
+
.map((env) => env.slug);
|
|
274
|
+
if (missingEnvs.length) {
|
|
275
|
+
throw new Error(`Missing queueUrls for aws_sqs envs: ${missingEnvs.join(', ')}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
function convertInputToValueMap(input) {
|
|
280
|
+
const result = {};
|
|
281
|
+
for (const key in input) {
|
|
282
|
+
if (Object.prototype.hasOwnProperty.call(input, key)) {
|
|
283
|
+
// @ts-ignore
|
|
284
|
+
result[key] = "$Value";
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return result;
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=functions.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.utils.js","sourceRoot":"","sources":["../../../../src/products/services/utils/functions.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IFunctionInput } from '../../../types/productsBuilder.types';
|
|
2
|
+
export declare const validateObjectKeys: (allowedKeys: Array<string>, obj: Record<string, any>) => void;
|
|
3
|
+
export declare const validateFunctionInputKeys: (input: Array<IFunctionInput>, obj: Record<string, any>) => void;
|
|
4
|
+
export declare const deepEqual: (obj1: any, obj2: any) => boolean;
|
|
5
|
+
export declare function findFaultyKeys(keys: string[], obj: any): {
|
|
6
|
+
valid: boolean;
|
|
7
|
+
faultyKeys?: string[];
|
|
8
|
+
value: any;
|
|
9
|
+
};
|
|
10
|
+
export declare function traverseObject(obj: Record<string, any>): {
|
|
11
|
+
key: string;
|
|
12
|
+
value: any;
|
|
13
|
+
}[];
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deepEqual = exports.validateFunctionInputKeys = exports.validateObjectKeys = void 0;
|
|
4
|
+
exports.findFaultyKeys = findFaultyKeys;
|
|
5
|
+
exports.traverseObject = traverseObject;
|
|
6
|
+
const validateObjectKeys = (allowedKeys, obj) => {
|
|
7
|
+
const objKeys = Object.keys(obj);
|
|
8
|
+
const missingKeys = allowedKeys.filter((key) => !objKeys.includes(key));
|
|
9
|
+
const extraKeys = objKeys.filter((key) => !allowedKeys.includes(key));
|
|
10
|
+
if (missingKeys.length > 0 || extraKeys.length > 0) {
|
|
11
|
+
throw new Error(`Invalid keys. Missing keys: ${missingKeys.join(', ')}. Extra keys: ${extraKeys.join(', ')}`);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.validateObjectKeys = validateObjectKeys;
|
|
15
|
+
const validateFunctionInputKeys = (input, obj) => {
|
|
16
|
+
const objKeys = Object.keys(obj);
|
|
17
|
+
const inputKeys = input.map((el) => el.key);
|
|
18
|
+
const missingKeys = inputKeys.filter((key) => !objKeys.includes(key));
|
|
19
|
+
const extraKeys = objKeys.filter((key) => !inputKeys.includes(key));
|
|
20
|
+
if (missingKeys.length > 0 || extraKeys.length > 0) {
|
|
21
|
+
throw new Error(`Invalid keys. Missing keys: ${missingKeys.join(', ')}. Extra keys: ${extraKeys.join(', ')}`);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.validateFunctionInputKeys = validateFunctionInputKeys;
|
|
25
|
+
const deepEqual = (obj1, obj2) => {
|
|
26
|
+
// Check if both objects are of the same type
|
|
27
|
+
if (typeof obj1 !== typeof obj2) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
// If both objects are arrays
|
|
31
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
32
|
+
if (obj1.length !== obj2.length) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
for (let i = 0; i < obj1.length; i++) {
|
|
36
|
+
if (!(0, exports.deepEqual)(obj1[i], obj2[i])) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
// If both objects are objects
|
|
43
|
+
if (typeof obj1 === 'object' && typeof obj2 === 'object') {
|
|
44
|
+
const keys1 = Object.keys(obj1);
|
|
45
|
+
const keys2 = Object.keys(obj2);
|
|
46
|
+
if (keys1.length !== keys2.length) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
for (const key of keys1) {
|
|
50
|
+
if (!obj2.hasOwnProperty(key) || !(0, exports.deepEqual)(obj1[key], obj2[key])) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
// For primitive types, compare directly
|
|
57
|
+
return obj1 === obj2;
|
|
58
|
+
};
|
|
59
|
+
exports.deepEqual = deepEqual;
|
|
60
|
+
function findFaultyKeys(keys, obj) {
|
|
61
|
+
let current = obj;
|
|
62
|
+
const faultyKeys = [];
|
|
63
|
+
for (const key of keys) {
|
|
64
|
+
if (current && typeof current === "object" && key in current) {
|
|
65
|
+
current = current[key]; // Go deeper
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
faultyKeys.push(key);
|
|
69
|
+
return { valid: false, faultyKeys, value: undefined };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return { valid: true, value: current };
|
|
73
|
+
}
|
|
74
|
+
function traverseObject(obj) {
|
|
75
|
+
const keyValues = [];
|
|
76
|
+
for (const key in obj) {
|
|
77
|
+
if (obj.hasOwnProperty(key)) {
|
|
78
|
+
const value = obj[key];
|
|
79
|
+
if (typeof value === "object" && value !== null) {
|
|
80
|
+
traverseObject(value); // Recursive call for nested objects
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
keyValues.push({ key, value });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return keyValues;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=objects.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.utils.js","sourceRoot":"","sources":["../../../../src/products/services/utils/objects.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IParsedSample } from "../../../types/inputs.types";
|
|
2
|
+
export declare const extractStages: (input: string) => Array<string | number>;
|
|
3
|
+
export declare const isNumeric: (value: string) => boolean;
|
|
4
|
+
export declare const validateAndLocateTag: (input: string) => number;
|
|
5
|
+
export declare const extractConditionalParts: (check: string) => RegExpMatchArray;
|
|
6
|
+
export declare const checkLengthAndSizeMatches: (value: string) => {
|
|
7
|
+
matchLength: RegExpMatchArray;
|
|
8
|
+
matchSize: RegExpMatchArray;
|
|
9
|
+
};
|
|
10
|
+
export declare const startsWithAny: (str: string, prefixes: string[]) => boolean;
|
|
11
|
+
export declare const extractPlaceholders: (str: string, parent_key?: string) => Array<IParsedSample>;
|
|
12
|
+
export declare const extractOriginAndTag: (input: string) => string;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractOriginAndTag = exports.extractPlaceholders = exports.startsWithAny = exports.checkLengthAndSizeMatches = exports.extractConditionalParts = exports.validateAndLocateTag = exports.isNumeric = exports.extractStages = void 0;
|
|
4
|
+
const enums_1 = require("../../../types/enums");
|
|
5
|
+
const extractStages = (input) => {
|
|
6
|
+
const regex = /\{(.*?)\}|\[(\d+)\]/g;
|
|
7
|
+
const result = [];
|
|
8
|
+
let match;
|
|
9
|
+
while ((match = regex.exec(input)) !== null) {
|
|
10
|
+
if (match[1] !== undefined) {
|
|
11
|
+
// Matched {string}
|
|
12
|
+
result.push(match[1]);
|
|
13
|
+
}
|
|
14
|
+
else if (match[2] !== undefined) {
|
|
15
|
+
// Matched [number]
|
|
16
|
+
result.push(Number(match[2]));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
exports.extractStages = extractStages;
|
|
22
|
+
const isNumeric = (value) => {
|
|
23
|
+
return !isNaN(Number(value)) && !isNaN(parseFloat(value));
|
|
24
|
+
};
|
|
25
|
+
exports.isNumeric = isNumeric;
|
|
26
|
+
const validateAndLocateTag = (input) => {
|
|
27
|
+
// Regex to match {tags} and [value]
|
|
28
|
+
const tagPattern = /\{([^{}]+)\}/g; // Matches {tags}
|
|
29
|
+
const ductapeOperators = ["$Concat", "$Pick", "$Join", "$Filter", "$Find"];
|
|
30
|
+
const operatorRegex = ductapeOperators.map(op => `\\${op}\\(`).join("|"); // Escape `$`
|
|
31
|
+
const bracketPattern = new RegExp(`(?<!(${operatorRegex}))\\[([^\\[\\]]+)\\]`, "g");
|
|
32
|
+
// Extract all tags and their positions
|
|
33
|
+
const tags = [];
|
|
34
|
+
let match;
|
|
35
|
+
while ((match = tagPattern.exec(input)) !== null) {
|
|
36
|
+
tags.push({ value: match[1], index: match.index });
|
|
37
|
+
}
|
|
38
|
+
// Extract all [value] occurrences
|
|
39
|
+
const brackets = [];
|
|
40
|
+
while ((match = bracketPattern.exec(input)) !== null) {
|
|
41
|
+
brackets.push({ value: match[1], index: match.index });
|
|
42
|
+
}
|
|
43
|
+
// Validate conditions
|
|
44
|
+
if (brackets.length === 0) {
|
|
45
|
+
return;
|
|
46
|
+
//throw new Error("No [value] found in the string.");
|
|
47
|
+
}
|
|
48
|
+
if (brackets.length > 1) {
|
|
49
|
+
throw new Error(`More than one indexing value found in string ${input}.`);
|
|
50
|
+
}
|
|
51
|
+
const bracket = brackets[0]; // Only one [value] exists at this point
|
|
52
|
+
if (bracket.value !== "$Index") {
|
|
53
|
+
throw new Error(`Invalid indexing [value] content: ${bracket.value}. Only "$Index" is allowed in ${input}`);
|
|
54
|
+
}
|
|
55
|
+
// Ensure [value] is not before the first three {tags}
|
|
56
|
+
if (tags.length < 3) {
|
|
57
|
+
throw new Error(`The string must contain at least three {tags}. The "$Sequence{sequence_tag}{event_tag}{selector}" are expected before the [$Index] is defined ${input}`);
|
|
58
|
+
}
|
|
59
|
+
if (bracket.index < tags[2].index) {
|
|
60
|
+
throw new Error("[value] cannot be positioned before the first three {tags}.");
|
|
61
|
+
}
|
|
62
|
+
// Find the tag directly preceding [value]
|
|
63
|
+
let precedingTag = null;
|
|
64
|
+
for (let i = tags.length - 1; i >= 0; i--) {
|
|
65
|
+
if (tags[i].index < bracket.index) {
|
|
66
|
+
precedingTag = { value: tags[i].value, index: i };
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!precedingTag) {
|
|
71
|
+
throw new Error("No tag found before [value].");
|
|
72
|
+
}
|
|
73
|
+
// Return the index of the preceding tag
|
|
74
|
+
return precedingTag.index;
|
|
75
|
+
};
|
|
76
|
+
exports.validateAndLocateTag = validateAndLocateTag;
|
|
77
|
+
const extractConditionalParts = (check) => {
|
|
78
|
+
return check.match(/^(\S+)\s*(>|<|>=|<=|==|!==)\s*(\S+)$/);
|
|
79
|
+
};
|
|
80
|
+
exports.extractConditionalParts = extractConditionalParts;
|
|
81
|
+
const checkLengthAndSizeMatches = (value) => {
|
|
82
|
+
const matchLength = value.match(/\$Length\{([^{}]*(?:\{[^{}]*\})*[^{}]*)\}/);
|
|
83
|
+
const matchSize = value.match(/\$Size\{([^{}]*(?:\{[^{}]*\})*[^{}]*)\}/);
|
|
84
|
+
return { matchLength, matchSize };
|
|
85
|
+
};
|
|
86
|
+
exports.checkLengthAndSizeMatches = checkLengthAndSizeMatches;
|
|
87
|
+
function hasSpacesOrSpecialCharsExceptUnderscore(str) {
|
|
88
|
+
// Allow only one colon (:) anywhere in the string
|
|
89
|
+
const colonCount = (str.match(/:/g) || []).length;
|
|
90
|
+
if (colonCount > 4)
|
|
91
|
+
return true;
|
|
92
|
+
// Check for other disallowed characters
|
|
93
|
+
const regex = /[\s]|[^a-zA-Z0-9_:]/;
|
|
94
|
+
return regex.test(str);
|
|
95
|
+
}
|
|
96
|
+
const isPositiveIntegerOrZero = (str) => {
|
|
97
|
+
return /^(0|[1-9]\d*)$/.test(str);
|
|
98
|
+
};
|
|
99
|
+
const startsWithAny = (str, prefixes) => {
|
|
100
|
+
return prefixes.some(prefix => str.startsWith(prefix));
|
|
101
|
+
};
|
|
102
|
+
exports.startsWithAny = startsWithAny;
|
|
103
|
+
const extractPlaceholders = (str, parent_key = "") => {
|
|
104
|
+
const regex = /{{(.*?)}}/g;
|
|
105
|
+
const placeholders = [];
|
|
106
|
+
const seenKeys = new Set(); // Track duplicate keys
|
|
107
|
+
let match;
|
|
108
|
+
while ((match = regex.exec(str)) !== null) {
|
|
109
|
+
if (hasSpacesOrSpecialCharsExceptUnderscore(match[1])) {
|
|
110
|
+
throw new Error(`Placeholder "${match[1]}" is not expected to contain special characters except "_" and at most four ":"`);
|
|
111
|
+
}
|
|
112
|
+
let level = parent_key ? 1 : 0;
|
|
113
|
+
// Split key by ":" to extract key and type
|
|
114
|
+
const split = match[1].split(":");
|
|
115
|
+
const key = split[0];
|
|
116
|
+
// Check for duplicate keys
|
|
117
|
+
if (seenKeys.has(key)) {
|
|
118
|
+
console.log(str);
|
|
119
|
+
throw new Error(`Duplicate placeholder key "${key}" found.`);
|
|
120
|
+
}
|
|
121
|
+
seenKeys.add(key);
|
|
122
|
+
// Validate type or default to DataTypes.STRING
|
|
123
|
+
const type = split[1] && Object.values(enums_1.DataTypes).includes(split[1])
|
|
124
|
+
? split[1]
|
|
125
|
+
: enums_1.DataTypes.STRING;
|
|
126
|
+
let minLength = 1;
|
|
127
|
+
let maxLength = 0;
|
|
128
|
+
if (split[2]) {
|
|
129
|
+
if (!isPositiveIntegerOrZero(split[2])) {
|
|
130
|
+
throw new Error(`invalid minlength ${split[2]}, expected to be a positive integer`);
|
|
131
|
+
}
|
|
132
|
+
minLength = Number(split[2]);
|
|
133
|
+
}
|
|
134
|
+
if (split[3]) {
|
|
135
|
+
if (!isPositiveIntegerOrZero(split[3])) {
|
|
136
|
+
throw new Error(`invalid maxlength ${split[3]}, expected to be a positive integer`);
|
|
137
|
+
}
|
|
138
|
+
maxLength = Number(split[3]);
|
|
139
|
+
}
|
|
140
|
+
let unique = false;
|
|
141
|
+
if (split[4]) {
|
|
142
|
+
if (split[4] !== 'true' && split[4] !== 'false') {
|
|
143
|
+
throw new Error(`invalid unique flag ${split[4]} in ${match[1]} expected to be true or false`);
|
|
144
|
+
}
|
|
145
|
+
if (split[4] === 'true')
|
|
146
|
+
unique = true;
|
|
147
|
+
}
|
|
148
|
+
placeholders.push({
|
|
149
|
+
parent_key,
|
|
150
|
+
key,
|
|
151
|
+
category: enums_1.Categories.INPUT,
|
|
152
|
+
required: true,
|
|
153
|
+
minLength,
|
|
154
|
+
maxLength,
|
|
155
|
+
type,
|
|
156
|
+
level,
|
|
157
|
+
unique,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return placeholders;
|
|
161
|
+
};
|
|
162
|
+
exports.extractPlaceholders = extractPlaceholders;
|
|
163
|
+
const extractOriginAndTag = (input) => {
|
|
164
|
+
const [origin, tag] = input.split(":");
|
|
165
|
+
return `${origin}:${tag}`;
|
|
166
|
+
};
|
|
167
|
+
exports.extractOriginAndTag = extractOriginAndTag;
|
|
168
|
+
//# sourceMappingURL=string.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.utils.js","sourceRoot":"","sources":["../../../../src/products/services/utils/string.utils.ts"],"names":[],"mappings":"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"}
|