@promr-acorda/core 0.0.1

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,44 @@
1
+ import { ContractField, ContractFieldType, SharedMode } from '../types/field';
2
+ import { ContractFieldValue, FieldValueMap, SharedValueMap } from '../types/value';
3
+ import { ContractDocument, CreateDocumentFromPdfDataInput, CreateDocumentInput, PageInfo } from '../types/document';
4
+
5
+ export interface GetFieldsOptions {
6
+ readonly page?: number;
7
+ readonly type?: ContractFieldType;
8
+ readonly required?: boolean;
9
+ readonly hidden?: boolean;
10
+ readonly readonly?: boolean;
11
+ readonly sharedKey?: string;
12
+ readonly sharedMode?: SharedMode;
13
+ }
14
+ export interface GetResolvedValuesOptions {
15
+ readonly includeEmpty?: boolean;
16
+ }
17
+ export type ResolvedFieldValueMap = Record<string, ContractFieldValue | undefined>;
18
+ export declare const createDocument: (input: CreateDocumentInput) => ContractDocument;
19
+ export declare const getPdfPageInfo: (pdfData: Uint8Array) => Promise<readonly PageInfo[]>;
20
+ export declare const createDocumentFromPdfData: (input: CreateDocumentFromPdfDataInput) => Promise<ContractDocument>;
21
+ export declare const createField: (document: ContractDocument, field: ContractField) => ContractDocument;
22
+ export declare const updateField: (document: ContractDocument, fieldId: string, patch: Partial<Omit<ContractField, "id" | "type">>) => ContractDocument;
23
+ export declare const removeField: (document: ContractDocument, fieldId: string) => ContractDocument;
24
+ export declare const moveField: (document: ContractDocument, fieldId: string, position: {
25
+ page?: number;
26
+ x: number;
27
+ y: number;
28
+ }) => ContractDocument;
29
+ export declare const resizeField: (document: ContractDocument, fieldId: string, size: {
30
+ width: number;
31
+ height: number;
32
+ }) => ContractDocument;
33
+ export declare const setFieldValue: (document: ContractDocument, fieldId: string, value: ContractFieldValue) => ContractDocument;
34
+ export declare const clearFieldValue: (document: ContractDocument, fieldId: string) => ContractDocument;
35
+ export declare const getField: (document: ContractDocument, fieldId: string) => ContractField | undefined;
36
+ export declare const getFields: (document: ContractDocument, options?: GetFieldsOptions) => readonly ContractField[];
37
+ export declare const getResolvedFieldValue: (document: ContractDocument, fieldId: string) => ContractFieldValue | undefined;
38
+ export declare function getResolvedValues(document: ContractDocument): FieldValueMap;
39
+ export declare function getResolvedValues(document: ContractDocument, options: GetResolvedValuesOptions & {
40
+ readonly includeEmpty: true;
41
+ }): ResolvedFieldValueMap;
42
+ export declare function getResolvedValues(document: ContractDocument, options: GetResolvedValuesOptions): FieldValueMap | ResolvedFieldValueMap;
43
+ export type { ContractDocument, FieldValueMap, SharedValueMap };
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,mBAAmB,EACnB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAmD3B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC,MAAM,EACN,kBAAkB,GAAG,SAAS,CAC/B,CAAC;AA0CF,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,KAAG,gBAO1D,CAAC;AAEH,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,KAClB,OAAO,CAAC,SAAS,QAAQ,EAAE,CAO7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,8BAA8B,KACpC,OAAO,CAAC,gBAAgB,CAO1B,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,UAAU,gBAAgB,EAC1B,OAAO,aAAa,KACnB,gBAaF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,EACf,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,KACjD,gBAgBF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,KACd,gBA6BF,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,EACf,UAAU;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,KAChD,gBAOF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,EACf,MAAM;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACtC,gBAIC,CAAC;AAEL,eAAO,MAAM,aAAa,GACxB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,EACf,OAAO,kBAAkB,KACxB,gBA6CF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,gBAAgB,EAC1B,SAAS,MAAM,KACd,gBAgCF,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,UAAU,gBAAgB,EAC1B,SAAS,MAAM,KACd,aAAa,GAAG,SAGlB,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,UAAU,gBAAgB,EAC1B,UAAS,gBAAqB,KAC7B,SAAS,aAAa,EAGU,CAAC;AAEpC,eAAO,MAAM,qBAAqB,GAChC,UAAU,gBAAgB,EAC1B,SAAS,MAAM,KACd,kBAAkB,GAAG,SAKvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,aAAa,CAAC;AAC7E,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;CAAE,GAClE,qBAAqB,CAAC;AACzB,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,wBAAwB,GAChC,aAAa,GAAG,qBAAqB,CAAC;AAqBzC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ContractField } from '../types/field';
2
+ import { ContractFieldValue, FieldValueMap, SharedValueMap } from '../types/value';
3
+
4
+ export declare const getSourceField: (fields: readonly ContractField[], sharedKey: string) => ContractField | undefined;
5
+ export declare const getMirrorFields: (fields: readonly ContractField[], sharedKey: string) => readonly ContractField[];
6
+ export declare const resolveFieldValue: (field: ContractField, fieldValues: FieldValueMap, sharedValues: SharedValueMap) => ContractFieldValue | undefined;
7
+ export declare const setSharedFieldValue: (fields: readonly ContractField[], sharedValues: SharedValueMap, sharedKey: string, value: ContractFieldValue) => SharedValueMap;
8
+ export declare const resolveAllSharedValues: (fields: readonly ContractField[], fieldValues: FieldValueMap, sharedValues: SharedValueMap) => FieldValueMap;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,cAAc,GACzB,QAAQ,SAAS,aAAa,EAAE,EAChC,WAAW,MAAM,KAChB,aAAa,GAAG,SACyD,CAAC;AAE7E,eAAO,MAAM,eAAe,GAC1B,QAAQ,SAAS,aAAa,EAAE,EAChC,WAAW,MAAM,KAChB,SAAS,aAAa,EACqD,CAAC;AAE/E,eAAO,MAAM,iBAAiB,GAC5B,OAAO,aAAa,EACpB,aAAa,aAAa,EAC1B,cAAc,cAAc,KAC3B,kBAAkB,GAAG,SAavB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,SAAS,aAAa,EAAE,EAChC,cAAc,cAAc,EAC5B,WAAW,MAAM,EACjB,OAAO,kBAAkB,KACxB,cAYF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,SAAS,aAAa,EAAE,EAChC,aAAa,aAAa,EAC1B,cAAc,cAAc,KAC3B,aAgBF,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { ContractField } from './field';
2
+ import { FieldValueMap, SharedValueMap } from './value';
3
+
4
+ export interface NormalizedRect {
5
+ readonly page: number;
6
+ readonly x: number;
7
+ readonly y: number;
8
+ readonly width: number;
9
+ readonly height: number;
10
+ }
11
+ export interface PageInfo {
12
+ readonly index: number;
13
+ readonly width: number;
14
+ readonly height: number;
15
+ }
16
+ export interface ContractDocument {
17
+ readonly id: string;
18
+ readonly title: string;
19
+ readonly pdfData: Uint8Array;
20
+ readonly pageImages?: readonly Uint8Array[];
21
+ readonly pageCount: number;
22
+ readonly pages: readonly PageInfo[];
23
+ readonly fields: readonly ContractField[];
24
+ readonly fieldValues: FieldValueMap;
25
+ readonly sharedValues: SharedValueMap;
26
+ readonly createdAt: string;
27
+ readonly updatedAt: string;
28
+ }
29
+ export interface CreateDocumentInput {
30
+ readonly id: string;
31
+ readonly title: string;
32
+ readonly pdfData: Uint8Array;
33
+ readonly pageImages?: readonly Uint8Array[];
34
+ readonly pageCount: number;
35
+ readonly pages: readonly PageInfo[];
36
+ }
37
+ export type CreateDocumentFromPdfDataInput = Omit<CreateDocumentInput, 'pageCount' | 'pages'>;
38
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/types/document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,mBAAmB,EACnB,WAAW,GAAG,OAAO,CACtB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { FieldValidation } from './validation';
2
+
3
+ export type ContractFieldType = 'text' | 'date' | 'checkbox' | 'signature' | 'email' | 'phone' | 'number' | 'textarea';
4
+ export type SignatureInputMode = 'all' | 'sign-only' | 'stamp-only';
5
+ export type SharedMode = 'source' | 'mirror';
6
+ export interface BaseField {
7
+ readonly id: string;
8
+ readonly name: string;
9
+ readonly type: ContractFieldType;
10
+ readonly page: number;
11
+ readonly x: number;
12
+ readonly y: number;
13
+ readonly width: number;
14
+ readonly height: number;
15
+ readonly label?: string;
16
+ readonly textSize?: number;
17
+ readonly borderRadius?: number;
18
+ readonly required?: boolean;
19
+ readonly placeholder?: string;
20
+ readonly readonly?: boolean;
21
+ readonly hidden?: boolean;
22
+ readonly defaultValue?: unknown;
23
+ readonly validation?: FieldValidation;
24
+ readonly sharedKey?: string;
25
+ readonly sharedMode?: SharedMode;
26
+ }
27
+ export interface TextField extends BaseField {
28
+ readonly type: 'text';
29
+ readonly maxLength?: number;
30
+ }
31
+ export interface DateField extends BaseField {
32
+ readonly type: 'date';
33
+ readonly dateFormat?: string;
34
+ }
35
+ export interface CheckboxField extends BaseField {
36
+ readonly type: 'checkbox';
37
+ }
38
+ export interface SignatureField extends BaseField {
39
+ readonly type: 'signature';
40
+ readonly signatureMode?: SignatureInputMode;
41
+ }
42
+ export interface EmailField extends BaseField {
43
+ readonly type: 'email';
44
+ }
45
+ export interface PhoneField extends BaseField {
46
+ readonly type: 'phone';
47
+ }
48
+ export interface NumberField extends BaseField {
49
+ readonly type: 'number';
50
+ readonly min?: number;
51
+ readonly max?: number;
52
+ readonly step?: number;
53
+ }
54
+ export interface TextareaField extends BaseField {
55
+ readonly type: 'textarea';
56
+ readonly maxLength?: number;
57
+ readonly rows?: number;
58
+ }
59
+ export type ContractField = TextField | DateField | CheckboxField | SignatureField | EmailField | PhoneField | NumberField | TextareaField;
60
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/types/field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type { ContractFieldType, SharedMode, SignatureInputMode, BaseField, TextField, DateField, CheckboxField, SignatureField, EmailField, PhoneField, NumberField, TextareaField, ContractField, } from './field';
2
+ export type { SignatureValue, ContractFieldValue, FieldValueMap, SharedValueMap, } from './value';
3
+ export { isSignatureValue, isPrimitiveValue } from './value';
4
+ export type { FieldValidation, FieldValidationError, ValidationErrorCode, ValidationResult, } from './validation';
5
+ export type { NormalizedRect, PageInfo, ContractDocument, CreateDocumentInput, } from './document';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE7D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ export interface FieldValidation {
2
+ readonly pattern?: string;
3
+ readonly minLength?: number;
4
+ readonly maxLength?: number;
5
+ readonly min?: number;
6
+ readonly max?: number;
7
+ readonly customMessage?: string;
8
+ }
9
+ export interface FieldValidationError {
10
+ readonly fieldId: string;
11
+ readonly fieldName: string;
12
+ readonly message: string;
13
+ readonly code: ValidationErrorCode;
14
+ }
15
+ export type ValidationErrorCode = 'REQUIRED' | 'PATTERN_MISMATCH' | 'MIN_LENGTH' | 'MAX_LENGTH' | 'MIN_VALUE' | 'MAX_VALUE' | 'INVALID_TYPE' | 'MIRROR_CANNOT_SET_VALUE' | 'SHARED_SOURCE_NOT_FOUND';
16
+ export interface ValidationResult {
17
+ readonly valid: boolean;
18
+ readonly errors: readonly FieldValidationError[];
19
+ }
20
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,kBAAkB,GAClB,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,WAAW,GACX,cAAc,GACd,yBAAyB,GACzB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD"}
@@ -0,0 +1,20 @@
1
+ export interface SignatureValue {
2
+ readonly type: 'signature';
3
+ readonly source?: 'draw' | 'stamp';
4
+ readonly image: Uint8Array;
5
+ readonly mimeType?: string;
6
+ readonly width?: number;
7
+ readonly height?: number;
8
+ }
9
+ export type ContractFieldValue = string | number | boolean | SignatureValue;
10
+ export type FieldValueMap = Record<string, ContractFieldValue>;
11
+ export type SharedValueMap = Record<string, ContractFieldValue>;
12
+ export declare const isSignatureValue: (v: unknown) => v is SignatureValue;
13
+ export declare const isPrimitiveValue: (v: ContractFieldValue) => v is string | number | boolean;
14
+ export declare const isUint8Array: (value: unknown) => value is Uint8Array;
15
+ export declare const cloneContractFieldValue: (value: ContractFieldValue) => ContractFieldValue;
16
+ export declare const ALLOWED_SIGNATURE_IMAGE_MIME_TYPES: Set<string>;
17
+ export declare const normalizeSignatureImageMimeType: (mimeType: string | undefined) => string | undefined;
18
+ export declare const detectSignatureImageMimeType: (image: Uint8Array) => string | undefined;
19
+ export declare const getNormalizedSignatureImageMimeType: (value: SignatureValue) => string | undefined;
20
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../src/types/value.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,GACN,OAAO,GACP,cAAc,CAAC;AAEnB,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,cAC2B,CAAC;AAE/E,eAAO,MAAM,gBAAgB,GAC3B,GAAG,kBAAkB,KACpB,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,OAAgC,CAAC;AAE3D,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UACU,CAAC;AAElE,eAAO,MAAM,uBAAuB,GAClC,OAAO,kBAAkB,KACxB,kBAOF,CAAC;AAEF,eAAO,MAAM,kCAAkC,aAI7C,CAAC;AAEH,eAAO,MAAM,+BAA+B,GAC1C,UAAU,MAAM,GAAG,SAAS,KAC3B,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,OAAO,UAAU,KAChB,MAAM,GAAG,SAyBX,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAC9C,OAAO,cAAc,KACpB,MAAM,GAAG,SASX,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ContractField } from '../types/field';
2
+ import { ContractFieldValue, FieldValueMap, SharedValueMap } from '../types/value';
3
+ import { ValidationResult } from '../types/validation';
4
+ import { ContractDocument } from '../types/document';
5
+
6
+ export declare const validateField: (field: ContractField, value: ContractFieldValue | undefined) => ValidationResult;
7
+ export declare const validateSharedFieldGroup: (fields: readonly ContractField[], fieldValues: FieldValueMap, sharedValues: SharedValueMap, sharedKey: string) => ValidationResult;
8
+ export declare const validateDocument: (document: ContractDocument) => ValidationResult;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAiG1D,eAAO,MAAM,aAAa,GACxB,OAAO,aAAa,EACpB,OAAO,kBAAkB,GAAG,SAAS,KACpC,gBAkEF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,SAAS,aAAa,EAAE,EAChC,aAAa,aAAa,EAC1B,cAAc,cAAc,EAC5B,WAAW,MAAM,KAChB,gBAoBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,gBAAgB,KACzB,gBA4BF,CAAC"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@promr-acorda/core",
3
+ "version": "0.0.1",
4
+ "description": "Framework-agnostic electronic contract document engine",
5
+ "license": "MIT",
6
+ "keywords": [
7
+ "contracts",
8
+ "pdf",
9
+ "document-engine",
10
+ "typescript",
11
+ "immutable"
12
+ ],
13
+ "type": "module",
14
+ "main": "./dist/index.cjs",
15
+ "module": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "import": "./dist/index.js",
20
+ "require": "./dist/index.cjs",
21
+ "types": "./dist/index.d.ts"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "dependencies": {
31
+ "pdf-lib": "^1.17.1"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^25.5.2",
35
+ "typescript": "^5.4.5",
36
+ "vite": "^5.2.11",
37
+ "vite-plugin-dts": "^3.9.1",
38
+ "vitest": "^2.1.9"
39
+ },
40
+ "scripts": {
41
+ "build": "vite build",
42
+ "dev": "vite build --watch",
43
+ "typecheck": "tsc --noEmit",
44
+ "test": "vitest run",
45
+ "clean": "rm -rf dist"
46
+ }
47
+ }