@betterinternship/core 2.10.1 → 2.11.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.
- package/dist/lib/forms/index.d.ts +1 -0
- package/dist/lib/forms/index.js +1 -0
- package/dist/lib/forms/index.js.map +1 -1
- package/dist/lib/forms/signature-image.d.ts +38 -0
- package/dist/lib/forms/signature-image.js +107 -0
- package/dist/lib/forms/signature-image.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/lib/forms/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/forms/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/forms/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type SignatureImageSource = 'draw' | 'upload';
|
|
2
|
+
export type SignatureImageMimeType = 'image/png' | 'image/jpeg';
|
|
3
|
+
export type InlineSignatureImagePayload = {
|
|
4
|
+
storage: 'inline';
|
|
5
|
+
dataUrl: string;
|
|
6
|
+
mimeType: SignatureImageMimeType;
|
|
7
|
+
};
|
|
8
|
+
export type BucketSignatureImagePayload = {
|
|
9
|
+
storage: 'bucket';
|
|
10
|
+
bucket: string;
|
|
11
|
+
path: string;
|
|
12
|
+
mimeType: SignatureImageMimeType;
|
|
13
|
+
publicUrl?: string;
|
|
14
|
+
signedUrl?: string;
|
|
15
|
+
sizeBytes?: number;
|
|
16
|
+
};
|
|
17
|
+
export type SignatureImagePayload = InlineSignatureImagePayload | BucketSignatureImagePayload;
|
|
18
|
+
export type SignatureImageValue = {
|
|
19
|
+
kind: 'signature-image';
|
|
20
|
+
source: SignatureImageSource;
|
|
21
|
+
image: SignatureImagePayload;
|
|
22
|
+
dataUrl?: string;
|
|
23
|
+
mimeType?: SignatureImageMimeType;
|
|
24
|
+
};
|
|
25
|
+
export declare const SIGNATURE_IMAGE_KIND = "signature-image";
|
|
26
|
+
export declare const SIGNATURE_IMAGE_FIELD_PREFIX = "__signatureImage:";
|
|
27
|
+
export declare const SIGNATURE_IMAGE_MIME_TYPES: readonly ["image/png", "image/jpeg"];
|
|
28
|
+
export declare const getSignatureImageFieldKey: (fieldKey: string) => string;
|
|
29
|
+
export declare const createSignatureImageValue: (input: Omit<SignatureImageValue, "kind"> | (Omit<InlineSignatureImagePayload, "storage"> & {
|
|
30
|
+
source: SignatureImageSource;
|
|
31
|
+
})) => SignatureImageValue;
|
|
32
|
+
export declare const serializeSignatureImageValue: (value: SignatureImageValue) => string;
|
|
33
|
+
export declare const parseSignatureImageValue: (value: unknown) => SignatureImageValue | null;
|
|
34
|
+
export declare const isInlineSignatureImagePayload: (value: unknown) => value is InlineSignatureImagePayload;
|
|
35
|
+
export declare const isBucketSignatureImagePayload: (value: unknown) => value is BucketSignatureImagePayload;
|
|
36
|
+
export declare const normalizeSignatureImagePayload: (value: unknown) => SignatureImagePayload | null;
|
|
37
|
+
export declare const isSignatureImageValue: (value: unknown) => value is SignatureImageValue;
|
|
38
|
+
export declare const isSerializedSignatureImageValue: (value: unknown) => value is string;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export const SIGNATURE_IMAGE_KIND = 'signature-image';
|
|
2
|
+
export const SIGNATURE_IMAGE_FIELD_PREFIX = '__signatureImage:';
|
|
3
|
+
export const SIGNATURE_IMAGE_MIME_TYPES = [
|
|
4
|
+
'image/png',
|
|
5
|
+
'image/jpeg',
|
|
6
|
+
];
|
|
7
|
+
export const getSignatureImageFieldKey = (fieldKey) => `${SIGNATURE_IMAGE_FIELD_PREFIX}${fieldKey}`;
|
|
8
|
+
export const createSignatureImageValue = (input) => ({
|
|
9
|
+
kind: SIGNATURE_IMAGE_KIND,
|
|
10
|
+
source: input.source,
|
|
11
|
+
image: 'image' in input
|
|
12
|
+
? input.image
|
|
13
|
+
: {
|
|
14
|
+
storage: 'inline',
|
|
15
|
+
dataUrl: input.dataUrl,
|
|
16
|
+
mimeType: input.mimeType,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
export const serializeSignatureImageValue = (value) => JSON.stringify(value);
|
|
20
|
+
export const parseSignatureImageValue = (value) => {
|
|
21
|
+
if (typeof value !== 'string' || !value.trim())
|
|
22
|
+
return null;
|
|
23
|
+
try {
|
|
24
|
+
const parsed = JSON.parse(value);
|
|
25
|
+
if (!parsed || parsed.kind !== SIGNATURE_IMAGE_KIND)
|
|
26
|
+
return null;
|
|
27
|
+
if (parsed.source !== 'draw' && parsed.source !== 'upload')
|
|
28
|
+
return null;
|
|
29
|
+
const image = normalizeSignatureImagePayload(parsed);
|
|
30
|
+
if (!image)
|
|
31
|
+
return null;
|
|
32
|
+
return {
|
|
33
|
+
kind: SIGNATURE_IMAGE_KIND,
|
|
34
|
+
source: parsed.source,
|
|
35
|
+
image,
|
|
36
|
+
...(image.storage === 'inline'
|
|
37
|
+
? {
|
|
38
|
+
dataUrl: image.dataUrl,
|
|
39
|
+
mimeType: image.mimeType,
|
|
40
|
+
}
|
|
41
|
+
: {
|
|
42
|
+
mimeType: image.mimeType,
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export const isInlineSignatureImagePayload = (value) => {
|
|
51
|
+
if (!value || typeof value !== 'object')
|
|
52
|
+
return false;
|
|
53
|
+
const image = value;
|
|
54
|
+
if (image.storage !== 'inline')
|
|
55
|
+
return false;
|
|
56
|
+
if (image.mimeType !== 'image/png' && image.mimeType !== 'image/jpeg')
|
|
57
|
+
return false;
|
|
58
|
+
if (typeof image.dataUrl !== 'string')
|
|
59
|
+
return false;
|
|
60
|
+
return image.dataUrl.startsWith(`data:${image.mimeType};base64,`);
|
|
61
|
+
};
|
|
62
|
+
export const isBucketSignatureImagePayload = (value) => {
|
|
63
|
+
if (!value || typeof value !== 'object')
|
|
64
|
+
return false;
|
|
65
|
+
const image = value;
|
|
66
|
+
if (image.storage !== 'bucket')
|
|
67
|
+
return false;
|
|
68
|
+
if (image.mimeType !== 'image/png' && image.mimeType !== 'image/jpeg')
|
|
69
|
+
return false;
|
|
70
|
+
if (typeof image.bucket !== 'string' || !image.bucket.trim())
|
|
71
|
+
return false;
|
|
72
|
+
if (typeof image.path !== 'string' || !image.path.trim())
|
|
73
|
+
return false;
|
|
74
|
+
if (image.publicUrl !== undefined && typeof image.publicUrl !== 'string')
|
|
75
|
+
return false;
|
|
76
|
+
if (image.signedUrl !== undefined && typeof image.signedUrl !== 'string')
|
|
77
|
+
return false;
|
|
78
|
+
if (image.sizeBytes !== undefined && typeof image.sizeBytes !== 'number')
|
|
79
|
+
return false;
|
|
80
|
+
return true;
|
|
81
|
+
};
|
|
82
|
+
export const normalizeSignatureImagePayload = (value) => {
|
|
83
|
+
if (!value || typeof value !== 'object')
|
|
84
|
+
return null;
|
|
85
|
+
const parsed = value;
|
|
86
|
+
if (isInlineSignatureImagePayload(parsed.image))
|
|
87
|
+
return parsed.image;
|
|
88
|
+
if (isBucketSignatureImagePayload(parsed.image))
|
|
89
|
+
return parsed.image;
|
|
90
|
+
if (parsed.mimeType &&
|
|
91
|
+
parsed.dataUrl &&
|
|
92
|
+
isInlineSignatureImagePayload({
|
|
93
|
+
storage: 'inline',
|
|
94
|
+
mimeType: parsed.mimeType,
|
|
95
|
+
dataUrl: parsed.dataUrl,
|
|
96
|
+
})) {
|
|
97
|
+
return {
|
|
98
|
+
storage: 'inline',
|
|
99
|
+
mimeType: parsed.mimeType,
|
|
100
|
+
dataUrl: parsed.dataUrl,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
};
|
|
105
|
+
export const isSignatureImageValue = (value) => parseSignatureImageValue(value) !== null;
|
|
106
|
+
export const isSerializedSignatureImageValue = (value) => parseSignatureImageValue(value) !== null;
|
|
107
|
+
//# sourceMappingURL=signature-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature-image.js","sourceRoot":"","sources":["../../../lib/forms/signature-image.ts"],"names":[],"mappings":"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"}
|