npm package diff

Package: @forge/util

Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31

File: package/packages/ari/chunk-NIOHLRO4.mjs

Index: package/packages/ari/chunk-NIOHLRO4.mjs
===================================================================
--- package/packages/ari/chunk-NIOHLRO4.mjs
+++ package/packages/ari/chunk-NIOHLRO4.mjs
@@ -0,0 +1,74 @@
+import {
+  JiraRoleAriResourceOwner,
+  JiraRoleAriResourceType
+} from "./chunk-WAQ2TE25.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/jira/role/manifest.ts
+var jiraRoleAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: JiraRoleAriResourceOwner,
+  resourceType: JiraRoleAriResourceType,
+  resourceIdSlug: "{jiraRoleType}/{jiraRoleTypeId}",
+  resourceIdSegmentFormats: {
+    jiraRoleType: /(?:scope|product|projectrole-by-project|project-lead|principal-grant|project-role|application-access|jsm-customer-context-helpseeker-project-permission|jsm-customer-context-anonymous-project-permission|role-type-for-perms-pollinator-test)/,
+    // eslint-disable-line no-useless-escape
+    jiraRoleTypeId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/jira/role/index.ts
+var JiraRoleAri = class _JiraRoleAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._optionalSiteId = opts.cloudId || "", this._jiraRoleType = opts.resourceIdSegmentValues.jiraRoleType, this._jiraRoleTypeId = opts.resourceIdSegmentValues.jiraRoleTypeId;
+  }
+  get optionalSiteId() {
+    return this._optionalSiteId;
+  }
+  get jiraRoleType() {
+    return this._jiraRoleType;
+  }
+  get jiraRoleTypeId() {
+    return this._jiraRoleTypeId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraRoleAriStaticOpts.qualifier,
+      platformQualifier: jiraRoleAriStaticOpts.platformQualifier,
+      cloudId: opts.optionalSiteId,
+      resourceOwner: jiraRoleAriStaticOpts.resourceOwner,
+      resourceType: jiraRoleAriStaticOpts.resourceType,
+      resourceId: `${opts.jiraRoleType}/${opts.jiraRoleTypeId}`,
+      resourceIdSegmentValues: {
+        jiraRoleType: opts.jiraRoleType,
+        jiraRoleTypeId: opts.jiraRoleTypeId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraRoleAriStaticOpts);
+    return new _JiraRoleAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraRoleAriStaticOpts);
+    return new _JiraRoleAri(opts);
+  }
+  getVariables() {
+    return {
+      optionalSiteId: this.optionalSiteId,
+      jiraRoleType: this.jiraRoleType,
+      jiraRoleTypeId: this.jiraRoleTypeId
+    };
+  }
+};
+
+export {
+  JiraRoleAri
+};