npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/chunk-AJLS2RDB.mjs
Index: package/packages/ari/chunk-AJLS2RDB.mjs
===================================================================
--- package/packages/ari/chunk-AJLS2RDB.mjs
+++ package/packages/ari/chunk-AJLS2RDB.mjs
@@ -0,0 +1,70 @@
+import {
+ CssXpRoleAriResourceOwner,
+ CssXpRoleAriResourceType
+} from "./chunk-IO5OI7XO.mjs";
+import {
+ RegisteredAri
+} from "./chunk-AB4PPISI.mjs";
+import {
+ AriParser
+} from "./chunk-S7RIZVFI.mjs";
+
+// src/css-xp/role/manifest.ts
+var cssXpRoleAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: CssXpRoleAriResourceOwner,
+ resourceType: CssXpRoleAriResourceType,
+ resourceIdSlug: "{roleId}/{scope}",
+ resourceIdSegmentFormats: {
+ roleId: /forge/,
+ // eslint-disable-line no-useless-escape
+ scope: /(?:read|write)/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/css-xp/role/index.ts
+var CssXpRoleAri = class _CssXpRoleAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._roleId = opts.resourceIdSegmentValues.roleId, this._scope = opts.resourceIdSegmentValues.scope;
+ }
+ get roleId() {
+ return this._roleId;
+ }
+ get scope() {
+ return this._scope;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: cssXpRoleAriStaticOpts.qualifier,
+ platformQualifier: cssXpRoleAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: cssXpRoleAriStaticOpts.resourceOwner,
+ resourceType: cssXpRoleAriStaticOpts.resourceType,
+ resourceId: `${opts.roleId}/${opts.scope}`,
+ resourceIdSegmentValues: {
+ roleId: opts.roleId,
+ scope: opts.scope
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, cssXpRoleAriStaticOpts);
+ return new _CssXpRoleAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, cssXpRoleAriStaticOpts);
+ return new _CssXpRoleAri(opts);
+ }
+ getVariables() {
+ return {
+ roleId: this.roleId,
+ scope: this.scope
+ };
+ }
+};
+
+export {
+ CssXpRoleAri
+};