@open-captable-protocol/canton 0.2.190 → 0.2.191
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/functions/OpenCapTable/capTable/ocfToDaml.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/capTable/ocfToDaml.js +3 -6
- package/dist/functions/OpenCapTable/capTable/ocfToDaml.js.map +1 -1
- package/dist/functions/OpenCapTable/document/createDocument.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/document/createDocument.js +3 -15
- package/dist/functions/OpenCapTable/document/createDocument.js.map +1 -1
- package/dist/functions/OpenCapTable/issuer/createIssuer.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/issuer/createIssuer.js +3 -7
- package/dist/functions/OpenCapTable/issuer/createIssuer.js.map +1 -1
- package/dist/functions/OpenCapTable/stakeholder/stakeholderDataToDaml.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/stakeholder/stakeholderDataToDaml.js +3 -7
- package/dist/functions/OpenCapTable/stakeholder/stakeholderDataToDaml.js.map +1 -1
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.js +3 -7
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.js.map +1 -1
- package/dist/functions/OpenCapTable/stockIssuance/createStockIssuance.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/stockIssuance/createStockIssuance.js +3 -30
- package/dist/functions/OpenCapTable/stockIssuance/createStockIssuance.js.map +1 -1
- package/dist/utils/entityValidators.d.ts +144 -0
- package/dist/utils/entityValidators.d.ts.map +1 -0
- package/dist/utils/entityValidators.js +581 -0
- package/dist/utils/entityValidators.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/validation.d.ts +19 -25
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +125 -50
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,581 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Entity-specific validators for OCF types.
|
|
4
|
+
*
|
|
5
|
+
* These validators provide comprehensive input validation for common OCF entity types,
|
|
6
|
+
* ensuring data integrity before sending to DAML contracts.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { validateIssuerData, validateStakeholderData } from './entityValidators';
|
|
11
|
+
*
|
|
12
|
+
* // Validates and throws OcpValidationError if invalid
|
|
13
|
+
* validateIssuerData(issuerData, 'issuer');
|
|
14
|
+
* validateStakeholderData(stakeholderData, 'stakeholder');
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.validateEmail = validateEmail;
|
|
19
|
+
exports.validateOptionalEmail = validateOptionalEmail;
|
|
20
|
+
exports.validatePhone = validatePhone;
|
|
21
|
+
exports.validateOptionalPhone = validateOptionalPhone;
|
|
22
|
+
exports.validateAddress = validateAddress;
|
|
23
|
+
exports.validateOptionalAddress = validateOptionalAddress;
|
|
24
|
+
exports.validateTaxId = validateTaxId;
|
|
25
|
+
exports.validateMonetaryObject = validateMonetaryObject;
|
|
26
|
+
exports.validateOptionalMonetaryObject = validateOptionalMonetaryObject;
|
|
27
|
+
exports.validateName = validateName;
|
|
28
|
+
exports.validateContactInfo = validateContactInfo;
|
|
29
|
+
exports.validateContactInfoWithoutName = validateContactInfoWithoutName;
|
|
30
|
+
exports.validateIssuerData = validateIssuerData;
|
|
31
|
+
exports.validateStakeholderData = validateStakeholderData;
|
|
32
|
+
exports.validateStockClassData = validateStockClassData;
|
|
33
|
+
exports.validateStockIssuanceData = validateStockIssuanceData;
|
|
34
|
+
exports.validateValuationData = validateValuationData;
|
|
35
|
+
exports.validateDocumentData = validateDocumentData;
|
|
36
|
+
exports.validateTransactionBase = validateTransactionBase;
|
|
37
|
+
exports.validateResultingSecurityIds = validateResultingSecurityIds;
|
|
38
|
+
const errors_1 = require("../errors");
|
|
39
|
+
const validation_1 = require("./validation");
|
|
40
|
+
// ===== Enum Constants =====
|
|
41
|
+
const EMAIL_TYPES = ['PERSONAL', 'BUSINESS', 'OTHER'];
|
|
42
|
+
const PHONE_TYPES = ['HOME', 'MOBILE', 'BUSINESS', 'OTHER'];
|
|
43
|
+
const ADDRESS_TYPES = ['LEGAL', 'CONTACT', 'OTHER'];
|
|
44
|
+
const STAKEHOLDER_TYPES = ['INDIVIDUAL', 'INSTITUTION'];
|
|
45
|
+
const STOCK_CLASS_TYPES = ['PREFERRED', 'COMMON'];
|
|
46
|
+
const STOCK_ISSUANCE_TYPES = ['RSA', 'FOUNDERS_STOCK'];
|
|
47
|
+
const VALUATION_TYPES = ['409A'];
|
|
48
|
+
const STAKEHOLDER_STATUSES = [
|
|
49
|
+
'ACTIVE',
|
|
50
|
+
'LEAVE_OF_ABSENCE',
|
|
51
|
+
'TERMINATION_VOLUNTARY_OTHER',
|
|
52
|
+
'TERMINATION_VOLUNTARY_GOOD_CAUSE',
|
|
53
|
+
'TERMINATION_VOLUNTARY_RETIREMENT',
|
|
54
|
+
'TERMINATION_INVOLUNTARY_OTHER',
|
|
55
|
+
'TERMINATION_INVOLUNTARY_DEATH',
|
|
56
|
+
'TERMINATION_INVOLUNTARY_DISABILITY',
|
|
57
|
+
'TERMINATION_INVOLUNTARY_WITH_CAUSE',
|
|
58
|
+
];
|
|
59
|
+
const STAKEHOLDER_RELATIONSHIPS = [
|
|
60
|
+
'EMPLOYEE',
|
|
61
|
+
'ADVISOR',
|
|
62
|
+
'INVESTOR',
|
|
63
|
+
'FOUNDER',
|
|
64
|
+
'BOARD_MEMBER',
|
|
65
|
+
'OFFICER',
|
|
66
|
+
'OTHER',
|
|
67
|
+
];
|
|
68
|
+
// ===== Helper Validators =====
|
|
69
|
+
/**
|
|
70
|
+
* Validate an Email object.
|
|
71
|
+
*/
|
|
72
|
+
function validateEmail(value, fieldPath) {
|
|
73
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
74
|
+
const email = value;
|
|
75
|
+
(0, validation_1.validateEnum)(email.email_type, `${fieldPath}.email_type`, EMAIL_TYPES);
|
|
76
|
+
(0, validation_1.validateRequiredString)(email.email_address, `${fieldPath}.email_address`);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Validate an optional Email object.
|
|
80
|
+
*/
|
|
81
|
+
function validateOptionalEmail(value, fieldPath) {
|
|
82
|
+
if (value === undefined || value === null) {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
validateEmail(value, fieldPath);
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Validate a Phone object.
|
|
90
|
+
*/
|
|
91
|
+
function validatePhone(value, fieldPath) {
|
|
92
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
93
|
+
const phone = value;
|
|
94
|
+
(0, validation_1.validateEnum)(phone.phone_type, `${fieldPath}.phone_type`, PHONE_TYPES);
|
|
95
|
+
(0, validation_1.validateRequiredString)(phone.phone_number, `${fieldPath}.phone_number`);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Validate an optional Phone object.
|
|
99
|
+
*/
|
|
100
|
+
function validateOptionalPhone(value, fieldPath) {
|
|
101
|
+
if (value === undefined || value === null) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
validatePhone(value, fieldPath);
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Validate an Address object.
|
|
109
|
+
*/
|
|
110
|
+
function validateAddress(value, fieldPath) {
|
|
111
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
112
|
+
const address = value;
|
|
113
|
+
(0, validation_1.validateEnum)(address.address_type, `${fieldPath}.address_type`, ADDRESS_TYPES);
|
|
114
|
+
(0, validation_1.validateRequiredString)(address.country, `${fieldPath}.country`);
|
|
115
|
+
// Optional fields
|
|
116
|
+
(0, validation_1.validateOptionalString)(address.street_suite, `${fieldPath}.street_suite`);
|
|
117
|
+
(0, validation_1.validateOptionalString)(address.city, `${fieldPath}.city`);
|
|
118
|
+
(0, validation_1.validateOptionalString)(address.country_subdivision, `${fieldPath}.country_subdivision`);
|
|
119
|
+
(0, validation_1.validateOptionalString)(address.postal_code, `${fieldPath}.postal_code`);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Validate an optional Address object.
|
|
123
|
+
*/
|
|
124
|
+
function validateOptionalAddress(value, fieldPath) {
|
|
125
|
+
if (value === undefined || value === null) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
validateAddress(value, fieldPath);
|
|
129
|
+
return value;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Validate a TaxId object.
|
|
133
|
+
*/
|
|
134
|
+
function validateTaxId(value, fieldPath) {
|
|
135
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
136
|
+
const taxId = value;
|
|
137
|
+
(0, validation_1.validateRequiredString)(taxId.country, `${fieldPath}.country`);
|
|
138
|
+
(0, validation_1.validateRequiredString)(taxId.tax_id, `${fieldPath}.tax_id`);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Validate a Monetary object (entity-specific version).
|
|
142
|
+
* Delegates to validateRequiredMonetary from validation.ts.
|
|
143
|
+
*/
|
|
144
|
+
function validateMonetaryObject(value, fieldPath) {
|
|
145
|
+
(0, validation_1.validateRequiredMonetary)(value, fieldPath);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Validate an optional Monetary object.
|
|
149
|
+
*/
|
|
150
|
+
function validateOptionalMonetaryObject(value, fieldPath) {
|
|
151
|
+
if (value === undefined || value === null) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
validateMonetaryObject(value, fieldPath);
|
|
155
|
+
return value;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Validate a Name object.
|
|
159
|
+
*/
|
|
160
|
+
function validateName(value, fieldPath) {
|
|
161
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
162
|
+
const name = value;
|
|
163
|
+
(0, validation_1.validateRequiredString)(name.legal_name, `${fieldPath}.legal_name`);
|
|
164
|
+
(0, validation_1.validateOptionalString)(name.first_name, `${fieldPath}.first_name`);
|
|
165
|
+
(0, validation_1.validateOptionalString)(name.last_name, `${fieldPath}.last_name`);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Validate the phone and email arrays in a contact info object.
|
|
169
|
+
* This is a helper function used by both validateContactInfo and validateContactInfoWithoutName.
|
|
170
|
+
*/
|
|
171
|
+
function validateContactArrays(contact, fieldPath) {
|
|
172
|
+
// Validate optional phone_numbers array
|
|
173
|
+
if (contact.phone_numbers !== undefined && contact.phone_numbers !== null) {
|
|
174
|
+
if (!Array.isArray(contact.phone_numbers)) {
|
|
175
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.phone_numbers`, 'Must be an array if provided', {
|
|
176
|
+
expectedType: 'array',
|
|
177
|
+
receivedValue: contact.phone_numbers,
|
|
178
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
for (let i = 0; i < contact.phone_numbers.length; i++) {
|
|
182
|
+
validatePhone(contact.phone_numbers[i], `${fieldPath}.phone_numbers[${i}]`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Validate optional emails array
|
|
186
|
+
if (contact.emails !== undefined && contact.emails !== null) {
|
|
187
|
+
if (!Array.isArray(contact.emails)) {
|
|
188
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.emails`, 'Must be an array if provided', {
|
|
189
|
+
expectedType: 'array',
|
|
190
|
+
receivedValue: contact.emails,
|
|
191
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
for (let i = 0; i < contact.emails.length; i++) {
|
|
195
|
+
validateEmail(contact.emails[i], `${fieldPath}.emails[${i}]`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Validate a ContactInfo object.
|
|
201
|
+
*/
|
|
202
|
+
function validateContactInfo(value, fieldPath) {
|
|
203
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
204
|
+
const contact = value;
|
|
205
|
+
validateName(contact.name, `${fieldPath}.name`);
|
|
206
|
+
validateContactArrays(contact, fieldPath);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Validate a ContactInfoWithoutName object.
|
|
210
|
+
*/
|
|
211
|
+
function validateContactInfoWithoutName(value, fieldPath) {
|
|
212
|
+
(0, validation_1.validateRequiredObject)(value, fieldPath);
|
|
213
|
+
const contact = value;
|
|
214
|
+
validateContactArrays(contact, fieldPath);
|
|
215
|
+
}
|
|
216
|
+
// ===== Entity Validators =====
|
|
217
|
+
/**
|
|
218
|
+
* Validate OcfIssuer data.
|
|
219
|
+
*
|
|
220
|
+
* Validates all required fields and structure of an issuer object.
|
|
221
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
222
|
+
*
|
|
223
|
+
* @param data - The issuer data to validate
|
|
224
|
+
* @param fieldPath - Base path for error messages (e.g., 'issuer')
|
|
225
|
+
* @throws {OcpValidationError} if validation fails
|
|
226
|
+
*/
|
|
227
|
+
function validateIssuerData(data, fieldPath) {
|
|
228
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
229
|
+
const value = data;
|
|
230
|
+
// Required fields
|
|
231
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
232
|
+
(0, validation_1.validateRequiredString)(value.legal_name, `${fieldPath}.legal_name`);
|
|
233
|
+
(0, validation_1.validateRequiredDate)(value.formation_date, `${fieldPath}.formation_date`);
|
|
234
|
+
(0, validation_1.validateRequiredString)(value.country_of_formation, `${fieldPath}.country_of_formation`);
|
|
235
|
+
// Tax IDs - required array but can be empty
|
|
236
|
+
if (!Array.isArray(value.tax_ids)) {
|
|
237
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.tax_ids`, 'Must be an array', {
|
|
238
|
+
expectedType: 'array',
|
|
239
|
+
receivedValue: value.tax_ids,
|
|
240
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
for (let i = 0; i < value.tax_ids.length; i++) {
|
|
244
|
+
validateTaxId(value.tax_ids[i], `${fieldPath}.tax_ids[${i}]`);
|
|
245
|
+
}
|
|
246
|
+
// Optional fields
|
|
247
|
+
(0, validation_1.validateOptionalString)(value.dba, `${fieldPath}.dba`);
|
|
248
|
+
(0, validation_1.validateOptionalString)(value.country_subdivision_of_formation, `${fieldPath}.country_subdivision_of_formation`);
|
|
249
|
+
(0, validation_1.validateOptionalString)(value.country_subdivision_name_of_formation, `${fieldPath}.country_subdivision_name_of_formation`);
|
|
250
|
+
// Optional complex fields
|
|
251
|
+
if (value.email !== undefined && value.email !== null) {
|
|
252
|
+
validateEmail(value.email, `${fieldPath}.email`);
|
|
253
|
+
}
|
|
254
|
+
if (value.phone !== undefined && value.phone !== null) {
|
|
255
|
+
validatePhone(value.phone, `${fieldPath}.phone`);
|
|
256
|
+
}
|
|
257
|
+
if (value.address !== undefined && value.address !== null) {
|
|
258
|
+
validateAddress(value.address, `${fieldPath}.address`);
|
|
259
|
+
}
|
|
260
|
+
// initial_shares_authorized can be number, string, or special enum values
|
|
261
|
+
if (value.initial_shares_authorized !== undefined && value.initial_shares_authorized !== null) {
|
|
262
|
+
const shares = value.initial_shares_authorized;
|
|
263
|
+
if (typeof shares !== 'number' && typeof shares !== 'string') {
|
|
264
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.initial_shares_authorized`, 'Must be a number or string', {
|
|
265
|
+
expectedType: 'number, numeric string, or "UNLIMITED"/"NOT_APPLICABLE"',
|
|
266
|
+
receivedValue: shares,
|
|
267
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// Optional comments array
|
|
272
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Validate OcfStakeholder data.
|
|
276
|
+
*
|
|
277
|
+
* Validates all required fields and structure of a stakeholder object.
|
|
278
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
279
|
+
*
|
|
280
|
+
* @param data - The stakeholder data to validate
|
|
281
|
+
* @param fieldPath - Base path for error messages (e.g., 'stakeholder')
|
|
282
|
+
* @throws {OcpValidationError} if validation fails
|
|
283
|
+
*/
|
|
284
|
+
function validateStakeholderData(data, fieldPath) {
|
|
285
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
286
|
+
const value = data;
|
|
287
|
+
// Required fields
|
|
288
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
289
|
+
validateName(value.name, `${fieldPath}.name`);
|
|
290
|
+
(0, validation_1.validateEnum)(value.stakeholder_type, `${fieldPath}.stakeholder_type`, STAKEHOLDER_TYPES);
|
|
291
|
+
// Optional fields
|
|
292
|
+
(0, validation_1.validateOptionalString)(value.issuer_assigned_id, `${fieldPath}.issuer_assigned_id`);
|
|
293
|
+
// Optional current_relationships array
|
|
294
|
+
if (value.current_relationships !== undefined && value.current_relationships !== null) {
|
|
295
|
+
if (!Array.isArray(value.current_relationships)) {
|
|
296
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.current_relationships`, 'Must be an array if provided', {
|
|
297
|
+
expectedType: 'array',
|
|
298
|
+
receivedValue: value.current_relationships,
|
|
299
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
for (let i = 0; i < value.current_relationships.length; i++) {
|
|
303
|
+
(0, validation_1.validateEnum)(value.current_relationships[i], `${fieldPath}.current_relationships[${i}]`, STAKEHOLDER_RELATIONSHIPS);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Optional current_status
|
|
307
|
+
(0, validation_1.validateOptionalEnum)(value.current_status, `${fieldPath}.current_status`, STAKEHOLDER_STATUSES);
|
|
308
|
+
// Optional primary_contact
|
|
309
|
+
if (value.primary_contact !== undefined && value.primary_contact !== null) {
|
|
310
|
+
validateContactInfo(value.primary_contact, `${fieldPath}.primary_contact`);
|
|
311
|
+
}
|
|
312
|
+
// Optional contact_info
|
|
313
|
+
if (value.contact_info !== undefined && value.contact_info !== null) {
|
|
314
|
+
validateContactInfoWithoutName(value.contact_info, `${fieldPath}.contact_info`);
|
|
315
|
+
}
|
|
316
|
+
// Optional addresses array
|
|
317
|
+
if (value.addresses !== undefined && value.addresses !== null) {
|
|
318
|
+
if (!Array.isArray(value.addresses)) {
|
|
319
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.addresses`, 'Must be an array if provided', {
|
|
320
|
+
expectedType: 'array',
|
|
321
|
+
receivedValue: value.addresses,
|
|
322
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
for (let i = 0; i < value.addresses.length; i++) {
|
|
326
|
+
validateAddress(value.addresses[i], `${fieldPath}.addresses[${i}]`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// Optional tax_ids array
|
|
330
|
+
if (value.tax_ids !== undefined && value.tax_ids !== null) {
|
|
331
|
+
if (!Array.isArray(value.tax_ids)) {
|
|
332
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.tax_ids`, 'Must be an array if provided', {
|
|
333
|
+
expectedType: 'array',
|
|
334
|
+
receivedValue: value.tax_ids,
|
|
335
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
for (let i = 0; i < value.tax_ids.length; i++) {
|
|
339
|
+
validateTaxId(value.tax_ids[i], `${fieldPath}.tax_ids[${i}]`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Optional comments array
|
|
343
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Validate OcfStockClass data.
|
|
347
|
+
*
|
|
348
|
+
* Validates all required fields and structure of a stock class object.
|
|
349
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
350
|
+
*
|
|
351
|
+
* @param data - The stock class data to validate
|
|
352
|
+
* @param fieldPath - Base path for error messages (e.g., 'stockClass')
|
|
353
|
+
* @throws {OcpValidationError} if validation fails
|
|
354
|
+
*/
|
|
355
|
+
function validateStockClassData(data, fieldPath) {
|
|
356
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
357
|
+
const value = data;
|
|
358
|
+
// Required fields
|
|
359
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
360
|
+
(0, validation_1.validateRequiredString)(value.name, `${fieldPath}.name`);
|
|
361
|
+
(0, validation_1.validateEnum)(value.class_type, `${fieldPath}.class_type`, STOCK_CLASS_TYPES);
|
|
362
|
+
(0, validation_1.validateRequiredString)(value.default_id_prefix, `${fieldPath}.default_id_prefix`);
|
|
363
|
+
(0, validation_1.validateRequiredNumeric)(value.initial_shares_authorized, `${fieldPath}.initial_shares_authorized`);
|
|
364
|
+
(0, validation_1.validateRequiredNumeric)(value.seniority, `${fieldPath}.seniority`);
|
|
365
|
+
(0, validation_1.validateRequiredNumeric)(value.votes_per_share, `${fieldPath}.votes_per_share`);
|
|
366
|
+
// Optional fields
|
|
367
|
+
(0, validation_1.validateOptionalDate)(value.board_approval_date, `${fieldPath}.board_approval_date`);
|
|
368
|
+
(0, validation_1.validateOptionalDate)(value.stockholder_approval_date, `${fieldPath}.stockholder_approval_date`);
|
|
369
|
+
(0, validation_1.validateOptionalNumeric)(value.liquidation_preference_multiple, `${fieldPath}.liquidation_preference_multiple`);
|
|
370
|
+
(0, validation_1.validateOptionalNumeric)(value.participation_cap_multiple, `${fieldPath}.participation_cap_multiple`);
|
|
371
|
+
// Optional monetary fields
|
|
372
|
+
if (value.par_value !== undefined && value.par_value !== null) {
|
|
373
|
+
validateMonetaryObject(value.par_value, `${fieldPath}.par_value`);
|
|
374
|
+
}
|
|
375
|
+
if (value.price_per_share !== undefined && value.price_per_share !== null) {
|
|
376
|
+
validateMonetaryObject(value.price_per_share, `${fieldPath}.price_per_share`);
|
|
377
|
+
}
|
|
378
|
+
// Optional conversion_rights array - complex validation
|
|
379
|
+
if (value.conversion_rights !== undefined && value.conversion_rights !== null) {
|
|
380
|
+
if (!Array.isArray(value.conversion_rights)) {
|
|
381
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.conversion_rights`, 'Must be an array if provided', {
|
|
382
|
+
expectedType: 'array',
|
|
383
|
+
receivedValue: value.conversion_rights,
|
|
384
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
// Each conversion right has complex structure - basic validation
|
|
388
|
+
for (let i = 0; i < value.conversion_rights.length; i++) {
|
|
389
|
+
const right = value.conversion_rights[i];
|
|
390
|
+
(0, validation_1.validateRequiredObject)(right, `${fieldPath}.conversion_rights[${i}]`);
|
|
391
|
+
(0, validation_1.validateRequiredString)(right.converts_to_stock_class_id, `${fieldPath}.conversion_rights[${i}].converts_to_stock_class_id`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
// Optional comments array
|
|
395
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Validate OcfStockIssuance data.
|
|
399
|
+
*
|
|
400
|
+
* Validates all required fields and structure of a stock issuance object.
|
|
401
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
402
|
+
*
|
|
403
|
+
* @param data - The stock issuance data to validate
|
|
404
|
+
* @param fieldPath - Base path for error messages (e.g., 'stockIssuance')
|
|
405
|
+
* @throws {OcpValidationError} if validation fails
|
|
406
|
+
*/
|
|
407
|
+
function validateStockIssuanceData(data, fieldPath) {
|
|
408
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
409
|
+
const value = data;
|
|
410
|
+
// Required fields
|
|
411
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
412
|
+
(0, validation_1.validateRequiredDate)(value.date, `${fieldPath}.date`);
|
|
413
|
+
(0, validation_1.validateRequiredString)(value.security_id, `${fieldPath}.security_id`);
|
|
414
|
+
(0, validation_1.validateRequiredString)(value.custom_id, `${fieldPath}.custom_id`);
|
|
415
|
+
(0, validation_1.validateRequiredString)(value.stakeholder_id, `${fieldPath}.stakeholder_id`);
|
|
416
|
+
(0, validation_1.validateRequiredString)(value.stock_class_id, `${fieldPath}.stock_class_id`);
|
|
417
|
+
validateMonetaryObject(value.share_price, `${fieldPath}.share_price`);
|
|
418
|
+
(0, validation_1.validateRequiredNumeric)(value.quantity, `${fieldPath}.quantity`);
|
|
419
|
+
// Optional fields
|
|
420
|
+
(0, validation_1.validateOptionalDate)(value.board_approval_date, `${fieldPath}.board_approval_date`);
|
|
421
|
+
(0, validation_1.validateOptionalDate)(value.stockholder_approval_date, `${fieldPath}.stockholder_approval_date`);
|
|
422
|
+
(0, validation_1.validateOptionalString)(value.consideration_text, `${fieldPath}.consideration_text`);
|
|
423
|
+
(0, validation_1.validateOptionalString)(value.stock_plan_id, `${fieldPath}.stock_plan_id`);
|
|
424
|
+
(0, validation_1.validateOptionalString)(value.vesting_terms_id, `${fieldPath}.vesting_terms_id`);
|
|
425
|
+
(0, validation_1.validateOptionalEnum)(value.issuance_type, `${fieldPath}.issuance_type`, STOCK_ISSUANCE_TYPES);
|
|
426
|
+
// Optional security_law_exemptions array
|
|
427
|
+
if (value.security_law_exemptions !== undefined && value.security_law_exemptions !== null) {
|
|
428
|
+
if (!Array.isArray(value.security_law_exemptions)) {
|
|
429
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.security_law_exemptions`, 'Must be an array if provided', {
|
|
430
|
+
expectedType: 'array',
|
|
431
|
+
receivedValue: value.security_law_exemptions,
|
|
432
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
for (let i = 0; i < value.security_law_exemptions.length; i++) {
|
|
436
|
+
const exemption = value.security_law_exemptions[i];
|
|
437
|
+
(0, validation_1.validateRequiredObject)(exemption, `${fieldPath}.security_law_exemptions[${i}]`);
|
|
438
|
+
(0, validation_1.validateRequiredString)(exemption.description, `${fieldPath}.security_law_exemptions[${i}].description`);
|
|
439
|
+
(0, validation_1.validateRequiredString)(exemption.jurisdiction, `${fieldPath}.security_law_exemptions[${i}].jurisdiction`);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
// Optional share_numbers_issued array
|
|
443
|
+
if (value.share_numbers_issued !== undefined && value.share_numbers_issued !== null) {
|
|
444
|
+
if (!Array.isArray(value.share_numbers_issued)) {
|
|
445
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.share_numbers_issued`, 'Must be an array if provided', {
|
|
446
|
+
expectedType: 'array',
|
|
447
|
+
receivedValue: value.share_numbers_issued,
|
|
448
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
for (let i = 0; i < value.share_numbers_issued.length; i++) {
|
|
452
|
+
const range = value.share_numbers_issued[i];
|
|
453
|
+
(0, validation_1.validateRequiredObject)(range, `${fieldPath}.share_numbers_issued[${i}]`);
|
|
454
|
+
(0, validation_1.validateRequiredNumeric)(range.starting_share_number, `${fieldPath}.share_numbers_issued[${i}].starting_share_number`);
|
|
455
|
+
(0, validation_1.validateRequiredNumeric)(range.ending_share_number, `${fieldPath}.share_numbers_issued[${i}].ending_share_number`);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
// Optional vestings array
|
|
459
|
+
if (value.vestings !== undefined && value.vestings !== null) {
|
|
460
|
+
if (!Array.isArray(value.vestings)) {
|
|
461
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.vestings`, 'Must be an array if provided', {
|
|
462
|
+
expectedType: 'array',
|
|
463
|
+
receivedValue: value.vestings,
|
|
464
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
for (let i = 0; i < value.vestings.length; i++) {
|
|
468
|
+
const vesting = value.vestings[i];
|
|
469
|
+
(0, validation_1.validateRequiredObject)(vesting, `${fieldPath}.vestings[${i}]`);
|
|
470
|
+
(0, validation_1.validateRequiredDate)(vesting.date, `${fieldPath}.vestings[${i}].date`);
|
|
471
|
+
(0, validation_1.validateRequiredNumeric)(vesting.amount, `${fieldPath}.vestings[${i}].amount`);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
// Optional cost_basis
|
|
475
|
+
if (value.cost_basis !== undefined && value.cost_basis !== null) {
|
|
476
|
+
validateMonetaryObject(value.cost_basis, `${fieldPath}.cost_basis`);
|
|
477
|
+
}
|
|
478
|
+
// Optional stock_legend_ids array
|
|
479
|
+
(0, validation_1.validateOptionalArray)(value.stock_legend_ids, `${fieldPath}.stock_legend_ids`);
|
|
480
|
+
// Optional comments array
|
|
481
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Validate OcfValuation data.
|
|
485
|
+
*
|
|
486
|
+
* Validates all required fields and structure of a valuation object.
|
|
487
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
488
|
+
*
|
|
489
|
+
* @param data - The valuation data to validate
|
|
490
|
+
* @param fieldPath - Base path for error messages (e.g., 'valuation')
|
|
491
|
+
* @throws {OcpValidationError} if validation fails
|
|
492
|
+
*/
|
|
493
|
+
function validateValuationData(data, fieldPath) {
|
|
494
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
495
|
+
const value = data;
|
|
496
|
+
// Required fields
|
|
497
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
498
|
+
(0, validation_1.validateRequiredString)(value.stock_class_id, `${fieldPath}.stock_class_id`);
|
|
499
|
+
(0, validation_1.validateRequiredDate)(value.effective_date, `${fieldPath}.effective_date`);
|
|
500
|
+
(0, validation_1.validateEnum)(value.valuation_type, `${fieldPath}.valuation_type`, VALUATION_TYPES);
|
|
501
|
+
validateMonetaryObject(value.price_per_share, `${fieldPath}.price_per_share`);
|
|
502
|
+
// Optional fields
|
|
503
|
+
(0, validation_1.validateOptionalString)(value.provider, `${fieldPath}.provider`);
|
|
504
|
+
(0, validation_1.validateOptionalDate)(value.board_approval_date, `${fieldPath}.board_approval_date`);
|
|
505
|
+
(0, validation_1.validateOptionalDate)(value.stockholder_approval_date, `${fieldPath}.stockholder_approval_date`);
|
|
506
|
+
// Optional comments array
|
|
507
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Validate OcfDocument data.
|
|
511
|
+
*
|
|
512
|
+
* Validates all required fields and structure of a document object.
|
|
513
|
+
* Throws OcpValidationError with detailed field path on validation failure.
|
|
514
|
+
*
|
|
515
|
+
* @param data - The document data to validate
|
|
516
|
+
* @param fieldPath - Base path for error messages (e.g., 'document')
|
|
517
|
+
* @throws {OcpValidationError} if validation fails
|
|
518
|
+
*/
|
|
519
|
+
function validateDocumentData(data, fieldPath) {
|
|
520
|
+
(0, validation_1.validateRequiredObject)(data, fieldPath);
|
|
521
|
+
const value = data;
|
|
522
|
+
// Required fields
|
|
523
|
+
(0, validation_1.validateRequiredString)(value.id, `${fieldPath}.id`);
|
|
524
|
+
(0, validation_1.validateRequiredString)(value.md5, `${fieldPath}.md5`);
|
|
525
|
+
// Must have either path or uri
|
|
526
|
+
const hasPath = value.path !== undefined && value.path !== null && value.path !== '';
|
|
527
|
+
const hasUri = value.uri !== undefined && value.uri !== null && value.uri !== '';
|
|
528
|
+
if (!hasPath && !hasUri) {
|
|
529
|
+
throw new errors_1.OcpValidationError(`${fieldPath}`, 'Document must have either path or uri', {
|
|
530
|
+
code: errors_1.OcpErrorCodes.REQUIRED_FIELD_MISSING,
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
// Optional fields
|
|
534
|
+
(0, validation_1.validateOptionalString)(value.path, `${fieldPath}.path`);
|
|
535
|
+
(0, validation_1.validateOptionalString)(value.uri, `${fieldPath}.uri`);
|
|
536
|
+
// Optional related_objects array
|
|
537
|
+
if (value.related_objects !== undefined && value.related_objects !== null) {
|
|
538
|
+
if (!Array.isArray(value.related_objects)) {
|
|
539
|
+
throw new errors_1.OcpValidationError(`${fieldPath}.related_objects`, 'Must be an array if provided', {
|
|
540
|
+
expectedType: 'array',
|
|
541
|
+
receivedValue: value.related_objects,
|
|
542
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
for (let i = 0; i < value.related_objects.length; i++) {
|
|
546
|
+
const ref = value.related_objects[i];
|
|
547
|
+
(0, validation_1.validateRequiredObject)(ref, `${fieldPath}.related_objects[${i}]`);
|
|
548
|
+
(0, validation_1.validateRequiredString)(ref.object_type, `${fieldPath}.related_objects[${i}].object_type`);
|
|
549
|
+
(0, validation_1.validateRequiredString)(ref.object_id, `${fieldPath}.related_objects[${i}].object_id`);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
// Optional comments array
|
|
553
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${fieldPath}.comments`);
|
|
554
|
+
}
|
|
555
|
+
// ===== Transaction Validators =====
|
|
556
|
+
/**
|
|
557
|
+
* Validate common transaction fields.
|
|
558
|
+
* This is a helper function for transaction-specific validators.
|
|
559
|
+
*/
|
|
560
|
+
function validateTransactionBase(value, path, options = {}) {
|
|
561
|
+
(0, validation_1.validateRequiredString)(value.id, `${path}.id`);
|
|
562
|
+
(0, validation_1.validateRequiredDate)(value.date, `${path}.date`);
|
|
563
|
+
if (options.requireSecurityId !== false) {
|
|
564
|
+
(0, validation_1.validateRequiredString)(value.security_id, `${path}.security_id`);
|
|
565
|
+
}
|
|
566
|
+
if (options.requireQuantity) {
|
|
567
|
+
(0, validation_1.validateRequiredNumeric)(value.quantity, `${path}.quantity`);
|
|
568
|
+
}
|
|
569
|
+
(0, validation_1.validateOptionalArray)(value.comments, `${path}.comments`);
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Validate resulting_security_ids array (must be non-empty for certain transactions).
|
|
573
|
+
*/
|
|
574
|
+
function validateResultingSecurityIds(value, fieldPath) {
|
|
575
|
+
(0, validation_1.validateRequiredArray)(value, fieldPath);
|
|
576
|
+
const ids = value;
|
|
577
|
+
for (let i = 0; i < ids.length; i++) {
|
|
578
|
+
(0, validation_1.validateRequiredString)(ids[i], `${fieldPath}[${i}]`);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
//# sourceMappingURL=entityValidators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entityValidators.js","sourceRoot":"","sources":["../../src/utils/entityValidators.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAuDH,sCAKC;AAKD,sDAMC;AAKD,sCAKC;AAKD,sDAMC;AAKD,0CAUC;AAKD,0DAMC;AAKD,sCAKC;AAMD,wDAEC;AAKD,wEAMC;AAKD,oCAMC;AAuCD,kDAKC;AAKD,wEAIC;AAcD,gDAuDC;AAYD,0DAyEC;AAYD,wDAiDC;AAYD,8DAsFC;AAYD,sDAkBC;AAYD,oDAyCC;AAQD,0DAiBC;AAKD,oEAMC;AAjoBD,sCAA8D;AAE9D,6CAasB;AAEtB,6BAA6B;AAE7B,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAC/D,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AACrE,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAC7D,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAU,CAAC;AACjE,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC;AAC3D,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAU,CAAC;AAChE,MAAM,eAAe,GAAG,CAAC,MAAM,CAAU,CAAC;AAC1C,MAAM,oBAAoB,GAAG;IAC3B,QAAQ;IACR,kBAAkB;IAClB,6BAA6B;IAC7B,kCAAkC;IAClC,kCAAkC;IAClC,+BAA+B;IAC/B,+BAA+B;IAC/B,oCAAoC;IACpC,oCAAoC;CAC5B,CAAC;AAEX,MAAM,yBAAyB,GAAG;IAChC,UAAU;IACV,SAAS;IACT,UAAU;IACV,SAAS;IACT,cAAc;IACd,SAAS;IACT,OAAO;CACC,CAAC;AAEX,gCAAgC;AAEhC;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,SAAiB;IAC7D,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,IAAA,yBAAY,EAAC,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,EAAE,WAAW,CAAC,CAAC;IACvE,IAAA,mCAAsB,EAAC,KAAK,CAAC,aAAa,EAAE,GAAG,SAAS,gBAAgB,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAc,EAAE,SAAiB;IACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChC,OAAO,KAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,SAAiB;IAC7D,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,IAAA,yBAAY,EAAC,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,EAAE,WAAW,CAAC,CAAC;IACvE,IAAA,mCAAsB,EAAC,KAAK,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAc,EAAE,SAAiB;IACrE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAChC,OAAO,KAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAc,EAAE,SAAiB;IAC/D,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,IAAA,yBAAY,EAAC,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,EAAE,aAAa,CAAC,CAAC;IAC/E,IAAA,mCAAsB,EAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,UAAU,CAAC,CAAC;IAChE,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;IAC1E,IAAA,mCAAsB,EAAC,OAAO,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAC1D,IAAA,mCAAsB,EAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IACxF,IAAA,mCAAsB,EAAC,OAAO,CAAC,WAAW,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAc,EAAE,SAAiB;IACvE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAClC,OAAO,KAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,SAAiB;IAC7D,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,IAAA,mCAAsB,EAAC,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,UAAU,CAAC,CAAC;IAC9D,IAAA,mCAAsB,EAAC,KAAK,CAAC,MAAM,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,KAAc,EAAE,SAAiB;IACtE,IAAA,qCAAwB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAAC,KAAc,EAAE,SAAiB;IAC9E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,KAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAc,EAAE,SAAiB;IAC5D,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC;IACnB,IAAA,mCAAsB,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IACnE,IAAA,mCAAsB,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IACnE,IAAA,mCAAsB,EAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,OAAgC,EAAE,SAAiB;IAChF,wCAAwC;IACxC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,gBAAgB,EAAE,8BAA8B,EAAE;gBACzF,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,SAAS,EAAE,8BAA8B,EAAE;gBAClF,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,WAAW,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAc,EAAE,SAAiB;IACnE,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAChD,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAAC,KAAc,EAAE,SAAiB;IAC9E,IAAA,mCAAsB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,gCAAgC;AAEhC;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,IAAa,EAAE,SAAiB;IACjE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,IAAA,mCAAsB,EAAC,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IACpE,IAAA,iCAAoB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAC;IAC1E,IAAA,mCAAsB,EAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,SAAS,uBAAuB,CAAC,CAAC;IAExF,4CAA4C;IAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,UAAU,EAAE,kBAAkB,EAAE;YACvE,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,IAAI,EAAE,sBAAa,CAAC,YAAY;SACjC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,OAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7D,aAAa,CAAE,KAAK,CAAC,OAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC;IACtD,IAAA,mCAAsB,EAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,SAAS,mCAAmC,CAAC,CAAC;IAChH,IAAA,mCAAsB,EACpB,KAAK,CAAC,qCAAqC,EAC3C,GAAG,SAAS,wCAAwC,CACrD,CAAC;IAEF,0BAA0B;IAC1B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtD,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACtD,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1D,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,0EAA0E;IAC1E,IAAI,KAAK,CAAC,yBAAyB,KAAK,SAAS,IAAI,KAAK,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;QAC9F,MAAM,MAAM,GAAG,KAAK,CAAC,yBAAyB,CAAC;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,4BAA4B,EAAE,4BAA4B,EAAE;gBACnG,YAAY,EAAE,yDAAyD;gBACvE,aAAa,EAAE,MAAM;gBACrB,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,IAAa,EAAE,SAAiB;IACtE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAC9C,IAAA,yBAAY,EAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAEzF,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,SAAS,qBAAqB,CAAC,CAAC;IAEpF,uCAAuC;IACvC,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,IAAI,KAAK,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,wBAAwB,EAAE,8BAA8B,EAAE;gBACjG,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,qBAAqB;gBAC1C,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,qBAAmC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3E,IAAA,yBAAY,EACT,KAAK,CAAC,qBAAmC,CAAC,CAAC,CAAC,EAC7C,GAAG,SAAS,0BAA0B,CAAC,GAAG,EAC1C,yBAAyB,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAA,iCAAoB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAEhG,2BAA2B;IAC3B,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAC1E,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAC7E,CAAC;IAED,wBAAwB;IACxB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACpE,8BAA8B,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;IAClF,CAAC;IAED,2BAA2B;IAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,YAAY,EAAE,8BAA8B,EAAE;gBACrF,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,SAAS;gBAC9B,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,SAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,eAAe,CAAE,KAAK,CAAC,SAAuB,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,cAAc,CAAC,GAAG,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,UAAU,EAAE,8BAA8B,EAAE;gBACnF,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,OAAO;gBAC5B,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,OAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,aAAa,CAAE,KAAK,CAAC,OAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,sBAAsB,CAAC,IAAa,EAAE,SAAiB;IACrE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,IAAA,mCAAsB,EAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACxD,IAAA,yBAAY,EAAC,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC7E,IAAA,mCAAsB,EAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,SAAS,oBAAoB,CAAC,CAAC;IAClF,IAAA,oCAAuB,EAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,SAAS,4BAA4B,CAAC,CAAC;IACnG,IAAA,oCAAuB,EAAC,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;IACnE,IAAA,oCAAuB,EAAC,KAAK,CAAC,eAAe,EAAE,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAE/E,kBAAkB;IAClB,IAAA,iCAAoB,EAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IACpF,IAAA,iCAAoB,EAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,SAAS,4BAA4B,CAAC,CAAC;IAChG,IAAA,oCAAuB,EAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,SAAS,kCAAkC,CAAC,CAAC;IAC/G,IAAA,oCAAuB,EAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,SAAS,6BAA6B,CAAC,CAAC;IAErG,2BAA2B;IAC3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9D,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAC1E,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAChF,CAAC;IAED,wDAAwD;IACxD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,oBAAoB,EAAE,8BAA8B,EAAE;gBAC7F,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,iBAAiB;gBACtC,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,iEAAiE;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,iBAA+B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvE,MAAM,KAAK,GAAI,KAAK,CAAC,iBAA+B,CAAC,CAAC,CAA4B,CAAC;YACnF,IAAA,mCAAsB,EAAC,KAAK,EAAE,GAAG,SAAS,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACtE,IAAA,mCAAsB,EACpB,KAAK,CAAC,0BAA0B,EAChC,GAAG,SAAS,sBAAsB,CAAC,8BAA8B,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAAC,IAAa,EAAE,SAAiB;IACxE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,IAAA,iCAAoB,EAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACtD,IAAA,mCAAsB,EAAC,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;IACtE,IAAA,mCAAsB,EAAC,KAAK,CAAC,SAAS,EAAE,GAAG,SAAS,YAAY,CAAC,CAAC;IAClE,IAAA,mCAAsB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAC;IAC5E,IAAA,mCAAsB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;IACtE,IAAA,oCAAuB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IAEjE,kBAAkB;IAClB,IAAA,iCAAoB,EAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IACpF,IAAA,iCAAoB,EAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,SAAS,4BAA4B,CAAC,CAAC;IAChG,IAAA,mCAAsB,EAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,SAAS,qBAAqB,CAAC,CAAC;IACpF,IAAA,mCAAsB,EAAC,KAAK,CAAC,aAAa,EAAE,GAAG,SAAS,gBAAgB,CAAC,CAAC;IAC1E,IAAA,mCAAsB,EAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,mBAAmB,CAAC,CAAC;IAChF,IAAA,iCAAoB,EAAC,KAAK,CAAC,aAAa,EAAE,GAAG,SAAS,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IAE9F,yCAAyC;IACzC,IAAI,KAAK,CAAC,uBAAuB,KAAK,SAAS,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,0BAA0B,EAAE,8BAA8B,EAAE;gBACnG,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,uBAAuB;gBAC5C,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,uBAAqC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAI,KAAK,CAAC,uBAAqC,CAAC,CAAC,CAA4B,CAAC;YAC7F,IAAA,mCAAsB,EAAC,SAAS,EAAE,GAAG,SAAS,4BAA4B,CAAC,GAAG,CAAC,CAAC;YAChF,IAAA,mCAAsB,EAAC,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,4BAA4B,CAAC,eAAe,CAAC,CAAC;YACxG,IAAA,mCAAsB,EAAC,SAAS,CAAC,YAAY,EAAE,GAAG,SAAS,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,uBAAuB,EAAE,8BAA8B,EAAE;gBAChG,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,oBAAoB;gBACzC,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,oBAAkC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1E,MAAM,KAAK,GAAI,KAAK,CAAC,oBAAkC,CAAC,CAAC,CAA4B,CAAC;YACtF,IAAA,mCAAsB,EAAC,KAAK,EAAE,GAAG,SAAS,yBAAyB,CAAC,GAAG,CAAC,CAAC;YACzE,IAAA,oCAAuB,EACrB,KAAK,CAAC,qBAAqB,EAC3B,GAAG,SAAS,yBAAyB,CAAC,yBAAyB,CAChE,CAAC;YACF,IAAA,oCAAuB,EAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,SAAS,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,WAAW,EAAE,8BAA8B,EAAE;gBACpF,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,QAAQ;gBAC7B,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,QAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAI,KAAK,CAAC,QAAsB,CAAC,CAAC,CAA4B,CAAC;YAC5E,IAAA,mCAAsB,EAAC,OAAO,EAAE,GAAG,SAAS,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/D,IAAA,iCAAoB,EAAC,OAAO,CAAC,IAAI,EAAE,GAAG,SAAS,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAA,oCAAuB,EAAC,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,aAAa,CAAC,UAAU,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,kCAAkC;IAClC,IAAA,kCAAqB,EAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,SAAS,mBAAmB,CAAC,CAAC;IAE/E,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,IAAa,EAAE,SAAiB;IACpE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,IAAA,mCAAsB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAC;IAC5E,IAAA,iCAAoB,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,CAAC,CAAC;IAC1E,IAAA,yBAAY,EAAC,KAAK,CAAC,cAAc,EAAE,GAAG,SAAS,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACnF,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAE9E,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;IAChE,IAAA,iCAAoB,EAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,SAAS,sBAAsB,CAAC,CAAC;IACpF,IAAA,iCAAoB,EAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,SAAS,4BAA4B,CAAC,CAAC;IAEhG,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAAC,IAAa,EAAE,SAAiB;IACnE,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC;IAEnB,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACpD,IAAA,mCAAsB,EAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC;IAEtD,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;IACrF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;IAEjF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,EAAE,EAAE,uCAAuC,EAAE;YACpF,IAAI,EAAE,sBAAa,CAAC,sBAAsB;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,IAAA,mCAAsB,EAAC,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACxD,IAAA,mCAAsB,EAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC;IAEtD,iCAAiC;IACjC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,2BAAkB,CAAC,GAAG,SAAS,kBAAkB,EAAE,8BAA8B,EAAE;gBAC3F,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,KAAK,CAAC,eAAe;gBACpC,IAAI,EAAE,sBAAa,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAK,CAAC,eAA6B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrE,MAAM,GAAG,GAAI,KAAK,CAAC,eAA6B,CAAC,CAAC,CAA4B,CAAC;YAC/E,IAAA,mCAAsB,EAAC,GAAG,EAAE,GAAG,SAAS,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAClE,IAAA,mCAAsB,EAAC,GAAG,CAAC,WAAW,EAAE,GAAG,SAAS,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAC1F,IAAA,mCAAsB,EAAC,GAAG,CAAC,SAAS,EAAE,GAAG,SAAS,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,SAAS,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,qCAAqC;AAErC;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,KAA8B,EAC9B,IAAY,EACZ,UAAsE,EAAE;IAExE,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IAC/C,IAAA,iCAAoB,EAAC,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACxC,IAAA,mCAAsB,EAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAA,oCAAuB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,IAAA,kCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAgB,4BAA4B,CAAC,KAAc,EAAE,SAAiB;IAC5E,IAAA,kCAAqB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAA,mCAAsB,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./deprecatedFieldNormalization"), exports);
|
|
18
|
+
__exportStar(require("./entityValidators"), exports);
|
|
18
19
|
__exportStar(require("./enumConversions"), exports);
|
|
19
20
|
__exportStar(require("./ocfComparison"), exports);
|
|
20
21
|
__exportStar(require("./ocfHelpers"), exports);
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,oDAAkC;AAClC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,wDAAsC;AACtC,uDAAqC;AACrC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,qDAAmC;AACnC,oDAAkC;AAClC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,wDAAsC;AACtC,uDAAqC;AACrC,oDAAkC;AAClC,+CAA6B;AAC7B,+CAA6B"}
|