@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.
@@ -100,6 +100,7 @@ var require_types_cjs_development = __commonJS({
100
100
  LCNNotificationTypeEnumValidator: () => LCNNotificationTypeEnumValidator,
101
101
  LCNNotificationValidator: () => LCNNotificationValidator,
102
102
  LCNProfileConnectionStatusEnum: () => LCNProfileConnectionStatusEnum,
103
+ LCNProfileQueryValidator: () => LCNProfileQueryValidator,
103
104
  LCNProfileValidator: () => LCNProfileValidator,
104
105
  LCNSigningAuthorityForUserValidator: () => LCNSigningAuthorityForUserValidator,
105
106
  LCNSigningAuthorityValidator: () => LCNSigningAuthorityValidator,
@@ -125,7 +126,6 @@ var require_types_cjs_development = __commonJS({
125
126
  RubricCriterionValidator: () => RubricCriterionValidator,
126
127
  SentCredentialInfoValidator: () => SentCredentialInfoValidator,
127
128
  ServiceValidator: () => ServiceValidator,
128
- StringQuery: () => StringQuery,
129
129
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator,
130
130
  UnsignedVCValidator: () => UnsignedVCValidator,
131
131
  UnsignedVPValidator: () => UnsignedVPValidator,
@@ -3876,6 +3876,35 @@ var require_types_cjs_development = __commonJS({
3876
3876
  var PaginatedEncryptedCredentialRecordsValidator = PaginationResponseValidator.extend({
3877
3877
  records: EncryptedCredentialRecordValidator.array()
3878
3878
  });
3879
+ var parseRegexString = /* @__PURE__ */ __name2((regexStr) => {
3880
+ const match = regexStr.match(/^\/(.*)\/([gimsuy]*)$/);
3881
+ if (!match)
3882
+ throw new Error("Invalid RegExp string format");
3883
+ return { pattern: match[1], flags: match[2] };
3884
+ }, "parseRegexString");
3885
+ var RegExpValidator = mod.instanceof(RegExp).or(
3886
+ mod.string().refine(
3887
+ (str) => {
3888
+ try {
3889
+ parseRegexString(str);
3890
+ return true;
3891
+ } catch (e) {
3892
+ return false;
3893
+ }
3894
+ },
3895
+ {
3896
+ message: "Invalid RegExp string format. Must be in format '/pattern/flags'"
3897
+ }
3898
+ ).transform((str) => {
3899
+ const { pattern, flags } = parseRegexString(str);
3900
+ try {
3901
+ return new RegExp(pattern, flags);
3902
+ } catch (error) {
3903
+ throw new Error(`Invalid RegExp: ${error.message}`);
3904
+ }
3905
+ })
3906
+ );
3907
+ var StringQuery = mod.string().or(mod.object({ $in: mod.string().array() })).or(mod.object({ $regex: RegExpValidator }));
3879
3908
  var LCNProfileValidator = mod.object({
3880
3909
  profileId: mod.string().min(3).max(40),
3881
3910
  displayName: mod.string().default(""),
@@ -3890,6 +3919,16 @@ var require_types_cjs_development = __commonJS({
3890
3919
  type: mod.string().optional(),
3891
3920
  notificationsWebhook: mod.string().url().startsWith("http").optional()
3892
3921
  });
3922
+ var LCNProfileQueryValidator = mod.object({
3923
+ profileId: StringQuery,
3924
+ displayName: StringQuery,
3925
+ shortBio: StringQuery,
3926
+ bio: StringQuery,
3927
+ email: StringQuery,
3928
+ websiteLink: StringQuery,
3929
+ isServiceProfile: mod.boolean(),
3930
+ type: StringQuery
3931
+ }).partial();
3893
3932
  var PaginatedLCNProfilesValidator = PaginationResponseValidator.extend({
3894
3933
  records: LCNProfileValidator.array()
3895
3934
  });
@@ -3930,7 +3969,6 @@ var require_types_cjs_development = __commonJS({
3930
3969
  meta: mod.record(mod.any()).optional(),
3931
3970
  claimPermissions: BoostPermissionsValidator.optional()
3932
3971
  });
3933
- var StringQuery = mod.string().or(mod.object({ $in: mod.string().array() })).or(mod.object({ $regex: mod.instanceof(RegExp) }));
3934
3972
  var BoostQueryValidator = mod.object({
3935
3973
  uri: StringQuery,
3936
3974
  name: StringQuery,