@tellescope/validation 1.82.0 → 1.83.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.
- package/lib/cjs/validation.d.ts +20 -1
- package/lib/cjs/validation.d.ts.map +1 -1
- package/lib/cjs/validation.js +50 -16
- package/lib/cjs/validation.js.map +1 -1
- package/lib/esm/validation.d.ts +20 -1
- package/lib/esm/validation.d.ts.map +1 -1
- package/lib/esm/validation.js +46 -12
- package/lib/esm/validation.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/validation.ts +50 -12
package/src/validation.ts
CHANGED
|
@@ -272,6 +272,7 @@ import {
|
|
|
272
272
|
SenderAssignmentStrategies,
|
|
273
273
|
SmartMeterPlaceOrderAutomationAction,
|
|
274
274
|
SmartMeterOrderLineItem,
|
|
275
|
+
FormFieldFeedback,
|
|
275
276
|
} from "@tellescope/types-models"
|
|
276
277
|
import {
|
|
277
278
|
UserDisplayInfo,
|
|
@@ -1273,6 +1274,11 @@ export const phoneValidator: ValidatorDefinition<string> = {
|
|
|
1273
1274
|
: escaped.length === 10 ? '+1' + escaped // assume US country code for now
|
|
1274
1275
|
: "+" + escaped // assume country code provided, but missing leading +
|
|
1275
1276
|
|
|
1277
|
+
// phone numbers from Gambia, which is not supported by isMobilePhone
|
|
1278
|
+
if (escaped.length === 11 && escaped.startsWith('+220') && /[0-9]$/.test(escaped.substring(1))) {
|
|
1279
|
+
return escaped
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1276
1282
|
if (!isMobilePhone(escaped, 'any', { strictMode: true })) {
|
|
1277
1283
|
throw `Invalid phone number: ${phone}`
|
|
1278
1284
|
}
|
|
@@ -1296,6 +1302,11 @@ export const phoneValidatorOptional: ValidatorDefinition<string> = {
|
|
|
1296
1302
|
: escaped.length === 10 ? '+1' + escaped // assume US country code for now
|
|
1297
1303
|
: "+" + escaped // assume country code provided, but missing leading +
|
|
1298
1304
|
|
|
1305
|
+
// phone numbers from Gambia, which is not supported by isMobilePhone
|
|
1306
|
+
if (escaped.length === 11 && escaped.startsWith('+220') && /[0-9]$/.test(escaped.substring(1))) {
|
|
1307
|
+
return escaped
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1299
1310
|
if (!isMobilePhone(escaped, 'any', { strictMode: true })) {
|
|
1300
1311
|
throw `Invalid phone number: ${phone}`
|
|
1301
1312
|
}
|
|
@@ -2319,6 +2330,7 @@ const delayValidation = {
|
|
|
2319
2330
|
delay: nonNegNumberValidator, // for UI only
|
|
2320
2331
|
unit: UnitOfTimeValidator, // for UI only
|
|
2321
2332
|
cancelConditions: cancelConditionsValidatorOptional,
|
|
2333
|
+
officeHoursOnly: booleanValidatorOptional,
|
|
2322
2334
|
}
|
|
2323
2335
|
|
|
2324
2336
|
export const automationEventValidator = orValidator<{ [K in AutomationEventType]: AutomationEvent & { type: K } } >({
|
|
@@ -2523,6 +2535,7 @@ export const automationActionValidator = orValidator<{ [K in AutomationActionTyp
|
|
|
2523
2535
|
requireConfirmation: booleanValidatorOptional,
|
|
2524
2536
|
reminders: listValidatorOptionalOrEmptyOk(ticketReminderValidator),
|
|
2525
2537
|
priority: numberValidatorOptional,
|
|
2538
|
+
preserveContext: booleanValidatorOptional,
|
|
2526
2539
|
}, { emptyOk: false }),
|
|
2527
2540
|
}),
|
|
2528
2541
|
sendWebhook: objectValidator<SendWebhookAutomationAction>({
|
|
@@ -2621,6 +2634,7 @@ export const journeyContextValidator = objectValidator<JourneyContext>({
|
|
|
2621
2634
|
calendarEventId: mongoIdStringOptional,
|
|
2622
2635
|
formResponseId: mongoIdStringOptional,
|
|
2623
2636
|
purchaseId: mongoIdStringOptional,
|
|
2637
|
+
templateId: mongoIdStringOptional,
|
|
2624
2638
|
})
|
|
2625
2639
|
|
|
2626
2640
|
export const relatedRecordValidator = objectValidator<RelatedRecord>({
|
|
@@ -2819,6 +2833,11 @@ export const tableInputChoiceValidator = orValidator<{ [K in TableInputChoiceTyp
|
|
|
2819
2833
|
}),
|
|
2820
2834
|
})
|
|
2821
2835
|
|
|
2836
|
+
export const formFieldFeedbackValidator = objectValidator<FormFieldFeedback>({
|
|
2837
|
+
ifEquals: stringValidator,
|
|
2838
|
+
display: stringValidator,
|
|
2839
|
+
})
|
|
2840
|
+
|
|
2822
2841
|
export const formFieldOptionsValidator = objectValidator<FormFieldOptions>({
|
|
2823
2842
|
bookingPageId: stringValidatorOptional,
|
|
2824
2843
|
tableChoices: listValidatorOptionalOrEmptyOk(tableInputChoiceValidator),
|
|
@@ -2960,6 +2979,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
2960
2979
|
type: exactMatchValidator(['Text']),
|
|
2961
2980
|
label: stringValidator250,
|
|
2962
2981
|
hideFromTable: booleanValidatorOptional,
|
|
2982
|
+
wrap: stringValidatorOptional,
|
|
2963
2983
|
required: booleanValidatorOptional,
|
|
2964
2984
|
options: objectValidator<DatabaseRecordFields['Text']['options']>({
|
|
2965
2985
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -2969,6 +2989,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
2969
2989
|
type: exactMatchValidator(['Email']),
|
|
2970
2990
|
label: stringValidator250,
|
|
2971
2991
|
hideFromTable: booleanValidatorOptional,
|
|
2992
|
+
wrap: stringValidatorOptional,
|
|
2972
2993
|
required: booleanValidatorOptional,
|
|
2973
2994
|
options: objectValidator<DatabaseRecordFields['Email']['options']>({
|
|
2974
2995
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -2978,6 +2999,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
2978
2999
|
type: exactMatchValidator(['Phone']),
|
|
2979
3000
|
label: stringValidator250,
|
|
2980
3001
|
hideFromTable: booleanValidatorOptional,
|
|
3002
|
+
wrap: stringValidatorOptional,
|
|
2981
3003
|
required: booleanValidatorOptional,
|
|
2982
3004
|
options: objectValidator<DatabaseRecordFields['Phone']['options']>({
|
|
2983
3005
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -2987,6 +3009,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
2987
3009
|
type: exactMatchValidator(['Text Long']),
|
|
2988
3010
|
label: stringValidator250,
|
|
2989
3011
|
hideFromTable: booleanValidatorOptional,
|
|
3012
|
+
wrap: stringValidatorOptional,
|
|
2990
3013
|
required: booleanValidatorOptional,
|
|
2991
3014
|
options: objectValidator<DatabaseRecordFields['Text Long']['options']>({
|
|
2992
3015
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -2996,6 +3019,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
2996
3019
|
type: exactMatchValidator(['Text List']),
|
|
2997
3020
|
label: stringValidator250,
|
|
2998
3021
|
hideFromTable: booleanValidatorOptional,
|
|
3022
|
+
wrap: stringValidatorOptional,
|
|
2999
3023
|
required: booleanValidatorOptional,
|
|
3000
3024
|
options: objectValidator<DatabaseRecordFields['Text List']['options']>({
|
|
3001
3025
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -3005,6 +3029,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
3005
3029
|
type: exactMatchValidator(['Number']),
|
|
3006
3030
|
label: stringValidator250,
|
|
3007
3031
|
hideFromTable: booleanValidatorOptional,
|
|
3032
|
+
wrap: stringValidatorOptional,
|
|
3008
3033
|
required: booleanValidatorOptional,
|
|
3009
3034
|
options: objectValidator<DatabaseRecordFields['Number']['options']>({
|
|
3010
3035
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -3014,6 +3039,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
3014
3039
|
type: exactMatchValidator(['Address']),
|
|
3015
3040
|
label: stringValidator250,
|
|
3016
3041
|
hideFromTable: booleanValidatorOptional,
|
|
3042
|
+
wrap: stringValidatorOptional,
|
|
3017
3043
|
required: booleanValidatorOptional,
|
|
3018
3044
|
options: objectValidator<DatabaseRecordFields['Address']['options']>({
|
|
3019
3045
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -3023,6 +3049,7 @@ export const databaseFieldValidator = orValidator<{ [K in DatabaseRecordFieldTyp
|
|
|
3023
3049
|
type: exactMatchValidator(['Multiple Select']),
|
|
3024
3050
|
label: stringValidator250,
|
|
3025
3051
|
hideFromTable: booleanValidatorOptional,
|
|
3052
|
+
wrap: stringValidatorOptional,
|
|
3026
3053
|
required: booleanValidatorOptional,
|
|
3027
3054
|
options: objectValidator<DatabaseRecordFields['Multiple Select']['options']>({
|
|
3028
3055
|
width: stringValidatorOptionalEmptyOkay,
|
|
@@ -3071,7 +3098,7 @@ export const databaseRecordValueValidator = orValidator<{ [K in DatabaseRecordFi
|
|
|
3071
3098
|
}),
|
|
3072
3099
|
'Multiple Select': objectValidator<DatabaseRecordValues['Multiple Select']>({
|
|
3073
3100
|
type: exactMatchValidator(['Multiple Select']),
|
|
3074
|
-
value:
|
|
3101
|
+
value: listOfStringsValidatorOptionalOrEmptyOk,
|
|
3075
3102
|
label: stringValidator250,
|
|
3076
3103
|
}),
|
|
3077
3104
|
})
|
|
@@ -3189,6 +3216,7 @@ export const weeklyAvailabilityValidator = objectValidator<WeeklyAvailability>({
|
|
|
3189
3216
|
locationId: mongoIdStringOptional,
|
|
3190
3217
|
active: dateRangeOptionalValidator,
|
|
3191
3218
|
validTemplateIds: listOfMongoIdStringValidatorOptionalOrEmptyOk,
|
|
3219
|
+
intervalInMinutes: numberValidatorOptional,
|
|
3192
3220
|
})
|
|
3193
3221
|
export const weeklyAvailabilitiesValidator = listValidatorEmptyOk(weeklyAvailabilityValidator)
|
|
3194
3222
|
|
|
@@ -3308,6 +3336,7 @@ export const organizationSettingsValidator = objectValidator<OrganizationSetting
|
|
|
3308
3336
|
recordCalls: booleanValidatorOptional,
|
|
3309
3337
|
transcribeCalls: booleanValidatorOptional,
|
|
3310
3338
|
showFreeNote: booleanValidatorOptional,
|
|
3339
|
+
canDeleteFreeNote: booleanValidatorOptional,
|
|
3311
3340
|
customFields: customEnduserFieldsValidatorOptionalOrEmpty,
|
|
3312
3341
|
builtinFields: buildInFieldsValidator,
|
|
3313
3342
|
tags: listOfStringsValidatorOptionalOrEmptyOk,
|
|
@@ -3404,6 +3433,7 @@ const _AUTOMATION_TRIGGER_EVENT_TYPES: { [K in AutomationTriggerEventType]: any
|
|
|
3404
3433
|
"Has Not Engaged": true,
|
|
3405
3434
|
"Vital Count": true,
|
|
3406
3435
|
'Vital Update': true,
|
|
3436
|
+
"SMS Reply": true,
|
|
3407
3437
|
}
|
|
3408
3438
|
export const AUTOMATION_TRIGGER_EVENT_TYPES = Object.keys(_AUTOMATION_TRIGGER_EVENT_TYPES) as AutomationTriggerEventType[]
|
|
3409
3439
|
|
|
@@ -3499,6 +3529,13 @@ export const automationTriggerEventValidator = orValidator<{ [K in AutomationTri
|
|
|
3499
3529
|
}),
|
|
3500
3530
|
conditions: optionalEmptyObjectValidator,
|
|
3501
3531
|
}),
|
|
3532
|
+
"SMS Reply": objectValidator<AutomationTriggerEvents["SMS Reply"]>({
|
|
3533
|
+
type: exactMatchValidator(['SMS Reply']),
|
|
3534
|
+
info: objectValidator<AutomationTriggerEvents['SMS Reply']['info']>({
|
|
3535
|
+
templateIds: listOfMongoIdStringValidator,
|
|
3536
|
+
}),
|
|
3537
|
+
conditions: optionalEmptyObjectValidator,
|
|
3538
|
+
}),
|
|
3502
3539
|
})
|
|
3503
3540
|
|
|
3504
3541
|
const _AUTOMATION_TRIGGER_ACTION_TYPES: { [K in AutomationTriggerActionType]: any } = {
|
|
@@ -3949,7 +3986,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
3949
3986
|
State: booleanValidatorOptional,
|
|
3950
3987
|
}, { isOptional: true, emptyOk: true }),
|
|
3951
3988
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
3952
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
3989
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
3953
3990
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Endusers']>(['Created At', 'Updated At']),
|
|
3954
3991
|
}, { isOptional: true, emptyOk: true })
|
|
3955
3992
|
}),
|
|
@@ -3981,7 +4018,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
3981
4018
|
State: booleanValidatorOptional,
|
|
3982
4019
|
}, { isOptional: true, emptyOk: true }),
|
|
3983
4020
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
3984
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4021
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
3985
4022
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Calendar Events']>(['Created At', 'Updated At']),
|
|
3986
4023
|
}, { isOptional: true, emptyOk: true })
|
|
3987
4024
|
}),
|
|
@@ -4011,7 +4048,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4011
4048
|
State: booleanValidatorOptional,
|
|
4012
4049
|
}, { isOptional: true, emptyOk: true }),
|
|
4013
4050
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4014
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4051
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4015
4052
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Form Responses']>(['Created At', 'Updated At']),
|
|
4016
4053
|
}, { isOptional: true, emptyOk: true })
|
|
4017
4054
|
}),
|
|
@@ -4035,7 +4072,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4035
4072
|
State: booleanValidatorOptional,
|
|
4036
4073
|
}, { isOptional: true, emptyOk: true }),
|
|
4037
4074
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4038
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4075
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4039
4076
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Calendar Events']>(['Created At', 'Updated At']),
|
|
4040
4077
|
}, { isOptional: true, emptyOk: true })
|
|
4041
4078
|
}),
|
|
@@ -4058,7 +4095,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4058
4095
|
State: booleanValidatorOptional,
|
|
4059
4096
|
}, { isOptional: true, emptyOk: true }),
|
|
4060
4097
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4061
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4098
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4062
4099
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Purchase Credits']>(['Created At', 'Updated At']),
|
|
4063
4100
|
}, { isOptional: true, emptyOk: true })
|
|
4064
4101
|
}),
|
|
@@ -4081,7 +4118,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4081
4118
|
State: booleanValidatorOptional,
|
|
4082
4119
|
}, { isOptional: true, emptyOk: true }),
|
|
4083
4120
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4084
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4121
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4085
4122
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Tickets']>(['Created At', 'Updated At']),
|
|
4086
4123
|
}, { isOptional: true, emptyOk: true })
|
|
4087
4124
|
}),
|
|
@@ -4104,7 +4141,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4104
4141
|
State: booleanValidatorOptional,
|
|
4105
4142
|
}, { isOptional: true, emptyOk: true }),
|
|
4106
4143
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4107
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4144
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4108
4145
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Emails']>(['Created At', 'Updated At']),
|
|
4109
4146
|
}, { isOptional: true, emptyOk: true })
|
|
4110
4147
|
}),
|
|
@@ -4131,7 +4168,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4131
4168
|
State: booleanValidatorOptional,
|
|
4132
4169
|
}, { isOptional: true, emptyOk: true }),
|
|
4133
4170
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4134
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4171
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4135
4172
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Phone Calls']>(['Created At', 'Updated At']),
|
|
4136
4173
|
}, { isOptional: true, emptyOk: true })
|
|
4137
4174
|
}),
|
|
@@ -4158,7 +4195,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4158
4195
|
State: booleanValidatorOptional,
|
|
4159
4196
|
}, { isOptional: true, emptyOk: true }),
|
|
4160
4197
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4161
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4198
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4162
4199
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['SMS Messages']>(['Created At', 'Updated At']),
|
|
4163
4200
|
}, { isOptional: true, emptyOk: true })
|
|
4164
4201
|
}),
|
|
@@ -4181,7 +4218,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4181
4218
|
State: booleanValidatorOptional,
|
|
4182
4219
|
}, { isOptional: true, emptyOk: true }),
|
|
4183
4220
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4184
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4221
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4185
4222
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Medications']>(['Created At', 'Updated At']),
|
|
4186
4223
|
}, { isOptional: true, emptyOk: true })
|
|
4187
4224
|
}),
|
|
@@ -4206,7 +4243,7 @@ export const analyticsQueryValidator = orValidator<{ [K in AnalyticsQueryType]:
|
|
|
4206
4243
|
State: booleanValidatorOptional,
|
|
4207
4244
|
}, { isOptional: true, emptyOk: true }),
|
|
4208
4245
|
range: objectValidator<AnalyticsQueryRange<any>>({
|
|
4209
|
-
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly']),
|
|
4246
|
+
interval: exactMatchValidator<AnalyticsQueryRangeInterval>(['Daily', 'Weekly', 'Monthly', 'Hourly']),
|
|
4210
4247
|
key: exactMatchValidator<AnalyticsQueryRangeKeyForType['Files']>(['Created At', 'Updated At']),
|
|
4211
4248
|
}, { isOptional: true, emptyOk: true })
|
|
4212
4249
|
}),
|
|
@@ -4430,6 +4467,7 @@ export const tableViewColumnsValidator = listValidatorEmptyOk(objectValidator<Ta
|
|
|
4430
4467
|
field: stringValidator100,
|
|
4431
4468
|
width: numberValidatorOptional,
|
|
4432
4469
|
type: stringValidatorOptionalEmptyOkay,
|
|
4470
|
+
wrap: stringValidatorOptional,
|
|
4433
4471
|
}))
|
|
4434
4472
|
|
|
4435
4473
|
export const formFieldCalloutConditionsValidator = listValidatorOptionalOrEmptyOk(objectValidator<FormFieldCalloutCondition>({
|