@contrail/util 1.0.35 → 1.0.37

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.
@@ -0,0 +1,14 @@
1
+ export interface ActionDefinitionIdentifierParts {
2
+ appIdentifier: string;
3
+ versionId: string;
4
+ actionIdentifier: string;
5
+ }
6
+ export declare const IDENTIFIER_VALIDATION_NO_IDENTIFIER = "Action definition has no identifier. An identifier is required.";
7
+ export declare const IDENTIFIER_VALIDATION_START_WITH_AT = "Invalid action identifier. Action definition identifier must conform with '@appIdentifier@versionId:actionIdentifier";
8
+ export declare const IDENTIFIER_VALIDATION_INCORRECT_PATTERN = "Invalid action definition identifier. Please use the format: '@appIdentifier@versionId:actionIdentifier'. Action definitions must only contain alphanumeric characters and special characters '/' '-' '_' and conform to the regex ^@([_-/A-Za-z0-9]+)@([_-/A-Za-z0-9])+:([_-/A-Za-z0-9])+";
9
+ export declare const IDENTIFIER_VALIDATION_BAD_CHARACTERS = "Invalid action definitions identifier. Please use the format: '@appIdentifier@versionId:actionIdentifier'. 'appIdentifier', 'versionId', and 'actionIdentifier' must only contain alphanumeric characters and special characters '/' '-' '_' and conform to the regex ^@([_-/A-Za-z0-9]+)@([_-/A-Za-z0-9])+:([_-/A-Za-z0-9])+.";
10
+ export declare class BadIdentifierException extends Error {
11
+ }
12
+ export declare class AppUtil {
13
+ static parseActionIdentifier(actionIdentifier: string): ActionDefinitionIdentifierParts;
14
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppUtil = exports.BadIdentifierException = exports.IDENTIFIER_VALIDATION_BAD_CHARACTERS = exports.IDENTIFIER_VALIDATION_INCORRECT_PATTERN = exports.IDENTIFIER_VALIDATION_START_WITH_AT = exports.IDENTIFIER_VALIDATION_NO_IDENTIFIER = void 0;
4
+ exports.IDENTIFIER_VALIDATION_NO_IDENTIFIER = 'Action definition has no identifier. An identifier is required.';
5
+ exports.IDENTIFIER_VALIDATION_START_WITH_AT = `Invalid action identifier. Action definition identifier must conform with '@appIdentifier@versionId:actionIdentifier`;
6
+ exports.IDENTIFIER_VALIDATION_INCORRECT_PATTERN = `Invalid action definition identifier. Please use the format: '@appIdentifier@versionId:actionIdentifier'. Action definitions must only contain alphanumeric characters and special characters '/' '-' '_' and conform to the regex ^@([_\-\/A-Za-z0-9]+)@([_\-\/A-Za-z0-9])+:([_\-\/A-Za-z0-9])+`;
7
+ exports.IDENTIFIER_VALIDATION_BAD_CHARACTERS = `Invalid action definitions identifier. Please use the format: '@appIdentifier@versionId:actionIdentifier'. 'appIdentifier', 'versionId', and 'actionIdentifier' must only contain alphanumeric characters and special characters '/' '-' '_' and conform to the regex ^@([_\-\/A-Za-z0-9]+)@([_\-\/A-Za-z0-9])+:([_\-\/A-Za-z0-9])+.`;
8
+ class BadIdentifierException extends Error {
9
+ }
10
+ exports.BadIdentifierException = BadIdentifierException;
11
+ ;
12
+ class AppUtil {
13
+ static parseActionIdentifier(actionIdentifier) {
14
+ {
15
+ if (!actionIdentifier) {
16
+ throw new BadIdentifierException(exports.IDENTIFIER_VALIDATION_NO_IDENTIFIER);
17
+ }
18
+ if (!actionIdentifier.startsWith('@')) {
19
+ throw new BadIdentifierException(exports.IDENTIFIER_VALIDATION_START_WITH_AT);
20
+ }
21
+ const identifierParts = actionIdentifier.split(/[@:]/);
22
+ if (identifierParts.length !== 4) {
23
+ throw new BadIdentifierException(exports.IDENTIFIER_VALIDATION_INCORRECT_PATTERN);
24
+ }
25
+ for (const appVersionPart of identifierParts.slice(1)) {
26
+ const badCharacters = appVersionPart.match(/[^@_.\-\/A-Za-z0-9]/g);
27
+ if (badCharacters === null || badCharacters === void 0 ? void 0 : badCharacters.length) {
28
+ throw new BadIdentifierException(exports.IDENTIFIER_VALIDATION_BAD_CHARACTERS);
29
+ }
30
+ }
31
+ return {
32
+ appIdentifier: `@${identifierParts[1]}`,
33
+ versionId: identifierParts[2],
34
+ actionIdentifier: identifierParts[3]
35
+ };
36
+ }
37
+ }
38
+ }
39
+ exports.AppUtil = AppUtil;
package/lib/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from './object-util/object-util';
2
2
  export * from './string-util/string-util';
3
3
  export * from './date-util/date-util';
4
4
  export * from './map-util/map-util';
5
+ export * from './app-util/app-util';
package/lib/index.js CHANGED
@@ -18,3 +18,4 @@ __exportStar(require("./object-util/object-util"), exports);
18
18
  __exportStar(require("./string-util/string-util"), exports);
19
19
  __exportStar(require("./date-util/date-util"), exports);
20
20
  __exportStar(require("./map-util/map-util"), exports);
21
+ __exportStar(require("./app-util/app-util"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/util",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "description": "General javascript utilities",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",