@betterinternship/core 2.22.0 → 2.23.0

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.
@@ -0,0 +1,62 @@
1
+ export const MAX_COMPANY_SIGNATORIES = 2;
2
+ export const MAX_UNIVERSITY_SIGNATORIES = 5;
3
+ export const signerFieldPrefix = (party, index) => {
4
+ const base = party === 'company' ? 'company_signatory' : 'university_signatory';
5
+ return index === 0 ? base : `${base}_${index + 1}`;
6
+ };
7
+ export const signerFieldAliases = (party, index) => {
8
+ if (party === 'company' && index === 0)
9
+ return ['company_rep'];
10
+ return [];
11
+ };
12
+ export const signerFieldKeys = (party, index, prop) => [
13
+ signerFieldPrefix(party, index),
14
+ ...signerFieldAliases(party, index),
15
+ ].map((prefix) => `${prefix}_${prop}`);
16
+ const SIGNATURE_IDENTITY = {};
17
+ for (let index = 0; index < MAX_COMPANY_SIGNATORIES; index++) {
18
+ for (const key of signerFieldKeys('company', index, 'signature')) {
19
+ SIGNATURE_IDENTITY[key] = `company:${index}`;
20
+ }
21
+ }
22
+ for (let index = 0; index < MAX_UNIVERSITY_SIGNATORIES; index++) {
23
+ for (const key of signerFieldKeys('university', index, 'signature')) {
24
+ SIGNATURE_IDENTITY[key] = `university:${index}`;
25
+ }
26
+ }
27
+ export const signatureFieldIdentity = (fieldKey) => SIGNATURE_IDENTITY[fieldKey] ?? null;
28
+ const NONE = {
29
+ signer1: { name: false, title: false, signature: false },
30
+ signer2: { name: false, title: false, signature: false },
31
+ };
32
+ export const deriveCompanySignatoryRequirements = (fieldSchema) => {
33
+ if (!Array.isArray(fieldSchema))
34
+ return NONE;
35
+ const fields = new Set(fieldSchema
36
+ .filter((e) => !!e && typeof e === 'object')
37
+ .map((e) => e.field)
38
+ .filter((f) => typeof f === 'string'));
39
+ const has = (keys) => keys.some((k) => fields.has(k));
40
+ const signer1 = {
41
+ name: has(signerFieldKeys('company', 0, 'name')),
42
+ title: has(signerFieldKeys('company', 0, 'title')),
43
+ signature: has(signerFieldKeys('company', 0, 'signature')),
44
+ };
45
+ const signer2 = {
46
+ name: has(signerFieldKeys('company', 1, 'name')),
47
+ title: has(signerFieldKeys('company', 1, 'title')),
48
+ signature: has(signerFieldKeys('company', 1, 'signature')),
49
+ };
50
+ if (signer1.name ||
51
+ signer1.title ||
52
+ signer1.signature ||
53
+ signer2.name ||
54
+ signer2.title ||
55
+ signer2.signature) {
56
+ return { signer1, signer2 };
57
+ }
58
+ return NONE;
59
+ };
60
+ export const requiresSigner1 = (req) => req.signer1.name || req.signer1.title || req.signer1.signature;
61
+ export const requiresSigner2 = (req) => req.signer2.name || req.signer2.title || req.signer2.signature;
62
+ //# sourceMappingURL=signer-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer-fields.js","sourceRoot":"","sources":["../../../../lib/partners/forms/signer-fields.ts"],"names":[],"mappings":"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"}