@the-inkwell/shared 0.2.196 → 0.2.198
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schema/admin/campaigns/index.d.ts +10 -4
- package/dist/schema/admin/matches/positions.d.ts +68 -1
- package/dist/schema/admin/matches/positions.js +8 -1
- package/dist/schema/admin/matches/positions.js.map +1 -1
- package/dist/schema/admin/matches/previews.d.ts +220 -8
- package/dist/schema/admin/matches/previews.js +1 -1
- package/dist/schema/admin/matches/previews.js.map +1 -1
- package/dist/schema/admin/matches/utils.d.ts +1 -1
- package/dist/schema/admin/matches/utils.js +2 -1
- package/dist/schema/admin/matches/utils.js.map +1 -1
- package/dist/schema/core.d.ts +11 -5
- package/dist/schema/core.js.map +1 -1
- package/dist/schema/public/account/index.d.ts +72 -0
- package/dist/schema/public/account/index.js +88 -0
- package/dist/schema/public/account/index.js.map +1 -0
- package/dist/utils.d.ts +0 -10
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod/v4';
|
|
2
|
+
import { ListResponse } from '../../../utils';
|
|
3
|
+
export declare const PublicAccountSelectSchema: z.ZodObject<{
|
|
4
|
+
email: z.ZodString;
|
|
5
|
+
idNano: z.ZodString;
|
|
6
|
+
firstName: z.ZodNullable<z.ZodString>;
|
|
7
|
+
lastName: z.ZodNullable<z.ZodString>;
|
|
8
|
+
phone: z.ZodNullable<z.ZodString>;
|
|
9
|
+
}, {
|
|
10
|
+
out: {};
|
|
11
|
+
in: {};
|
|
12
|
+
}>;
|
|
13
|
+
export declare const PublicAccountUpdateSchema: z.ZodObject<{
|
|
14
|
+
email: z.ZodEmail;
|
|
15
|
+
firstName: z.ZodString;
|
|
16
|
+
lastName: z.ZodString;
|
|
17
|
+
phone: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
|
|
18
|
+
}, z.core.$strict>;
|
|
19
|
+
export declare const PublicAccountReferralSelectSchema: z.ZodObject<{
|
|
20
|
+
person: z.ZodOptional<z.ZodObject<{
|
|
21
|
+
wasHired: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
firstName: z.ZodNullable<z.ZodString>;
|
|
23
|
+
lastName: z.ZodNullable<z.ZodString>;
|
|
24
|
+
}, z.core.$strict>>;
|
|
25
|
+
client: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
hasHired: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
name: z.ZodString;
|
|
28
|
+
}, z.core.$strict>>;
|
|
29
|
+
position: z.ZodOptional<z.ZodObject<{
|
|
30
|
+
client: z.ZodOptional<z.ZodObject<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
}, {
|
|
33
|
+
out: {};
|
|
34
|
+
in: {};
|
|
35
|
+
}>>;
|
|
36
|
+
candidacy: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
person: z.ZodObject<{
|
|
38
|
+
firstName: z.ZodNullable<z.ZodString>;
|
|
39
|
+
lastName: z.ZodNullable<z.ZodString>;
|
|
40
|
+
}, z.core.$strict>;
|
|
41
|
+
stage: z.ZodString;
|
|
42
|
+
}, z.core.$strict>>;
|
|
43
|
+
name: z.ZodString;
|
|
44
|
+
}, z.core.$strict>>;
|
|
45
|
+
createdAt: z.ZodDate;
|
|
46
|
+
referralType: z.ZodNullable<z.ZodEnum<{
|
|
47
|
+
CLIENT: "CLIENT";
|
|
48
|
+
PERSON: "PERSON";
|
|
49
|
+
CANDIDACY: "CANDIDACY";
|
|
50
|
+
}>>;
|
|
51
|
+
}, z.core.$strict>;
|
|
52
|
+
export declare const PublicAccountApplicationSelectSchema: z.ZodObject<{
|
|
53
|
+
client: z.ZodOptional<z.ZodObject<{
|
|
54
|
+
name: z.ZodString;
|
|
55
|
+
}, {
|
|
56
|
+
out: {};
|
|
57
|
+
in: {};
|
|
58
|
+
}>>;
|
|
59
|
+
position: z.ZodObject<{
|
|
60
|
+
name: z.ZodString;
|
|
61
|
+
}, {
|
|
62
|
+
out: {};
|
|
63
|
+
in: {};
|
|
64
|
+
}>;
|
|
65
|
+
candidacy: {
|
|
66
|
+
stage: z.ZodString;
|
|
67
|
+
};
|
|
68
|
+
}, z.core.$strict>;
|
|
69
|
+
export type PublicAccountResult = z.infer<typeof PublicAccountSelectSchema>;
|
|
70
|
+
export type PublicAccountUpdateInput = z.infer<typeof PublicAccountUpdateSchema>;
|
|
71
|
+
export type PublicAccountReferralListResult = ListResponse<z.infer<typeof PublicAccountReferralSelectSchema>>;
|
|
72
|
+
export type PublicAccountApplicationListResult = ListResponse<z.infer<typeof PublicAccountApplicationSelectSchema>>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PublicAccountApplicationSelectSchema = exports.PublicAccountReferralSelectSchema = exports.PublicAccountUpdateSchema = exports.PublicAccountSelectSchema = void 0;
|
|
4
|
+
const drizzle_zod_1 = require("drizzle-zod");
|
|
5
|
+
const core_1 = require("../../core");
|
|
6
|
+
const v4_1 = require("zod/v4");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
//// validators
|
|
9
|
+
exports.PublicAccountSelectSchema = (0, drizzle_zod_1.createSelectSchema)(core_1.person).pick({
|
|
10
|
+
idNano: true,
|
|
11
|
+
firstName: true,
|
|
12
|
+
lastName: true,
|
|
13
|
+
email: true,
|
|
14
|
+
phone: true
|
|
15
|
+
});
|
|
16
|
+
exports.PublicAccountUpdateSchema = v4_1.z.strictObject({
|
|
17
|
+
...(0, drizzle_zod_1.createUpdateSchema)(core_1.person, {
|
|
18
|
+
firstName: utils_1.PersonFirstNameSchema,
|
|
19
|
+
lastName: utils_1.PersonLastNameSchema,
|
|
20
|
+
phone: utils_1.OptionalPhoneSchema,
|
|
21
|
+
email: utils_1.EmailSchema
|
|
22
|
+
}).pick({
|
|
23
|
+
firstName: true,
|
|
24
|
+
lastName: true,
|
|
25
|
+
phone: true,
|
|
26
|
+
email: true
|
|
27
|
+
}).shape
|
|
28
|
+
});
|
|
29
|
+
exports.PublicAccountReferralSelectSchema = v4_1.z.strictObject({
|
|
30
|
+
...(0, drizzle_zod_1.createSelectSchema)(core_1.referral).pick({
|
|
31
|
+
referralType: true,
|
|
32
|
+
createdAt: true
|
|
33
|
+
}).shape,
|
|
34
|
+
person: v4_1.z
|
|
35
|
+
.strictObject({
|
|
36
|
+
...(0, drizzle_zod_1.createSelectSchema)(core_1.person).pick({
|
|
37
|
+
firstName: true,
|
|
38
|
+
lastName: true
|
|
39
|
+
}).shape,
|
|
40
|
+
wasHired: v4_1.z.boolean().optional()
|
|
41
|
+
})
|
|
42
|
+
.optional(),
|
|
43
|
+
client: v4_1.z
|
|
44
|
+
.strictObject({
|
|
45
|
+
...(0, drizzle_zod_1.createSelectSchema)(core_1.client).pick({
|
|
46
|
+
name: true
|
|
47
|
+
}).shape,
|
|
48
|
+
hasHired: v4_1.z.boolean().optional()
|
|
49
|
+
})
|
|
50
|
+
.optional(),
|
|
51
|
+
position: v4_1.z
|
|
52
|
+
.strictObject({
|
|
53
|
+
...(0, drizzle_zod_1.createSelectSchema)(core_1.position).pick({
|
|
54
|
+
name: true
|
|
55
|
+
}).shape,
|
|
56
|
+
client: (0, drizzle_zod_1.createSelectSchema)(core_1.client)
|
|
57
|
+
.pick({
|
|
58
|
+
name: true
|
|
59
|
+
})
|
|
60
|
+
.optional(),
|
|
61
|
+
candidacy: v4_1.z
|
|
62
|
+
.strictObject({
|
|
63
|
+
person: v4_1.z.strictObject({
|
|
64
|
+
...(0, drizzle_zod_1.createSelectSchema)(core_1.person).pick({
|
|
65
|
+
firstName: true,
|
|
66
|
+
lastName: true
|
|
67
|
+
}).shape
|
|
68
|
+
}),
|
|
69
|
+
stage: v4_1.z.string()
|
|
70
|
+
})
|
|
71
|
+
.optional()
|
|
72
|
+
})
|
|
73
|
+
.optional()
|
|
74
|
+
});
|
|
75
|
+
exports.PublicAccountApplicationSelectSchema = v4_1.z.strictObject({
|
|
76
|
+
client: (0, drizzle_zod_1.createSelectSchema)(core_1.client)
|
|
77
|
+
.pick({
|
|
78
|
+
name: true
|
|
79
|
+
})
|
|
80
|
+
.optional(),
|
|
81
|
+
position: (0, drizzle_zod_1.createSelectSchema)(core_1.position).pick({
|
|
82
|
+
name: true
|
|
83
|
+
}),
|
|
84
|
+
candidacy: {
|
|
85
|
+
stage: v4_1.z.string()
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schema/public/account/index.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AACpE,qCAA+D;AAC/D,+BAA0B;AAC1B,0CAMuB;AAEvB,eAAe;AAEF,QAAA,yBAAyB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;CACZ,CAAC,CAAA;AAEW,QAAA,yBAAyB,GAAG,MAAC,CAAC,YAAY,CAAC;IACtD,GAAG,IAAA,gCAAkB,EAAC,aAAM,EAAE;QAC5B,SAAS,EAAE,6BAAqB;QAChC,QAAQ,EAAE,4BAAoB;QAC9B,KAAK,EAAE,2BAAmB;QAC1B,KAAK,EAAE,mBAAW;KACnB,CAAC,CAAC,IAAI,CAAC;QACN,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC,KAAK;CACT,CAAC,CAAA;AAEW,QAAA,iCAAiC,GAAG,MAAC,CAAC,YAAY,CAAC;IAC9D,GAAG,IAAA,gCAAkB,EAAC,eAAQ,CAAC,CAAC,IAAI,CAAC;QACnC,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC,KAAK;IACR,MAAM,EAAE,MAAC;SACN,YAAY,CAAC;QACZ,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;YACjC,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC,KAAK;QACR,QAAQ,EAAE,MAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;SACD,QAAQ,EAAE;IACb,MAAM,EAAE,MAAC;SACN,YAAY,CAAC;QACZ,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,KAAK;QACR,QAAQ,EAAE,MAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,MAAC;SACR,YAAY,CAAC;QACZ,GAAG,IAAA,gCAAkB,EAAC,eAAQ,CAAC,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC,KAAK;QACR,MAAM,EAAE,IAAA,gCAAkB,EAAC,aAAM,CAAC;aAC/B,IAAI,CAAC;YACJ,IAAI,EAAE,IAAI;SACX,CAAC;aACD,QAAQ,EAAE;QACb,SAAS,EAAE,MAAC;aACT,YAAY,CAAC;YACZ,MAAM,EAAE,MAAC,CAAC,YAAY,CAAC;gBACrB,GAAG,IAAA,gCAAkB,EAAC,aAAM,CAAC,CAAC,IAAI,CAAC;oBACjC,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC,KAAK;aACT,CAAC;YACF,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE;SAClB,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA;AAEW,QAAA,oCAAoC,GAAG,MAAC,CAAC,YAAY,CAAC;IACjE,MAAM,EAAE,IAAA,gCAAkB,EAAC,aAAM,CAAC;SAC/B,IAAI,CAAC;QACJ,IAAI,EAAE,IAAI;KACX,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,IAAA,gCAAkB,EAAC,eAAQ,CAAC,CAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,IAAI;KACX,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE;KAClB;CACF,CAAC,CAAA","sourcesContent":["import { createSelectSchema, createUpdateSchema } from 'drizzle-zod'\nimport { client, person, position, referral } from '../../core'\nimport { z } from 'zod/v4'\nimport {\n EmailSchema,\n ListResponse,\n OptionalPhoneSchema,\n PersonFirstNameSchema,\n PersonLastNameSchema\n} from '../../../utils'\n\n//// validators\n\nexport const PublicAccountSelectSchema = createSelectSchema(person).pick({\n idNano: true,\n firstName: true,\n lastName: true,\n email: true,\n phone: true\n})\n\nexport const PublicAccountUpdateSchema = z.strictObject({\n ...createUpdateSchema(person, {\n firstName: PersonFirstNameSchema,\n lastName: PersonLastNameSchema,\n phone: OptionalPhoneSchema,\n email: EmailSchema\n }).pick({\n firstName: true,\n lastName: true,\n phone: true,\n email: true\n }).shape\n})\n\nexport const PublicAccountReferralSelectSchema = z.strictObject({\n ...createSelectSchema(referral).pick({\n referralType: true,\n createdAt: true\n }).shape,\n person: z\n .strictObject({\n ...createSelectSchema(person).pick({\n firstName: true,\n lastName: true\n }).shape,\n wasHired: z.boolean().optional()\n })\n .optional(),\n client: z\n .strictObject({\n ...createSelectSchema(client).pick({\n name: true\n }).shape,\n hasHired: z.boolean().optional()\n })\n .optional(),\n position: z\n .strictObject({\n ...createSelectSchema(position).pick({\n name: true\n }).shape,\n client: createSelectSchema(client)\n .pick({\n name: true\n })\n .optional(),\n candidacy: z\n .strictObject({\n person: z.strictObject({\n ...createSelectSchema(person).pick({\n firstName: true,\n lastName: true\n }).shape\n }),\n stage: z.string()\n })\n .optional()\n })\n .optional()\n})\n\nexport const PublicAccountApplicationSelectSchema = z.strictObject({\n client: createSelectSchema(client)\n .pick({\n name: true\n })\n .optional(),\n position: createSelectSchema(position).pick({\n name: true\n }),\n candidacy: {\n stage: z.string()\n }\n})\n\n//// types\n\nexport type PublicAccountResult = z.infer<typeof PublicAccountSelectSchema>\n\nexport type PublicAccountUpdateInput = z.infer<typeof PublicAccountUpdateSchema>\n\nexport type PublicAccountReferralListResult = ListResponse<\n z.infer<typeof PublicAccountReferralSelectSchema>\n>\n\nexport type PublicAccountApplicationListResult = ListResponse<\n z.infer<typeof PublicAccountApplicationSelectSchema>\n>\n"]}
|
package/dist/utils.d.ts
CHANGED
|
@@ -23,16 +23,6 @@ type MatchCriteriaFieldLocation = {
|
|
|
23
23
|
}[];
|
|
24
24
|
};
|
|
25
25
|
export type MatchCriteria = Partial<MappedMatchCriteria> & Partial<MatchCriteriaFieldLocation>;
|
|
26
|
-
type CampaignMessageContentBase = {
|
|
27
|
-
salutation: string | null;
|
|
28
|
-
intro: string | null;
|
|
29
|
-
highlights: string[];
|
|
30
|
-
closing: string | null;
|
|
31
|
-
};
|
|
32
|
-
export type CampaignMessageContentSms = CampaignMessageContentBase;
|
|
33
|
-
export type CampaignMessageContentEmail = CampaignMessageContentBase & {
|
|
34
|
-
subject: string | null;
|
|
35
|
-
};
|
|
36
26
|
export declare const ListQuerySchema: z.ZodObject<{
|
|
37
27
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
38
28
|
offset: z.ZodOptional<z.ZodNumber>;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAyCb,QAAA,eAAe,GAAG,MAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,MAAC;SACJ,MAAM,CAAC;QACN,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE;QACjB,SAAS,EAAE,MAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;SACD,QAAQ,EAAE;IACb,MAAM,EAAE,MAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAA;AAEK,MAAM,eAAe,GAAG,CAQ7B,GAAM,EACN,EAAE;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACpC,OAAO,CACL,GAAG,CAAC,CAAqB,CAAE,CAAC,QAAQ;YACpC,GAAG,CAAC,CAAqB,CAAE,CAAC,QAAQ,CACrC,CAAA;IACH,CAAC,CAAuB,CAAA;AAC1B,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B;AAEY,QAAA,qBAAqB,GAAG,MAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAA;AACnE,QAAA,oBAAoB,GAAG,MAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;AACjE,QAAA,uBAAuB,GAAG,MAAC;KACrC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,oCAAoC,CAAC,CAAA;AAElC,QAAA,WAAW,GAAG,MAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;AACxD,QAAA,WAAW,GAAG,MAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAA;AAC3D,QAAA,iBAAiB,GAAG,MAAC,CAAC,GAAG,CAAC;IACrC,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,sBAAsB;IAChC,KAAK,EAAE,4BAA4B;CACpC,CAAC,CAAA;AACW,QAAA,oBAAoB,GAAG,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9D,QAAA,mBAAmB,GAAG,mBAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9D,QAAA,kBAAkB,GAAG,MAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA","sourcesContent":["import { z } from 'zod/v4'\n\nexport type ListResponse<T> = {\n count: number\n results: T[]\n}\n\nexport type ListRequest<\n TSort = unknown,\n TFilter = unknown,\n TAdditional = unknown\n> = TAdditional & {\n limit?: number\n offset?: number\n sort?: TSort\n filter?: TFilter\n}\n\ntype MatchCriteriaField =\n | 'industries'\n | 'tags'\n | 'networks'\n | 'professionalEvents'\n | 'skills'\n | 'excludedPersons'\n | 'includedPersons'\ntype MappedMatchCriteria = {\n [key in MatchCriteriaField]: string[]\n}\ntype MatchCriteriaFieldLocation = {\n locations: {\n city: string\n state: string\n lat: number\n lon: number\n radiusInMiles: number\n }[]\n}\nexport type MatchCriteria = Partial<MappedMatchCriteria> &\n Partial<MatchCriteriaFieldLocation>\n\nexport const ListQuerySchema = z.object({\n limit: z.number().max(1000).optional(),\n offset: z.number().optional(),\n sort: z\n .object({\n field: z.string(),\n direction: z.enum(['asc', 'desc'])\n })\n .optional(),\n filter: z.object({}).optional()\n})\n\nexport const makeEnumFromObj = <\n T extends {\n [key: string]: {\n name: string\n position: number\n }\n }\n>(\n obj: T\n) => {\n return Object.keys(obj).sort((a, b) => {\n return (\n obj[a as keyof typeof obj]!.position -\n obj[b as keyof typeof obj]!.position\n )\n }) as [keyof typeof obj]\n}\n\nexport const PersonFirstNameSchema = z.string().min(1, 'First name is required')\nexport const PersonLastNameSchema = z.string().min(1, 'Last name is required')\nexport const DiscoveredThroughSchema = z\n .string()\n .min(1, 'How you heard about us is required')\n\nexport const EmailSchema = z.email('Valid email address is required')\nexport const PhoneSchema = z.string().min(1, 'Phone number is required')\nexport const LinkedInUrlSchema = z.url({\n protocol: /^https$/,\n hostname: /^www\\.linkedin\\.com$/,\n error: 'Enter a valid LinkedIn URL'\n})\nexport const OptionalStringSchema = z.string().optional().or(z.literal(''))\nexport const OptionalPhoneSchema = PhoneSchema.optional().or(z.literal(''))\nexport const OptionalUUIDSchema = z.uuid().optional().or(z.literal(''))\n"]}
|