@forge/util

2.0.12.0.1-experimental-7890858
packages/ari/jira-align/index.js
~packages/ari/jira-align/index.jsModified
+59−16
Index: package/packages/ari/jira-align/index.js
===================================================================
--- package/packages/ari/jira-align/index.js
+++ package/packages/ari/jira-align/index.js
@@ -19,8 +19,9 @@
 __export(jira_align_exports, {
   JiraAlignEpicAri: () => JiraAlignEpicAri,
   JiraAlignInstanceAri: () => JiraAlignInstanceAri,
   JiraAlignProjectAri: () => JiraAlignProjectAri,
+  JiraAlignProjectTypeAri: () => JiraAlignProjectTypeAri,
   JiraAlignWorkspaceAri: () => JiraAlignWorkspaceAri
 });
 module.exports = __toCommonJS(jira_align_exports);
 
@@ -285,23 +286,20 @@
 var jiraAlignEpicAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: JiraAlignEpicAriResourceOwner,
   resourceType: JiraAlignEpicAriResourceType,
   resourceIdSlug: "{epicId}",
   resourceIdSegmentFormats: {
     epicId: /[0-9]+/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/jira-align/epic/index.ts
 var JiraAlignEpicAri = class _JiraAlignEpicAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._instanceId = opts.cloudId || "", this._epicId = opts.resourceIdSegmentValues.epicId;
+    super(opts), this._instanceId = opts.cloudId || "", this._epicId = opts.resourceIdSegmentValues.epicId;
   }
   get instanceId() {
     return this._instanceId;
   }
@@ -341,23 +339,20 @@
 var jiraAlignInstanceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: JiraAlignInstanceAriResourceOwner,
   resourceType: JiraAlignInstanceAriResourceType,
   resourceIdSlug: "{instanceId}",
   resourceIdSegmentFormats: {
     instanceId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/jira-align/instance/index.ts
 var JiraAlignInstanceAri = class _JiraAlignInstanceAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._instanceId = opts.resourceIdSegmentValues.instanceId;
+    super(opts), this._instanceId = opts.resourceIdSegmentValues.instanceId;
   }
   get instanceId() {
     return this._instanceId;
   }
@@ -393,25 +388,21 @@
 var jiraAlignProjectAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: JiraAlignProjectAriResourceOwner,
   resourceType: JiraAlignProjectAriResourceType,
   resourceIdSlug: "{projectType}/{projectId}",
   resourceIdSegmentFormats: {
     projectType: /(?:capability|epic|theme)/,
-    // eslint-disable-line no-useless-escape
     projectId: /[0-9]+/
-    // eslint-disable-line no-useless-escape
   }
 };
 
 // src/jira-align/project/index.ts
 var JiraAlignProjectAri = class _JiraAlignProjectAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._instanceId = opts.cloudId || "", this._projectType = opts.resourceIdSegmentValues.projectType, this._projectId = opts.resourceIdSegmentValues.projectId;
+    super(opts), this._instanceId = opts.cloudId || "", this._projectType = opts.resourceIdSegmentValues.projectType, this._projectId = opts.resourceIdSegmentValues.projectId;
   }
   get instanceId() {
     return this._instanceId;
   }
@@ -448,17 +439,69 @@
     };
   }
 };
 
+// src/jira-align/project-type/types.ts
+var JiraAlignProjectTypeAriResourceOwner = "jira-align", JiraAlignProjectTypeAriResourceType = "project-type";
+
+// src/jira-align/project-type/manifest.ts
+var jiraAlignProjectTypeAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$"),
+  resourceOwner: JiraAlignProjectTypeAriResourceOwner,
+  resourceType: JiraAlignProjectTypeAriResourceType,
+  resourceIdSlug: "{projectType}",
+  resourceIdSegmentFormats: {
+    projectType: /(?:capability|epic|theme)/
+  }
+};
+
+// src/jira-align/project-type/index.ts
+var JiraAlignProjectTypeAri = class _JiraAlignProjectTypeAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._instanceId = opts.cloudId || "", this._projectType = opts.resourceIdSegmentValues.projectType;
+  }
+  get instanceId() {
+    return this._instanceId;
+  }
+  get projectType() {
+    return this._projectType;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraAlignProjectTypeAriStaticOpts.qualifier,
+      platformQualifier: jiraAlignProjectTypeAriStaticOpts.platformQualifier,
+      cloudId: opts.instanceId,
+      resourceOwner: jiraAlignProjectTypeAriStaticOpts.resourceOwner,
+      resourceType: jiraAlignProjectTypeAriStaticOpts.resourceType,
+      resourceId: `${opts.projectType}`,
+      resourceIdSegmentValues: {
+        projectType: opts.projectType
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraAlignProjectTypeAriStaticOpts);
+    return new _JiraAlignProjectTypeAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraAlignProjectTypeAriStaticOpts);
+    return new _JiraAlignProjectTypeAri(opts);
+  }
+  getVariables() {
+    return {
+      instanceId: this.instanceId,
+      projectType: this.projectType
+    };
+  }
+};
+
 // src/jira-align/workspace/types.ts
 var JiraAlignWorkspaceAriResourceOwner = "jira-align", JiraAlignWorkspaceAriResourceType = "workspace";
 
 // src/jira-align/workspace/manifest.ts
 var jiraAlignWorkspaceAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
-  // eslint-disable-line no-useless-escape
   resourceOwner: JiraAlignWorkspaceAriResourceOwner,
   resourceType: JiraAlignWorkspaceAriResourceType,
   resourceIdSlug: "{activationId}",
   resourceIdSegmentFormats: {
@@ -469,10 +512,9 @@
 
 // src/jira-align/workspace/index.ts
 var JiraAlignWorkspaceAri = class _JiraAlignWorkspaceAri extends RegisteredAri {
   constructor(opts) {
-    super(opts);
-    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
+    super(opts), this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
   }
   get siteId() {
     return this._siteId;
   }
@@ -508,6 +550,7 @@
 0 && (module.exports = {
   JiraAlignEpicAri,
   JiraAlignInstanceAri,
   JiraAlignProjectAri,
+  JiraAlignProjectTypeAri,
   JiraAlignWorkspaceAri
 });