@forge/util

2.0.1-experimental-78908582.0.1-experimental-04cc2b9
packages/ari/chunk-6SDTVN7F.mjs
+packages/ari/chunk-6SDTVN7F.mjsNew file
+77
Index: package/packages/ari/chunk-6SDTVN7F.mjs
===================================================================
--- package/packages/ari/chunk-6SDTVN7F.mjs
+++ package/packages/ari/chunk-6SDTVN7F.mjs
@@ -0,0 +1,77 @@
+import {
+  SlackMessageAriResourceOwner,
+  SlackMessageAriResourceType
+} from "./chunk-SXMZP73B.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/slack/message/manifest.ts
+var slackMessageAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "third-party",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: SlackMessageAriResourceOwner,
+  resourceType: SlackMessageAriResourceType,
+  resourceIdSlug: "workspaceId/{workspaceId}/channelId/{channelId}/messageId/{messageId}",
+  resourceIdSegmentFormats: {
+    workspaceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+    // eslint-disable-line no-useless-escape
+    channelId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+    // eslint-disable-line no-useless-escape
+    messageId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/slack/message/index.ts
+var SlackMessageAri = class _SlackMessageAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._workspaceId = opts.resourceIdSegmentValues.workspaceId, this._channelId = opts.resourceIdSegmentValues.channelId, this._messageId = opts.resourceIdSegmentValues.messageId;
+  }
+  get workspaceId() {
+    return this._workspaceId;
+  }
+  get channelId() {
+    return this._channelId;
+  }
+  get messageId() {
+    return this._messageId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: slackMessageAriStaticOpts.qualifier,
+      platformQualifier: slackMessageAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: slackMessageAriStaticOpts.resourceOwner,
+      resourceType: slackMessageAriStaticOpts.resourceType,
+      resourceId: `workspaceId/${opts.workspaceId}/channelId/${opts.channelId}/messageId/${opts.messageId}`,
+      resourceIdSegmentValues: {
+        workspaceId: opts.workspaceId,
+        channelId: opts.channelId,
+        messageId: opts.messageId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, slackMessageAriStaticOpts);
+    return new _SlackMessageAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, slackMessageAriStaticOpts);
+    return new _SlackMessageAri(opts);
+  }
+  getVariables() {
+    return {
+      workspaceId: this.workspaceId,
+      channelId: this.channelId,
+      messageId: this.messageId
+    };
+  }
+};
+
+export {
+  SlackMessageAri
+};