@forge/util

2.0.12.0.1-experimental-7890858
packages/ari/chunk-YKHY6ZHN.mjs
+packages/ari/chunk-YKHY6ZHN.mjsNew file
+60
Index: package/packages/ari/chunk-YKHY6ZHN.mjs
===================================================================
--- package/packages/ari/chunk-YKHY6ZHN.mjs
+++ package/packages/ari/chunk-YKHY6ZHN.mjs
@@ -0,0 +1,60 @@
+import {
+  TownsquareRoleAriResourceOwner,
+  TownsquareRoleAriResourceType
+} from "./chunk-RRNPSY4J.mjs";
+import {
+  RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+  AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/townsquare/role/manifest.ts
+var townsquareRoleAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  resourceOwner: TownsquareRoleAriResourceOwner,
+  resourceType: TownsquareRoleAriResourceType,
+  resourceIdSlug: "product/{roleType}",
+  resourceIdSegmentFormats: {
+    roleType: /(?:member|admin)/
+  }
+};
+
+// src/townsquare/role/index.ts
+var TownsquareRoleAri = class _TownsquareRoleAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts), this._roleType = opts.resourceIdSegmentValues.roleType;
+  }
+  get roleType() {
+    return this._roleType;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: townsquareRoleAriStaticOpts.qualifier,
+      platformQualifier: townsquareRoleAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: townsquareRoleAriStaticOpts.resourceOwner,
+      resourceType: townsquareRoleAriStaticOpts.resourceType,
+      resourceId: `product/${opts.roleType}`,
+      resourceIdSegmentValues: {
+        roleType: opts.roleType
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, townsquareRoleAriStaticOpts);
+    return new _TownsquareRoleAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, townsquareRoleAriStaticOpts);
+    return new _TownsquareRoleAri(opts);
+  }
+  getVariables() {
+    return {
+      roleType: this.roleType
+    };
+  }
+};
+
+export {
+  TownsquareRoleAri
+};