@learncard/helpers 1.0.19 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/helpers.cjs.development.js +70 -3
- package/dist/helpers.cjs.development.js.map +2 -2
- package/dist/helpers.cjs.production.min.js +1 -1
- package/dist/helpers.cjs.production.min.js.map +3 -3
- package/dist/helpers.d.ts +6 -0
- package/dist/helpers.esm.js +70 -3
- package/dist/helpers.esm.js.map +2 -2
- package/package.json +3 -2
package/dist/helpers.d.ts
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
// Generated by dts-bundle-generator v6.13.0
|
2
2
|
|
3
|
+
import { DataTransformer } from '@trpc/server';
|
4
|
+
|
3
5
|
declare const JWEValidator: z.ZodObject<{
|
4
6
|
protected: z.ZodString;
|
5
7
|
iv: z.ZodString;
|
@@ -165,5 +167,9 @@ export type JWE = z.infer<typeof JWEValidator>;
|
|
165
167
|
export declare const isHex: (str: string) => boolean;
|
166
168
|
/** Determines whether or not an object is an encrypted JWE */
|
167
169
|
export declare const isEncrypted: (item: Record<string, any>) => item is JWE;
|
170
|
+
/**
|
171
|
+
* tRPC data transformer that handles RegExp serialization/deserialization
|
172
|
+
*/
|
173
|
+
export declare const RegExpTransformer: DataTransformer;
|
168
174
|
|
169
175
|
export {};
|
package/dist/helpers.esm.js
CHANGED
@@ -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,
|
@@ -3946,7 +3984,8 @@ var require_types_cjs_development = __commonJS({
|
|
3946
3984
|
var BoostRecipientValidator = mod.object({
|
3947
3985
|
to: LCNProfileValidator,
|
3948
3986
|
from: mod.string(),
|
3949
|
-
received: mod.string().optional()
|
3987
|
+
received: mod.string().optional(),
|
3988
|
+
uri: mod.string().optional()
|
3950
3989
|
});
|
3951
3990
|
var PaginatedBoostRecipientsValidator = PaginationResponseValidator.extend({
|
3952
3991
|
records: BoostRecipientValidator.array()
|
@@ -4150,7 +4189,35 @@ var isHex = /* @__PURE__ */ __name((str) => /^[0-9a-f]+$/i.test(str), "isHex");
|
|
4150
4189
|
var isEncrypted = /* @__PURE__ */ __name((item) => {
|
4151
4190
|
return import_types.JWEValidator.safeParse(item).success;
|
4152
4191
|
}, "isEncrypted");
|
4192
|
+
var RegExpTransformer = {
|
4193
|
+
serialize(object) {
|
4194
|
+
return JSON.stringify(object, (_key, value) => {
|
4195
|
+
if (value instanceof RegExp)
|
4196
|
+
return value.toString();
|
4197
|
+
return value;
|
4198
|
+
});
|
4199
|
+
},
|
4200
|
+
deserialize(object) {
|
4201
|
+
if (typeof object !== "string")
|
4202
|
+
return object;
|
4203
|
+
return JSON.parse(object, (_key, value) => {
|
4204
|
+
if (typeof value === "string") {
|
4205
|
+
const match = value.match(/^\/(.*)\/([gimsuy]*)$/);
|
4206
|
+
if (match) {
|
4207
|
+
try {
|
4208
|
+
return new RegExp(match[1], match[2]);
|
4209
|
+
} catch (error) {
|
4210
|
+
console.warn(`Failed to parse RegExp: ${error}`);
|
4211
|
+
return value;
|
4212
|
+
}
|
4213
|
+
}
|
4214
|
+
}
|
4215
|
+
return value;
|
4216
|
+
});
|
4217
|
+
}
|
4218
|
+
};
|
4153
4219
|
export {
|
4220
|
+
RegExpTransformer,
|
4154
4221
|
isEncrypted,
|
4155
4222
|
isHex
|
4156
4223
|
};
|