@forge/util 1.3.1-next.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +2 -2
  3. package/packages/cs-ari/CHANGELOG.md +63 -1
  4. package/packages/cs-ari/dist/app-ari-impls.d.ts +31 -0
  5. package/packages/cs-ari/dist/app-ari-impls.d.ts.map +1 -0
  6. package/packages/cs-ari/dist/app-ari-impls.js +234 -0
  7. package/packages/cs-ari/dist/app-ari-impls.js.map +1 -0
  8. package/packages/cs-ari/dist/app-aris.d.ts +7 -0
  9. package/packages/cs-ari/dist/app-aris.d.ts.map +1 -0
  10. package/packages/cs-ari/dist/app-aris.js +16 -0
  11. package/packages/cs-ari/dist/app-aris.js.map +1 -0
  12. package/packages/cs-ari/dist/app-family-ari.d.ts +10 -0
  13. package/packages/cs-ari/dist/app-family-ari.d.ts.map +1 -0
  14. package/packages/cs-ari/dist/app-family-ari.js +30 -0
  15. package/packages/cs-ari/dist/app-family-ari.js.map +1 -0
  16. package/packages/cs-ari/dist/{AppAris.d.ts → ari.d.ts} +29 -18
  17. package/packages/cs-ari/dist/ari.d.ts.map +1 -0
  18. package/packages/cs-ari/dist/ari.js +25 -0
  19. package/packages/cs-ari/dist/ari.js.map +1 -0
  20. package/packages/cs-ari/dist/{Constraints.d.ts → constraints.d.ts} +3 -2
  21. package/packages/cs-ari/dist/constraints.d.ts.map +1 -0
  22. package/packages/cs-ari/dist/{Constraints.js → constraints.js} +11 -6
  23. package/packages/cs-ari/dist/constraints.js.map +1 -0
  24. package/packages/cs-ari/dist/index.d.ts +21 -0
  25. package/packages/cs-ari/dist/index.d.ts.map +1 -0
  26. package/packages/cs-ari/dist/index.js +40 -0
  27. package/packages/cs-ari/dist/index.js.map +1 -0
  28. package/packages/cs-ari/dist/{Index.d.ts → resource-identifier.d.ts} +11 -43
  29. package/packages/cs-ari/dist/resource-identifier.d.ts.map +1 -0
  30. package/packages/cs-ari/dist/{Index.js → resource-identifier.js} +47 -67
  31. package/packages/cs-ari/dist/resource-identifier.js.map +1 -0
  32. package/packages/cs-ari/package.json +20 -31
  33. package/packages/cs-ari/dist/AppAriImpls.d.ts +0 -27
  34. package/packages/cs-ari/dist/AppAriImpls.js +0 -172
  35. package/packages/cs-ari/dist/AppAriImpls.js.map +0 -1
  36. package/packages/cs-ari/dist/AppAris.js +0 -45
  37. package/packages/cs-ari/dist/AppAris.js.map +0 -1
  38. package/packages/cs-ari/dist/Constraints.js.map +0 -1
  39. package/packages/cs-ari/dist/Index.js.map +0 -1
  40. package/packages/cs-ari/xunit.xml +0 -109
  41. package/packages/cs-ari/yarn.lock +0 -643
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @forge/util
2
2
 
3
+ ## 1.3.1-next.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 801ea11: Renovate
8
+
3
9
  ## 1.3.1-next.0
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/util",
3
- "version": "1.3.1-next.0",
3
+ "version": "1.3.1-next.1",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "./scripts/build.sh",
@@ -9,7 +9,7 @@
9
9
  "author": "Daniel Winter-Wijntjes",
10
10
  "license": "UNLICENSED",
11
11
  "exports": {
12
- "./packages/cs-ari": "./packages/cs-ari/dist/Index.js",
12
+ "./packages/cs-ari": "./packages/cs-ari/dist/index.js",
13
13
  "./packages/metrics-interface": "./packages/metrics-interface/dist/index.js",
14
14
  "./packages/logger-interface": "./packages/logger-interface/dist/index.js",
15
15
  "./packages/analytics-node-client": "./packages/analytics-node-client/src/index.js"
@@ -1,8 +1,70 @@
1
1
  # 1.12.0
2
- Validate app ARI fields
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":";;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AACvD,+BAiBe;AACf,+CAA6F;AAC7F,+DAA4E;AAE5E,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,gBAAgB,GAAG,qEAAqE,CAAC;AAC/F,MAAM,eAAe,GAAG,CAAC,IAAA,qBAAO,EAAC,IAAI,MAAM,CAAC,IAAI,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5E,MAAM,2BAA2B,GAAG,CAAC,IAAA,qBAAO,EAAC,IAAI,MAAM,CAAC,KAAK,gBAAgB,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAEjG,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAa,gBAAgB;IAS3B,YAA6B,IAAO;QAAP,SAAI,GAAJ,IAAI,CAAG;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,aAAa;QACf,OAAQ,IAAI,CAAC,IAAyB,CAAC,aAAa,CAAC;IACvD,CAAC;IAED,IAAI,SAAS;QACX,OAAQ,IAAI,CAAC,IAAqC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO;QACT,OAAQ,IAAI,CAAC,IAAyB,CAAC,OAAO,CAAC;IACjD,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAQ,IAAI,CAAC,IAAyB,CAAC,gBAAgB,CAAC;IAC1D,CAAC;IACD,IAAI,YAAY;QACd,OAAQ,IAAI,CAAC,IAAyB,CAAC,YAAY,CAAC;IACtD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,+BAA+B;IAC/B,MAAM,CAAC,KAAK,CAA6B,GAAQ;QAC/C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QACxD,IAAI,aAAa,KAAK,kBAAkB,CAAC,aAAa,EAAE;YACtD,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,kBAAkB,aAAa,aAAa,kBAAkB,CAAC,aAAa,EAAE,CAC/E,CAAC;SACH;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE;YAC9E,MAAM,IAAI,0BAAoB,CAAC,GAAG,EAAE,+BAA+B,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAC;SACjH;QACD,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,0BAAoB,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;SACvE;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,YAAY,EAAE;YAC5E,MAAM,IAAI,0BAAoB,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;SAC5E;QAED,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,0BAAoB,CAAC,GAAG,EAAE,oDAAoD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC9G;QAED,MAAM,CACJ,KAAK,GAAG,SAAS,EACjB,aAAa,GAAG,SAAS,EACzB,wBAAwB,GAAG,SAAS,EACpC,YAAY,GAAG,SAAS,EACzB,GAAG,QAAQ,CAAC;QAEb,MAAM,SAAS,GACb,YAAY,KAAK,kBAAkB,CAAC,iCAAiC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/G,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,0BAAoB,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;SAC/D;QAED,MAAM,gBAAgB,GACpB,wBAAwB;YACxB,CAAC,YAAY,KAAK,kBAAkB,CAAC,0BAA0B;gBAC/D,YAAY,KAAK,kBAAkB,CAAC,qBAAqB;gBACvD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IACE,YAAY,KAAK,kBAAkB,CAAC,qBAAqB;YACzD,CAAC,CAAC,aAAa,IAAI,wBAAwB,IAAI,YAAY,CAAC,EAC5D;YACA,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,uFAAuF,kBAAkB,CAAC,qBAAqB,EAAE,CAClI,CAAC;SACH;aAAM,IACL,YAAY,KAAK,kBAAkB,CAAC,0BAA0B;YAC9D,CAAC,CAAC,CAAC,aAAa,IAAI,gBAAgB,CAAC,IAAI,YAAY,CAAC,EACtD;YACA,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,yEAAyE,kBAAkB,CAAC,0BAA0B,EAAE,CACzH,CAAC;SACH;aAAM,IACL,YAAY,KAAK,kBAAkB,CAAC,uBAAuB;YAC3D,CAAC,CAAC,aAAa,IAAI,wBAAwB,IAAI,YAAY,CAAC,EAC5D;YACA,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,mDAAmD,kBAAkB,CAAC,uBAAuB,EAAE,CAChG,CAAC;SACH;aAAM,IACL,YAAY,KAAK,kBAAkB,CAAC,iCAAiC;YACrE,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,EAC9C;YACA,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,iEAAiE,kBAAkB,CAAC,iCAAiC,EAAE,CACxH,CAAC;SACH;aAAM,IACL,YAAY,KAAK,kBAAkB,CAAC,eAAe;YACnD,CAAC,aAAa,IAAI,wBAAwB,IAAI,YAAY,CAAC,EAC3D;YACA,MAAM,IAAI,0BAAoB,CAC5B,GAAG,EACH,mDAAmD,kBAAkB,CAAC,uBAAuB,EAAE,CAChG,CAAC;SACH;QAED,IAAI,YAAY,KAAK,kBAAkB,CAAC,iCAAiC,EAAE;YACzE,OAAO,IAAI,gBAAgB,CAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;SACvE;QAED,OAAO,IAAI,gBAAgB,CAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,8BAA8B;IAE9B,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAC3F,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC5E,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ;QACN,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAC1C,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;IAC7E,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,iCAAiC,CAAC;IAChD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IAC5E,CAAC;IAEO,QAAQ,CAAyB,KAAsB,EAAE,IAA8C;QAC7G,IAAI,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,IAAI,sCAAgC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxD;QAED,OAAO,IAAW,CAAC,CAAC,aAAa;IACnC,CAAC;IAED,IAAY,0BAA0B;QACpC,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;IAC1C,CAAC;IAED,IAAY,iCAAiC;QAC3C,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,IAAY,0BAA0B;QACpC,OAAO,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAChF,CAAC;IAEO,QAAQ;QACd,MAAM,oBAAoB,GAAG;YAC3B,IAAA,2BAAa,EAAC,IAAI,EAAE,eAAe,EAAE,eAAe,CAAC;YACrD,IAAA,2BAAa,EAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC;YAC7C,IAAA,2BAAa,EAAC,IAAI,EAAE,kBAAkB,EAAE,2BAA2B,CAAC;YACpE,IAAA,2BAAa,EAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC;SAClD,CAAC,MAAM,CAAC,CAAC,CAAuC,EAAE,EAAE,CAAC,CAAC,CAAsB,CAAC;QAE9E,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,MAAM,qCAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,oBAAoB,CAAC,CAAC;SACvF;IACH,CAAC;IAED,KAAK;QACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;QACvD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,EAAuC,CAAC;QACzE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,GACrE,IAAI,CAAC,MAAM,EAA+B,CAAC;QAE7C,SAAS,WAAW,CAAC,QAAgC;YACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,GAAG,IAAI,GAAG,aAAa,GAAG,OAAO,EAAE,CAAC;aAC5C;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,IAAI,wCAAkB,CAAC;gBAC5B,aAAa;gBACb,YAAY,EAAE,kBAAkB,CAAC,qBAAqB;gBACtD,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;aAChF,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;YACrC,OAAO,IAAI,wCAAkB,CAAC;gBAC5B,aAAa;gBACb,YAAY,EAAE,kBAAkB,CAAC,0BAA0B;gBAC3D,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;aAClE,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAC5C,OAAO,IAAI,wCAAkB,CAAC;gBAC5B,aAAa;gBACb,YAAY,EAAE,kBAAkB,CAAC,iCAAiC;gBAClE,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;SACJ;aAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;YACrC,OAAO,IAAI,wCAAkB,CAAC;gBAC5B,aAAa;gBACb,YAAY,EAAE,kBAAkB,CAAC,uBAAuB;gBACxD,UAAU,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;aAChD,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,wCAAkB,CAAC;gBAC5B,aAAa;gBACb,YAAY,EAAE,kBAAkB,CAAC,eAAe;gBAChD,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AAvQD,4CAuQC"}
@@ -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 { Ari } from './Index';
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: AppFamilyAri.AppFamilyResourceType, ari: AppFamilyAri, cause?: Error | undefined);
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
- readonly description: string;
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
- readonly description: string;
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"}