npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/loom/index.js
Index: package/packages/ari/loom/index.js
===================================================================
--- package/packages/ari/loom/index.js
+++ package/packages/ari/loom/index.js
@@ -16,18 +16,26 @@
// src/loom/index.ts
var loom_exports = {};
__export(loom_exports, {
- LoomSiteAri: () => LoomSiteAri
+ LoomCommentAri: () => LoomCommentAri,
+ LoomFolderAri: () => LoomFolderAri,
+ LoomMeetingAri: () => LoomMeetingAri,
+ LoomMeetingRecurrenceAri: () => LoomMeetingRecurrenceAri,
+ LoomSiteAri: () => LoomSiteAri,
+ LoomSpaceAri: () => LoomSpaceAri,
+ LoomStandaloneWorkspaceAri: () => LoomStandaloneWorkspaceAri,
+ LoomVideoAri: () => LoomVideoAri,
+ LoomWorkspaceAri: () => LoomWorkspaceAri
});
module.exports = __toCommonJS(loom_exports);
// src/errors.ts
var ValidationError = class extends Error {
};
// src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
if (!cloudId.match(format))
throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
}
@@ -47,9 +55,9 @@
throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
}
// src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
let formatWithCarets = new RegExp(`^${format.source}$`);
if (!id.match(formatWithCarets))
throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
}
@@ -274,21 +282,274 @@
return AnyAri.parse(this.toString());
}
};
+// src/loom/comment/types.ts
+var LoomCommentAriResourceOwner = "loom", LoomCommentAriResourceType = "comment";
+
+// src/loom/comment/manifest.ts
+var loomCommentAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomCommentAriResourceOwner,
+ resourceType: LoomCommentAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{commentId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ commentId: /[0-9]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/comment/index.ts
+var LoomCommentAri = class _LoomCommentAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._commentId = opts.resourceIdSegmentValues.commentId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get commentId() {
+ return this._commentId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomCommentAriStaticOpts.qualifier,
+ platformQualifier: loomCommentAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomCommentAriStaticOpts.resourceOwner,
+ resourceType: loomCommentAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.commentId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ commentId: opts.commentId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomCommentAriStaticOpts);
+ return new _LoomCommentAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomCommentAriStaticOpts);
+ return new _LoomCommentAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ commentId: this.commentId
+ };
+ }
+};
+
+// src/loom/folder/types.ts
+var LoomFolderAriResourceOwner = "loom", LoomFolderAriResourceType = "folder";
+
+// src/loom/folder/manifest.ts
+var loomFolderAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomFolderAriResourceOwner,
+ resourceType: LoomFolderAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{folderId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ folderId: /[a-f0-9]{32}/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/folder/index.ts
+var LoomFolderAri = class _LoomFolderAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._folderId = opts.resourceIdSegmentValues.folderId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get folderId() {
+ return this._folderId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomFolderAriStaticOpts.qualifier,
+ platformQualifier: loomFolderAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomFolderAriStaticOpts.resourceOwner,
+ resourceType: loomFolderAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.folderId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ folderId: opts.folderId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomFolderAriStaticOpts);
+ return new _LoomFolderAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomFolderAriStaticOpts);
+ return new _LoomFolderAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ folderId: this.folderId
+ };
+ }
+};
+
+// src/loom/meeting/types.ts
+var LoomMeetingAriResourceOwner = "loom", LoomMeetingAriResourceType = "meeting";
+
+// src/loom/meeting/manifest.ts
+var loomMeetingAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomMeetingAriResourceOwner,
+ resourceType: LoomMeetingAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{meetingId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ meetingId: /[0-9]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/meeting/index.ts
+var LoomMeetingAri = class _LoomMeetingAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._meetingId = opts.resourceIdSegmentValues.meetingId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get meetingId() {
+ return this._meetingId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomMeetingAriStaticOpts.qualifier,
+ platformQualifier: loomMeetingAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomMeetingAriStaticOpts.resourceOwner,
+ resourceType: loomMeetingAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.meetingId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ meetingId: opts.meetingId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomMeetingAriStaticOpts);
+ return new _LoomMeetingAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomMeetingAriStaticOpts);
+ return new _LoomMeetingAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ meetingId: this.meetingId
+ };
+ }
+};
+
+// src/loom/meeting-recurrence/types.ts
+var LoomMeetingRecurrenceAriResourceOwner = "loom", LoomMeetingRecurrenceAriResourceType = "meeting-recurrence";
+
+// src/loom/meeting-recurrence/manifest.ts
+var loomMeetingRecurrenceAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomMeetingRecurrenceAriResourceOwner,
+ resourceType: LoomMeetingRecurrenceAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{meetingRecurrenceId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ meetingRecurrenceId: /[0-9]:[\w=-]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/meeting-recurrence/index.ts
+var LoomMeetingRecurrenceAri = class _LoomMeetingRecurrenceAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._meetingRecurrenceId = opts.resourceIdSegmentValues.meetingRecurrenceId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get meetingRecurrenceId() {
+ return this._meetingRecurrenceId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomMeetingRecurrenceAriStaticOpts.qualifier,
+ platformQualifier: loomMeetingRecurrenceAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomMeetingRecurrenceAriStaticOpts.resourceOwner,
+ resourceType: loomMeetingRecurrenceAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.meetingRecurrenceId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ meetingRecurrenceId: opts.meetingRecurrenceId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomMeetingRecurrenceAriStaticOpts);
+ return new _LoomMeetingRecurrenceAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomMeetingRecurrenceAriStaticOpts);
+ return new _LoomMeetingRecurrenceAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ meetingRecurrenceId: this.meetingRecurrenceId
+ };
+ }
+};
+
// src/loom/site/types.ts
var LoomSiteAriResourceOwner = "loom", LoomSiteAriResourceType = "site";
// src/loom/site/manifest.ts
var loomSiteAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: LoomSiteAriResourceOwner,
resourceType: LoomSiteAriResourceType,
resourceIdSlug: "{siteId}",
resourceIdSegmentFormats: {
- siteId: /[a-zA-Z0-9\-]+/
+ siteId: /[a-zA-Z0-9_\-.]{1,255}/
// eslint-disable-line no-useless-escape
}
};
@@ -324,8 +585,250 @@
siteId: this.siteId
};
}
};
+
+// src/loom/space/types.ts
+var LoomSpaceAriResourceOwner = "loom", LoomSpaceAriResourceType = "space";
+
+// src/loom/space/manifest.ts
+var loomSpaceAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomSpaceAriResourceOwner,
+ resourceType: LoomSpaceAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{spaceId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ spaceId: /[0-9]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/space/index.ts
+var LoomSpaceAri = class _LoomSpaceAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._spaceId = opts.resourceIdSegmentValues.spaceId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get spaceId() {
+ return this._spaceId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomSpaceAriStaticOpts.qualifier,
+ platformQualifier: loomSpaceAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomSpaceAriStaticOpts.resourceOwner,
+ resourceType: loomSpaceAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.spaceId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ spaceId: opts.spaceId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomSpaceAriStaticOpts);
+ return new _LoomSpaceAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomSpaceAriStaticOpts);
+ return new _LoomSpaceAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ spaceId: this.spaceId
+ };
+ }
+};
+
+// src/loom/standalone-workspace/types.ts
+var LoomStandaloneWorkspaceAriResourceOwner = "loom", LoomStandaloneWorkspaceAriResourceType = "standalone-workspace";
+
+// src/loom/standalone-workspace/manifest.ts
+var loomStandaloneWorkspaceAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomStandaloneWorkspaceAriResourceOwner,
+ resourceType: LoomStandaloneWorkspaceAriResourceType,
+ resourceIdSlug: "{workspaceId}",
+ resourceIdSegmentFormats: {
+ workspaceId: /(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/standalone-workspace/index.ts
+var LoomStandaloneWorkspaceAri = class _LoomStandaloneWorkspaceAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._workspaceId = opts.resourceIdSegmentValues.workspaceId;
+ }
+ get workspaceId() {
+ return this._workspaceId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomStandaloneWorkspaceAriStaticOpts.qualifier,
+ platformQualifier: loomStandaloneWorkspaceAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: loomStandaloneWorkspaceAriStaticOpts.resourceOwner,
+ resourceType: loomStandaloneWorkspaceAriStaticOpts.resourceType,
+ resourceId: `${opts.workspaceId}`,
+ resourceIdSegmentValues: {
+ workspaceId: opts.workspaceId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomStandaloneWorkspaceAriStaticOpts);
+ return new _LoomStandaloneWorkspaceAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomStandaloneWorkspaceAriStaticOpts);
+ return new _LoomStandaloneWorkspaceAri(opts);
+ }
+ getVariables() {
+ return {
+ workspaceId: this.workspaceId
+ };
+ }
+};
+
+// src/loom/video/types.ts
+var LoomVideoAriResourceOwner = "loom", LoomVideoAriResourceType = "video";
+
+// src/loom/video/manifest.ts
+var loomVideoAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomVideoAriResourceOwner,
+ resourceType: LoomVideoAriResourceType,
+ resourceIdSlug: "activation/{activationId}/{videoId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/,
+ // eslint-disable-line no-useless-escape
+ videoId: /[a-fA-F0-9]{32}/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/video/index.ts
+var LoomVideoAri = class _LoomVideoAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId, this._videoId = opts.resourceIdSegmentValues.videoId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ get videoId() {
+ return this._videoId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomVideoAriStaticOpts.qualifier,
+ platformQualifier: loomVideoAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomVideoAriStaticOpts.resourceOwner,
+ resourceType: loomVideoAriStaticOpts.resourceType,
+ resourceId: `activation/${opts.activationId}/${opts.videoId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId,
+ videoId: opts.videoId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomVideoAriStaticOpts);
+ return new _LoomVideoAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomVideoAriStaticOpts);
+ return new _LoomVideoAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId,
+ videoId: this.videoId
+ };
+ }
+};
+
+// src/loom/workspace/types.ts
+var LoomWorkspaceAriResourceOwner = "loom", LoomWorkspaceAriResourceType = "workspace";
+
+// src/loom/workspace/manifest.ts
+var loomWorkspaceAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: LoomWorkspaceAriResourceOwner,
+ resourceType: LoomWorkspaceAriResourceType,
+ resourceIdSlug: "{activationId}",
+ resourceIdSegmentFormats: {
+ activationId: /[a-zA-Z0-9\-]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/loom/workspace/index.ts
+var LoomWorkspaceAri = class _LoomWorkspaceAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._activationId = opts.resourceIdSegmentValues.activationId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get activationId() {
+ return this._activationId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: loomWorkspaceAriStaticOpts.qualifier,
+ platformQualifier: loomWorkspaceAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: loomWorkspaceAriStaticOpts.resourceOwner,
+ resourceType: loomWorkspaceAriStaticOpts.resourceType,
+ resourceId: `${opts.activationId}`,
+ resourceIdSegmentValues: {
+ activationId: opts.activationId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, loomWorkspaceAriStaticOpts);
+ return new _LoomWorkspaceAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, loomWorkspaceAriStaticOpts);
+ return new _LoomWorkspaceAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ activationId: this.activationId
+ };
+ }
+};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
- LoomSiteAri
+ LoomCommentAri,
+ LoomFolderAri,
+ LoomMeetingAri,
+ LoomMeetingRecurrenceAri,
+ LoomSiteAri,
+ LoomSpaceAri,
+ LoomStandaloneWorkspaceAri,
+ LoomVideoAri,
+ LoomWorkspaceAri
});