npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/post-office/index.js
Index: package/packages/ari/post-office/index.js
===================================================================
--- package/packages/ari/post-office/index.js
+++ package/packages/ari/post-office/index.js
@@ -17,18 +17,19 @@
// src/post-office/index.ts
var post_office_exports = {};
__export(post_office_exports, {
PostOfficeMessageInstanceAri: () => PostOfficeMessageInstanceAri,
- PostOfficeMessageTemplateAri: () => PostOfficeMessageTemplateAri
+ PostOfficeMessageTemplateAri: () => PostOfficeMessageTemplateAri,
+ PostOfficeTriggerAri: () => PostOfficeTriggerAri
});
module.exports = __toCommonJS(post_office_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}.`);
}
@@ -48,9 +49,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}.`);
}
@@ -283,15 +284,16 @@
var postOfficeMessageInstanceAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PostOfficeMessageInstanceAriResourceOwner,
resourceType: PostOfficeMessageInstanceAriResourceType,
resourceIdSlug: "{messageTemplateId}/{messageInstanceId}",
resourceIdSegmentFormats: {
- messageTemplateId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ messageTemplateId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
- messageInstanceId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ messageInstanceId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -341,13 +343,14 @@
var postOfficeMessageTemplateAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: PostOfficeMessageTemplateAriResourceOwner,
resourceType: PostOfficeMessageTemplateAriResourceType,
resourceIdSlug: "{messageTemplateId}",
resourceIdSegmentFormats: {
- messageTemplateId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ messageTemplateId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -383,9 +386,69 @@
messageTemplateId: this.messageTemplateId
};
}
};
+
+// src/post-office/trigger/types.ts
+var PostOfficeTriggerAriResourceOwner = "post-office", PostOfficeTriggerAriResourceType = "trigger";
+
+// src/post-office/trigger/manifest.ts
+var postOfficeTriggerAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: PostOfficeTriggerAriResourceOwner,
+ resourceType: PostOfficeTriggerAriResourceType,
+ resourceIdSlug: "{messageTemplateId}/{messageIdempotencyKey}",
+ resourceIdSegmentFormats: {
+ messageTemplateId: /[a-z0-9-]{2,61}/,
+ // eslint-disable-line no-useless-escape
+ messageIdempotencyKey: /[a-zA-Z0-9_-]{8,64}/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/post-office/trigger/index.ts
+var PostOfficeTriggerAri = class _PostOfficeTriggerAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._messageTemplateId = opts.resourceIdSegmentValues.messageTemplateId, this._messageIdempotencyKey = opts.resourceIdSegmentValues.messageIdempotencyKey;
+ }
+ get messageTemplateId() {
+ return this._messageTemplateId;
+ }
+ get messageIdempotencyKey() {
+ return this._messageIdempotencyKey;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: postOfficeTriggerAriStaticOpts.qualifier,
+ platformQualifier: postOfficeTriggerAriStaticOpts.platformQualifier,
+ cloudId: void 0,
+ resourceOwner: postOfficeTriggerAriStaticOpts.resourceOwner,
+ resourceType: postOfficeTriggerAriStaticOpts.resourceType,
+ resourceId: `${opts.messageTemplateId}/${opts.messageIdempotencyKey}`,
+ resourceIdSegmentValues: {
+ messageTemplateId: opts.messageTemplateId,
+ messageIdempotencyKey: opts.messageIdempotencyKey
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, postOfficeTriggerAriStaticOpts);
+ return new _PostOfficeTriggerAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, postOfficeTriggerAriStaticOpts);
+ return new _PostOfficeTriggerAri(opts);
+ }
+ getVariables() {
+ return {
+ messageTemplateId: this.messageTemplateId,
+ messageIdempotencyKey: this.messageIdempotencyKey
+ };
+ }
+};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
PostOfficeMessageInstanceAri,
- PostOfficeMessageTemplateAri
+ PostOfficeMessageTemplateAri,
+ PostOfficeTriggerAri
});