npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/chunk-MPKKD4FA.mjs
===================================================================
--- package/packages/ari/chunk-MPKKD4FA.mjs
+++ package/packages/ari/chunk-MPKKD4FA.mjs
@@ -0,0 +1,88 @@
+import {
+  JiraNavigationItemAriResourceOwner,
+  JiraNavigationItemAriResourceType
+} from "./chunk-GXFJTOBO.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/jira/navigation-item/manifest.ts
+var jiraNavigationItemAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: JiraNavigationItemAriResourceOwner,
+  resourceType: JiraNavigationItemAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{scopeType}/{scopeId}/{itemId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    scopeType: /(?:project|board|global|plan|queue)/,
+    // eslint-disable-line no-useless-escape
+    scopeId: /[a-zA-Z0-9_\-.]+/,
+    // eslint-disable-line no-useless-escape
+    itemId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/jira/navigation-item/index.ts
+var JiraNavigationItemAri = class _JiraNavigationItemAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._scopeType = opts.resourceIdSegmentValues.scopeType, this._scopeId = opts.resourceIdSegmentValues.scopeId, this._itemId = opts.resourceIdSegmentValues.itemId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get scopeType() {
+    return this._scopeType;
+  }
+  get scopeId() {
+    return this._scopeId;
+  }
+  get itemId() {
+    return this._itemId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraNavigationItemAriStaticOpts.qualifier,
+      platformQualifier: jiraNavigationItemAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: jiraNavigationItemAriStaticOpts.resourceOwner,
+      resourceType: jiraNavigationItemAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.scopeType}/${opts.scopeId}/${opts.itemId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        scopeType: opts.scopeType,
+        scopeId: opts.scopeId,
+        itemId: opts.itemId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraNavigationItemAriStaticOpts);
+    return new _JiraNavigationItemAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraNavigationItemAriStaticOpts);
+    return new _JiraNavigationItemAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      scopeType: this.scopeType,
+      scopeId: this.scopeId,
+      itemId: this.itemId
+    };
+  }
+};
+
+export {
+  JiraNavigationItemAri
+};