npm package diff

Package: @forge/util

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

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

Index: package/packages/ari/chunk-CNLP5GG6.mjs
===================================================================
--- package/packages/ari/chunk-CNLP5GG6.mjs
+++ package/packages/ari/chunk-CNLP5GG6.mjs
@@ -0,0 +1,81 @@
+import {
+  JiraIssueRemoteLinkAriResourceOwner,
+  JiraIssueRemoteLinkAriResourceType
+} from "./chunk-QO2BQQRK.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/jira/issue-remote-link/manifest.ts
+var jiraIssueRemoteLinkAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: JiraIssueRemoteLinkAriResourceOwner,
+  resourceType: JiraIssueRemoteLinkAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{issueId}/{linkId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    issueId: /[0-9]+/,
+    // eslint-disable-line no-useless-escape
+    linkId: /[0-9]+/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/jira/issue-remote-link/index.ts
+var JiraIssueRemoteLinkAri = class _JiraIssueRemoteLinkAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._issueId = opts.resourceIdSegmentValues.issueId, this._linkId = opts.resourceIdSegmentValues.linkId;
+  }
+  get siteId() {
+    return this._siteId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get issueId() {
+    return this._issueId;
+  }
+  get linkId() {
+    return this._linkId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraIssueRemoteLinkAriStaticOpts.qualifier,
+      platformQualifier: jiraIssueRemoteLinkAriStaticOpts.platformQualifier,
+      cloudId: opts.siteId,
+      resourceOwner: jiraIssueRemoteLinkAriStaticOpts.resourceOwner,
+      resourceType: jiraIssueRemoteLinkAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.issueId}/${opts.linkId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        issueId: opts.issueId,
+        linkId: opts.linkId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraIssueRemoteLinkAriStaticOpts);
+    return new _JiraIssueRemoteLinkAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraIssueRemoteLinkAriStaticOpts);
+    return new _JiraIssueRemoteLinkAri(opts);
+  }
+  getVariables() {
+    return {
+      siteId: this.siteId,
+      activationId: this.activationId,
+      issueId: this.issueId,
+      linkId: this.linkId
+    };
+  }
+};
+
+export {
+  JiraIssueRemoteLinkAri
+};