@learncard/helpers 1.0.19 → 1.0.20

Sign up to get free protection for your applications and to get access to all the features.
@@ -105,6 +105,7 @@ var require_types_cjs_development = __commonJS({
105
105
  LCNNotificationTypeEnumValidator: () => LCNNotificationTypeEnumValidator,
106
106
  LCNNotificationValidator: () => LCNNotificationValidator,
107
107
  LCNProfileConnectionStatusEnum: () => LCNProfileConnectionStatusEnum,
108
+ LCNProfileQueryValidator: () => LCNProfileQueryValidator,
108
109
  LCNProfileValidator: () => LCNProfileValidator,
109
110
  LCNSigningAuthorityForUserValidator: () => LCNSigningAuthorityForUserValidator,
110
111
  LCNSigningAuthorityValidator: () => LCNSigningAuthorityValidator,
@@ -130,7 +131,6 @@ var require_types_cjs_development = __commonJS({
130
131
  RubricCriterionValidator: () => RubricCriterionValidator,
131
132
  SentCredentialInfoValidator: () => SentCredentialInfoValidator,
132
133
  ServiceValidator: () => ServiceValidator,
133
- StringQuery: () => StringQuery,
134
134
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator,
135
135
  UnsignedVCValidator: () => UnsignedVCValidator,
136
136
  UnsignedVPValidator: () => UnsignedVPValidator,
@@ -3881,6 +3881,35 @@ var require_types_cjs_development = __commonJS({
3881
3881
  var PaginatedEncryptedCredentialRecordsValidator = PaginationResponseValidator.extend({
3882
3882
  records: EncryptedCredentialRecordValidator.array()
3883
3883
  });
3884
+ var parseRegexString = /* @__PURE__ */ __name2((regexStr) => {
3885
+ const match = regexStr.match(/^\/(.*)\/([gimsuy]*)$/);
3886
+ if (!match)
3887
+ throw new Error("Invalid RegExp string format");
3888
+ return { pattern: match[1], flags: match[2] };
3889
+ }, "parseRegexString");
3890
+ var RegExpValidator = mod.instanceof(RegExp).or(
3891
+ mod.string().refine(
3892
+ (str) => {
3893
+ try {
3894
+ parseRegexString(str);
3895
+ return true;
3896
+ } catch (e) {
3897
+ return false;
3898
+ }
3899
+ },
3900
+ {
3901
+ message: "Invalid RegExp string format. Must be in format '/pattern/flags'"
3902
+ }
3903
+ ).transform((str) => {
3904
+ const { pattern, flags } = parseRegexString(str);
3905
+ try {
3906
+ return new RegExp(pattern, flags);
3907
+ } catch (error) {
3908
+ throw new Error(`Invalid RegExp: ${error.message}`);
3909
+ }
3910
+ })
3911
+ );
3912
+ var StringQuery = mod.string().or(mod.object({ $in: mod.string().array() })).or(mod.object({ $regex: RegExpValidator }));
3884
3913
  var LCNProfileValidator = mod.object({
3885
3914
  profileId: mod.string().min(3).max(40),
3886
3915
  displayName: mod.string().default(""),
@@ -3895,6 +3924,16 @@ var require_types_cjs_development = __commonJS({
3895
3924
  type: mod.string().optional(),
3896
3925
  notificationsWebhook: mod.string().url().startsWith("http").optional()
3897
3926
  });
3927
+ var LCNProfileQueryValidator = mod.object({
3928
+ profileId: StringQuery,
3929
+ displayName: StringQuery,
3930
+ shortBio: StringQuery,
3931
+ bio: StringQuery,
3932
+ email: StringQuery,
3933
+ websiteLink: StringQuery,
3934
+ isServiceProfile: mod.boolean(),
3935
+ type: StringQuery
3936
+ }).partial();
3898
3937
  var PaginatedLCNProfilesValidator = PaginationResponseValidator.extend({
3899
3938
  records: LCNProfileValidator.array()
3900
3939
  });
@@ -3935,7 +3974,6 @@ var require_types_cjs_development = __commonJS({
3935
3974
  meta: mod.record(mod.any()).optional(),
3936
3975
  claimPermissions: BoostPermissionsValidator.optional()
3937
3976
  });
3938
- var StringQuery = mod.string().or(mod.object({ $in: mod.string().array() })).or(mod.object({ $regex: mod.instanceof(RegExp) }));
3939
3977
  var BoostQueryValidator = mod.object({
3940
3978
  uri: StringQuery,
3941
3979
  name: StringQuery,