@forge/util 1.3.0 → 1.3.1-next.1
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/CHANGELOG.md +12 -0
- package/package.json +2 -2
- package/packages/analytics-node-client/CHANGELOG.md +30 -0
- package/packages/analytics-node-client/README.md +42 -0
- package/packages/analytics-node-client/package.json +3 -2
- package/packages/analytics-node-client/src/index.js +1 -1
- package/packages/cs-ari/CHANGELOG.md +63 -1
- package/packages/cs-ari/dist/app-ari-impls.d.ts +31 -0
- package/packages/cs-ari/dist/app-ari-impls.d.ts.map +1 -0
- package/packages/cs-ari/dist/app-ari-impls.js +234 -0
- package/packages/cs-ari/dist/app-ari-impls.js.map +1 -0
- package/packages/cs-ari/dist/app-aris.d.ts +7 -0
- package/packages/cs-ari/dist/app-aris.d.ts.map +1 -0
- package/packages/cs-ari/dist/app-aris.js +16 -0
- package/packages/cs-ari/dist/app-aris.js.map +1 -0
- package/packages/cs-ari/dist/app-family-ari.d.ts +10 -0
- package/packages/cs-ari/dist/app-family-ari.d.ts.map +1 -0
- package/packages/cs-ari/dist/app-family-ari.js +30 -0
- package/packages/cs-ari/dist/app-family-ari.js.map +1 -0
- package/packages/cs-ari/dist/{AppAris.d.ts → ari.d.ts} +29 -18
- package/packages/cs-ari/dist/ari.d.ts.map +1 -0
- package/packages/cs-ari/dist/ari.js +25 -0
- package/packages/cs-ari/dist/ari.js.map +1 -0
- package/packages/cs-ari/dist/{Constraints.d.ts → constraints.d.ts} +3 -2
- package/packages/cs-ari/dist/constraints.d.ts.map +1 -0
- package/packages/cs-ari/dist/{Constraints.js → constraints.js} +11 -6
- package/packages/cs-ari/dist/constraints.js.map +1 -0
- package/packages/cs-ari/dist/index.d.ts +21 -0
- package/packages/cs-ari/dist/index.d.ts.map +1 -0
- package/packages/cs-ari/dist/index.js +40 -0
- package/packages/cs-ari/dist/index.js.map +1 -0
- package/packages/cs-ari/dist/{Index.d.ts → resource-identifier.d.ts} +11 -43
- package/packages/cs-ari/dist/resource-identifier.d.ts.map +1 -0
- package/packages/cs-ari/dist/{Index.js → resource-identifier.js} +47 -67
- package/packages/cs-ari/dist/resource-identifier.js.map +1 -0
- package/packages/cs-ari/package.json +20 -31
- package/packages/logger-interface/CHANGELOG.md +7 -0
- package/packages/logger-interface/package.json +1 -1
- package/packages/metrics-interface/CHANGELOG.md +11 -0
- package/packages/metrics-interface/dist/metrics.d.ts +1 -0
- package/packages/metrics-interface/dist/metrics.d.ts.map +1 -1
- package/packages/metrics-interface/dist/metrics.js +4 -3
- package/packages/metrics-interface/dist/metrics.js.map +1 -1
- package/packages/metrics-interface/package.json +1 -1
- package/packages/cs-ari/dist/AppAriImpls.d.ts +0 -27
- package/packages/cs-ari/dist/AppAriImpls.js +0 -172
- package/packages/cs-ari/dist/AppAriImpls.js.map +0 -1
- package/packages/cs-ari/dist/AppAris.js +0 -45
- package/packages/cs-ari/dist/AppAris.js.map +0 -1
- package/packages/cs-ari/dist/Constraints.js.map +0 -1
- package/packages/cs-ari/dist/Index.js.map +0 -1
- package/packages/cs-ari/xunit.xml +0 -109
- package/packages/cs-ari/yarn.lock +0 -643
|
@@ -1,8 +1,70 @@
|
|
|
1
1
|
# 1.12.0
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
## 3.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- b6125f0: Upgrade NodeJS typings to v16.
|
|
8
|
+
Package now targets NodeJS runtime 16 and above, all previous NodeJS versions are now unsupported.
|
|
9
|
+
|
|
10
|
+
## 2.1.4
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- a69d8e9: refactor to enforce complexity limits
|
|
15
|
+
|
|
16
|
+
## 2.1.3
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- c0069ef: Package is now compiled with Typescript 4.4
|
|
21
|
+
|
|
22
|
+
Useful links:
|
|
23
|
+
|
|
24
|
+
- https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#more-compliant-indirect-calls-for-imported-functions
|
|
25
|
+
- http://perfectionkills.com/global-eval-what-are-the-options/
|
|
26
|
+
|
|
27
|
+
## 2.1.2
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- fae10a6: Fixed an issue with compiled typings files after upgrading to TypeScript 4.3. The imports in the typings.d.ts files were compiled with paths relative to the monorepo root, rather than absolute package paths. This problem has now been fixed.
|
|
32
|
+
|
|
33
|
+
## 2.1.1
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- fae1202: Updated packages relating to linting in the monorepo, and re-linted the repository.
|
|
38
|
+
You may see some of the following changes in your packages:
|
|
39
|
+
|
|
40
|
+
- Some `prettier` formatting changes may have occurred
|
|
41
|
+
- Some `eslint-disable` overrides may have been renamed
|
|
42
|
+
- Some `eslint-disable` overrides may have been added
|
|
43
|
+
- Some imports may have been re-ordered
|
|
44
|
+
|
|
45
|
+
## 2.1.0
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- 0f69f40: Add new app-environment-version ARI to cs-ari package
|
|
50
|
+
|
|
51
|
+
## 2.0.1
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- d77b802: Bump patch version of ts-is-present to 1.1.3
|
|
56
|
+
|
|
57
|
+
## 2.0.0
|
|
58
|
+
|
|
59
|
+
### Major Changes
|
|
60
|
+
|
|
61
|
+
- ffb2073: The package migration from connect-service repo
|
|
62
|
+
Validate app ARI fields
|
|
3
63
|
|
|
4
64
|
# 1.11.2
|
|
65
|
+
|
|
5
66
|
Support ARIs with capitalized resource types
|
|
6
67
|
|
|
7
68
|
# 1.11.1
|
|
69
|
+
|
|
8
70
|
ease validation of ari by reducing length check between 3 and 255
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AppAri, AppAriJson, AppEnvironmentAri, AppEnvironmentAriJson, AppEnvironmentVersionAri, AppEnvironmentVersionAriJson, AppFamilyAriJson, AppFamilyAriOperations, Ari, ExtensionAri, ExtensionAriJson, ExtensionGroupAri, ExtensionGroupAriJson } from './ari';
|
|
2
|
+
export declare class AppFamilyAriImpl<J extends AppFamilyAriJson> implements AppAriJson, Partial<AppEnvironmentAriJson>, Partial<AppEnvironmentVersionAriJson>, Partial<ExtensionGroupAriJson>, Partial<ExtensionAriJson>, AppFamilyAriOperations<J> {
|
|
3
|
+
private readonly json;
|
|
4
|
+
constructor(json: J);
|
|
5
|
+
get appId(): string;
|
|
6
|
+
get environmentId(): string | undefined;
|
|
7
|
+
get versionId(): string | undefined;
|
|
8
|
+
get version(): string | undefined;
|
|
9
|
+
get extensionGroupId(): string | undefined;
|
|
10
|
+
get extensionKey(): string | undefined;
|
|
11
|
+
toJSON(): J;
|
|
12
|
+
static parse<J extends AppFamilyAriJson>(ari: Ari): AppFamilyAriImpl<J>;
|
|
13
|
+
asAppAri(): AppAri;
|
|
14
|
+
asAppEnvironmentAri(): AppEnvironmentAri;
|
|
15
|
+
asAppEnvironmentVersionAri(): AppEnvironmentVersionAri;
|
|
16
|
+
asExtensionGroupAri(): ExtensionGroupAri;
|
|
17
|
+
asExtensionAri(): ExtensionAri;
|
|
18
|
+
isAppAri(): this is AppAri;
|
|
19
|
+
isAppEnvironmentAri(): this is AppEnvironmentAri;
|
|
20
|
+
isAppEnvironmentVersionAri(): this is AppEnvironmentVersionAri;
|
|
21
|
+
isExtensionGroupAri(): this is ExtensionGroupAri;
|
|
22
|
+
isExtensionAri(): this is ExtensionAri;
|
|
23
|
+
private returnIf;
|
|
24
|
+
private get isAtLeastAppEnvironmentAri();
|
|
25
|
+
private get isAtLeastAppEnvironmentVersionAri();
|
|
26
|
+
private get isAtLeastExtensionGroupAri();
|
|
27
|
+
private validate;
|
|
28
|
+
toAri(): Ari;
|
|
29
|
+
toString(): string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=app-ari-impls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-ari-impls.d.ts","sourceRoot":"","sources":["../src/app-ari-impls.ts"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAE5B,gBAAgB,EAChB,sBAAsB,EACtB,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EAGtB,MAAM,OAAO,CAAC;AAoBf,qBAAa,gBAAgB,CAAC,CAAC,SAAS,gBAAgB,CACtD,YACE,UAAU,EACV,OAAO,CAAC,qBAAqB,CAAC,EAC9B,OAAO,CAAC,4BAA4B,CAAC,EACrC,OAAO,CAAC,qBAAqB,CAAC,EAC9B,OAAO,CAAC,gBAAgB,CAAC,EACzB,sBAAsB,CAAC,CAAC,CAAC;IAEf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,CAAC;IAIpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEzC;IACD,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,MAAM,IAAI,CAAC;IAKX,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAkGvE,QAAQ,IAAI,MAAM;IAIlB,mBAAmB,IAAI,iBAAiB;IAIxC,0BAA0B,IAAI,wBAAwB;IAItD,mBAAmB,IAAI,iBAAiB;IAIxC,cAAc,IAAI,YAAY;IAI9B,QAAQ,IAAI,IAAI,IAAI,MAAM;IAI1B,mBAAmB,IAAI,IAAI,IAAI,iBAAiB;IAIhD,0BAA0B,IAAI,IAAI,IAAI,wBAAwB;IAI9D,mBAAmB,IAAI,IAAI,IAAI,iBAAiB;IAIhD,cAAc,IAAI,IAAI,IAAI,YAAY;IAItC,OAAO,CAAC,QAAQ;IAQhB,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,KAAK,iCAAiC,GAE5C;IAED,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,CAAC,QAAQ;IAahB,KAAK,IAAI,GAAG;IAgDZ,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.AppFamilyAriImpl = void 0;
|
|
23
|
+
const AppFamilyAriModule = __importStar(require("./app-family-ari"));
|
|
24
|
+
const ari_1 = require("./ari");
|
|
25
|
+
const constraints_1 = require("./constraints");
|
|
26
|
+
const resource_identifier_1 = require("./resource-identifier");
|
|
27
|
+
const versionPrefix = ';v=';
|
|
28
|
+
const uuidRegExpString = '[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}';
|
|
29
|
+
const uuidConstraints = [(0, constraints_1.pattern)(new RegExp(`^${uuidRegExpString}$`, 'i'))];
|
|
30
|
+
const extensionGroupIdConstraints = [(0, constraints_1.pattern)(new RegExp(`^(${uuidRegExpString}|static)$`, 'i'))];
|
|
31
|
+
function stripToUndefined(str) {
|
|
32
|
+
if (!str) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const trimmed = str.trim();
|
|
36
|
+
if (trimmed.length === 0) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
return trimmed;
|
|
40
|
+
}
|
|
41
|
+
class AppFamilyAriImpl {
|
|
42
|
+
constructor(json) {
|
|
43
|
+
this.json = json;
|
|
44
|
+
this.validate();
|
|
45
|
+
}
|
|
46
|
+
get appId() {
|
|
47
|
+
return this.json.appId;
|
|
48
|
+
}
|
|
49
|
+
get environmentId() {
|
|
50
|
+
return this.json.environmentId;
|
|
51
|
+
}
|
|
52
|
+
get versionId() {
|
|
53
|
+
return this.json.versionId;
|
|
54
|
+
}
|
|
55
|
+
get version() {
|
|
56
|
+
return this.json.version;
|
|
57
|
+
}
|
|
58
|
+
get extensionGroupId() {
|
|
59
|
+
return this.json.extensionGroupId;
|
|
60
|
+
}
|
|
61
|
+
get extensionKey() {
|
|
62
|
+
return this.json.extensionKey;
|
|
63
|
+
}
|
|
64
|
+
toJSON() {
|
|
65
|
+
return this.json;
|
|
66
|
+
}
|
|
67
|
+
/* eslint-disable complexity */
|
|
68
|
+
static parse(ari) {
|
|
69
|
+
const { resourceOwner, resourceType, resourceId } = ari;
|
|
70
|
+
if (resourceOwner !== AppFamilyAriModule.resourceOwner) {
|
|
71
|
+
throw new ari_1.NotAppFamilyAriError(ari, `resourceOwner (${resourceOwner}) must be ${AppFamilyAriModule.resourceOwner}`);
|
|
72
|
+
}
|
|
73
|
+
if (!resourceType || !AppFamilyAriModule.isAppFamilyResourceType(resourceType)) {
|
|
74
|
+
throw new ari_1.NotAppFamilyAriError(ari, `resourceType must be one of ${AppFamilyAriModule.appFamilyResourceTypes}`);
|
|
75
|
+
}
|
|
76
|
+
if (!resourceId) {
|
|
77
|
+
throw new ari_1.NotAppFamilyAriError(ari, 'resourceId is must be provided');
|
|
78
|
+
}
|
|
79
|
+
const versionIndex = resourceId.indexOf(versionPrefix);
|
|
80
|
+
if (versionIndex > 0 && resourceId.lastIndexOf(versionPrefix) > versionIndex) {
|
|
81
|
+
throw new ari_1.NotAppFamilyAriError(ari, 'can only include one version suffix');
|
|
82
|
+
}
|
|
83
|
+
const [mainResourceId, version] = resourceId.split(versionPrefix);
|
|
84
|
+
const segments = mainResourceId.split('/').map(stripToUndefined);
|
|
85
|
+
if (segments.length > 4) {
|
|
86
|
+
throw new ari_1.NotAppFamilyAriError(ari, `no path segments can be added after extensionKey ${segments.slice(4)}`);
|
|
87
|
+
}
|
|
88
|
+
const [appId = undefined, environmentId = undefined, providedExtensionGroupId = undefined, extensionKey = undefined,] = segments;
|
|
89
|
+
const versionId = resourceType === AppFamilyAriModule.appEnvironmentVersionResourceType ? providedExtensionGroupId : undefined;
|
|
90
|
+
if (!appId) {
|
|
91
|
+
throw new ari_1.NotAppFamilyAriError(ari, 'appId must be included');
|
|
92
|
+
}
|
|
93
|
+
const extensionGroupId = providedExtensionGroupId ||
|
|
94
|
+
(resourceType === AppFamilyAriModule.extensionGroupResourceType ||
|
|
95
|
+
resourceType === AppFamilyAriModule.extensionResourceType
|
|
96
|
+
? 'static'
|
|
97
|
+
: undefined);
|
|
98
|
+
if (resourceType === AppFamilyAriModule.extensionResourceType &&
|
|
99
|
+
!(environmentId && providedExtensionGroupId && extensionKey)) {
|
|
100
|
+
throw new ari_1.NotAppFamilyAriError(ari, `environmentId, extensionGroupId, extensionKey must all be provided for resourceType ${AppFamilyAriModule.extensionResourceType}`);
|
|
101
|
+
}
|
|
102
|
+
else if (resourceType === AppFamilyAriModule.extensionGroupResourceType &&
|
|
103
|
+
(!(environmentId && extensionGroupId) || extensionKey)) {
|
|
104
|
+
throw new ari_1.NotAppFamilyAriError(ari, `environmentId, extensionGroupId must all be provided for resourceType ${AppFamilyAriModule.extensionGroupResourceType}`);
|
|
105
|
+
}
|
|
106
|
+
else if (resourceType === AppFamilyAriModule.environmentResourceType &&
|
|
107
|
+
(!environmentId || providedExtensionGroupId || extensionKey)) {
|
|
108
|
+
throw new ari_1.NotAppFamilyAriError(ari, `environmentId must be provided for resourceType ${AppFamilyAriModule.environmentResourceType}`);
|
|
109
|
+
}
|
|
110
|
+
else if (resourceType === AppFamilyAriModule.appEnvironmentVersionResourceType &&
|
|
111
|
+
(!environmentId || !versionId || extensionKey)) {
|
|
112
|
+
throw new ari_1.NotAppFamilyAriError(ari, `environmentId and versionID must be provided for resourceType ${AppFamilyAriModule.appEnvironmentVersionResourceType}`);
|
|
113
|
+
}
|
|
114
|
+
else if (resourceType === AppFamilyAriModule.appResourceType &&
|
|
115
|
+
(environmentId || providedExtensionGroupId || extensionKey)) {
|
|
116
|
+
throw new ari_1.NotAppFamilyAriError(ari, `environmentId must be provided for resourceType ${AppFamilyAriModule.environmentResourceType}`);
|
|
117
|
+
}
|
|
118
|
+
if (resourceType === AppFamilyAriModule.appEnvironmentVersionResourceType) {
|
|
119
|
+
return new AppFamilyAriImpl({ appId, environmentId, versionId });
|
|
120
|
+
}
|
|
121
|
+
return new AppFamilyAriImpl({ appId, environmentId, versionId, extensionGroupId, extensionKey, version });
|
|
122
|
+
}
|
|
123
|
+
/* eslint-enable complexity */
|
|
124
|
+
asAppAri() {
|
|
125
|
+
return this.returnIf(() => this.isAppAri(), 'app');
|
|
126
|
+
}
|
|
127
|
+
asAppEnvironmentAri() {
|
|
128
|
+
return this.returnIf(() => this.isAppEnvironmentAri(), 'environment');
|
|
129
|
+
}
|
|
130
|
+
asAppEnvironmentVersionAri() {
|
|
131
|
+
return this.returnIf(() => this.isAppEnvironmentVersionAri(), 'app-environment-version');
|
|
132
|
+
}
|
|
133
|
+
asExtensionGroupAri() {
|
|
134
|
+
return this.returnIf(() => this.isExtensionGroupAri(), 'extension-group');
|
|
135
|
+
}
|
|
136
|
+
asExtensionAri() {
|
|
137
|
+
return this.returnIf(() => this.isExtensionAri(), 'extension');
|
|
138
|
+
}
|
|
139
|
+
isAppAri() {
|
|
140
|
+
return !this.isAtLeastAppEnvironmentAri;
|
|
141
|
+
}
|
|
142
|
+
isAppEnvironmentAri() {
|
|
143
|
+
return this.isAtLeastAppEnvironmentAri && !this.isAtLeastExtensionGroupAri;
|
|
144
|
+
}
|
|
145
|
+
isAppEnvironmentVersionAri() {
|
|
146
|
+
return this.isAtLeastAppEnvironmentVersionAri;
|
|
147
|
+
}
|
|
148
|
+
isExtensionGroupAri() {
|
|
149
|
+
return this.isAtLeastExtensionGroupAri && !this.isExtensionAri();
|
|
150
|
+
}
|
|
151
|
+
isExtensionAri() {
|
|
152
|
+
return this.isAtLeastExtensionGroupAri && this.extensionKey !== undefined;
|
|
153
|
+
}
|
|
154
|
+
returnIf(check, type) {
|
|
155
|
+
if (!check()) {
|
|
156
|
+
throw new ari_1.NotExpectedAppFamilyAriTypeError(type, this);
|
|
157
|
+
}
|
|
158
|
+
return this; // :sadpanda:
|
|
159
|
+
}
|
|
160
|
+
get isAtLeastAppEnvironmentAri() {
|
|
161
|
+
return this.environmentId !== undefined;
|
|
162
|
+
}
|
|
163
|
+
get isAtLeastAppEnvironmentVersionAri() {
|
|
164
|
+
return this.versionId !== undefined;
|
|
165
|
+
}
|
|
166
|
+
get isAtLeastExtensionGroupAri() {
|
|
167
|
+
return this.isAtLeastAppEnvironmentAri && this.extensionGroupId !== undefined;
|
|
168
|
+
}
|
|
169
|
+
validate() {
|
|
170
|
+
const constraintViolations = [
|
|
171
|
+
(0, constraints_1.validateField)(this, 'environmentId', uuidConstraints),
|
|
172
|
+
(0, constraints_1.validateField)(this, 'appId', uuidConstraints),
|
|
173
|
+
(0, constraints_1.validateField)(this, 'extensionGroupId', extensionGroupIdConstraints),
|
|
174
|
+
(0, constraints_1.validateField)(this, 'versionId', uuidConstraints),
|
|
175
|
+
].filter((v) => v);
|
|
176
|
+
if (constraintViolations.length > 0) {
|
|
177
|
+
throw resource_identifier_1.InvalidAriError.withConstraintViolations(this.toString(), constraintViolations);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
toAri() {
|
|
181
|
+
const resourceOwner = AppFamilyAriModule.resourceOwner;
|
|
182
|
+
const { versionId } = this.toJSON();
|
|
183
|
+
const { appId, environmentId, extensionGroupId, extensionKey, version } = this.toJSON();
|
|
184
|
+
function withVersion(segments) {
|
|
185
|
+
const path = segments.join('/');
|
|
186
|
+
if (!version) {
|
|
187
|
+
return path;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
return `${path}${versionPrefix}${version}`;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (this.isExtensionAri()) {
|
|
194
|
+
return new resource_identifier_1.ResourceIdentifier({
|
|
195
|
+
resourceOwner,
|
|
196
|
+
resourceType: AppFamilyAriModule.extensionResourceType,
|
|
197
|
+
resourceId: withVersion([appId, environmentId, extensionGroupId, extensionKey]),
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
else if (this.isExtensionGroupAri()) {
|
|
201
|
+
return new resource_identifier_1.ResourceIdentifier({
|
|
202
|
+
resourceOwner,
|
|
203
|
+
resourceType: AppFamilyAriModule.extensionGroupResourceType,
|
|
204
|
+
resourceId: withVersion([appId, environmentId, extensionGroupId]),
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
else if (this.isAppEnvironmentVersionAri()) {
|
|
208
|
+
return new resource_identifier_1.ResourceIdentifier({
|
|
209
|
+
resourceOwner,
|
|
210
|
+
resourceType: AppFamilyAriModule.appEnvironmentVersionResourceType,
|
|
211
|
+
resourceId: [appId, environmentId, versionId].join('/'),
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
else if (this.isAppEnvironmentAri()) {
|
|
215
|
+
return new resource_identifier_1.ResourceIdentifier({
|
|
216
|
+
resourceOwner,
|
|
217
|
+
resourceType: AppFamilyAriModule.environmentResourceType,
|
|
218
|
+
resourceId: withVersion([appId, environmentId]),
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
return new resource_identifier_1.ResourceIdentifier({
|
|
223
|
+
resourceOwner,
|
|
224
|
+
resourceType: AppFamilyAriModule.appResourceType,
|
|
225
|
+
resourceId: appId,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
toString() {
|
|
230
|
+
return this.toAri().toString();
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
exports.AppFamilyAriImpl = AppFamilyAriImpl;
|
|
234
|
+
//# sourceMappingURL=app-ari-impls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-ari-impls.js","sourceRoot":"","sources":["../src/app-ari-impls.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppFamilyAri, AppFamilyAriJson, AppFamilyAriOperations, Ari } from './ari';
|
|
2
|
+
/**
|
|
3
|
+
* throws NotAppFamilyAriError if not a valid app family ari
|
|
4
|
+
*/
|
|
5
|
+
export declare function parseAppAri(ari: Ari): AppFamilyAri;
|
|
6
|
+
export declare function createAppAri<J extends AppFamilyAriJson>(json: J): J & AppFamilyAriOperations<J>;
|
|
7
|
+
//# sourceMappingURL=app-aris.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-aris.d.ts","sourceRoot":"","sources":["../src/app-aris.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEpF;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAElD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAE/F"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAppAri = exports.parseAppAri = void 0;
|
|
4
|
+
const app_ari_impls_1 = require("./app-ari-impls");
|
|
5
|
+
/**
|
|
6
|
+
* throws NotAppFamilyAriError if not a valid app family ari
|
|
7
|
+
*/
|
|
8
|
+
function parseAppAri(ari) {
|
|
9
|
+
return app_ari_impls_1.AppFamilyAriImpl.parse(ari);
|
|
10
|
+
}
|
|
11
|
+
exports.parseAppAri = parseAppAri;
|
|
12
|
+
function createAppAri(json) {
|
|
13
|
+
return new app_ari_impls_1.AppFamilyAriImpl(json);
|
|
14
|
+
}
|
|
15
|
+
exports.createAppAri = createAppAri;
|
|
16
|
+
//# sourceMappingURL=app-aris.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-aris.js","sourceRoot":"","sources":["../src/app-aris.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AAGnD;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAQ;IAClC,OAAO,gCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAFD,kCAEC;AAED,SAAgB,YAAY,CAA6B,IAAO;IAC9D,OAAO,IAAI,gCAAgB,CAAC,IAAI,CAAQ,CAAC;AAC3C,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const resourceOwner = "ecosystem";
|
|
2
|
+
export declare const appResourceType = "app";
|
|
3
|
+
export declare const environmentResourceType = "environment";
|
|
4
|
+
export declare const appEnvironmentVersionResourceType = "app-environment-version";
|
|
5
|
+
export declare const extensionGroupResourceType = "extension-group";
|
|
6
|
+
export declare const extensionResourceType = "extension";
|
|
7
|
+
export declare type AppFamilyResourceType = typeof appResourceType | typeof environmentResourceType | typeof appEnvironmentVersionResourceType | typeof extensionGroupResourceType | typeof extensionResourceType;
|
|
8
|
+
export declare const isAppFamilyResourceType: (type: string) => type is AppFamilyResourceType;
|
|
9
|
+
export declare const appFamilyResourceTypes: AppFamilyResourceType[];
|
|
10
|
+
//# sourceMappingURL=app-family-ari.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-family-ari.d.ts","sourceRoot":"","sources":["../src/app-family-ari.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AACrD,eAAO,MAAM,iCAAiC,4BAA4B,CAAC;AAC3E,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,qBAAqB,cAAc,CAAC;AACjD,oBAAY,qBAAqB,GAC7B,OAAO,eAAe,GACtB,OAAO,uBAAuB,GAC9B,OAAO,iCAAiC,GACxC,OAAO,0BAA0B,GACjC,OAAO,qBAAqB,CAAC;AACjC,eAAO,MAAM,uBAAuB,SAAmB,MAAM,kCAW5D,CAAC;AACF,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAMzD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.appFamilyResourceTypes = exports.isAppFamilyResourceType = exports.extensionResourceType = exports.extensionGroupResourceType = exports.appEnvironmentVersionResourceType = exports.environmentResourceType = exports.appResourceType = exports.resourceOwner = void 0;
|
|
4
|
+
exports.resourceOwner = 'ecosystem';
|
|
5
|
+
exports.appResourceType = 'app';
|
|
6
|
+
exports.environmentResourceType = 'environment';
|
|
7
|
+
exports.appEnvironmentVersionResourceType = 'app-environment-version';
|
|
8
|
+
exports.extensionGroupResourceType = 'extension-group';
|
|
9
|
+
exports.extensionResourceType = 'extension';
|
|
10
|
+
const isAppFamilyResourceType = function (type) {
|
|
11
|
+
switch (type) {
|
|
12
|
+
case exports.resourceOwner:
|
|
13
|
+
case exports.appResourceType:
|
|
14
|
+
case exports.environmentResourceType:
|
|
15
|
+
case exports.appEnvironmentVersionResourceType:
|
|
16
|
+
case exports.extensionGroupResourceType:
|
|
17
|
+
case exports.extensionResourceType:
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
};
|
|
22
|
+
exports.isAppFamilyResourceType = isAppFamilyResourceType;
|
|
23
|
+
exports.appFamilyResourceTypes = [
|
|
24
|
+
exports.appResourceType,
|
|
25
|
+
exports.environmentResourceType,
|
|
26
|
+
exports.appEnvironmentVersionResourceType,
|
|
27
|
+
exports.extensionGroupResourceType,
|
|
28
|
+
exports.extensionResourceType,
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=app-family-ari.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-family-ari.js","sourceRoot":"","sources":["../src/app-family-ari.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,WAAW,CAAC;AAC5B,QAAA,eAAe,GAAG,KAAK,CAAC;AACxB,QAAA,uBAAuB,GAAG,aAAa,CAAC;AACxC,QAAA,iCAAiC,GAAG,yBAAyB,CAAC;AAC9D,QAAA,0BAA0B,GAAG,iBAAiB,CAAC;AAC/C,QAAA,qBAAqB,GAAG,WAAW,CAAC;AAO1C,MAAM,uBAAuB,GAAG,UAAU,IAAY;IAC3D,QAAQ,IAAI,EAAE;QACZ,KAAK,qBAAa,CAAC;QACnB,KAAK,uBAAe,CAAC;QACrB,KAAK,+BAAuB,CAAC;QAC7B,KAAK,yCAAiC,CAAC;QACvC,KAAK,kCAA0B,CAAC;QAChC,KAAK,6BAAqB;YACxB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC;AACW,QAAA,sBAAsB,GAA4B;IAC7D,uBAAe;IACf,+BAAuB;IACvB,yCAAiC;IACjC,kCAA0B;IAC1B,6BAAqB;CACtB,CAAC"}
|
|
@@ -1,4 +1,21 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as AppFamilyAriModule from './app-family-ari';
|
|
2
|
+
/**
|
|
3
|
+
* ARI - an Atlassian Resource Identifier used within connect to describe installation contexts.
|
|
4
|
+
*
|
|
5
|
+
* an implementation of https://product-fabric.atlassian.net/wiki/display/PRODUCT/Atlassian+Resource+Identifier
|
|
6
|
+
*/
|
|
7
|
+
export interface Ari {
|
|
8
|
+
readonly resourceOwner: string;
|
|
9
|
+
readonly cloudId?: string;
|
|
10
|
+
readonly resourceType?: string;
|
|
11
|
+
readonly resourceId?: string;
|
|
12
|
+
toString: () => string;
|
|
13
|
+
toJSON: () => string;
|
|
14
|
+
equals: (other: any) => boolean;
|
|
15
|
+
contains: (other: Ari) => boolean;
|
|
16
|
+
urlEncode: () => string;
|
|
17
|
+
urlDecode: () => string;
|
|
18
|
+
}
|
|
2
19
|
export interface AppFamilyAriOperations<J extends AppFamilyAriJson> {
|
|
3
20
|
toAri(): Ari;
|
|
4
21
|
toString(): string;
|
|
@@ -7,6 +24,8 @@ export interface AppFamilyAriOperations<J extends AppFamilyAriJson> {
|
|
|
7
24
|
asAppAri(): AppAri;
|
|
8
25
|
isAppEnvironmentAri(): this is AppEnvironmentAri;
|
|
9
26
|
asAppEnvironmentAri(): AppEnvironmentAri;
|
|
27
|
+
isAppEnvironmentVersionAri(): this is AppEnvironmentVersionAri;
|
|
28
|
+
asAppEnvironmentVersionAri(): AppEnvironmentVersionAri;
|
|
10
29
|
isExtensionGroupAri(): this is ExtensionGroupAri;
|
|
11
30
|
asExtensionGroupAri(): ExtensionGroupAri;
|
|
12
31
|
isExtensionAri(): this is ExtensionAri;
|
|
@@ -19,6 +38,9 @@ export interface AppEnvironmentAriJson extends AppAriJson {
|
|
|
19
38
|
environmentId: string;
|
|
20
39
|
version?: string;
|
|
21
40
|
}
|
|
41
|
+
export interface AppEnvironmentVersionAriJson extends AppEnvironmentAriJson {
|
|
42
|
+
versionId: string;
|
|
43
|
+
}
|
|
22
44
|
export interface ExtensionGroupAriJson extends AppEnvironmentAriJson {
|
|
23
45
|
extensionGroupId: string | 'static';
|
|
24
46
|
}
|
|
@@ -29,21 +51,14 @@ export interface AppAri extends AppAriJson, AppFamilyAriOperations<AppAriJson> {
|
|
|
29
51
|
}
|
|
30
52
|
export interface AppEnvironmentAri extends AppEnvironmentAriJson, AppFamilyAriOperations<AppEnvironmentAriJson> {
|
|
31
53
|
}
|
|
54
|
+
export interface AppEnvironmentVersionAri extends AppEnvironmentVersionAriJson, AppFamilyAriOperations<AppEnvironmentVersionAriJson> {
|
|
55
|
+
}
|
|
32
56
|
export interface ExtensionGroupAri extends ExtensionGroupAriJson, AppFamilyAriOperations<ExtensionGroupAriJson> {
|
|
33
57
|
}
|
|
34
58
|
export interface ExtensionAri extends ExtensionAriJson, AppFamilyAriOperations<ExtensionAriJson> {
|
|
35
59
|
}
|
|
36
|
-
export declare type AppFamilyAriJson = AppAriJson | AppEnvironmentAriJson | ExtensionGroupAriJson | ExtensionAriJson;
|
|
37
|
-
export declare type AppFamilyAri = AppAri | AppEnvironmentAri | ExtensionGroupAri | ExtensionAri;
|
|
38
|
-
export declare namespace AppFamilyAri {
|
|
39
|
-
const resourceOwner: string;
|
|
40
|
-
const appResourceType: string;
|
|
41
|
-
const environmentResourceType: string;
|
|
42
|
-
const extensionGroupResourceType: string;
|
|
43
|
-
const extensionResourceType: string;
|
|
44
|
-
type AppFamilyResourceType = typeof appResourceType | typeof environmentResourceType | typeof extensionGroupResourceType | typeof extensionResourceType;
|
|
45
|
-
const appFamilyResourceTypes: AppFamilyResourceType[];
|
|
46
|
-
}
|
|
60
|
+
export declare type AppFamilyAriJson = AppAriJson | AppEnvironmentAriJson | AppEnvironmentVersionAriJson | ExtensionGroupAriJson | ExtensionAriJson;
|
|
61
|
+
export declare type AppFamilyAri = AppAri | AppEnvironmentAri | AppEnvironmentVersionAri | ExtensionGroupAri | ExtensionAri;
|
|
47
62
|
export declare class AppFamilyAriError extends Error {
|
|
48
63
|
readonly cause?: Error | undefined;
|
|
49
64
|
constructor(message: string, cause?: Error | undefined);
|
|
@@ -54,10 +69,6 @@ export declare class NotAppFamilyAriError extends AppFamilyAriError {
|
|
|
54
69
|
}
|
|
55
70
|
export declare class NotExpectedAppFamilyAriTypeError extends AppFamilyAriError {
|
|
56
71
|
readonly cause?: Error | undefined;
|
|
57
|
-
constructor(type:
|
|
72
|
+
constructor(type: AppFamilyAriModule.AppFamilyResourceType, ari: AppFamilyAri, cause?: Error | undefined);
|
|
58
73
|
}
|
|
59
|
-
|
|
60
|
-
* throws NotAppFamilyAriError if not a valid app family ari
|
|
61
|
-
*/
|
|
62
|
-
export declare function parseAppAri(ari: Ari): AppFamilyAri;
|
|
63
|
-
export declare function createAppAri<J extends AppFamilyAriJson>(json: J): J & AppFamilyAriOperations<J>;
|
|
74
|
+
//# sourceMappingURL=ari.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ari.d.ts","sourceRoot":"","sources":["../src/ari.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotExpectedAppFamilyAriTypeError = exports.NotAppFamilyAriError = exports.AppFamilyAriError = void 0;
|
|
4
|
+
class AppFamilyAriError extends Error {
|
|
5
|
+
constructor(message, cause) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.cause = cause;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.AppFamilyAriError = AppFamilyAriError;
|
|
11
|
+
class NotAppFamilyAriError extends AppFamilyAriError {
|
|
12
|
+
constructor(ari, reason) {
|
|
13
|
+
super(`ari is not a valid App family ari: ${ari.toString()} as ${reason}`);
|
|
14
|
+
this.reason = reason;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.NotAppFamilyAriError = NotAppFamilyAriError;
|
|
18
|
+
class NotExpectedAppFamilyAriTypeError extends AppFamilyAriError {
|
|
19
|
+
constructor(type, ari, cause) {
|
|
20
|
+
super(`App family ari (${ari.toString()}) is not of expected type: ${type}`, cause);
|
|
21
|
+
this.cause = cause;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.NotExpectedAppFamilyAriTypeError = NotExpectedAppFamilyAriTypeError;
|
|
25
|
+
//# sourceMappingURL=ari.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ari.js","sourceRoot":"","sources":["../src/ari.ts"],"names":[],"mappings":";;;AA6FA,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe,EAAW,KAAa;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,UAAK,GAAL,KAAK,CAAQ;IAEnD,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,oBAAqB,SAAQ,iBAAiB;IACzD,YAAY,GAAQ,EAAW,MAAc;QAC3C,KAAK,CAAC,sCAAsC,GAAG,CAAC,QAAQ,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC;QAD9C,WAAM,GAAN,MAAM,CAAQ;IAE7C,CAAC;CACF;AAJD,oDAIC;AAED,MAAa,gCAAiC,SAAQ,iBAAiB;IACrE,YAAY,IAA8C,EAAE,GAAiB,EAAW,KAAa;QACnG,KAAK,CAAC,mBAAmB,GAAG,CAAC,QAAQ,EAAE,8BAA8B,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QADE,UAAK,GAAL,KAAK,CAAQ;IAErG,CAAC;CACF;AAJD,4EAIC"}
|
|
@@ -6,13 +6,13 @@ export declare class LengthConstraint implements Constraint<string> {
|
|
|
6
6
|
readonly min: number;
|
|
7
7
|
readonly max: number;
|
|
8
8
|
constructor(min: number, max: number);
|
|
9
|
-
|
|
9
|
+
get description(): string;
|
|
10
10
|
isValid(value: string): boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare class RegexConstraint implements Constraint<string> {
|
|
13
13
|
readonly regex: RegExp;
|
|
14
14
|
constructor(regex: RegExp);
|
|
15
|
-
|
|
15
|
+
get description(): string;
|
|
16
16
|
isValid(value: string): boolean;
|
|
17
17
|
}
|
|
18
18
|
export interface ValidationError {
|
|
@@ -33,3 +33,4 @@ export declare class ConstraintViolation<T> implements ValidationError {
|
|
|
33
33
|
export declare function lengthBetween(min: number, max: number): LengthConstraint;
|
|
34
34
|
export declare function pattern(regex: RegExp): RegexConstraint;
|
|
35
35
|
export declare function validateField<O, T extends keyof O>(object: O, fieldName: T, constraints: Constraint<O[T]>[]): ConstraintViolation<O[T]> | undefined;
|
|
36
|
+
//# sourceMappingURL=constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;CAC5B;AAED,qBAAa,gBAAiB,YAAW,UAAU,CAAC,MAAM,CAAC;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKpC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGhC;AAED,qBAAa,eAAgB,YAAW,UAAU,CAAC,MAAM,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAElC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGhC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,qBAAa,sBAAuB,YAAW,eAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAC1C,QAAQ,IAAI,MAAM;CAGnB;AAED,qBAAa,mBAAmB,CAAC,CAAC,CAAE,YAAW,eAAe;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE1B,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE;IAMrE,QAAQ,IAAI,MAAM;CAInB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAExE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAEtD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAChD,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAC9B,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAWvC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateField = exports.pattern = exports.lengthBetween = exports.ConstraintViolation = exports.GeneralValidationError = exports.RegexConstraint = exports.LengthConstraint = void 0;
|
|
3
4
|
const ts_is_present_1 = require("ts-is-present");
|
|
4
5
|
class LengthConstraint {
|
|
5
6
|
constructor(min, max) {
|
|
@@ -22,7 +23,7 @@ class RegexConstraint {
|
|
|
22
23
|
return `value must match regex ${this.regex.source}`;
|
|
23
24
|
}
|
|
24
25
|
isValid(value) {
|
|
25
|
-
return !value ||
|
|
26
|
+
return !value || this.regex.test(value);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
exports.RegexConstraint = RegexConstraint;
|
|
@@ -42,7 +43,7 @@ class ConstraintViolation {
|
|
|
42
43
|
this.constraints = constraints;
|
|
43
44
|
}
|
|
44
45
|
toString() {
|
|
45
|
-
const constraintSummary = this.constraints.map(
|
|
46
|
+
const constraintSummary = this.constraints.map(c => ` - ${c.description}`).join('\n');
|
|
46
47
|
return `'${this.value}' is not a valid value for ${this.fieldName} as it violates the following constraints:\n${constraintSummary}`;
|
|
47
48
|
}
|
|
48
49
|
}
|
|
@@ -57,10 +58,14 @@ function pattern(regex) {
|
|
|
57
58
|
exports.pattern = pattern;
|
|
58
59
|
function validateField(object, fieldName, constraints) {
|
|
59
60
|
const value = object[fieldName];
|
|
60
|
-
const violatedConstraints = constraints
|
|
61
|
+
const violatedConstraints = constraints
|
|
62
|
+
.map(c => {
|
|
61
63
|
return c.isValid(value) ? undefined : c;
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
+
})
|
|
65
|
+
.filter(ts_is_present_1.isDefined);
|
|
66
|
+
return violatedConstraints.length > 0
|
|
67
|
+
? new ConstraintViolation(fieldName, value, violatedConstraints)
|
|
68
|
+
: undefined;
|
|
64
69
|
}
|
|
65
70
|
exports.validateField = validateField;
|
|
66
|
-
//# sourceMappingURL=
|
|
71
|
+
//# sourceMappingURL=constraints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.js","sourceRoot":"","sources":["../src/constraints.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAQ1C,MAAa,gBAAgB;IAI3B,YAAY,GAAW,EAAE,GAAW;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,0BAA0B,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;CACF;AAhBD,4CAgBC;AAED,MAAa,eAAe;IAC1B,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,IAAI,WAAW;QACb,OAAO,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;AAVD,0CAUC;AAMD,MAAa,sBAAsB;IACjC,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAC9C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AALD,wDAKC;AAED,MAAa,mBAAmB;IAK9B,YAAY,SAAiB,EAAE,KAAQ,EAAE,WAA4B;QACnE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,QAAQ;QACN,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvF,OAAO,IAAI,IAAI,CAAC,KAAK,8BAA8B,IAAI,CAAC,SAAS,+CAA+C,iBAAiB,EAAE,CAAC;IACtI,CAAC;CACF;AAfD,kDAeC;AAED,SAAgB,aAAa,CAAC,GAAW,EAAE,GAAW;IACpD,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAFD,sCAEC;AAED,SAAgB,OAAO,CAAC,KAAa;IACnC,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,0BAEC;AAED,SAAgB,aAAa,CAC3B,MAAS,EACT,SAAY,EACZ,WAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,mBAAmB,GAAG,WAAW;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;SACD,MAAM,CAAC,yBAAS,CAAC,CAAC;IAErB,OAAO,mBAAmB,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC,IAAI,mBAAmB,CAAO,SAAmB,EAAE,KAAK,EAAE,mBAAmB,CAAC;QAChF,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAfD,sCAeC"}
|