react-native-scanbot-barcode-scanner-sdk 5.1.2-alpha.1 → 6.1.0-rc.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/Libraries.txt +439 -16
- package/RNScanbotBarcodeSDK.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/gradle.properties +4 -4
- package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule.kt +27 -25
- package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkPluginResultDelegate.kt +2 -2
- package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcode_scanner_view/ScanbotBarcodeScannerViewEvents.kt +4 -4
- package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcode_scanner_view/ScanbotBarcodeScannerViewManager.kt +0 -1
- package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/models/ScanbotBarcodeScannerModels.kt +4 -10
- package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerLegacyView.m +4 -4
- package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerView.mm +0 -4
- package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerViewControllerWrapper.h +0 -3
- package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerViewControllerWrapper.m +1 -5
- package/ios/ScanbotBarcodeSdk.m +57 -48
- package/ios/ScanbotBarcodeSdkPluginResultDelegate.h +1 -1
- package/ios/ScanbotBarcodeSdkPluginResultDelegate.m +13 -13
- package/lib/commonjs/component/spec/ScanbotBarcodeScannerViewNativeComponent.js.map +1 -1
- package/lib/commonjs/documents/BarcodeDocumentModel.js +612 -613
- package/lib/commonjs/documents/BarcodeDocumentModel.js.map +1 -1
- package/lib/commonjs/documents/GenericDocument.js +82 -49
- package/lib/commonjs/documents/GenericDocument.js.map +1 -1
- package/lib/commonjs/index.js +15 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/ArTrackingOverlayConfiguration.js +10 -47
- package/lib/commonjs/ui_v2/barcode/ArTrackingOverlayConfiguration.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/BarcodeRecognizerConfiguration.js +47 -19
- package/lib/commonjs/ui_v2/barcode/BarcodeRecognizerConfiguration.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/BarcodeScannerConfiguration.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/FindAndPickScanningModeUseCase.js +8 -4
- package/lib/commonjs/ui_v2/barcode/FindAndPickScanningModeUseCase.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/MultipleScanningModeUseCase.js +9 -1
- package/lib/commonjs/ui_v2/barcode/MultipleScanningModeUseCase.js.map +1 -1
- package/lib/commonjs/ui_v2/barcode/SingleScanningModeUseCase.js +1 -1
- package/lib/commonjs/ui_v2/barcode/SingleScanningModeUseCase.js.map +1 -1
- package/lib/commonjs/ui_v2/common/CameraPermission.js +22 -6
- package/lib/commonjs/ui_v2/common/CameraPermission.js.map +1 -1
- package/lib/commonjs/ui_v2/common/Common.js +175 -5
- package/lib/commonjs/ui_v2/common/Common.js.map +1 -1
- package/lib/commonjs/ui_v2/common/NavigationBarConfiguration.js +6 -0
- package/lib/commonjs/ui_v2/common/NavigationBarConfiguration.js.map +1 -0
- package/lib/commonjs/ui_v2/common/ScanbotAlertDialog.js +27 -5
- package/lib/commonjs/ui_v2/common/ScanbotAlertDialog.js.map +1 -1
- package/lib/commonjs/ui_v2/common/UserGuidanceConfiguration.js +48 -1
- package/lib/commonjs/ui_v2/common/UserGuidanceConfiguration.js.map +1 -1
- package/lib/commonjs/ui_v2/index.js +14 -1
- package/lib/commonjs/ui_v2/index.js.map +1 -1
- package/lib/commonjs/utils.js +8 -1
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/component/spec/ScanbotBarcodeScannerViewNativeComponent.js.map +1 -1
- package/lib/module/documents/BarcodeDocumentModel.js +611 -612
- package/lib/module/documents/BarcodeDocumentModel.js.map +1 -1
- package/lib/module/documents/GenericDocument.js +84 -51
- package/lib/module/documents/GenericDocument.js.map +1 -1
- package/lib/module/index.js +7 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui_v2/barcode/ArTrackingOverlayConfiguration.js +1 -36
- package/lib/module/ui_v2/barcode/ArTrackingOverlayConfiguration.js.map +1 -1
- package/lib/module/ui_v2/barcode/BarcodeRecognizerConfiguration.js +47 -19
- package/lib/module/ui_v2/barcode/BarcodeRecognizerConfiguration.js.map +1 -1
- package/lib/module/ui_v2/barcode/BarcodeScannerConfiguration.js.map +1 -1
- package/lib/module/ui_v2/barcode/FindAndPickScanningModeUseCase.js +6 -2
- package/lib/module/ui_v2/barcode/FindAndPickScanningModeUseCase.js.map +1 -1
- package/lib/module/ui_v2/barcode/MultipleScanningModeUseCase.js +9 -1
- package/lib/module/ui_v2/barcode/MultipleScanningModeUseCase.js.map +1 -1
- package/lib/module/ui_v2/barcode/SingleScanningModeUseCase.js +1 -1
- package/lib/module/ui_v2/barcode/SingleScanningModeUseCase.js.map +1 -1
- package/lib/module/ui_v2/common/CameraPermission.js +22 -6
- package/lib/module/ui_v2/common/CameraPermission.js.map +1 -1
- package/lib/module/ui_v2/common/Common.js +168 -2
- package/lib/module/ui_v2/common/Common.js.map +1 -1
- package/lib/module/ui_v2/common/NavigationBarConfiguration.js +2 -0
- package/lib/module/ui_v2/common/NavigationBarConfiguration.js.map +1 -0
- package/lib/module/ui_v2/common/ScanbotAlertDialog.js +28 -5
- package/lib/module/ui_v2/common/ScanbotAlertDialog.js.map +1 -1
- package/lib/module/ui_v2/common/UserGuidanceConfiguration.js +47 -0
- package/lib/module/ui_v2/common/UserGuidanceConfiguration.js.map +1 -1
- package/lib/module/ui_v2/index.js +3 -1
- package/lib/module/ui_v2/index.js.map +1 -1
- package/lib/module/utils.js +6 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.d.ts +3 -5
- package/lib/typescript/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.d.ts.map +1 -1
- package/lib/typescript/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.d.ts +0 -1
- package/lib/typescript/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/configurations.d.ts +13 -5
- package/lib/typescript/src/configurations.d.ts.map +1 -1
- package/lib/typescript/src/customConfigurations.d.ts +19 -3
- package/lib/typescript/src/customConfigurations.d.ts.map +1 -1
- package/lib/typescript/src/documents/BarcodeDocumentModel.d.ts +70 -71
- package/lib/typescript/src/documents/BarcodeDocumentModel.d.ts.map +1 -1
- package/lib/typescript/src/documents/CommonFieldType.d.ts +58 -109
- package/lib/typescript/src/documents/CommonFieldType.d.ts.map +1 -1
- package/lib/typescript/src/documents/GenericDocument.d.ts +95 -86
- package/lib/typescript/src/documents/GenericDocument.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/results.d.ts +1 -13
- package/lib/typescript/src/results.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +25 -20
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/barcode/ArTrackingOverlayConfiguration.d.ts +1 -22
- package/lib/typescript/src/ui_v2/barcode/ArTrackingOverlayConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/barcode/BarcodeRecognizerConfiguration.d.ts +41 -19
- package/lib/typescript/src/ui_v2/barcode/BarcodeRecognizerConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/barcode/BarcodeScannerConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/barcode/FindAndPickScanningModeUseCase.d.ts +4 -0
- package/lib/typescript/src/ui_v2/barcode/FindAndPickScanningModeUseCase.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/barcode/MultipleScanningModeUseCase.d.ts +5 -0
- package/lib/typescript/src/ui_v2/barcode/MultipleScanningModeUseCase.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/common/CameraPermission.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/common/Common.d.ts +103 -1
- package/lib/typescript/src/ui_v2/common/Common.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/common/NavigationBarConfiguration.d.ts +12 -0
- package/lib/typescript/src/ui_v2/common/NavigationBarConfiguration.d.ts.map +1 -0
- package/lib/typescript/src/ui_v2/common/ScanbotAlertDialog.d.ts +4 -0
- package/lib/typescript/src/ui_v2/common/ScanbotAlertDialog.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/common/UserGuidanceConfiguration.d.ts +25 -0
- package/lib/typescript/src/ui_v2/common/UserGuidanceConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/ui_v2/index.d.ts +1 -0
- package/lib/typescript/src/ui_v2/index.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +5 -0
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.ts +2 -5
- package/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.ts +0 -1
- package/src/configurations.ts +19 -7
- package/src/customConfigurations.ts +19 -3
- package/src/documents/BarcodeDocumentModel.ts +644 -623
- package/src/documents/CommonFieldType.ts +59 -82
- package/src/documents/GenericDocument.ts +104 -86
- package/src/index.ts +7 -1
- package/src/results.ts +1 -16
- package/src/types.ts +26 -23
- package/src/ui_v2/barcode/ArTrackingOverlayConfiguration.ts +1 -36
- package/src/ui_v2/barcode/BarcodeRecognizerConfiguration.ts +60 -22
- package/src/ui_v2/barcode/BarcodeScannerConfiguration.ts +2 -2
- package/src/ui_v2/barcode/BarcodeUseCase.ts +1 -1
- package/src/ui_v2/barcode/FindAndPickScanningModeUseCase.ts +6 -2
- package/src/ui_v2/barcode/MultipleScanningModeUseCase.ts +9 -1
- package/src/ui_v2/barcode/SingleScanningModeUseCase.ts +1 -1
- package/src/ui_v2/common/CameraPermission.ts +22 -6
- package/src/ui_v2/common/Common.ts +168 -2
- package/src/ui_v2/common/NavigationBarConfiguration.ts +13 -0
- package/src/ui_v2/common/ScanbotAlertDialog.ts +25 -6
- package/src/ui_v2/common/UserGuidanceConfiguration.ts +41 -0
- package/src/ui_v2/index.ts +5 -9
- package/src/utils.ts +10 -0
- package/lib/commonjs/documents/Point.js +0 -14
- package/lib/commonjs/documents/Point.js.map +0 -1
- package/lib/module/documents/Point.js +0 -7
- package/lib/module/documents/Point.js.map +0 -1
- package/lib/typescript/src/documents/Point.d.ts +0 -6
- package/lib/typescript/src/documents/Point.d.ts.map +0 -1
- package/src/documents/Point.ts +0 -10
|
@@ -1,85 +1,85 @@
|
|
|
1
1
|
import { GenericDocument, Field } from './GenericDocument';
|
|
2
2
|
|
|
3
3
|
/// All possible root document types.
|
|
4
|
-
export type
|
|
5
|
-
| typeof
|
|
6
|
-
| typeof
|
|
7
|
-
| typeof
|
|
8
|
-
| typeof
|
|
9
|
-
| typeof
|
|
10
|
-
| typeof
|
|
11
|
-
| typeof
|
|
12
|
-
| typeof
|
|
13
|
-
| typeof
|
|
14
|
-
|
|
15
|
-
export const
|
|
16
|
-
export const
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
24
|
-
export const
|
|
25
|
-
export const
|
|
26
|
-
export const
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
29
|
-
export const
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
32
|
-
export const
|
|
33
|
-
export const
|
|
34
|
-
export const
|
|
35
|
-
export const
|
|
36
|
-
export const
|
|
37
|
-
export const
|
|
38
|
-
export const
|
|
39
|
-
export const
|
|
40
|
-
export const
|
|
41
|
-
export const
|
|
42
|
-
export const
|
|
43
|
-
export const
|
|
44
|
-
export const
|
|
45
|
-
export const
|
|
46
|
-
export const
|
|
47
|
-
export const
|
|
48
|
-
export const
|
|
49
|
-
export const
|
|
50
|
-
export const
|
|
51
|
-
export const
|
|
52
|
-
export const
|
|
53
|
-
export const
|
|
54
|
-
export const
|
|
55
|
-
export const
|
|
56
|
-
export const
|
|
57
|
-
export const
|
|
58
|
-
export const
|
|
59
|
-
export const
|
|
60
|
-
export const
|
|
61
|
-
export const
|
|
62
|
-
export const
|
|
63
|
-
export const
|
|
64
|
-
export const
|
|
65
|
-
export const
|
|
66
|
-
export const
|
|
67
|
-
export const
|
|
68
|
-
export const
|
|
69
|
-
export const
|
|
70
|
-
export const
|
|
71
|
-
export const
|
|
72
|
-
export const
|
|
73
|
-
export const
|
|
74
|
-
export const
|
|
75
|
-
export const
|
|
76
|
-
export const
|
|
77
|
-
export const
|
|
78
|
-
export const
|
|
79
|
-
export const
|
|
80
|
-
export const
|
|
81
|
-
export const
|
|
82
|
-
export const
|
|
4
|
+
export type BarcodeDocumentModelRootType =
|
|
5
|
+
| typeof BoardingPassDocumentType
|
|
6
|
+
| typeof SwissQRDocumentType
|
|
7
|
+
| typeof DEMedicalPlanDocumentType
|
|
8
|
+
| typeof IDCardPDF417DocumentType
|
|
9
|
+
| typeof GS1DocumentType
|
|
10
|
+
| typeof SEPADocumentType
|
|
11
|
+
| typeof MedicalCertificateDocumentType
|
|
12
|
+
| typeof VCardDocumentType
|
|
13
|
+
| typeof AAMVADocumentType;
|
|
14
|
+
|
|
15
|
+
export const BoardingPassDocumentType = 'BoardingPass';
|
|
16
|
+
export const BoardingPassLegDocumentType = 'Leg';
|
|
17
|
+
export const SwissQRDocumentType = 'SwissQR';
|
|
18
|
+
export const DEMedicalPlanDocumentType = 'DEMedicalPlan';
|
|
19
|
+
export const DEMedicalPlanPatientDocumentType = 'Patient';
|
|
20
|
+
export const DEMedicalPlanDoctorDocumentType = 'Doctor';
|
|
21
|
+
export const DEMedicalPlanSubheadingDocumentType = 'Subheading';
|
|
22
|
+
export const DEMedicalPlanSubheadingMedicineDocumentType = 'Medicine';
|
|
23
|
+
export const DEMedicalPlanSubheadingMedicineSubstanceDocumentType = 'Substance';
|
|
24
|
+
export const DEMedicalPlanSubheadingPrescriptionDocumentType = 'Prescription';
|
|
25
|
+
export const IDCardPDF417DocumentType = 'IDCardPDF417';
|
|
26
|
+
export const GS1DocumentType = 'GS1';
|
|
27
|
+
export const GS1ElementDocumentType = 'Element';
|
|
28
|
+
export const GS1ElementValidationErrorDocumentType = 'ValidationError';
|
|
29
|
+
export const SEPADocumentType = 'SEPA';
|
|
30
|
+
export const MedicalCertificateDocumentType = 'MedicalCertificate';
|
|
31
|
+
export const VCardDocumentType = 'VCard';
|
|
32
|
+
export const VCardEntryDocumentType = 'Entry';
|
|
33
|
+
export const VCardVersionDocumentType = 'Version';
|
|
34
|
+
export const VCardSourceDocumentType = 'Source';
|
|
35
|
+
export const VCardKindDocumentType = 'Kind';
|
|
36
|
+
export const VCardXMLDocumentType = 'XML';
|
|
37
|
+
export const VCardNameDocumentType = 'Name';
|
|
38
|
+
export const VCardFirstNameDocumentType = 'FirstName';
|
|
39
|
+
export const VCardNicknameDocumentType = 'Nickname';
|
|
40
|
+
export const VCardBirthdayDocumentType = 'Birthday';
|
|
41
|
+
export const VCardAnniversaryDocumentType = 'Anniversary';
|
|
42
|
+
export const VCardGenderDocumentType = 'Gender';
|
|
43
|
+
export const VCardDeliveryAddressDocumentType = 'DeliveryAddress';
|
|
44
|
+
export const VCardPhotoDocumentType = 'Photo';
|
|
45
|
+
export const VCardTelephoneNumberDocumentType = 'TelephoneNumber';
|
|
46
|
+
export const VCardEmailDocumentType = 'Email';
|
|
47
|
+
export const VCardIMPPDocumentType = 'IMPP';
|
|
48
|
+
export const VCardLanguagesDocumentType = 'Languages';
|
|
49
|
+
export const VCardTimeZoneDocumentType = 'TimeZone';
|
|
50
|
+
export const VCardGeoLocationDocumentType = 'GeoLocation';
|
|
51
|
+
export const VCardTitleDocumentType = 'Title';
|
|
52
|
+
export const VCardRoleDocumentType = 'Role';
|
|
53
|
+
export const VCardLogoDocumentType = 'Logo';
|
|
54
|
+
export const VCardOrganisationDocumentType = 'Organisation';
|
|
55
|
+
export const VCardMemberDocumentType = 'Member';
|
|
56
|
+
export const VCardRelatedDocumentType = 'Related';
|
|
57
|
+
export const VCardCategoriesDocumentType = 'Categories';
|
|
58
|
+
export const VCardNoteDocumentType = 'Note';
|
|
59
|
+
export const VCardProductIdDocumentType = 'ProductId';
|
|
60
|
+
export const VCardRevisionDocumentType = 'Revision';
|
|
61
|
+
export const VCardSoundDocumentType = 'Sound';
|
|
62
|
+
export const VCardUIDDocumentType = 'UID';
|
|
63
|
+
export const VCardClientPIDMapDocumentType = 'ClientPIDMap';
|
|
64
|
+
export const VCardURLDocumentType = 'URL';
|
|
65
|
+
export const VCardPublicKeyDocumentType = 'PublicKey';
|
|
66
|
+
export const VCardBusyTimeURLDocumentType = 'BusyTimeURL';
|
|
67
|
+
export const VCardCalendarURIForRequestsDocumentType = 'CalendarURIForRequests';
|
|
68
|
+
export const VCardCalendarURIDocumentType = 'CalendarURI';
|
|
69
|
+
export const VCardCustomDocumentType = 'Custom';
|
|
70
|
+
export const AAMVADocumentType = 'AAMVA';
|
|
71
|
+
export const AAMVATitleDataDocumentType = 'TitleData';
|
|
72
|
+
export const AAMVARegistrationDataDocumentType = 'RegistrationData';
|
|
73
|
+
export const AAMVAMotorCarrierDataDocumentType = 'MotorCarrierData';
|
|
74
|
+
export const AAMVARegistrantAndVehicleDataDocumentType = 'RegistrantAndVehicleData';
|
|
75
|
+
export const AAMVAVehicleOwnerDataDocumentType = 'VehicleOwnerData';
|
|
76
|
+
export const AAMVAVehicleDataDocumentType = 'VehicleData';
|
|
77
|
+
export const AAMVAVehicleSafetyInspectionDataDocumentType = 'VehicleSafetyInspectionData';
|
|
78
|
+
export const AAMVADLIDDocumentType = 'DLID';
|
|
79
|
+
export const AAMVADriverLicenseDocumentType = 'DriverLicense';
|
|
80
|
+
export const AAMVAIDCardDocumentType = 'IDCard';
|
|
81
|
+
export const AAMVAEnhancedDriverLicenseDocumentType = 'EnhancedDriverLicense';
|
|
82
|
+
export const AAMVARawDocumentDocumentType = 'RawDocument';
|
|
83
83
|
|
|
84
84
|
/** Boarding Pass */
|
|
85
85
|
export class BoardingPass {
|
|
@@ -90,7 +90,7 @@ export class BoardingPass {
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
constructor(document: GenericDocument) {
|
|
93
|
-
if (document.type.name
|
|
93
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
94
94
|
throw new Error(
|
|
95
95
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
96
96
|
);
|
|
@@ -100,33 +100,33 @@ export class BoardingPass {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
requiredDocumentType(): string {
|
|
103
|
-
return
|
|
103
|
+
return BoardingPassDocumentType;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/** Electronic Ticket */
|
|
107
107
|
get electronicTicket(): Field {
|
|
108
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
108
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ElectronicTicket') as Field;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
/** Name */
|
|
112
112
|
get name(): Field {
|
|
113
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
113
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Name') as Field;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
/** Number Of Legs */
|
|
117
117
|
get numberOfLegs(): Field {
|
|
118
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
118
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfLegs') as Field;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/** Security Data */
|
|
122
122
|
get securityData(): Field {
|
|
123
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
123
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecurityData') as Field;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/** An array of all children of type "Leg". */
|
|
127
127
|
get legs(): BoardingPass.Leg[] {
|
|
128
128
|
return this.document.children
|
|
129
|
-
.filter((c: GenericDocument) => c.type.name
|
|
129
|
+
.filter((c: GenericDocument) => c.type.name === 'Leg')
|
|
130
130
|
.map((c: GenericDocument) => new BoardingPass.Leg(c));
|
|
131
131
|
}
|
|
132
132
|
}
|
|
@@ -141,7 +141,7 @@ export namespace BoardingPass {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
constructor(document: GenericDocument) {
|
|
144
|
-
if (document.type.name
|
|
144
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
145
145
|
throw new Error(
|
|
146
146
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
147
147
|
);
|
|
@@ -151,186 +151,188 @@ export namespace BoardingPass {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
requiredDocumentType(): string {
|
|
154
|
-
return
|
|
154
|
+
return BoardingPassLegDocumentType;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
/** Airline Designator Of Boarding Pass Issuer */
|
|
158
158
|
get airlineDesignatorOfBoardingPassIssuer(): Field | undefined {
|
|
159
159
|
return this.document.fields.find(
|
|
160
|
-
(f: Field) => f.type.name
|
|
160
|
+
(f: Field) => f.type.name === 'AirlineDesignatorOfBoardingPassIssuer'
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
/** Airline Numeric Code */
|
|
165
165
|
get airlineNumericCode(): Field | undefined {
|
|
166
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
166
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AirlineNumericCode');
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
/** Baggage Tag License Plate Numbers */
|
|
170
170
|
get baggageTagLicensePlateNumbers(): Field | undefined {
|
|
171
171
|
return this.document.fields.find(
|
|
172
|
-
(f: Field) => f.type.name
|
|
172
|
+
(f: Field) => f.type.name === 'BaggageTagLicensePlateNumbers'
|
|
173
173
|
);
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
/** Check In Sequence Number */
|
|
177
177
|
get checkInSequenceNumber(): Field {
|
|
178
178
|
return this.document.fields.find(
|
|
179
|
-
(f: Field) => f.type.name
|
|
179
|
+
(f: Field) => f.type.name === 'CheckInSequenceNumber'
|
|
180
180
|
) as Field;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
/** Compartment Code */
|
|
184
184
|
get compartmentCode(): Field {
|
|
185
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
185
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CompartmentCode') as Field;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
/** Date Of Boarding Pass Issuance Julian */
|
|
189
189
|
get dateOfBoardingPassIssuanceJulian(): Field | undefined {
|
|
190
190
|
return this.document.fields.find(
|
|
191
|
-
(f: Field) => f.type.name
|
|
191
|
+
(f: Field) => f.type.name === 'DateOfBoardingPassIssuanceJulian'
|
|
192
192
|
);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
/** Date Of Flight Julian */
|
|
196
196
|
get dateOfFlightJulian(): Field {
|
|
197
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
197
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateOfFlightJulian') as Field;
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
/** Departure Airport Code */
|
|
201
201
|
get departureAirportCode(): Field {
|
|
202
202
|
return this.document.fields.find(
|
|
203
|
-
(f: Field) => f.type.name
|
|
203
|
+
(f: Field) => f.type.name === 'DepartureAirportCode'
|
|
204
204
|
) as Field;
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
/** Destination Airport Code */
|
|
208
208
|
get destinationAirportCode(): Field {
|
|
209
209
|
return this.document.fields.find(
|
|
210
|
-
(f: Field) => f.type.name
|
|
210
|
+
(f: Field) => f.type.name === 'DestinationAirportCode'
|
|
211
211
|
) as Field;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
/** Document Form Serial Number */
|
|
215
215
|
get documentFormSerialNumber(): Field | undefined {
|
|
216
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
216
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentFormSerialNumber');
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
/** Document Type */
|
|
220
220
|
get documentType(): Field | undefined {
|
|
221
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
221
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentType');
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
/** Fast Track */
|
|
225
225
|
get fastTrack(): Field | undefined {
|
|
226
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
226
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FastTrack');
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
/** First Non Consecutive Baggage Tag License Plate Number */
|
|
230
230
|
get firstNonConsecutiveBaggageTagLicensePlateNumber(): Field | undefined {
|
|
231
231
|
return this.document.fields.find(
|
|
232
|
-
(f: Field) => f.type.name
|
|
232
|
+
(f: Field) => f.type.name === 'FirstNonConsecutiveBaggageTagLicensePlateNumber'
|
|
233
233
|
);
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
/** Flight Number */
|
|
237
237
|
get flightNumber(): Field {
|
|
238
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
238
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FlightNumber') as Field;
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
/** For Individual Airline Use */
|
|
242
242
|
get forIndividualAirlineUse(): Field | undefined {
|
|
243
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
243
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ForIndividualAirlineUse');
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
/** Free Baggage Allowance */
|
|
247
247
|
get freeBaggageAllowance(): Field | undefined {
|
|
248
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
248
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FreeBaggageAllowance');
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
/** Frequent Flyer Airline Designator */
|
|
252
252
|
get frequentFlyerAirlineDesignator(): Field | undefined {
|
|
253
253
|
return this.document.fields.find(
|
|
254
|
-
(f: Field) => f.type.name
|
|
254
|
+
(f: Field) => f.type.name === 'FrequentFlyerAirlineDesignator'
|
|
255
255
|
);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
/** Frequent Flyer Number */
|
|
259
259
|
get frequentFlyerNumber(): Field | undefined {
|
|
260
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
260
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FrequentFlyerNumber');
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
/** IDAD Indicator */
|
|
264
264
|
get idadIndicator(): Field | undefined {
|
|
265
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
265
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IDADIndicator');
|
|
266
266
|
}
|
|
267
267
|
|
|
268
268
|
/** International Documentation Verification */
|
|
269
269
|
get internationalDocumentationVerification(): Field | undefined {
|
|
270
270
|
return this.document.fields.find(
|
|
271
|
-
(f: Field) => f.type.name
|
|
271
|
+
(f: Field) => f.type.name === 'InternationalDocumentationVerification'
|
|
272
272
|
);
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
/** Marketing Carrier Designator */
|
|
276
276
|
get marketingCarrierDesignator(): Field | undefined {
|
|
277
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
277
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MarketingCarrierDesignator');
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
/** Operating Carrier Designator */
|
|
281
281
|
get operatingCarrierDesignator(): Field {
|
|
282
282
|
return this.document.fields.find(
|
|
283
|
-
(f: Field) => f.type.name
|
|
283
|
+
(f: Field) => f.type.name === 'OperatingCarrierDesignator'
|
|
284
284
|
) as Field;
|
|
285
285
|
}
|
|
286
286
|
|
|
287
287
|
/** Operating Carrier PNR Code */
|
|
288
288
|
get operatingCarrierPNRCode(): Field {
|
|
289
289
|
return this.document.fields.find(
|
|
290
|
-
(f: Field) => f.type.name
|
|
290
|
+
(f: Field) => f.type.name === 'OperatingCarrierPNRCode'
|
|
291
291
|
) as Field;
|
|
292
292
|
}
|
|
293
293
|
|
|
294
294
|
/** Passenger Description */
|
|
295
295
|
get passengerDescription(): Field | undefined {
|
|
296
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
296
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PassengerDescription');
|
|
297
297
|
}
|
|
298
298
|
|
|
299
299
|
/** Passenger Status */
|
|
300
300
|
get passengerStatus(): Field {
|
|
301
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
301
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PassengerStatus') as Field;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
/** Seat Number */
|
|
305
305
|
get seatNumber(): Field {
|
|
306
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
306
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SeatNumber') as Field;
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
/** Second Non Consecutive Baggage Tag License Plate Number */
|
|
310
310
|
get secondNonConsecutiveBaggageTagLicensePlateNumber(): Field | undefined {
|
|
311
311
|
return this.document.fields.find(
|
|
312
|
-
(f: Field) => f.type.name
|
|
312
|
+
(f: Field) => f.type.name === 'SecondNonConsecutiveBaggageTagLicensePlateNumber'
|
|
313
313
|
);
|
|
314
314
|
}
|
|
315
315
|
|
|
316
316
|
/** Selectee Indicator */
|
|
317
317
|
get selecteeIndicator(): Field | undefined {
|
|
318
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
318
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SelecteeIndicator');
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
/** Source Of Boarding Pass Issuance */
|
|
322
322
|
get sourceOfBoardingPassIssuance(): Field | undefined {
|
|
323
|
-
return this.document.fields.find(
|
|
323
|
+
return this.document.fields.find(
|
|
324
|
+
(f: Field) => f.type.name === 'SourceOfBoardingPassIssuance'
|
|
325
|
+
);
|
|
324
326
|
}
|
|
325
327
|
|
|
326
328
|
/** Source Of Check In */
|
|
327
329
|
get sourceOfCheckIn(): Field | undefined {
|
|
328
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
330
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SourceOfCheckIn');
|
|
329
331
|
}
|
|
330
332
|
|
|
331
333
|
/** VersionNumber */
|
|
332
334
|
get versionNumber(): Field | undefined {
|
|
333
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
335
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VersionNumber');
|
|
334
336
|
}
|
|
335
337
|
}
|
|
336
338
|
}
|
|
@@ -344,7 +346,7 @@ export class SwissQR {
|
|
|
344
346
|
}
|
|
345
347
|
|
|
346
348
|
constructor(document: GenericDocument) {
|
|
347
|
-
if (document.type.name
|
|
349
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
348
350
|
throw new Error(
|
|
349
351
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
350
352
|
);
|
|
@@ -354,174 +356,176 @@ export class SwissQR {
|
|
|
354
356
|
}
|
|
355
357
|
|
|
356
358
|
requiredDocumentType(): string {
|
|
357
|
-
return
|
|
359
|
+
return SwissQRDocumentType;
|
|
358
360
|
}
|
|
359
361
|
|
|
360
362
|
/** Additional Billing Information */
|
|
361
363
|
get additionalBillingInformation(): Field | undefined {
|
|
362
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
364
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AdditionalBillingInformation');
|
|
363
365
|
}
|
|
364
366
|
|
|
365
367
|
/** Additional Info Trailer */
|
|
366
368
|
get additionalInfoTrailer(): Field | undefined {
|
|
367
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
369
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AdditionalInfoTrailer');
|
|
368
370
|
}
|
|
369
371
|
|
|
370
372
|
/** Additional Info Unstructured */
|
|
371
373
|
get additionalInfoUnstructured(): Field | undefined {
|
|
372
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
374
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AdditionalInfoUnstructured');
|
|
373
375
|
}
|
|
374
376
|
|
|
375
377
|
/** Alternative Procedure Parameter */
|
|
376
378
|
get alternativeProcedureParameter(): Field | undefined {
|
|
377
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
379
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AlternativeProcedureParameter');
|
|
378
380
|
}
|
|
379
381
|
|
|
380
382
|
/** Amount */
|
|
381
383
|
get amount(): Field | undefined {
|
|
382
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
384
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Amount');
|
|
383
385
|
}
|
|
384
386
|
|
|
385
387
|
/** Currency */
|
|
386
388
|
get currency(): Field | undefined {
|
|
387
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
389
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Currency');
|
|
388
390
|
}
|
|
389
391
|
|
|
390
392
|
/** Debtor Address Type */
|
|
391
393
|
get debtorAddressType(): Field | undefined {
|
|
392
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
394
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorAddressType');
|
|
393
395
|
}
|
|
394
396
|
|
|
395
397
|
/** Debtor Building Or Address Line 2 */
|
|
396
398
|
get debtorBuildingOrAddressLine2(): Field | undefined {
|
|
397
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
399
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorBuildingOrAddressLine2');
|
|
398
400
|
}
|
|
399
401
|
|
|
400
402
|
/** Debtor Country */
|
|
401
403
|
get debtorCountry(): Field | undefined {
|
|
402
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
404
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorCountry');
|
|
403
405
|
}
|
|
404
406
|
|
|
405
407
|
/** Debtor Name */
|
|
406
408
|
get debtorName(): Field | undefined {
|
|
407
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
409
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorName');
|
|
408
410
|
}
|
|
409
411
|
|
|
410
412
|
/** Debtor Place */
|
|
411
413
|
get debtorPlace(): Field | undefined {
|
|
412
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
414
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorPlace');
|
|
413
415
|
}
|
|
414
416
|
|
|
415
417
|
/** Debtor Postal Code */
|
|
416
418
|
get debtorPostalCode(): Field | undefined {
|
|
417
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
419
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorPostalCode');
|
|
418
420
|
}
|
|
419
421
|
|
|
420
422
|
/** Debtor Street Or Address Line 1 */
|
|
421
423
|
get debtorStreetOrAddressLine1(): Field | undefined {
|
|
422
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
424
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DebtorStreetOrAddressLine1');
|
|
423
425
|
}
|
|
424
426
|
|
|
425
427
|
/** Due Date */
|
|
426
428
|
get dueDate(): Field | undefined {
|
|
427
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
429
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DueDate');
|
|
428
430
|
}
|
|
429
431
|
|
|
430
432
|
/** Encoding */
|
|
431
433
|
get encoding(): Field | undefined {
|
|
432
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
434
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Encoding');
|
|
433
435
|
}
|
|
434
436
|
|
|
435
437
|
/** Final Payee Address Type */
|
|
436
438
|
get finalPayeeAddressType(): Field | undefined {
|
|
437
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
439
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FinalPayeeAddressType');
|
|
438
440
|
}
|
|
439
441
|
|
|
440
442
|
/** Final Payee Building Or Address Line 2 */
|
|
441
443
|
get finalPayeeBuildingOrAddressLine2(): Field | undefined {
|
|
442
444
|
return this.document.fields.find(
|
|
443
|
-
(f: Field) => f.type.name
|
|
445
|
+
(f: Field) => f.type.name === 'FinalPayeeBuildingOrAddressLine2'
|
|
444
446
|
);
|
|
445
447
|
}
|
|
446
448
|
|
|
447
449
|
/** Final Payee Country */
|
|
448
450
|
get finalPayeeCountry(): Field | undefined {
|
|
449
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
451
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FinalPayeeCountry');
|
|
450
452
|
}
|
|
451
453
|
|
|
452
454
|
/** Final Payee Name */
|
|
453
455
|
get finalPayeeName(): Field | undefined {
|
|
454
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
456
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FinalPayeeName');
|
|
455
457
|
}
|
|
456
458
|
|
|
457
459
|
/** Final Payee Place */
|
|
458
460
|
get finalPayeePlace(): Field | undefined {
|
|
459
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
461
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FinalPayeePlace');
|
|
460
462
|
}
|
|
461
463
|
|
|
462
464
|
/** Final Payee Postal Code */
|
|
463
465
|
get finalPayeePostalCode(): Field | undefined {
|
|
464
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
466
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FinalPayeePostalCode');
|
|
465
467
|
}
|
|
466
468
|
|
|
467
469
|
/** Final Payee Street Or Address Line 1 */
|
|
468
470
|
get finalPayeeStreetOrAddressLine1(): Field | undefined {
|
|
469
|
-
return this.document.fields.find(
|
|
471
|
+
return this.document.fields.find(
|
|
472
|
+
(f: Field) => f.type.name === 'FinalPayeeStreetOrAddressLine1'
|
|
473
|
+
);
|
|
470
474
|
}
|
|
471
475
|
|
|
472
476
|
/** IBAN */
|
|
473
477
|
get iban(): Field | undefined {
|
|
474
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
478
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IBAN');
|
|
475
479
|
}
|
|
476
480
|
|
|
477
481
|
/** Payee Address Type */
|
|
478
482
|
get payeeAddressType(): Field | undefined {
|
|
479
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
483
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeeAddressType');
|
|
480
484
|
}
|
|
481
485
|
|
|
482
486
|
/** Payee Building Or Address Line 2 */
|
|
483
487
|
get payeeBuildingOrAddressLine2(): Field | undefined {
|
|
484
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
488
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeeBuildingOrAddressLine2');
|
|
485
489
|
}
|
|
486
490
|
|
|
487
491
|
/** Payee Country */
|
|
488
492
|
get payeeCountry(): Field | undefined {
|
|
489
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
493
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeeCountry');
|
|
490
494
|
}
|
|
491
495
|
|
|
492
496
|
/** Payee Name */
|
|
493
497
|
get payeeName(): Field | undefined {
|
|
494
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
498
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeeName');
|
|
495
499
|
}
|
|
496
500
|
|
|
497
501
|
/** Payee Place */
|
|
498
502
|
get payeePlace(): Field | undefined {
|
|
499
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
503
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeePlace');
|
|
500
504
|
}
|
|
501
505
|
|
|
502
506
|
/** Payee Postal Code */
|
|
503
507
|
get payeePostalCode(): Field | undefined {
|
|
504
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
508
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeePostalCode');
|
|
505
509
|
}
|
|
506
510
|
|
|
507
511
|
/** Payee Street Or Address Line 1 */
|
|
508
512
|
get payeeStreetOrAddressLine1(): Field | undefined {
|
|
509
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
513
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PayeeStreetOrAddressLine1');
|
|
510
514
|
}
|
|
511
515
|
|
|
512
516
|
/** Payment Reference */
|
|
513
517
|
get paymentReference(): Field | undefined {
|
|
514
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
518
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PaymentReference');
|
|
515
519
|
}
|
|
516
520
|
|
|
517
521
|
/** Payment Reference Type */
|
|
518
522
|
get paymentReferenceType(): Field | undefined {
|
|
519
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
523
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PaymentReferenceType');
|
|
520
524
|
}
|
|
521
525
|
|
|
522
526
|
/** Version */
|
|
523
527
|
get version(): Field {
|
|
524
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
528
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Version') as Field;
|
|
525
529
|
}
|
|
526
530
|
}
|
|
527
531
|
|
|
@@ -534,7 +538,7 @@ export class DEMedicalPlan {
|
|
|
534
538
|
}
|
|
535
539
|
|
|
536
540
|
constructor(document: GenericDocument) {
|
|
537
|
-
if (document.type.name
|
|
541
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
538
542
|
throw new Error(
|
|
539
543
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
540
544
|
);
|
|
@@ -544,55 +548,57 @@ export class DEMedicalPlan {
|
|
|
544
548
|
}
|
|
545
549
|
|
|
546
550
|
requiredDocumentType(): string {
|
|
547
|
-
return
|
|
551
|
+
return DEMedicalPlanDocumentType;
|
|
548
552
|
}
|
|
549
553
|
|
|
550
554
|
/** Current Page */
|
|
551
555
|
get currentPage(): Field {
|
|
552
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
556
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CurrentPage') as Field;
|
|
553
557
|
}
|
|
554
558
|
|
|
555
559
|
/** Document Version Number */
|
|
556
560
|
get documentVersionNumber(): Field {
|
|
557
|
-
return this.document.fields.find(
|
|
561
|
+
return this.document.fields.find(
|
|
562
|
+
(f: Field) => f.type.name === 'DocumentVersionNumber'
|
|
563
|
+
) as Field;
|
|
558
564
|
}
|
|
559
565
|
|
|
560
566
|
/** GUID */
|
|
561
567
|
get guid(): Field {
|
|
562
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
568
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GUID') as Field;
|
|
563
569
|
}
|
|
564
570
|
|
|
565
571
|
/** Language Country Code */
|
|
566
572
|
get languageCountryCode(): Field {
|
|
567
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
573
|
+
return this.document.fields.find((f: Field) => f.type.name === 'LanguageCountryCode') as Field;
|
|
568
574
|
}
|
|
569
575
|
|
|
570
576
|
/** Patch Version Number */
|
|
571
577
|
get patchVersionNumber(): Field {
|
|
572
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
578
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PatchVersionNumber') as Field;
|
|
573
579
|
}
|
|
574
580
|
|
|
575
581
|
/** Total Number Of Pages */
|
|
576
582
|
get totalNumberOfPages(): Field {
|
|
577
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
583
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TotalNumberOfPages') as Field;
|
|
578
584
|
}
|
|
579
585
|
|
|
580
586
|
/** The child document of type "Patient". */
|
|
581
587
|
get patient(): DEMedicalPlan.Patient {
|
|
582
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
588
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Patient');
|
|
583
589
|
return new DEMedicalPlan.Patient(child as GenericDocument);
|
|
584
590
|
}
|
|
585
591
|
|
|
586
592
|
/** The child document of type "Doctor". */
|
|
587
593
|
get doctor(): DEMedicalPlan.Doctor {
|
|
588
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
594
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Doctor');
|
|
589
595
|
return new DEMedicalPlan.Doctor(child as GenericDocument);
|
|
590
596
|
}
|
|
591
597
|
|
|
592
598
|
/** An array of all children of type "Subheading". */
|
|
593
599
|
get subheadings(): DEMedicalPlan.Subheading[] {
|
|
594
600
|
return this.document.children
|
|
595
|
-
.filter((c: GenericDocument) => c.type.name
|
|
601
|
+
.filter((c: GenericDocument) => c.type.name === 'Subheading')
|
|
596
602
|
.map((c: GenericDocument) => new DEMedicalPlan.Subheading(c));
|
|
597
603
|
}
|
|
598
604
|
}
|
|
@@ -607,7 +613,7 @@ export namespace DEMedicalPlan {
|
|
|
607
613
|
}
|
|
608
614
|
|
|
609
615
|
constructor(document: GenericDocument) {
|
|
610
|
-
if (document.type.name
|
|
616
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
611
617
|
throw new Error(
|
|
612
618
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
613
619
|
);
|
|
@@ -617,82 +623,82 @@ export namespace DEMedicalPlan {
|
|
|
617
623
|
}
|
|
618
624
|
|
|
619
625
|
requiredDocumentType(): string {
|
|
620
|
-
return
|
|
626
|
+
return DEMedicalPlanPatientDocumentType;
|
|
621
627
|
}
|
|
622
628
|
|
|
623
629
|
/** Allergies And Intolerances */
|
|
624
630
|
get allergiesAndIntolerances(): Field | undefined {
|
|
625
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
631
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AllergiesAndIntolerances');
|
|
626
632
|
}
|
|
627
633
|
|
|
628
634
|
/** Birth Date */
|
|
629
635
|
get birthDate(): Field | undefined {
|
|
630
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
636
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BirthDate');
|
|
631
637
|
}
|
|
632
638
|
|
|
633
639
|
/** Breast Feeding */
|
|
634
640
|
get breastFeeding(): Field | undefined {
|
|
635
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
641
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BreastFeeding');
|
|
636
642
|
}
|
|
637
643
|
|
|
638
644
|
/** Creatinine Value */
|
|
639
645
|
get creatinineValue(): Field | undefined {
|
|
640
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
646
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CreatinineValue');
|
|
641
647
|
}
|
|
642
648
|
|
|
643
649
|
/** First Name */
|
|
644
650
|
get firstName(): Field | undefined {
|
|
645
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
651
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstName');
|
|
646
652
|
}
|
|
647
653
|
|
|
648
654
|
/** Gender */
|
|
649
655
|
get gender(): Field | undefined {
|
|
650
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
656
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Gender');
|
|
651
657
|
}
|
|
652
658
|
|
|
653
659
|
/** Height */
|
|
654
660
|
get height(): Field | undefined {
|
|
655
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
661
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Height');
|
|
656
662
|
}
|
|
657
663
|
|
|
658
664
|
/** Last Name */
|
|
659
665
|
get lastName(): Field | undefined {
|
|
660
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
666
|
+
return this.document.fields.find((f: Field) => f.type.name === 'LastName');
|
|
661
667
|
}
|
|
662
668
|
|
|
663
669
|
/** Patient Free Text */
|
|
664
670
|
get patientFreeText(): Field | undefined {
|
|
665
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
671
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PatientFreeText');
|
|
666
672
|
}
|
|
667
673
|
|
|
668
674
|
/** Patient ID */
|
|
669
675
|
get patientID(): Field | undefined {
|
|
670
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
676
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PatientID');
|
|
671
677
|
}
|
|
672
678
|
|
|
673
679
|
/** Pre Name */
|
|
674
680
|
get preName(): Field | undefined {
|
|
675
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
681
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PreName');
|
|
676
682
|
}
|
|
677
683
|
|
|
678
684
|
/** Pregnant */
|
|
679
685
|
get pregnant(): Field | undefined {
|
|
680
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
686
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Pregnant');
|
|
681
687
|
}
|
|
682
688
|
|
|
683
689
|
/** Name Suffix */
|
|
684
690
|
get suffix(): Field | undefined {
|
|
685
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
691
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Suffix');
|
|
686
692
|
}
|
|
687
693
|
|
|
688
694
|
/** Title */
|
|
689
695
|
get title(): Field | undefined {
|
|
690
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
696
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Title');
|
|
691
697
|
}
|
|
692
698
|
|
|
693
699
|
/** Weight */
|
|
694
700
|
get weight(): Field | undefined {
|
|
695
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
701
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Weight');
|
|
696
702
|
}
|
|
697
703
|
}
|
|
698
704
|
|
|
@@ -705,7 +711,7 @@ export namespace DEMedicalPlan {
|
|
|
705
711
|
}
|
|
706
712
|
|
|
707
713
|
constructor(document: GenericDocument) {
|
|
708
|
-
if (document.type.name
|
|
714
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
709
715
|
throw new Error(
|
|
710
716
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
711
717
|
);
|
|
@@ -715,57 +721,57 @@ export namespace DEMedicalPlan {
|
|
|
715
721
|
}
|
|
716
722
|
|
|
717
723
|
requiredDocumentType(): string {
|
|
718
|
-
return
|
|
724
|
+
return DEMedicalPlanDoctorDocumentType;
|
|
719
725
|
}
|
|
720
726
|
|
|
721
727
|
/** Doctor Number */
|
|
722
728
|
get doctorNumber(): Field | undefined {
|
|
723
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
729
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DoctorNumber');
|
|
724
730
|
}
|
|
725
731
|
|
|
726
732
|
/** Email */
|
|
727
733
|
get email(): Field | undefined {
|
|
728
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
734
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Email');
|
|
729
735
|
}
|
|
730
736
|
|
|
731
737
|
/** Hospital ID */
|
|
732
738
|
get hospitalID(): Field | undefined {
|
|
733
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
739
|
+
return this.document.fields.find((f: Field) => f.type.name === 'HospitalID');
|
|
734
740
|
}
|
|
735
741
|
|
|
736
742
|
/** Issuer Name */
|
|
737
743
|
get issuerName(): Field | undefined {
|
|
738
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
744
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IssuerName');
|
|
739
745
|
}
|
|
740
746
|
|
|
741
747
|
/** Issuing Date And Time */
|
|
742
748
|
get issuingDateAndTime(): Field | undefined {
|
|
743
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
749
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IssuingDateAndTime');
|
|
744
750
|
}
|
|
745
751
|
|
|
746
752
|
/** Pharmacy ID */
|
|
747
753
|
get pharmacyID(): Field | undefined {
|
|
748
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
754
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PharmacyID');
|
|
749
755
|
}
|
|
750
756
|
|
|
751
757
|
/** Place */
|
|
752
758
|
get place(): Field | undefined {
|
|
753
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
759
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Place');
|
|
754
760
|
}
|
|
755
761
|
|
|
756
762
|
/** Postal Code */
|
|
757
763
|
get postalCode(): Field | undefined {
|
|
758
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
764
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PostalCode');
|
|
759
765
|
}
|
|
760
766
|
|
|
761
767
|
/** Street */
|
|
762
768
|
get street(): Field | undefined {
|
|
763
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
769
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Street');
|
|
764
770
|
}
|
|
765
771
|
|
|
766
772
|
/** Telephone Number */
|
|
767
773
|
get telephoneNumber(): Field | undefined {
|
|
768
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
774
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TelephoneNumber');
|
|
769
775
|
}
|
|
770
776
|
}
|
|
771
777
|
|
|
@@ -778,7 +784,7 @@ export namespace DEMedicalPlan {
|
|
|
778
784
|
}
|
|
779
785
|
|
|
780
786
|
constructor(document: GenericDocument) {
|
|
781
|
-
if (document.type.name
|
|
787
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
782
788
|
throw new Error(
|
|
783
789
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
784
790
|
);
|
|
@@ -788,35 +794,35 @@ export namespace DEMedicalPlan {
|
|
|
788
794
|
}
|
|
789
795
|
|
|
790
796
|
requiredDocumentType(): string {
|
|
791
|
-
return
|
|
797
|
+
return DEMedicalPlanSubheadingDocumentType;
|
|
792
798
|
}
|
|
793
799
|
|
|
794
800
|
/** General Note */
|
|
795
801
|
get generalNotes(): Field[] {
|
|
796
|
-
return this.document.fields.filter((f: Field) => f.type.name
|
|
802
|
+
return this.document.fields.filter((f: Field) => f.type.name === 'GeneralNote');
|
|
797
803
|
}
|
|
798
804
|
|
|
799
805
|
/** Key Words */
|
|
800
806
|
get keyWords(): Field | undefined {
|
|
801
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
807
|
+
return this.document.fields.find((f: Field) => f.type.name === 'KeyWords');
|
|
802
808
|
}
|
|
803
809
|
|
|
804
810
|
/** Subheading Free Text */
|
|
805
811
|
get subheadingFreeText(): Field | undefined {
|
|
806
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
812
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SubheadingFreeText');
|
|
807
813
|
}
|
|
808
814
|
|
|
809
815
|
/** An array of all children of type "Medicine". */
|
|
810
816
|
get medicines(): DEMedicalPlan.Subheading.Medicine[] {
|
|
811
817
|
return this.document.children
|
|
812
|
-
.filter((c: GenericDocument) => c.type.name
|
|
818
|
+
.filter((c: GenericDocument) => c.type.name === 'Medicine')
|
|
813
819
|
.map((c: GenericDocument) => new DEMedicalPlan.Subheading.Medicine(c));
|
|
814
820
|
}
|
|
815
821
|
|
|
816
822
|
/** An array of all children of type "Prescription". */
|
|
817
823
|
get prescriptions(): DEMedicalPlan.Subheading.Prescription[] {
|
|
818
824
|
return this.document.children
|
|
819
|
-
.filter((c: GenericDocument) => c.type.name
|
|
825
|
+
.filter((c: GenericDocument) => c.type.name === 'Prescription')
|
|
820
826
|
.map((c: GenericDocument) => new DEMedicalPlan.Subheading.Prescription(c));
|
|
821
827
|
}
|
|
822
828
|
}
|
|
@@ -831,7 +837,7 @@ export namespace DEMedicalPlan {
|
|
|
831
837
|
}
|
|
832
838
|
|
|
833
839
|
constructor(document: GenericDocument) {
|
|
834
|
-
if (document.type.name
|
|
840
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
835
841
|
throw new Error(
|
|
836
842
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
837
843
|
);
|
|
@@ -841,83 +847,83 @@ export namespace DEMedicalPlan {
|
|
|
841
847
|
}
|
|
842
848
|
|
|
843
849
|
requiredDocumentType(): string {
|
|
844
|
-
return
|
|
850
|
+
return DEMedicalPlanSubheadingMedicineDocumentType;
|
|
845
851
|
}
|
|
846
852
|
|
|
847
853
|
/** Dosage Form */
|
|
848
854
|
get dosageForm(): Field | undefined {
|
|
849
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
855
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DosageForm');
|
|
850
856
|
}
|
|
851
857
|
|
|
852
858
|
/** Dosage Form Free Text */
|
|
853
859
|
get dosageFormFreeText(): Field | undefined {
|
|
854
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
860
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DosageFormFreeText');
|
|
855
861
|
}
|
|
856
862
|
|
|
857
863
|
/** Dosage Free Text */
|
|
858
864
|
get dosageFreeText(): Field | undefined {
|
|
859
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
865
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DosageFreeText');
|
|
860
866
|
}
|
|
861
867
|
|
|
862
868
|
/** Dosing Unit */
|
|
863
869
|
get dosingUnit(): Field | undefined {
|
|
864
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
870
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DosingUnit');
|
|
865
871
|
}
|
|
866
872
|
|
|
867
873
|
/** Dosing Unit Free Text */
|
|
868
874
|
get dosingUnitFreeText(): Field | undefined {
|
|
869
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
875
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DosingUnitFreeText');
|
|
870
876
|
}
|
|
871
877
|
|
|
872
878
|
/** Drug Name */
|
|
873
879
|
get drugName(): Field | undefined {
|
|
874
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
880
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DrugName');
|
|
875
881
|
}
|
|
876
882
|
|
|
877
883
|
/** Evening Intake Dose */
|
|
878
884
|
get evening(): Field | undefined {
|
|
879
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
885
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Evening');
|
|
880
886
|
}
|
|
881
887
|
|
|
882
888
|
/** General Notes */
|
|
883
889
|
get generalNotes(): Field | undefined {
|
|
884
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
890
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GeneralNotes');
|
|
885
891
|
}
|
|
886
892
|
|
|
887
893
|
/** Midday Intake Dose */
|
|
888
894
|
get midday(): Field | undefined {
|
|
889
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
895
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Midday');
|
|
890
896
|
}
|
|
891
897
|
|
|
892
898
|
/** Morning Intake Dose */
|
|
893
899
|
get morning(): Field | undefined {
|
|
894
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
900
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Morning');
|
|
895
901
|
}
|
|
896
902
|
|
|
897
903
|
/** Night Intake Dose */
|
|
898
904
|
get night(): Field | undefined {
|
|
899
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
905
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Night');
|
|
900
906
|
}
|
|
901
907
|
|
|
902
908
|
/** Pharmaceutical Number */
|
|
903
909
|
get pharmaceuticalNumber(): Field | undefined {
|
|
904
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
910
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PharmaceuticalNumber');
|
|
905
911
|
}
|
|
906
912
|
|
|
907
913
|
/** Reason For Treatment */
|
|
908
914
|
get reasonForTreatment(): Field | undefined {
|
|
909
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
915
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ReasonForTreatment');
|
|
910
916
|
}
|
|
911
917
|
|
|
912
918
|
/** Relevant Info */
|
|
913
919
|
get relevantInfo(): Field | undefined {
|
|
914
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
920
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RelevantInfo');
|
|
915
921
|
}
|
|
916
922
|
|
|
917
923
|
/** An array of all children of type "Substance". */
|
|
918
924
|
get substances(): DEMedicalPlan.Subheading.Medicine.Substance[] {
|
|
919
925
|
return this.document.children
|
|
920
|
-
.filter((c: GenericDocument) => c.type.name
|
|
926
|
+
.filter((c: GenericDocument) => c.type.name === 'Substance')
|
|
921
927
|
.map((c: GenericDocument) => new DEMedicalPlan.Subheading.Medicine.Substance(c));
|
|
922
928
|
}
|
|
923
929
|
}
|
|
@@ -932,7 +938,7 @@ export namespace DEMedicalPlan {
|
|
|
932
938
|
}
|
|
933
939
|
|
|
934
940
|
constructor(document: GenericDocument) {
|
|
935
|
-
if (document.type.name
|
|
941
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
936
942
|
throw new Error(
|
|
937
943
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
938
944
|
);
|
|
@@ -942,17 +948,17 @@ export namespace DEMedicalPlan {
|
|
|
942
948
|
}
|
|
943
949
|
|
|
944
950
|
requiredDocumentType(): string {
|
|
945
|
-
return
|
|
951
|
+
return DEMedicalPlanSubheadingMedicineSubstanceDocumentType;
|
|
946
952
|
}
|
|
947
953
|
|
|
948
954
|
/** Active Substance */
|
|
949
955
|
get activeSubstance(): Field | undefined {
|
|
950
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
956
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ActiveSubstance');
|
|
951
957
|
}
|
|
952
958
|
|
|
953
959
|
/** Potency */
|
|
954
960
|
get potency(): Field | undefined {
|
|
955
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
961
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Potency');
|
|
956
962
|
}
|
|
957
963
|
}
|
|
958
964
|
}
|
|
@@ -966,7 +972,7 @@ export namespace DEMedicalPlan {
|
|
|
966
972
|
}
|
|
967
973
|
|
|
968
974
|
constructor(document: GenericDocument) {
|
|
969
|
-
if (document.type.name
|
|
975
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
970
976
|
throw new Error(
|
|
971
977
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
972
978
|
);
|
|
@@ -976,17 +982,17 @@ export namespace DEMedicalPlan {
|
|
|
976
982
|
}
|
|
977
983
|
|
|
978
984
|
requiredDocumentType(): string {
|
|
979
|
-
return
|
|
985
|
+
return DEMedicalPlanSubheadingPrescriptionDocumentType;
|
|
980
986
|
}
|
|
981
987
|
|
|
982
988
|
/** General Information */
|
|
983
989
|
get generalInformation(): Field | undefined {
|
|
984
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
990
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GeneralInformation');
|
|
985
991
|
}
|
|
986
992
|
|
|
987
993
|
/** Prescription Free Text */
|
|
988
994
|
get prescriptionFreeText(): Field | undefined {
|
|
989
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
995
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PrescriptionFreeText');
|
|
990
996
|
}
|
|
991
997
|
}
|
|
992
998
|
}
|
|
@@ -1001,7 +1007,7 @@ export class IDCardPDF417 {
|
|
|
1001
1007
|
}
|
|
1002
1008
|
|
|
1003
1009
|
constructor(document: GenericDocument) {
|
|
1004
|
-
if (document.type.name
|
|
1010
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1005
1011
|
throw new Error(
|
|
1006
1012
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1007
1013
|
);
|
|
@@ -1011,42 +1017,42 @@ export class IDCardPDF417 {
|
|
|
1011
1017
|
}
|
|
1012
1018
|
|
|
1013
1019
|
requiredDocumentType(): string {
|
|
1014
|
-
return
|
|
1020
|
+
return IDCardPDF417DocumentType;
|
|
1015
1021
|
}
|
|
1016
1022
|
|
|
1017
1023
|
/** Birth Date. The format is ISO8601 with delimiters */
|
|
1018
1024
|
get birthDate(): Field {
|
|
1019
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1025
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BirthDate') as Field;
|
|
1020
1026
|
}
|
|
1021
1027
|
|
|
1022
1028
|
/** Date Expired. The format is ISO8601 with delimiters */
|
|
1023
1029
|
get dateExpired(): Field {
|
|
1024
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1030
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateExpired') as Field;
|
|
1025
1031
|
}
|
|
1026
1032
|
|
|
1027
1033
|
/** Date Issued. The format is ISO8601 with delimiters */
|
|
1028
1034
|
get dateIssued(): Field {
|
|
1029
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1035
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateIssued') as Field;
|
|
1030
1036
|
}
|
|
1031
1037
|
|
|
1032
1038
|
/** Document Code */
|
|
1033
1039
|
get documentCode(): Field {
|
|
1034
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1040
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentCode') as Field;
|
|
1035
1041
|
}
|
|
1036
1042
|
|
|
1037
1043
|
/** First Name */
|
|
1038
1044
|
get firstName(): Field {
|
|
1039
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1045
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstName') as Field;
|
|
1040
1046
|
}
|
|
1041
1047
|
|
|
1042
1048
|
/** Last Name */
|
|
1043
1049
|
get lastName(): Field {
|
|
1044
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1050
|
+
return this.document.fields.find((f: Field) => f.type.name === 'LastName') as Field;
|
|
1045
1051
|
}
|
|
1046
1052
|
|
|
1047
1053
|
/** Optional */
|
|
1048
1054
|
get optional(): Field {
|
|
1049
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1055
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Optional') as Field;
|
|
1050
1056
|
}
|
|
1051
1057
|
}
|
|
1052
1058
|
|
|
@@ -1059,7 +1065,7 @@ export class GS1 {
|
|
|
1059
1065
|
}
|
|
1060
1066
|
|
|
1061
1067
|
constructor(document: GenericDocument) {
|
|
1062
|
-
if (document.type.name
|
|
1068
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1063
1069
|
throw new Error(
|
|
1064
1070
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1065
1071
|
);
|
|
@@ -1069,13 +1075,13 @@ export class GS1 {
|
|
|
1069
1075
|
}
|
|
1070
1076
|
|
|
1071
1077
|
requiredDocumentType(): string {
|
|
1072
|
-
return
|
|
1078
|
+
return GS1DocumentType;
|
|
1073
1079
|
}
|
|
1074
1080
|
|
|
1075
1081
|
/** An array of all children of type "Element". */
|
|
1076
1082
|
get elements(): GS1.Element[] {
|
|
1077
1083
|
return this.document.children
|
|
1078
|
-
.filter((c: GenericDocument) => c.type.name
|
|
1084
|
+
.filter((c: GenericDocument) => c.type.name === 'Element')
|
|
1079
1085
|
.map((c: GenericDocument) => new GS1.Element(c));
|
|
1080
1086
|
}
|
|
1081
1087
|
}
|
|
@@ -1090,7 +1096,7 @@ export namespace GS1 {
|
|
|
1090
1096
|
}
|
|
1091
1097
|
|
|
1092
1098
|
constructor(document: GenericDocument) {
|
|
1093
|
-
if (document.type.name
|
|
1099
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1094
1100
|
throw new Error(
|
|
1095
1101
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1096
1102
|
);
|
|
@@ -1100,35 +1106,35 @@ export namespace GS1 {
|
|
|
1100
1106
|
}
|
|
1101
1107
|
|
|
1102
1108
|
requiredDocumentType(): string {
|
|
1103
|
-
return
|
|
1109
|
+
return GS1ElementDocumentType;
|
|
1104
1110
|
}
|
|
1105
1111
|
|
|
1106
1112
|
/** Application Identifier */
|
|
1107
1113
|
get applicationIdentifier(): Field {
|
|
1108
1114
|
return this.document.fields.find(
|
|
1109
|
-
(f: Field) => f.type.name
|
|
1115
|
+
(f: Field) => f.type.name === 'ApplicationIdentifier'
|
|
1110
1116
|
) as Field;
|
|
1111
1117
|
}
|
|
1112
1118
|
|
|
1113
1119
|
/** Data Title */
|
|
1114
1120
|
get dataTitle(): Field {
|
|
1115
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1121
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DataTitle') as Field;
|
|
1116
1122
|
}
|
|
1117
1123
|
|
|
1118
1124
|
/** Description */
|
|
1119
1125
|
get elementDescription(): Field {
|
|
1120
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1126
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ElementDescription') as Field;
|
|
1121
1127
|
}
|
|
1122
1128
|
|
|
1123
1129
|
/** Raw Value */
|
|
1124
1130
|
get rawValue(): Field {
|
|
1125
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1131
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RawValue') as Field;
|
|
1126
1132
|
}
|
|
1127
1133
|
|
|
1128
1134
|
/** An array of all children of type "ValidationError". */
|
|
1129
1135
|
get validationErrors(): GS1.Element.ValidationError[] {
|
|
1130
1136
|
return this.document.children
|
|
1131
|
-
.filter((c: GenericDocument) => c.type.name
|
|
1137
|
+
.filter((c: GenericDocument) => c.type.name === 'ValidationError')
|
|
1132
1138
|
.map((c: GenericDocument) => new GS1.Element.ValidationError(c));
|
|
1133
1139
|
}
|
|
1134
1140
|
}
|
|
@@ -1143,7 +1149,7 @@ export namespace GS1 {
|
|
|
1143
1149
|
}
|
|
1144
1150
|
|
|
1145
1151
|
constructor(document: GenericDocument) {
|
|
1146
|
-
if (document.type.name
|
|
1152
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1147
1153
|
throw new Error(
|
|
1148
1154
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1149
1155
|
);
|
|
@@ -1153,17 +1159,17 @@ export namespace GS1 {
|
|
|
1153
1159
|
}
|
|
1154
1160
|
|
|
1155
1161
|
requiredDocumentType(): string {
|
|
1156
|
-
return
|
|
1162
|
+
return GS1ElementValidationErrorDocumentType;
|
|
1157
1163
|
}
|
|
1158
1164
|
|
|
1159
1165
|
/** Error Code */
|
|
1160
1166
|
get code(): Field {
|
|
1161
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1167
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Code') as Field;
|
|
1162
1168
|
}
|
|
1163
1169
|
|
|
1164
1170
|
/** Reason */
|
|
1165
1171
|
get reason(): Field {
|
|
1166
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1172
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Reason') as Field;
|
|
1167
1173
|
}
|
|
1168
1174
|
}
|
|
1169
1175
|
}
|
|
@@ -1178,7 +1184,7 @@ export class SEPA {
|
|
|
1178
1184
|
}
|
|
1179
1185
|
|
|
1180
1186
|
constructor(document: GenericDocument) {
|
|
1181
|
-
if (document.type.name
|
|
1187
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1182
1188
|
throw new Error(
|
|
1183
1189
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1184
1190
|
);
|
|
@@ -1188,62 +1194,62 @@ export class SEPA {
|
|
|
1188
1194
|
}
|
|
1189
1195
|
|
|
1190
1196
|
requiredDocumentType(): string {
|
|
1191
|
-
return
|
|
1197
|
+
return SEPADocumentType;
|
|
1192
1198
|
}
|
|
1193
1199
|
|
|
1194
1200
|
/** Amount */
|
|
1195
1201
|
get amount(): Field | undefined {
|
|
1196
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1202
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Amount');
|
|
1197
1203
|
}
|
|
1198
1204
|
|
|
1199
1205
|
/** Character Set */
|
|
1200
1206
|
get characterSet(): Field {
|
|
1201
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1207
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CharacterSet') as Field;
|
|
1202
1208
|
}
|
|
1203
1209
|
|
|
1204
1210
|
/** Identification */
|
|
1205
1211
|
get identification(): Field {
|
|
1206
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1212
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Identification') as Field;
|
|
1207
1213
|
}
|
|
1208
1214
|
|
|
1209
1215
|
/** Information */
|
|
1210
1216
|
get information(): Field | undefined {
|
|
1211
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1217
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Information');
|
|
1212
1218
|
}
|
|
1213
1219
|
|
|
1214
1220
|
/** Amount */
|
|
1215
1221
|
get purpose(): Field | undefined {
|
|
1216
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1222
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Purpose');
|
|
1217
1223
|
}
|
|
1218
1224
|
|
|
1219
1225
|
/** Receiver BIC */
|
|
1220
1226
|
get receiverBIC(): Field {
|
|
1221
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1227
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ReceiverBIC') as Field;
|
|
1222
1228
|
}
|
|
1223
1229
|
|
|
1224
1230
|
/** Receiver IBAN */
|
|
1225
1231
|
get receiverIBAN(): Field {
|
|
1226
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1232
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ReceiverIBAN') as Field;
|
|
1227
1233
|
}
|
|
1228
1234
|
|
|
1229
1235
|
/** Receiver Name */
|
|
1230
1236
|
get receiverName(): Field {
|
|
1231
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1237
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ReceiverName') as Field;
|
|
1232
1238
|
}
|
|
1233
1239
|
|
|
1234
1240
|
/** Remittance */
|
|
1235
1241
|
get remittance(): Field | undefined {
|
|
1236
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1242
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Remittance');
|
|
1237
1243
|
}
|
|
1238
1244
|
|
|
1239
1245
|
/** Service Tag */
|
|
1240
1246
|
get serviceTag(): Field {
|
|
1241
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1247
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ServiceTag') as Field;
|
|
1242
1248
|
}
|
|
1243
1249
|
|
|
1244
1250
|
/** Version */
|
|
1245
1251
|
get version(): Field {
|
|
1246
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1252
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Version') as Field;
|
|
1247
1253
|
}
|
|
1248
1254
|
}
|
|
1249
1255
|
|
|
@@ -1256,7 +1262,7 @@ export class MedicalCertificate {
|
|
|
1256
1262
|
}
|
|
1257
1263
|
|
|
1258
1264
|
constructor(document: GenericDocument) {
|
|
1259
|
-
if (document.type.name
|
|
1265
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1260
1266
|
throw new Error(
|
|
1261
1267
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1262
1268
|
);
|
|
@@ -1266,114 +1272,114 @@ export class MedicalCertificate {
|
|
|
1266
1272
|
}
|
|
1267
1273
|
|
|
1268
1274
|
requiredDocumentType(): string {
|
|
1269
|
-
return
|
|
1275
|
+
return MedicalCertificateDocumentType;
|
|
1270
1276
|
}
|
|
1271
1277
|
|
|
1272
1278
|
/** Accident */
|
|
1273
1279
|
get accident(): Field | undefined {
|
|
1274
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1280
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Accident');
|
|
1275
1281
|
}
|
|
1276
1282
|
|
|
1277
1283
|
/** Assigned To Accident Insurance Doctor */
|
|
1278
1284
|
get assignedToAccidentInsuranceDoctor(): Field | undefined {
|
|
1279
1285
|
return this.document.fields.find(
|
|
1280
|
-
(f: Field) => f.type.name
|
|
1286
|
+
(f: Field) => f.type.name === 'AssignedToAccidentInsuranceDoctor'
|
|
1281
1287
|
);
|
|
1282
1288
|
}
|
|
1283
1289
|
|
|
1284
1290
|
/** Birth Date. The format is ISO8601 with delimiters */
|
|
1285
1291
|
get birthDate(): Field | undefined {
|
|
1286
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1292
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BirthDate');
|
|
1287
1293
|
}
|
|
1288
1294
|
|
|
1289
1295
|
/** Child Needs Care From */
|
|
1290
1296
|
get childNeedsCareFrom(): Field | undefined {
|
|
1291
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1297
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ChildNeedsCareFrom');
|
|
1292
1298
|
}
|
|
1293
1299
|
|
|
1294
1300
|
/** Child Needs Care Until */
|
|
1295
1301
|
get childNeedsCareUntil(): Field | undefined {
|
|
1296
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1302
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ChildNeedsCareUntil');
|
|
1297
1303
|
}
|
|
1298
1304
|
|
|
1299
1305
|
/** Diagnose */
|
|
1300
1306
|
get diagnose(): Field | undefined {
|
|
1301
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1307
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Diagnose');
|
|
1302
1308
|
}
|
|
1303
1309
|
|
|
1304
1310
|
/** Diagnosed On. The format is ISO8601 with delimiters */
|
|
1305
1311
|
get diagnosedOn(): Field | undefined {
|
|
1306
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1312
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DiagnosedOn');
|
|
1307
1313
|
}
|
|
1308
1314
|
|
|
1309
1315
|
/** Doctor Number */
|
|
1310
1316
|
get doctorNumber(): Field | undefined {
|
|
1311
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1317
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DoctorNumber');
|
|
1312
1318
|
}
|
|
1313
1319
|
|
|
1314
1320
|
/** Document Date. The format is ISO8601 with delimiters */
|
|
1315
1321
|
get documentDate(): Field | undefined {
|
|
1316
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1322
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentDate');
|
|
1317
1323
|
}
|
|
1318
1324
|
|
|
1319
1325
|
/** First Name */
|
|
1320
1326
|
get firstName(): Field | undefined {
|
|
1321
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1327
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstName');
|
|
1322
1328
|
}
|
|
1323
1329
|
|
|
1324
1330
|
/** Health Insurance Number */
|
|
1325
1331
|
get healthInsuranceNumber(): Field | undefined {
|
|
1326
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1332
|
+
return this.document.fields.find((f: Field) => f.type.name === 'HealthInsuranceNumber');
|
|
1327
1333
|
}
|
|
1328
1334
|
|
|
1329
1335
|
/** Incapable Of Work Since. The format is ISO8601 with delimiters */
|
|
1330
1336
|
get incapableOfWorkSince(): Field | undefined {
|
|
1331
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1337
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IncapableOfWorkSince');
|
|
1332
1338
|
}
|
|
1333
1339
|
|
|
1334
1340
|
/** Incapable Of Work Until. The format is ISO8601 with delimiters */
|
|
1335
1341
|
get incapableOfWorkUntil(): Field | undefined {
|
|
1336
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1342
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IncapableOfWorkUntil');
|
|
1337
1343
|
}
|
|
1338
1344
|
|
|
1339
1345
|
/** Initial Certificate */
|
|
1340
1346
|
get initialCertificate(): Field | undefined {
|
|
1341
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1347
|
+
return this.document.fields.find((f: Field) => f.type.name === 'InitialCertificate');
|
|
1342
1348
|
}
|
|
1343
1349
|
|
|
1344
1350
|
/** Insured Person Number */
|
|
1345
1351
|
get insuredPersonNumber(): Field | undefined {
|
|
1346
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1352
|
+
return this.document.fields.find((f: Field) => f.type.name === 'InsuredPersonNumber');
|
|
1347
1353
|
}
|
|
1348
1354
|
|
|
1349
1355
|
/** Last Name */
|
|
1350
1356
|
get lastName(): Field | undefined {
|
|
1351
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1357
|
+
return this.document.fields.find((f: Field) => f.type.name === 'LastName');
|
|
1352
1358
|
}
|
|
1353
1359
|
|
|
1354
1360
|
/** Place Of Operation Number */
|
|
1355
1361
|
get placeOfOperationNumber(): Field | undefined {
|
|
1356
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1362
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PlaceOfOperationNumber');
|
|
1357
1363
|
}
|
|
1358
1364
|
|
|
1359
1365
|
/** Renewed Certificate */
|
|
1360
1366
|
get renewedCertificate(): Field | undefined {
|
|
1361
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1367
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RenewedCertificate');
|
|
1362
1368
|
}
|
|
1363
1369
|
|
|
1364
1370
|
/** Requires Care */
|
|
1365
1371
|
get requiresCare(): Field | undefined {
|
|
1366
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1372
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RequiresCare');
|
|
1367
1373
|
}
|
|
1368
1374
|
|
|
1369
1375
|
/** Status */
|
|
1370
1376
|
get status(): Field | undefined {
|
|
1371
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1377
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Status');
|
|
1372
1378
|
}
|
|
1373
1379
|
|
|
1374
1380
|
/** Work Accident */
|
|
1375
1381
|
get workAccident(): Field | undefined {
|
|
1376
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1382
|
+
return this.document.fields.find((f: Field) => f.type.name === 'WorkAccident');
|
|
1377
1383
|
}
|
|
1378
1384
|
}
|
|
1379
1385
|
|
|
@@ -1386,7 +1392,7 @@ export class VCard {
|
|
|
1386
1392
|
}
|
|
1387
1393
|
|
|
1388
1394
|
constructor(document: GenericDocument) {
|
|
1389
|
-
if (document.type.name
|
|
1395
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1390
1396
|
throw new Error(
|
|
1391
1397
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1392
1398
|
);
|
|
@@ -1396,239 +1402,247 @@ export class VCard {
|
|
|
1396
1402
|
}
|
|
1397
1403
|
|
|
1398
1404
|
requiredDocumentType(): string {
|
|
1399
|
-
return
|
|
1405
|
+
return VCardDocumentType;
|
|
1400
1406
|
}
|
|
1401
1407
|
|
|
1402
1408
|
/** The child document of type "Version". */
|
|
1403
1409
|
get version(): VCard.Version {
|
|
1404
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1410
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Version');
|
|
1405
1411
|
return new VCard.Version(child as GenericDocument);
|
|
1406
1412
|
}
|
|
1407
1413
|
|
|
1408
1414
|
/** The child document of type "Source". */
|
|
1409
1415
|
get source(): VCard.Source | undefined {
|
|
1410
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1416
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Source');
|
|
1411
1417
|
return child ? new VCard.Source(child) : undefined;
|
|
1412
1418
|
}
|
|
1413
1419
|
|
|
1414
1420
|
/** The child document of type "Kind". */
|
|
1415
1421
|
get kind(): VCard.Kind | undefined {
|
|
1416
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1422
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Kind');
|
|
1417
1423
|
return child ? new VCard.Kind(child) : undefined;
|
|
1418
1424
|
}
|
|
1419
1425
|
|
|
1420
1426
|
/** The child document of type "XML". */
|
|
1421
1427
|
get xml(): VCard.XML | undefined {
|
|
1422
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1428
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'XML');
|
|
1423
1429
|
return child ? new VCard.XML(child) : undefined;
|
|
1424
1430
|
}
|
|
1425
1431
|
|
|
1426
1432
|
/** The child document of type "Name". */
|
|
1427
1433
|
get name(): VCard.Name | undefined {
|
|
1428
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1434
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Name');
|
|
1429
1435
|
return child ? new VCard.Name(child) : undefined;
|
|
1430
1436
|
}
|
|
1431
1437
|
|
|
1432
1438
|
/** The child document of type "FirstName". */
|
|
1433
1439
|
get firstName(): VCard.FirstName | undefined {
|
|
1434
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1440
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'FirstName');
|
|
1435
1441
|
return child ? new VCard.FirstName(child) : undefined;
|
|
1436
1442
|
}
|
|
1437
1443
|
|
|
1438
1444
|
/** The child document of type "Nickname". */
|
|
1439
1445
|
get nickname(): VCard.Nickname | undefined {
|
|
1440
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1446
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Nickname');
|
|
1441
1447
|
return child ? new VCard.Nickname(child) : undefined;
|
|
1442
1448
|
}
|
|
1443
1449
|
|
|
1444
1450
|
/** The child document of type "Birthday". */
|
|
1445
1451
|
get birthday(): VCard.Birthday | undefined {
|
|
1446
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1452
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Birthday');
|
|
1447
1453
|
return child ? new VCard.Birthday(child) : undefined;
|
|
1448
1454
|
}
|
|
1449
1455
|
|
|
1450
1456
|
/** The child document of type "Anniversary". */
|
|
1451
1457
|
get anniversary(): VCard.Anniversary | undefined {
|
|
1452
|
-
const child = this.document.children.find(
|
|
1458
|
+
const child = this.document.children.find(
|
|
1459
|
+
(c: GenericDocument) => c.type.name === 'Anniversary'
|
|
1460
|
+
);
|
|
1453
1461
|
return child ? new VCard.Anniversary(child) : undefined;
|
|
1454
1462
|
}
|
|
1455
1463
|
|
|
1456
1464
|
/** The child document of type "Gender". */
|
|
1457
1465
|
get gender(): VCard.Gender | undefined {
|
|
1458
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1466
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Gender');
|
|
1459
1467
|
return child ? new VCard.Gender(child) : undefined;
|
|
1460
1468
|
}
|
|
1461
1469
|
|
|
1462
1470
|
/** The child document of type "DeliveryAddress". */
|
|
1463
1471
|
get deliveryAddress(): VCard.DeliveryAddress | undefined {
|
|
1464
1472
|
const child = this.document.children.find(
|
|
1465
|
-
(c: GenericDocument) => c.type.name
|
|
1473
|
+
(c: GenericDocument) => c.type.name === 'DeliveryAddress'
|
|
1466
1474
|
);
|
|
1467
1475
|
return child ? new VCard.DeliveryAddress(child) : undefined;
|
|
1468
1476
|
}
|
|
1469
1477
|
|
|
1470
1478
|
/** The child document of type "Photo". */
|
|
1471
1479
|
get photo(): VCard.Photo | undefined {
|
|
1472
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1480
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Photo');
|
|
1473
1481
|
return child ? new VCard.Photo(child) : undefined;
|
|
1474
1482
|
}
|
|
1475
1483
|
|
|
1476
1484
|
/** The child document of type "TelephoneNumber". */
|
|
1477
1485
|
get telephoneNumber(): VCard.TelephoneNumber | undefined {
|
|
1478
1486
|
const child = this.document.children.find(
|
|
1479
|
-
(c: GenericDocument) => c.type.name
|
|
1487
|
+
(c: GenericDocument) => c.type.name === 'TelephoneNumber'
|
|
1480
1488
|
);
|
|
1481
1489
|
return child ? new VCard.TelephoneNumber(child) : undefined;
|
|
1482
1490
|
}
|
|
1483
1491
|
|
|
1484
1492
|
/** The child document of type "Email". */
|
|
1485
1493
|
get email(): VCard.Email | undefined {
|
|
1486
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1494
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Email');
|
|
1487
1495
|
return child ? new VCard.Email(child) : undefined;
|
|
1488
1496
|
}
|
|
1489
1497
|
|
|
1490
1498
|
/** The child document of type "IMPP". */
|
|
1491
1499
|
get impp(): VCard.IMPP | undefined {
|
|
1492
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1500
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'IMPP');
|
|
1493
1501
|
return child ? new VCard.IMPP(child) : undefined;
|
|
1494
1502
|
}
|
|
1495
1503
|
|
|
1496
1504
|
/** The child document of type "Languages". */
|
|
1497
1505
|
get languages(): VCard.Languages | undefined {
|
|
1498
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1506
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Languages');
|
|
1499
1507
|
return child ? new VCard.Languages(child) : undefined;
|
|
1500
1508
|
}
|
|
1501
1509
|
|
|
1502
1510
|
/** The child document of type "TimeZone". */
|
|
1503
1511
|
get timeZone(): VCard.TimeZone | undefined {
|
|
1504
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1512
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'TimeZone');
|
|
1505
1513
|
return child ? new VCard.TimeZone(child) : undefined;
|
|
1506
1514
|
}
|
|
1507
1515
|
|
|
1508
1516
|
/** The child document of type "GeoLocation". */
|
|
1509
1517
|
get geoLocation(): VCard.GeoLocation | undefined {
|
|
1510
|
-
const child = this.document.children.find(
|
|
1518
|
+
const child = this.document.children.find(
|
|
1519
|
+
(c: GenericDocument) => c.type.name === 'GeoLocation'
|
|
1520
|
+
);
|
|
1511
1521
|
return child ? new VCard.GeoLocation(child) : undefined;
|
|
1512
1522
|
}
|
|
1513
1523
|
|
|
1514
1524
|
/** The child document of type "Title". */
|
|
1515
1525
|
get title(): VCard.Title | undefined {
|
|
1516
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1526
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Title');
|
|
1517
1527
|
return child ? new VCard.Title(child) : undefined;
|
|
1518
1528
|
}
|
|
1519
1529
|
|
|
1520
1530
|
/** The child document of type "Role". */
|
|
1521
1531
|
get role(): VCard.Role | undefined {
|
|
1522
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1532
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Role');
|
|
1523
1533
|
return child ? new VCard.Role(child) : undefined;
|
|
1524
1534
|
}
|
|
1525
1535
|
|
|
1526
1536
|
/** The child document of type "Logo". */
|
|
1527
1537
|
get logo(): VCard.Logo | undefined {
|
|
1528
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1538
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Logo');
|
|
1529
1539
|
return child ? new VCard.Logo(child) : undefined;
|
|
1530
1540
|
}
|
|
1531
1541
|
|
|
1532
1542
|
/** The child document of type "Organisation". */
|
|
1533
1543
|
get organisation(): VCard.Organisation | undefined {
|
|
1534
1544
|
const child = this.document.children.find(
|
|
1535
|
-
(c: GenericDocument) => c.type.name
|
|
1545
|
+
(c: GenericDocument) => c.type.name === 'Organisation'
|
|
1536
1546
|
);
|
|
1537
1547
|
return child ? new VCard.Organisation(child) : undefined;
|
|
1538
1548
|
}
|
|
1539
1549
|
|
|
1540
1550
|
/** The child document of type "Member". */
|
|
1541
1551
|
get member(): VCard.Member | undefined {
|
|
1542
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1552
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Member');
|
|
1543
1553
|
return child ? new VCard.Member(child) : undefined;
|
|
1544
1554
|
}
|
|
1545
1555
|
|
|
1546
1556
|
/** The child document of type "Related". */
|
|
1547
1557
|
get related(): VCard.Related | undefined {
|
|
1548
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1558
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Related');
|
|
1549
1559
|
return child ? new VCard.Related(child) : undefined;
|
|
1550
1560
|
}
|
|
1551
1561
|
|
|
1552
1562
|
/** The child document of type "Categories". */
|
|
1553
1563
|
get categories(): VCard.Categories | undefined {
|
|
1554
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1564
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Categories');
|
|
1555
1565
|
return child ? new VCard.Categories(child) : undefined;
|
|
1556
1566
|
}
|
|
1557
1567
|
|
|
1558
1568
|
/** The child document of type "Note". */
|
|
1559
1569
|
get note(): VCard.Note | undefined {
|
|
1560
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1570
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Note');
|
|
1561
1571
|
return child ? new VCard.Note(child) : undefined;
|
|
1562
1572
|
}
|
|
1563
1573
|
|
|
1564
1574
|
/** The child document of type "ProductId". */
|
|
1565
1575
|
get productId(): VCard.ProductId | undefined {
|
|
1566
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1576
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'ProductId');
|
|
1567
1577
|
return child ? new VCard.ProductId(child) : undefined;
|
|
1568
1578
|
}
|
|
1569
1579
|
|
|
1570
1580
|
/** The child document of type "Revision". */
|
|
1571
1581
|
get revision(): VCard.Revision | undefined {
|
|
1572
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1582
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Revision');
|
|
1573
1583
|
return child ? new VCard.Revision(child) : undefined;
|
|
1574
1584
|
}
|
|
1575
1585
|
|
|
1576
1586
|
/** The child document of type "Sound". */
|
|
1577
1587
|
get sound(): VCard.Sound | undefined {
|
|
1578
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1588
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'Sound');
|
|
1579
1589
|
return child ? new VCard.Sound(child) : undefined;
|
|
1580
1590
|
}
|
|
1581
1591
|
|
|
1582
1592
|
/** The child document of type "UID". */
|
|
1583
1593
|
get uid(): VCard.UID | undefined {
|
|
1584
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1594
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'UID');
|
|
1585
1595
|
return child ? new VCard.UID(child) : undefined;
|
|
1586
1596
|
}
|
|
1587
1597
|
|
|
1588
1598
|
/** The child document of type "ClientPIDMap". */
|
|
1589
1599
|
get clientPIDMap(): VCard.ClientPIDMap | undefined {
|
|
1590
1600
|
const child = this.document.children.find(
|
|
1591
|
-
(c: GenericDocument) => c.type.name
|
|
1601
|
+
(c: GenericDocument) => c.type.name === 'ClientPIDMap'
|
|
1592
1602
|
);
|
|
1593
1603
|
return child ? new VCard.ClientPIDMap(child) : undefined;
|
|
1594
1604
|
}
|
|
1595
1605
|
|
|
1596
1606
|
/** The child document of type "URL". */
|
|
1597
1607
|
get url(): VCard.URL | undefined {
|
|
1598
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1608
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'URL');
|
|
1599
1609
|
return child ? new VCard.URL(child) : undefined;
|
|
1600
1610
|
}
|
|
1601
1611
|
|
|
1602
1612
|
/** The child document of type "PublicKey". */
|
|
1603
1613
|
get publicKey(): VCard.PublicKey | undefined {
|
|
1604
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
1614
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'PublicKey');
|
|
1605
1615
|
return child ? new VCard.PublicKey(child) : undefined;
|
|
1606
1616
|
}
|
|
1607
1617
|
|
|
1608
1618
|
/** The child document of type "BusyTimeURL". */
|
|
1609
1619
|
get busyTimeURL(): VCard.BusyTimeURL | undefined {
|
|
1610
|
-
const child = this.document.children.find(
|
|
1620
|
+
const child = this.document.children.find(
|
|
1621
|
+
(c: GenericDocument) => c.type.name === 'BusyTimeURL'
|
|
1622
|
+
);
|
|
1611
1623
|
return child ? new VCard.BusyTimeURL(child) : undefined;
|
|
1612
1624
|
}
|
|
1613
1625
|
|
|
1614
1626
|
/** The child document of type "CalendarURIForRequests". */
|
|
1615
1627
|
get calendarURIForRequests(): VCard.CalendarURIForRequests | undefined {
|
|
1616
1628
|
const child = this.document.children.find(
|
|
1617
|
-
(c: GenericDocument) => c.type.name
|
|
1629
|
+
(c: GenericDocument) => c.type.name === 'CalendarURIForRequests'
|
|
1618
1630
|
);
|
|
1619
1631
|
return child ? new VCard.CalendarURIForRequests(child) : undefined;
|
|
1620
1632
|
}
|
|
1621
1633
|
|
|
1622
1634
|
/** The child document of type "CalendarURI". */
|
|
1623
1635
|
get calendarURI(): VCard.CalendarURI | undefined {
|
|
1624
|
-
const child = this.document.children.find(
|
|
1636
|
+
const child = this.document.children.find(
|
|
1637
|
+
(c: GenericDocument) => c.type.name === 'CalendarURI'
|
|
1638
|
+
);
|
|
1625
1639
|
return child ? new VCard.CalendarURI(child) : undefined;
|
|
1626
1640
|
}
|
|
1627
1641
|
|
|
1628
1642
|
/** An array of all children of type "Custom". */
|
|
1629
1643
|
get customs(): VCard.Custom[] {
|
|
1630
1644
|
return this.document.children
|
|
1631
|
-
.filter((c: GenericDocument) => c.type.name
|
|
1645
|
+
.filter((c: GenericDocument) => c.type.name === 'Custom')
|
|
1632
1646
|
.map((c: GenericDocument) => new VCard.Custom(c));
|
|
1633
1647
|
}
|
|
1634
1648
|
}
|
|
@@ -1643,7 +1657,7 @@ export namespace VCard {
|
|
|
1643
1657
|
}
|
|
1644
1658
|
|
|
1645
1659
|
constructor(document: GenericDocument) {
|
|
1646
|
-
if (document.type.name
|
|
1660
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
1647
1661
|
throw new Error(
|
|
1648
1662
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
1649
1663
|
);
|
|
@@ -1656,17 +1670,17 @@ export namespace VCard {
|
|
|
1656
1670
|
|
|
1657
1671
|
/** Raw Value */
|
|
1658
1672
|
get rawValue(): Field {
|
|
1659
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
1673
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RawValue') as Field;
|
|
1660
1674
|
}
|
|
1661
1675
|
|
|
1662
1676
|
/** Type Modifier */
|
|
1663
1677
|
get typeModifiers(): Field[] {
|
|
1664
|
-
return this.document.fields.filter((f: Field) => f.type.name
|
|
1678
|
+
return this.document.fields.filter((f: Field) => f.type.name === 'TypeModifier');
|
|
1665
1679
|
}
|
|
1666
1680
|
|
|
1667
1681
|
/** Value */
|
|
1668
1682
|
get values(): Field[] {
|
|
1669
|
-
return this.document.fields.filter((f: Field) => f.type.name
|
|
1683
|
+
return this.document.fields.filter((f: Field) => f.type.name === 'Value');
|
|
1670
1684
|
}
|
|
1671
1685
|
}
|
|
1672
1686
|
|
|
@@ -1677,7 +1691,7 @@ export namespace VCard {
|
|
|
1677
1691
|
}
|
|
1678
1692
|
|
|
1679
1693
|
requiredDocumentType(): string {
|
|
1680
|
-
return
|
|
1694
|
+
return VCardVersionDocumentType;
|
|
1681
1695
|
}
|
|
1682
1696
|
}
|
|
1683
1697
|
|
|
@@ -1688,7 +1702,7 @@ export namespace VCard {
|
|
|
1688
1702
|
}
|
|
1689
1703
|
|
|
1690
1704
|
requiredDocumentType(): string {
|
|
1691
|
-
return
|
|
1705
|
+
return VCardSourceDocumentType;
|
|
1692
1706
|
}
|
|
1693
1707
|
}
|
|
1694
1708
|
|
|
@@ -1699,7 +1713,7 @@ export namespace VCard {
|
|
|
1699
1713
|
}
|
|
1700
1714
|
|
|
1701
1715
|
requiredDocumentType(): string {
|
|
1702
|
-
return
|
|
1716
|
+
return VCardKindDocumentType;
|
|
1703
1717
|
}
|
|
1704
1718
|
}
|
|
1705
1719
|
|
|
@@ -1710,7 +1724,7 @@ export namespace VCard {
|
|
|
1710
1724
|
}
|
|
1711
1725
|
|
|
1712
1726
|
requiredDocumentType(): string {
|
|
1713
|
-
return
|
|
1727
|
+
return VCardXMLDocumentType;
|
|
1714
1728
|
}
|
|
1715
1729
|
}
|
|
1716
1730
|
|
|
@@ -1721,7 +1735,7 @@ export namespace VCard {
|
|
|
1721
1735
|
}
|
|
1722
1736
|
|
|
1723
1737
|
requiredDocumentType(): string {
|
|
1724
|
-
return
|
|
1738
|
+
return VCardNameDocumentType;
|
|
1725
1739
|
}
|
|
1726
1740
|
}
|
|
1727
1741
|
|
|
@@ -1732,7 +1746,7 @@ export namespace VCard {
|
|
|
1732
1746
|
}
|
|
1733
1747
|
|
|
1734
1748
|
requiredDocumentType(): string {
|
|
1735
|
-
return
|
|
1749
|
+
return VCardFirstNameDocumentType;
|
|
1736
1750
|
}
|
|
1737
1751
|
}
|
|
1738
1752
|
|
|
@@ -1743,7 +1757,7 @@ export namespace VCard {
|
|
|
1743
1757
|
}
|
|
1744
1758
|
|
|
1745
1759
|
requiredDocumentType(): string {
|
|
1746
|
-
return
|
|
1760
|
+
return VCardNicknameDocumentType;
|
|
1747
1761
|
}
|
|
1748
1762
|
}
|
|
1749
1763
|
|
|
@@ -1754,7 +1768,7 @@ export namespace VCard {
|
|
|
1754
1768
|
}
|
|
1755
1769
|
|
|
1756
1770
|
requiredDocumentType(): string {
|
|
1757
|
-
return
|
|
1771
|
+
return VCardBirthdayDocumentType;
|
|
1758
1772
|
}
|
|
1759
1773
|
}
|
|
1760
1774
|
|
|
@@ -1765,7 +1779,7 @@ export namespace VCard {
|
|
|
1765
1779
|
}
|
|
1766
1780
|
|
|
1767
1781
|
requiredDocumentType(): string {
|
|
1768
|
-
return
|
|
1782
|
+
return VCardAnniversaryDocumentType;
|
|
1769
1783
|
}
|
|
1770
1784
|
}
|
|
1771
1785
|
|
|
@@ -1776,7 +1790,7 @@ export namespace VCard {
|
|
|
1776
1790
|
}
|
|
1777
1791
|
|
|
1778
1792
|
requiredDocumentType(): string {
|
|
1779
|
-
return
|
|
1793
|
+
return VCardGenderDocumentType;
|
|
1780
1794
|
}
|
|
1781
1795
|
}
|
|
1782
1796
|
|
|
@@ -1787,7 +1801,7 @@ export namespace VCard {
|
|
|
1787
1801
|
}
|
|
1788
1802
|
|
|
1789
1803
|
requiredDocumentType(): string {
|
|
1790
|
-
return
|
|
1804
|
+
return VCardDeliveryAddressDocumentType;
|
|
1791
1805
|
}
|
|
1792
1806
|
}
|
|
1793
1807
|
|
|
@@ -1798,7 +1812,7 @@ export namespace VCard {
|
|
|
1798
1812
|
}
|
|
1799
1813
|
|
|
1800
1814
|
requiredDocumentType(): string {
|
|
1801
|
-
return
|
|
1815
|
+
return VCardPhotoDocumentType;
|
|
1802
1816
|
}
|
|
1803
1817
|
}
|
|
1804
1818
|
|
|
@@ -1809,7 +1823,7 @@ export namespace VCard {
|
|
|
1809
1823
|
}
|
|
1810
1824
|
|
|
1811
1825
|
requiredDocumentType(): string {
|
|
1812
|
-
return
|
|
1826
|
+
return VCardTelephoneNumberDocumentType;
|
|
1813
1827
|
}
|
|
1814
1828
|
}
|
|
1815
1829
|
|
|
@@ -1820,7 +1834,7 @@ export namespace VCard {
|
|
|
1820
1834
|
}
|
|
1821
1835
|
|
|
1822
1836
|
requiredDocumentType(): string {
|
|
1823
|
-
return
|
|
1837
|
+
return VCardEmailDocumentType;
|
|
1824
1838
|
}
|
|
1825
1839
|
}
|
|
1826
1840
|
|
|
@@ -1831,7 +1845,7 @@ export namespace VCard {
|
|
|
1831
1845
|
}
|
|
1832
1846
|
|
|
1833
1847
|
requiredDocumentType(): string {
|
|
1834
|
-
return
|
|
1848
|
+
return VCardIMPPDocumentType;
|
|
1835
1849
|
}
|
|
1836
1850
|
}
|
|
1837
1851
|
|
|
@@ -1842,7 +1856,7 @@ export namespace VCard {
|
|
|
1842
1856
|
}
|
|
1843
1857
|
|
|
1844
1858
|
requiredDocumentType(): string {
|
|
1845
|
-
return
|
|
1859
|
+
return VCardLanguagesDocumentType;
|
|
1846
1860
|
}
|
|
1847
1861
|
}
|
|
1848
1862
|
|
|
@@ -1853,7 +1867,7 @@ export namespace VCard {
|
|
|
1853
1867
|
}
|
|
1854
1868
|
|
|
1855
1869
|
requiredDocumentType(): string {
|
|
1856
|
-
return
|
|
1870
|
+
return VCardTimeZoneDocumentType;
|
|
1857
1871
|
}
|
|
1858
1872
|
}
|
|
1859
1873
|
|
|
@@ -1864,7 +1878,7 @@ export namespace VCard {
|
|
|
1864
1878
|
}
|
|
1865
1879
|
|
|
1866
1880
|
requiredDocumentType(): string {
|
|
1867
|
-
return
|
|
1881
|
+
return VCardGeoLocationDocumentType;
|
|
1868
1882
|
}
|
|
1869
1883
|
}
|
|
1870
1884
|
|
|
@@ -1875,7 +1889,7 @@ export namespace VCard {
|
|
|
1875
1889
|
}
|
|
1876
1890
|
|
|
1877
1891
|
requiredDocumentType(): string {
|
|
1878
|
-
return
|
|
1892
|
+
return VCardTitleDocumentType;
|
|
1879
1893
|
}
|
|
1880
1894
|
}
|
|
1881
1895
|
|
|
@@ -1886,7 +1900,7 @@ export namespace VCard {
|
|
|
1886
1900
|
}
|
|
1887
1901
|
|
|
1888
1902
|
requiredDocumentType(): string {
|
|
1889
|
-
return
|
|
1903
|
+
return VCardRoleDocumentType;
|
|
1890
1904
|
}
|
|
1891
1905
|
}
|
|
1892
1906
|
|
|
@@ -1897,7 +1911,7 @@ export namespace VCard {
|
|
|
1897
1911
|
}
|
|
1898
1912
|
|
|
1899
1913
|
requiredDocumentType(): string {
|
|
1900
|
-
return
|
|
1914
|
+
return VCardLogoDocumentType;
|
|
1901
1915
|
}
|
|
1902
1916
|
}
|
|
1903
1917
|
|
|
@@ -1908,7 +1922,7 @@ export namespace VCard {
|
|
|
1908
1922
|
}
|
|
1909
1923
|
|
|
1910
1924
|
requiredDocumentType(): string {
|
|
1911
|
-
return
|
|
1925
|
+
return VCardOrganisationDocumentType;
|
|
1912
1926
|
}
|
|
1913
1927
|
}
|
|
1914
1928
|
|
|
@@ -1919,7 +1933,7 @@ export namespace VCard {
|
|
|
1919
1933
|
}
|
|
1920
1934
|
|
|
1921
1935
|
requiredDocumentType(): string {
|
|
1922
|
-
return
|
|
1936
|
+
return VCardMemberDocumentType;
|
|
1923
1937
|
}
|
|
1924
1938
|
}
|
|
1925
1939
|
|
|
@@ -1930,7 +1944,7 @@ export namespace VCard {
|
|
|
1930
1944
|
}
|
|
1931
1945
|
|
|
1932
1946
|
requiredDocumentType(): string {
|
|
1933
|
-
return
|
|
1947
|
+
return VCardRelatedDocumentType;
|
|
1934
1948
|
}
|
|
1935
1949
|
}
|
|
1936
1950
|
|
|
@@ -1941,7 +1955,7 @@ export namespace VCard {
|
|
|
1941
1955
|
}
|
|
1942
1956
|
|
|
1943
1957
|
requiredDocumentType(): string {
|
|
1944
|
-
return
|
|
1958
|
+
return VCardCategoriesDocumentType;
|
|
1945
1959
|
}
|
|
1946
1960
|
}
|
|
1947
1961
|
|
|
@@ -1952,7 +1966,7 @@ export namespace VCard {
|
|
|
1952
1966
|
}
|
|
1953
1967
|
|
|
1954
1968
|
requiredDocumentType(): string {
|
|
1955
|
-
return
|
|
1969
|
+
return VCardNoteDocumentType;
|
|
1956
1970
|
}
|
|
1957
1971
|
}
|
|
1958
1972
|
|
|
@@ -1963,7 +1977,7 @@ export namespace VCard {
|
|
|
1963
1977
|
}
|
|
1964
1978
|
|
|
1965
1979
|
requiredDocumentType(): string {
|
|
1966
|
-
return
|
|
1980
|
+
return VCardProductIdDocumentType;
|
|
1967
1981
|
}
|
|
1968
1982
|
}
|
|
1969
1983
|
|
|
@@ -1974,7 +1988,7 @@ export namespace VCard {
|
|
|
1974
1988
|
}
|
|
1975
1989
|
|
|
1976
1990
|
requiredDocumentType(): string {
|
|
1977
|
-
return
|
|
1991
|
+
return VCardRevisionDocumentType;
|
|
1978
1992
|
}
|
|
1979
1993
|
}
|
|
1980
1994
|
|
|
@@ -1985,7 +1999,7 @@ export namespace VCard {
|
|
|
1985
1999
|
}
|
|
1986
2000
|
|
|
1987
2001
|
requiredDocumentType(): string {
|
|
1988
|
-
return
|
|
2002
|
+
return VCardSoundDocumentType;
|
|
1989
2003
|
}
|
|
1990
2004
|
}
|
|
1991
2005
|
|
|
@@ -1996,7 +2010,7 @@ export namespace VCard {
|
|
|
1996
2010
|
}
|
|
1997
2011
|
|
|
1998
2012
|
requiredDocumentType(): string {
|
|
1999
|
-
return
|
|
2013
|
+
return VCardUIDDocumentType;
|
|
2000
2014
|
}
|
|
2001
2015
|
}
|
|
2002
2016
|
|
|
@@ -2007,7 +2021,7 @@ export namespace VCard {
|
|
|
2007
2021
|
}
|
|
2008
2022
|
|
|
2009
2023
|
requiredDocumentType(): string {
|
|
2010
|
-
return
|
|
2024
|
+
return VCardClientPIDMapDocumentType;
|
|
2011
2025
|
}
|
|
2012
2026
|
}
|
|
2013
2027
|
|
|
@@ -2018,7 +2032,7 @@ export namespace VCard {
|
|
|
2018
2032
|
}
|
|
2019
2033
|
|
|
2020
2034
|
requiredDocumentType(): string {
|
|
2021
|
-
return
|
|
2035
|
+
return VCardURLDocumentType;
|
|
2022
2036
|
}
|
|
2023
2037
|
}
|
|
2024
2038
|
|
|
@@ -2029,7 +2043,7 @@ export namespace VCard {
|
|
|
2029
2043
|
}
|
|
2030
2044
|
|
|
2031
2045
|
requiredDocumentType(): string {
|
|
2032
|
-
return
|
|
2046
|
+
return VCardPublicKeyDocumentType;
|
|
2033
2047
|
}
|
|
2034
2048
|
}
|
|
2035
2049
|
|
|
@@ -2040,7 +2054,7 @@ export namespace VCard {
|
|
|
2040
2054
|
}
|
|
2041
2055
|
|
|
2042
2056
|
requiredDocumentType(): string {
|
|
2043
|
-
return
|
|
2057
|
+
return VCardBusyTimeURLDocumentType;
|
|
2044
2058
|
}
|
|
2045
2059
|
}
|
|
2046
2060
|
|
|
@@ -2051,7 +2065,7 @@ export namespace VCard {
|
|
|
2051
2065
|
}
|
|
2052
2066
|
|
|
2053
2067
|
requiredDocumentType(): string {
|
|
2054
|
-
return
|
|
2068
|
+
return VCardCalendarURIForRequestsDocumentType;
|
|
2055
2069
|
}
|
|
2056
2070
|
}
|
|
2057
2071
|
|
|
@@ -2062,7 +2076,7 @@ export namespace VCard {
|
|
|
2062
2076
|
}
|
|
2063
2077
|
|
|
2064
2078
|
requiredDocumentType(): string {
|
|
2065
|
-
return
|
|
2079
|
+
return VCardCalendarURIDocumentType;
|
|
2066
2080
|
}
|
|
2067
2081
|
}
|
|
2068
2082
|
|
|
@@ -2073,7 +2087,7 @@ export namespace VCard {
|
|
|
2073
2087
|
}
|
|
2074
2088
|
|
|
2075
2089
|
requiredDocumentType(): string {
|
|
2076
|
-
return
|
|
2090
|
+
return VCardCustomDocumentType;
|
|
2077
2091
|
}
|
|
2078
2092
|
}
|
|
2079
2093
|
}
|
|
@@ -2087,7 +2101,7 @@ export class AAMVA {
|
|
|
2087
2101
|
}
|
|
2088
2102
|
|
|
2089
2103
|
constructor(document: GenericDocument) {
|
|
2090
|
-
if (document.type.name
|
|
2104
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2091
2105
|
throw new Error(
|
|
2092
2106
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2093
2107
|
);
|
|
@@ -2097,36 +2111,36 @@ export class AAMVA {
|
|
|
2097
2111
|
}
|
|
2098
2112
|
|
|
2099
2113
|
requiredDocumentType(): string {
|
|
2100
|
-
return
|
|
2114
|
+
return AAMVADocumentType;
|
|
2101
2115
|
}
|
|
2102
2116
|
|
|
2103
2117
|
/** Issuer Identification Number */
|
|
2104
2118
|
get issuerIdentificationNumber(): Field {
|
|
2105
2119
|
return this.document.fields.find(
|
|
2106
|
-
(f: Field) => f.type.name
|
|
2120
|
+
(f: Field) => f.type.name === 'IssuerIdentificationNumber'
|
|
2107
2121
|
) as Field;
|
|
2108
2122
|
}
|
|
2109
2123
|
|
|
2110
2124
|
/** Jurisdiction Version Number */
|
|
2111
2125
|
get jurisdictionVersionNumber(): Field | undefined {
|
|
2112
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2126
|
+
return this.document.fields.find((f: Field) => f.type.name === 'JurisdictionVersionNumber');
|
|
2113
2127
|
}
|
|
2114
2128
|
|
|
2115
2129
|
/** Version */
|
|
2116
2130
|
get version(): Field {
|
|
2117
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2131
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Version') as Field;
|
|
2118
2132
|
}
|
|
2119
2133
|
|
|
2120
2134
|
/** The child document of type "TitleData". */
|
|
2121
2135
|
get titleData(): AAMVA.TitleData | undefined {
|
|
2122
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
2136
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'TitleData');
|
|
2123
2137
|
return child ? new AAMVA.TitleData(child) : undefined;
|
|
2124
2138
|
}
|
|
2125
2139
|
|
|
2126
2140
|
/** The child document of type "RegistrationData". */
|
|
2127
2141
|
get registrationData(): AAMVA.RegistrationData | undefined {
|
|
2128
2142
|
const child = this.document.children.find(
|
|
2129
|
-
(c: GenericDocument) => c.type.name
|
|
2143
|
+
(c: GenericDocument) => c.type.name === 'RegistrationData'
|
|
2130
2144
|
);
|
|
2131
2145
|
return child ? new AAMVA.RegistrationData(child) : undefined;
|
|
2132
2146
|
}
|
|
@@ -2134,7 +2148,7 @@ export class AAMVA {
|
|
|
2134
2148
|
/** The child document of type "MotorCarrierData". */
|
|
2135
2149
|
get motorCarrierData(): AAMVA.MotorCarrierData | undefined {
|
|
2136
2150
|
const child = this.document.children.find(
|
|
2137
|
-
(c: GenericDocument) => c.type.name
|
|
2151
|
+
(c: GenericDocument) => c.type.name === 'MotorCarrierData'
|
|
2138
2152
|
);
|
|
2139
2153
|
return child ? new AAMVA.MotorCarrierData(child) : undefined;
|
|
2140
2154
|
}
|
|
@@ -2142,7 +2156,7 @@ export class AAMVA {
|
|
|
2142
2156
|
/** The child document of type "RegistrantAndVehicleData". */
|
|
2143
2157
|
get registrantAndVehicleData(): AAMVA.RegistrantAndVehicleData | undefined {
|
|
2144
2158
|
const child = this.document.children.find(
|
|
2145
|
-
(c: GenericDocument) => c.type.name
|
|
2159
|
+
(c: GenericDocument) => c.type.name === 'RegistrantAndVehicleData'
|
|
2146
2160
|
);
|
|
2147
2161
|
return child ? new AAMVA.RegistrantAndVehicleData(child) : undefined;
|
|
2148
2162
|
}
|
|
@@ -2150,21 +2164,23 @@ export class AAMVA {
|
|
|
2150
2164
|
/** The child document of type "VehicleOwnerData". */
|
|
2151
2165
|
get vehicleOwnerData(): AAMVA.VehicleOwnerData | undefined {
|
|
2152
2166
|
const child = this.document.children.find(
|
|
2153
|
-
(c: GenericDocument) => c.type.name
|
|
2167
|
+
(c: GenericDocument) => c.type.name === 'VehicleOwnerData'
|
|
2154
2168
|
);
|
|
2155
2169
|
return child ? new AAMVA.VehicleOwnerData(child) : undefined;
|
|
2156
2170
|
}
|
|
2157
2171
|
|
|
2158
2172
|
/** The child document of type "VehicleData". */
|
|
2159
2173
|
get vehicleData(): AAMVA.VehicleData | undefined {
|
|
2160
|
-
const child = this.document.children.find(
|
|
2174
|
+
const child = this.document.children.find(
|
|
2175
|
+
(c: GenericDocument) => c.type.name === 'VehicleData'
|
|
2176
|
+
);
|
|
2161
2177
|
return child ? new AAMVA.VehicleData(child) : undefined;
|
|
2162
2178
|
}
|
|
2163
2179
|
|
|
2164
2180
|
/** The child document of type "VehicleSafetyInspectionData". */
|
|
2165
2181
|
get vehicleSafetyInspectionData(): AAMVA.VehicleSafetyInspectionData | undefined {
|
|
2166
2182
|
const child = this.document.children.find(
|
|
2167
|
-
(c: GenericDocument) => c.type.name
|
|
2183
|
+
(c: GenericDocument) => c.type.name === 'VehicleSafetyInspectionData'
|
|
2168
2184
|
);
|
|
2169
2185
|
return child ? new AAMVA.VehicleSafetyInspectionData(child) : undefined;
|
|
2170
2186
|
}
|
|
@@ -2172,28 +2188,30 @@ export class AAMVA {
|
|
|
2172
2188
|
/** The child document of type "DriverLicense". */
|
|
2173
2189
|
get driverLicense(): AAMVA.DriverLicense | undefined {
|
|
2174
2190
|
const child = this.document.children.find(
|
|
2175
|
-
(c: GenericDocument) => c.type.name
|
|
2191
|
+
(c: GenericDocument) => c.type.name === 'DriverLicense'
|
|
2176
2192
|
);
|
|
2177
2193
|
return child ? new AAMVA.DriverLicense(child) : undefined;
|
|
2178
2194
|
}
|
|
2179
2195
|
|
|
2180
2196
|
/** The child document of type "IDCard". */
|
|
2181
2197
|
get idCard(): AAMVA.IDCard | undefined {
|
|
2182
|
-
const child = this.document.children.find((c: GenericDocument) => c.type.name
|
|
2198
|
+
const child = this.document.children.find((c: GenericDocument) => c.type.name === 'IDCard');
|
|
2183
2199
|
return child ? new AAMVA.IDCard(child) : undefined;
|
|
2184
2200
|
}
|
|
2185
2201
|
|
|
2186
2202
|
/** The child document of type "EnhancedDriverLicense". */
|
|
2187
2203
|
get enhancedDriverLicense(): AAMVA.EnhancedDriverLicense | undefined {
|
|
2188
2204
|
const child = this.document.children.find(
|
|
2189
|
-
(c: GenericDocument) => c.type.name
|
|
2205
|
+
(c: GenericDocument) => c.type.name === 'EnhancedDriverLicense'
|
|
2190
2206
|
);
|
|
2191
2207
|
return child ? new AAMVA.EnhancedDriverLicense(child) : undefined;
|
|
2192
2208
|
}
|
|
2193
2209
|
|
|
2194
2210
|
/** The child document of type "RawDocument". */
|
|
2195
2211
|
get rawDocument(): AAMVA.RawDocument {
|
|
2196
|
-
const child = this.document.children.find(
|
|
2212
|
+
const child = this.document.children.find(
|
|
2213
|
+
(c: GenericDocument) => c.type.name === 'RawDocument'
|
|
2214
|
+
);
|
|
2197
2215
|
return new AAMVA.RawDocument(child as GenericDocument);
|
|
2198
2216
|
}
|
|
2199
2217
|
}
|
|
@@ -2208,7 +2226,7 @@ export namespace AAMVA {
|
|
|
2208
2226
|
}
|
|
2209
2227
|
|
|
2210
2228
|
constructor(document: GenericDocument) {
|
|
2211
|
-
if (document.type.name
|
|
2229
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2212
2230
|
throw new Error(
|
|
2213
2231
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2214
2232
|
);
|
|
@@ -2218,143 +2236,142 @@ export namespace AAMVA {
|
|
|
2218
2236
|
}
|
|
2219
2237
|
|
|
2220
2238
|
requiredDocumentType(): string {
|
|
2221
|
-
return
|
|
2239
|
+
return AAMVATitleDataDocumentType;
|
|
2222
2240
|
}
|
|
2223
2241
|
|
|
2224
2242
|
/** Data element ID "NAT". City portion of the owner's address. */
|
|
2225
2243
|
get addressCity(): Field | undefined {
|
|
2226
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2244
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressCity');
|
|
2227
2245
|
}
|
|
2228
2246
|
|
|
2229
2247
|
/** Data element ID "NAU". Jurisdiction portion of the owner's address. */
|
|
2230
2248
|
get addressJurisdictionCode(): Field | undefined {
|
|
2231
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2249
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressJurisdictionCode');
|
|
2232
2250
|
}
|
|
2233
2251
|
|
|
2234
2252
|
/** Data element ID "NAR". Street portion of the owner's address. */
|
|
2235
2253
|
get addressStreet(): Field | undefined {
|
|
2236
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2254
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressStreet');
|
|
2237
2255
|
}
|
|
2238
2256
|
|
|
2239
2257
|
/** Data element ID "NAV". The ZIP code or Postal code portion of the owner's address. */
|
|
2240
2258
|
get addressZipCode(): Field | undefined {
|
|
2241
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2259
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressZipCode');
|
|
2242
2260
|
}
|
|
2243
2261
|
|
|
2244
2262
|
/** Data element ID "BBC". The name of business that owns the vehicle. */
|
|
2245
2263
|
get businessName(): Field | undefined {
|
|
2246
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2264
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BusinessName');
|
|
2247
2265
|
}
|
|
2248
2266
|
|
|
2249
2267
|
/** Data element ID "NAA". Family name (commonly called surname or last name) of the owner of the vehicle. */
|
|
2250
2268
|
get familyName(): Field | undefined {
|
|
2251
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2269
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FamilyName');
|
|
2252
2270
|
}
|
|
2253
2271
|
|
|
2254
2272
|
/** Data element ID "LAF". A code that uniquely identifies the first holder of a lien. */
|
|
2255
2273
|
get firstLienHolderId(): Field | undefined {
|
|
2256
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2274
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstLienHolderId');
|
|
2257
2275
|
}
|
|
2258
2276
|
|
|
2259
2277
|
/** Data element ID "LAA". Name of the first lien holder of the vehicle. */
|
|
2260
2278
|
get firstLienHolderName(): Field | undefined {
|
|
2261
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2279
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstLienHolderName');
|
|
2262
2280
|
}
|
|
2263
2281
|
|
|
2264
2282
|
/** Data element ID "NAE". Given name or names (includes all of what are commonly referred to as first and middle names) of the owner of the vehicle. */
|
|
2265
2283
|
get givenName(): Field | undefined {
|
|
2266
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2284
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GivenName');
|
|
2267
2285
|
}
|
|
2268
2286
|
|
|
2269
|
-
/** Data element ID "TAW". This code represents whether the vehicle/vessel is new or used. Note: jurisdictions' definitions of these classifications may vary a little due to state regulations on demo vehicles, slates between dealers, application of state taxes, etc. N = New, U = Used.
|
|
2270
|
-
*/
|
|
2287
|
+
/** Data element ID "TAW". This code represents whether the vehicle/vessel is new or used. Note: jurisdictions' definitions of these classifications may vary a little due to state regulations on demo vehicles, slates between dealers, application of state taxes, etc. N = New, U = Used. */
|
|
2271
2288
|
get newUsedIndicator(): Field | undefined {
|
|
2272
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2289
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NewUsedIndicator');
|
|
2273
2290
|
}
|
|
2274
2291
|
|
|
2275
2292
|
/** Data element ID "TAH". The date the odometer reading was recorded by the jurisdiction. */
|
|
2276
2293
|
get odometerDate(): Field | undefined {
|
|
2277
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2294
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OdometerDate');
|
|
2278
2295
|
}
|
|
2279
2296
|
|
|
2280
2297
|
/** Data element ID "TAG". This is the federal odometer mileage disclosure. The mandatory information is: (1) Actual vehicle mileage; (2) Mileage exceeds mechanical limitations; (3) Not actual mileage; (4) Mileage disclosure not required. */
|
|
2281
2298
|
get odometerDisclosure(): Field | undefined {
|
|
2282
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2299
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OdometerDisclosure');
|
|
2283
2300
|
}
|
|
2284
2301
|
|
|
2285
2302
|
/** Data element ID "TAI". This is the odometer reading registered with the DMV either at the time of titling or registration renewal in kilometers. */
|
|
2286
2303
|
get odometerReadingKilometers(): Field | undefined {
|
|
2287
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2304
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OdometerReadingKilometers');
|
|
2288
2305
|
}
|
|
2289
2306
|
|
|
2290
2307
|
/** Data element ID "TAF". This is the odometer reading registered with the DMV either at the time of titling or registration renewal. */
|
|
2291
2308
|
get odometerReadingMileage(): Field | undefined {
|
|
2292
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2309
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OdometerReadingMileage');
|
|
2293
2310
|
}
|
|
2294
2311
|
|
|
2295
2312
|
/** Data element ID "TAZ". The title number assigned to the vehicle by the previous titling jurisdiction. */
|
|
2296
2313
|
get previousTitleNumber(): Field | undefined {
|
|
2297
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2314
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PreviousTitleNumber');
|
|
2298
2315
|
}
|
|
2299
2316
|
|
|
2300
2317
|
/** Data element ID "TPJ". The code for the jurisdiction (U.S., Canadian, or Mexican) that titled the vehicle immediately prior to the current titling jurisdiction. */
|
|
2301
2318
|
get previousTitlingJurisdiction(): Field | undefined {
|
|
2302
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2319
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PreviousTitlingJurisdiction');
|
|
2303
2320
|
}
|
|
2304
2321
|
|
|
2305
2322
|
/** Data element ID "TAY". Code providing information about the brand applied to the title. */
|
|
2306
2323
|
get titleBrand(): Field | undefined {
|
|
2307
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2324
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TitleBrand');
|
|
2308
2325
|
}
|
|
2309
2326
|
|
|
2310
2327
|
/** Data element ID "TAV". The date the jurisdiction's titling authority issued a title to the owner of the vehicle. The format is CCYYMMDD. */
|
|
2311
2328
|
get titleIssueDate(): Field | undefined {
|
|
2312
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2329
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TitleIssueDate');
|
|
2313
2330
|
}
|
|
2314
2331
|
|
|
2315
2332
|
/** Data element ID "TAA". The date the jurisdiction's titling authority issued a title to the owner of the vehicle. The format is CCYYMMDD. */
|
|
2316
2333
|
get titleNumber(): Field | undefined {
|
|
2317
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2334
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TitleNumber');
|
|
2318
2335
|
}
|
|
2319
2336
|
|
|
2320
2337
|
/** Data element ID "TAC". A unique set of alphanumeric characters assigned by the titling jurisdiction to the certificate of title of a vehicle. */
|
|
2321
2338
|
get titlingJurisdiction(): Field | undefined {
|
|
2322
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2339
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TitlingJurisdiction');
|
|
2323
2340
|
}
|
|
2324
2341
|
|
|
2325
2342
|
/** Data element ID "VAO". The general configuration or shape of a vehicle distinguished by characteristics such as number of doors, seats, windows, roofline, and type of top. The vehicle body type is 2-character alphanumeric. */
|
|
2326
2343
|
get vehicleBodyStyle(): Field | undefined {
|
|
2327
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2344
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleBodyStyle');
|
|
2328
2345
|
}
|
|
2329
2346
|
|
|
2330
2347
|
/** Data element ID "VBD". Where the vehicle/vessel is one color, this is the appropriate code describing that color. When the vehicle is two colors, this is the code for the top-most or front-most color. */
|
|
2331
2348
|
get vehicleColor(): Field | undefined {
|
|
2332
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2349
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleColor');
|
|
2333
2350
|
}
|
|
2334
2351
|
|
|
2335
2352
|
/** Data element ID "VAD". A unique combination of alphanumeric characters that identifies a specific vehicle or component. The VIN is affixed to the vehicle in specific locations and formulated by the manufacturer. State agencies under some controlled instances may assign a VIN to a vehicle. */
|
|
2336
2353
|
get vehicleIdentificationNumber(): Field | undefined {
|
|
2337
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2354
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleIdentificationNumber');
|
|
2338
2355
|
}
|
|
2339
2356
|
|
|
2340
2357
|
/** Data element ID "VAK". The distinctive (coded) name applied to a group of vehicles by a manufacturer. */
|
|
2341
2358
|
get vehicleMake(): Field | undefined {
|
|
2342
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2359
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleMake');
|
|
2343
2360
|
}
|
|
2344
2361
|
|
|
2345
2362
|
/** Data element ID "VAM". A code denoting a family of vehicles (within a make), which has a degree of similarity in construction, such as body, chassis, etc. The field does not necessarily contain a standard code; it may contain a value provided by the originator of the field. */
|
|
2346
2363
|
get vehicleModel(): Field | undefined {
|
|
2347
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2364
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModel');
|
|
2348
2365
|
}
|
|
2349
2366
|
|
|
2350
2367
|
/** Data element ID "VAL". The year that is assigned to a vehicle by the manufacturer. The format is CCYY. */
|
|
2351
2368
|
get vehicleModelYear(): Field | undefined {
|
|
2352
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2369
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModelYear');
|
|
2353
2370
|
}
|
|
2354
2371
|
|
|
2355
2372
|
/** Data element ID "TAU". The date a vehicle was purchased by the current owner. The format is ISO8601 with delimiters. */
|
|
2356
2373
|
get vehiclePurchaseDate(): Field | undefined {
|
|
2357
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2374
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehiclePurchaseDate');
|
|
2358
2375
|
}
|
|
2359
2376
|
}
|
|
2360
2377
|
|
|
@@ -2367,7 +2384,7 @@ export namespace AAMVA {
|
|
|
2367
2384
|
}
|
|
2368
2385
|
|
|
2369
2386
|
constructor(document: GenericDocument) {
|
|
2370
|
-
if (document.type.name
|
|
2387
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2371
2388
|
throw new Error(
|
|
2372
2389
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2373
2390
|
);
|
|
@@ -2377,119 +2394,119 @@ export namespace AAMVA {
|
|
|
2377
2394
|
}
|
|
2378
2395
|
|
|
2379
2396
|
requiredDocumentType(): string {
|
|
2380
|
-
return
|
|
2397
|
+
return AAMVARegistrationDataDocumentType;
|
|
2381
2398
|
}
|
|
2382
2399
|
|
|
2383
2400
|
/** Data element ID "RBK". City portion of the owner's address. */
|
|
2384
2401
|
get addressCity(): Field | undefined {
|
|
2385
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2402
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressCity');
|
|
2386
2403
|
}
|
|
2387
2404
|
|
|
2388
2405
|
/** Data element ID "RBL". Jurisdiction portion of the owner's address. */
|
|
2389
2406
|
get addressJurisdictionCode(): Field | undefined {
|
|
2390
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2407
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressJurisdictionCode');
|
|
2391
2408
|
}
|
|
2392
2409
|
|
|
2393
2410
|
/** Data element ID "RBI". Street portion of the owner's address. */
|
|
2394
2411
|
get addressStreet(): Field | undefined {
|
|
2395
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2412
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressStreet');
|
|
2396
2413
|
}
|
|
2397
2414
|
|
|
2398
2415
|
/** Data element ID "RBM". The Zip code or Postal code of the vehicle owner's residence address. */
|
|
2399
2416
|
get addressZipCode(): Field | undefined {
|
|
2400
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2417
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressZipCode');
|
|
2401
2418
|
}
|
|
2402
2419
|
|
|
2403
2420
|
/** Data element ID "VBC". The number of common axles of rotation of one or more wheels of a vehicle, whether power driven or freely rotating. */
|
|
2404
2421
|
get axles(): Field | undefined {
|
|
2405
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2422
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Axles');
|
|
2406
2423
|
}
|
|
2407
2424
|
|
|
2408
2425
|
/** Data element ID "BBC". The business name of the first registrant of a vehicle. */
|
|
2409
2426
|
get businessName(): Field | undefined {
|
|
2410
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2427
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BusinessName');
|
|
2411
2428
|
}
|
|
2412
2429
|
|
|
2413
2430
|
/** Data element ID "FUL". The type of fuel used by the vehicle. In most cases, the fuel type would be diesel. */
|
|
2414
2431
|
get fuel(): Field | undefined {
|
|
2415
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2432
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Fuel');
|
|
2416
2433
|
}
|
|
2417
2434
|
|
|
2418
2435
|
/** Data element ID "VAT". The unladen weight of the vehicle (e.g., the single-unit truck, truck combination) plus the weight of the load being carried at a specific point in time. */
|
|
2419
2436
|
get grossVehicleWeight(): Field | undefined {
|
|
2420
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2437
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GrossVehicleWeight');
|
|
2421
2438
|
}
|
|
2422
2439
|
|
|
2423
2440
|
/** Data element ID "RBD". Family name (commonly called surname or last name) of the registered owner of a vehicle. */
|
|
2424
2441
|
get registrantFamilyName(): Field | undefined {
|
|
2425
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2442
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrantFamilyName');
|
|
2426
2443
|
}
|
|
2427
2444
|
|
|
2428
2445
|
/** Data element ID "RBE". Given name or names (includes all of what are commonly referred to as first and middle names) of the registered owner of a vehicle. */
|
|
2429
2446
|
get registrantGivenName(): Field | undefined {
|
|
2430
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2447
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrantGivenName');
|
|
2431
2448
|
}
|
|
2432
2449
|
|
|
2433
2450
|
/** Data element ID "RAG". The date in which the registration expired. The format is ISO8601 with delimiters. */
|
|
2434
2451
|
get registrationExpiryDate(): Field | undefined {
|
|
2435
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2452
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationExpiryDate');
|
|
2436
2453
|
}
|
|
2437
2454
|
|
|
2438
2455
|
/** Data element ID "RBB". The date in which the registration was issued. The format is ISO8601 with delimiters. */
|
|
2439
2456
|
get registrationIssueDate(): Field | undefined {
|
|
2440
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2457
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationIssueDate');
|
|
2441
2458
|
}
|
|
2442
2459
|
|
|
2443
2460
|
/** Data element ID "RAM". The characters assigned to a registration plate or tag affixed to the vehicle, assigned by the jurisdiction. */
|
|
2444
2461
|
get registrationPlateNumber(): Field | undefined {
|
|
2445
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2462
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationPlateNumber');
|
|
2446
2463
|
}
|
|
2447
2464
|
|
|
2448
2465
|
/** Data element ID "RBU". A unique number printed on the tab/decal and stored as part of the registration record. */
|
|
2449
2466
|
get registrationWindowStickerDecal(): Field | undefined {
|
|
2450
2467
|
return this.document.fields.find(
|
|
2451
|
-
(f: Field) => f.type.name
|
|
2468
|
+
(f: Field) => f.type.name === 'RegistrationWindowStickerDecal'
|
|
2452
2469
|
);
|
|
2453
2470
|
}
|
|
2454
2471
|
|
|
2455
2472
|
/** Data element ID "RBT". The year of registration. */
|
|
2456
2473
|
get registrationYear(): Field | undefined {
|
|
2457
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2474
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationYear');
|
|
2458
2475
|
}
|
|
2459
2476
|
|
|
2460
2477
|
/** Data element ID "VAO". The general configuration or shape of a vehicle distinguished by characteristics such as number of doors, seats, windows, roofline, and type of top. The vehicle body type is 2-character alphanumeric. */
|
|
2461
2478
|
get vehicleBodyStyle(): Field | undefined {
|
|
2462
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2479
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleBodyStyle');
|
|
2463
2480
|
}
|
|
2464
2481
|
|
|
2465
2482
|
/** Data element ID "VBD". Where the vehicle is one color, this is the appropriate code describing that color. When the vehicle is two colors, this is the code for the top-most or front-most color. */
|
|
2466
2483
|
get vehicleColor(): Field | undefined {
|
|
2467
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2484
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleColor');
|
|
2468
2485
|
}
|
|
2469
2486
|
|
|
2470
2487
|
/** Data element ID "VAD". A unique combination of alphanumeric characters that identifies a specific vehicle or component. The VIN is affixed to the vehicle in specific locations and formulated by the manufacturer. State agencies under some controlled instances my assign a VIN to a vehicle. */
|
|
2471
2488
|
get vehicleIdentificationNumber(): Field | undefined {
|
|
2472
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2489
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleIdentificationNumber');
|
|
2473
2490
|
}
|
|
2474
2491
|
|
|
2475
2492
|
/** Data element ID "VAK". The distinctive (coded) name applied to a group of vehicles by a manufacturer. */
|
|
2476
2493
|
get vehicleMake(): Field | undefined {
|
|
2477
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2494
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleMake');
|
|
2478
2495
|
}
|
|
2479
2496
|
|
|
2480
2497
|
/** Data element ID "VAM". A code denoting a family of vehicles (within a make), which has a degree of similarity in construction, such as body, chassis, etc. The field does not necessarily contain a standard code; it may contain a value provided by the originator of the field. */
|
|
2481
2498
|
get vehicleModel(): Field | undefined {
|
|
2482
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2499
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModel');
|
|
2483
2500
|
}
|
|
2484
2501
|
|
|
2485
2502
|
/** Data element ID "VAL". The year which is assigned to a vehicle by the manufacturer. The format is CCYY. */
|
|
2486
2503
|
get vehicleModelYear(): Field | undefined {
|
|
2487
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2504
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModelYear');
|
|
2488
2505
|
}
|
|
2489
2506
|
|
|
2490
2507
|
/** Data element ID "VPC". Indicates the use of the vehicle. */
|
|
2491
2508
|
get vehicleUse(): Field | undefined {
|
|
2492
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2509
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleUse');
|
|
2493
2510
|
}
|
|
2494
2511
|
}
|
|
2495
2512
|
|
|
@@ -2502,7 +2519,7 @@ export namespace AAMVA {
|
|
|
2502
2519
|
}
|
|
2503
2520
|
|
|
2504
2521
|
constructor(document: GenericDocument) {
|
|
2505
|
-
if (document.type.name
|
|
2522
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2506
2523
|
throw new Error(
|
|
2507
2524
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2508
2525
|
);
|
|
@@ -2512,37 +2529,37 @@ export namespace AAMVA {
|
|
|
2512
2529
|
}
|
|
2513
2530
|
|
|
2514
2531
|
requiredDocumentType(): string {
|
|
2515
|
-
return
|
|
2532
|
+
return AAMVAMotorCarrierDataDocumentType;
|
|
2516
2533
|
}
|
|
2517
2534
|
|
|
2518
2535
|
/** Data element ID "MAA". The name of the carrier responsible for safety. This can be an individual, partnership or corporation responsible for the transportation of persons or property. This is the name that is recognized by law. */
|
|
2519
2536
|
get carrierName(): Field | undefined {
|
|
2520
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2537
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CarrierName');
|
|
2521
2538
|
}
|
|
2522
2539
|
|
|
2523
2540
|
/** Data element ID "MAL". This is the city for the mailing address of the individual carrier. This information is utilized by the base jurisdiction to send information to the carrier that purchased the IRP credentials. */
|
|
2524
2541
|
get city(): Field | undefined {
|
|
2525
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2542
|
+
return this.document.fields.find((f: Field) => f.type.name === 'City');
|
|
2526
2543
|
}
|
|
2527
2544
|
|
|
2528
2545
|
/** Data element ID "MAI". This is the jurisdiction of the residential address of the individual carrier. This information is utilized by the base jurisdiction to send information to the carrier that purchased the IRP credentials. */
|
|
2529
2546
|
get jurisdiction(): Field | undefined {
|
|
2530
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2547
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Jurisdiction');
|
|
2531
2548
|
}
|
|
2532
2549
|
|
|
2533
2550
|
/** Data element ID "MAK". This is the mailing address of the individual carrier. This information is utilized by the base jurisdiction to send information to the carrier that purchased the IRP credentials. */
|
|
2534
2551
|
get streetAddress(): Field | undefined {
|
|
2535
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2552
|
+
return this.document.fields.find((f: Field) => f.type.name === 'StreetAddress');
|
|
2536
2553
|
}
|
|
2537
2554
|
|
|
2538
2555
|
/** Data element ID "MAN". A unique identifier assigned to the carrier responsible for safety issued by the U.S. Department of Transportation – Federal Motor Carrier Safety Administration. */
|
|
2539
2556
|
get usdotNumber(): Field | undefined {
|
|
2540
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2557
|
+
return this.document.fields.find((f: Field) => f.type.name === 'USDOTNumber');
|
|
2541
2558
|
}
|
|
2542
2559
|
|
|
2543
2560
|
/** Data element ID "MAO". The ZIP or Postal code of the resident address of the vehicle owner. */
|
|
2544
2561
|
get zip(): Field | undefined {
|
|
2545
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2562
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Zip');
|
|
2546
2563
|
}
|
|
2547
2564
|
}
|
|
2548
2565
|
|
|
@@ -2555,7 +2572,7 @@ export namespace AAMVA {
|
|
|
2555
2572
|
}
|
|
2556
2573
|
|
|
2557
2574
|
constructor(document: GenericDocument) {
|
|
2558
|
-
if (document.type.name
|
|
2575
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2559
2576
|
throw new Error(
|
|
2560
2577
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2561
2578
|
);
|
|
@@ -2565,104 +2582,104 @@ export namespace AAMVA {
|
|
|
2565
2582
|
}
|
|
2566
2583
|
|
|
2567
2584
|
requiredDocumentType(): string {
|
|
2568
|
-
return
|
|
2585
|
+
return AAMVARegistrantAndVehicleDataDocumentType;
|
|
2569
2586
|
}
|
|
2570
2587
|
|
|
2571
2588
|
/** Data element ID "RBI". The first line of the registrant's residence address. */
|
|
2572
2589
|
get address(): Field | undefined {
|
|
2573
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2590
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Address');
|
|
2574
2591
|
}
|
|
2575
2592
|
|
|
2576
2593
|
/** Data element ID "RAU". The declared base jurisdiction registration weight. */
|
|
2577
2594
|
get baseJurisdictionRegisteredWeight(): Field | undefined {
|
|
2578
2595
|
return this.document.fields.find(
|
|
2579
|
-
(f: Field) => f.type.name
|
|
2596
|
+
(f: Field) => f.type.name === 'BaseJurisdictionRegisteredWeight'
|
|
2580
2597
|
);
|
|
2581
2598
|
}
|
|
2582
2599
|
|
|
2583
2600
|
/** Data element ID "RBC". The name of the first registrant of a vehicle. Registrant's name may be a combined individual name or the name of a business */
|
|
2584
2601
|
get carrierNameRegistrant(): Field | undefined {
|
|
2585
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2602
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CarrierNameRegistrant');
|
|
2586
2603
|
}
|
|
2587
2604
|
|
|
2588
2605
|
/** Data element ID "RBK". The registrant's residence city name. */
|
|
2589
2606
|
get city(): Field | undefined {
|
|
2590
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2607
|
+
return this.document.fields.find((f: Field) => f.type.name === 'City');
|
|
2591
2608
|
}
|
|
2592
2609
|
|
|
2593
2610
|
/** Data element ID "VAT". The unladen weight of the vehicle (e.g., single-unit truck, truck combination) plus the weight of the maximum load for which vehicle registration fees have been paid within a particular jurisdiction. */
|
|
2594
2611
|
get grossVehicleWeight(): Field | undefined {
|
|
2595
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2612
|
+
return this.document.fields.find((f: Field) => f.type.name === 'GrossVehicleWeight');
|
|
2596
2613
|
}
|
|
2597
2614
|
|
|
2598
2615
|
/** Data element ID "RBL". The state or province of the registrant's residence address. */
|
|
2599
2616
|
get jurisdiction(): Field | undefined {
|
|
2600
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2617
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Jurisdiction');
|
|
2601
2618
|
}
|
|
2602
2619
|
|
|
2603
2620
|
/** Data element ID "VAL". The year which is assigned to a vehicle by the manufacturer. The format is YY. */
|
|
2604
2621
|
get modelYear(): Field | undefined {
|
|
2605
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2622
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ModelYear');
|
|
2606
2623
|
}
|
|
2607
2624
|
|
|
2608
2625
|
/** Data element IDs "RAP", "VBC". The seat capacity of a commercial vehicle designed for transportation of more than then passengers. The number of common axles of rotation of one or more wheels of a vehicle, whether power design or freely rotating. */
|
|
2609
2626
|
get numberOfSeats(): Field | undefined {
|
|
2610
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2627
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfSeats');
|
|
2611
2628
|
}
|
|
2612
2629
|
|
|
2613
2630
|
/** Data element ID "RAD". The number assigned to the registration decal in those jurisdictions that issue decals. */
|
|
2614
2631
|
get registrationDecalNumber(): Field | undefined {
|
|
2615
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2632
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationDecalNumber');
|
|
2616
2633
|
}
|
|
2617
2634
|
|
|
2618
2635
|
/** Data element ID "RAF". The registration enforcement date is the date that the current registration was enforced. This may or may not be the original registration date. The format is ISO8601 with delimiters */
|
|
2619
2636
|
get registrationEnforcementDate(): Field | undefined {
|
|
2620
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2637
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationEnforcementDate');
|
|
2621
2638
|
}
|
|
2622
2639
|
|
|
2623
2640
|
/** Data element ID "RAG". The date in which the registration expired. The format is ISO8601 with delimiters. */
|
|
2624
2641
|
get registrationExpirationDate(): Field | undefined {
|
|
2625
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2642
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationExpirationDate');
|
|
2626
2643
|
}
|
|
2627
2644
|
|
|
2628
2645
|
/** Data element ID "IFJ". The date in which the registration was issued. The format is ISO8601 with delimiters. */
|
|
2629
2646
|
get registrationIssueDate(): Field | undefined {
|
|
2630
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2647
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationIssueDate');
|
|
2631
2648
|
}
|
|
2632
2649
|
|
|
2633
2650
|
/** Data element ID "RAM". The characters assigned to a registration plate or tag affixed to the vehicle, assigned by the jurisdiction. */
|
|
2634
2651
|
get registrationPlateNumber(): Field | undefined {
|
|
2635
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2652
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationPlateNumber');
|
|
2636
2653
|
}
|
|
2637
2654
|
|
|
2638
2655
|
/** Data element ID "RBT". This field is the registration year assigned by the jurisdiction. The format is CCYY. */
|
|
2639
2656
|
get registrationYear(): Field | undefined {
|
|
2640
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2657
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RegistrationYear');
|
|
2641
2658
|
}
|
|
2642
2659
|
|
|
2643
2660
|
/** Data element ID "VBB". The type of vehicle operated for the transportation of persons or property in the furtherance of any commercial or industrial enterprise, for hire or not for hire. Not all states will use all values. */
|
|
2644
2661
|
get typeOfVehicle(): Field | undefined {
|
|
2645
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2662
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TypeOfVehicle');
|
|
2646
2663
|
}
|
|
2647
2664
|
|
|
2648
2665
|
/** Data element ID "IEG". A number, assigned by the registrant of the commercial vehicle or trailer, to identify the vehicle or trailer in the fleet. No two units in a fleet can have the same number. A.K.A vehicle unit number or owner's equipment number. */
|
|
2649
2666
|
get unitNumber(): Field | undefined {
|
|
2650
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2667
|
+
return this.document.fields.find((f: Field) => f.type.name === 'UnitNumber');
|
|
2651
2668
|
}
|
|
2652
2669
|
|
|
2653
2670
|
/** Data element ID "VAD". A unique combination of alphanumeric characters that identifies a specific vehicle or component. The VIN is affixed to the vehicle in specific locations and formulated by the manufacturer. State agencies under some controlled instances may assign a VIN to a vehicle. */
|
|
2654
2671
|
get vehicleIdentificationNumber(): Field | undefined {
|
|
2655
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2672
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleIdentificationNumber');
|
|
2656
2673
|
}
|
|
2657
2674
|
|
|
2658
2675
|
/** Data element ID "VAK". The distinctive (coded) name applied to a group of vehicles by a manufacturer. */
|
|
2659
2676
|
get vehicleMake(): Field | undefined {
|
|
2660
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2677
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleMake');
|
|
2661
2678
|
}
|
|
2662
2679
|
|
|
2663
2680
|
/** Data element ID "RBM". The ZIP or Postal code of the resident address of the registrant. */
|
|
2664
2681
|
get zipCode(): Field | undefined {
|
|
2665
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2682
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ZipCode');
|
|
2666
2683
|
}
|
|
2667
2684
|
}
|
|
2668
2685
|
|
|
@@ -2675,7 +2692,7 @@ export namespace AAMVA {
|
|
|
2675
2692
|
}
|
|
2676
2693
|
|
|
2677
2694
|
constructor(document: GenericDocument) {
|
|
2678
|
-
if (document.type.name
|
|
2695
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2679
2696
|
throw new Error(
|
|
2680
2697
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2681
2698
|
);
|
|
@@ -2685,117 +2702,117 @@ export namespace AAMVA {
|
|
|
2685
2702
|
}
|
|
2686
2703
|
|
|
2687
2704
|
requiredDocumentType(): string {
|
|
2688
|
-
return
|
|
2705
|
+
return AAMVAVehicleOwnerDataDocumentType;
|
|
2689
2706
|
}
|
|
2690
2707
|
|
|
2691
2708
|
/** Data element ID "NAX". The unique customer number/ID of the first vehicle owner. */
|
|
2692
2709
|
get firstOwnerIdNumber(): Field | undefined {
|
|
2693
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2710
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerIdNumber');
|
|
2694
2711
|
}
|
|
2695
2712
|
|
|
2696
2713
|
/** Data element ID "NAB". Last Name or Surname of the Owner. Hyphenated names acceptable, spaces between names acceptable, but no other use of special symbols. */
|
|
2697
2714
|
get firstOwnerLastName(): Field | undefined {
|
|
2698
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2715
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerLastName');
|
|
2699
2716
|
}
|
|
2700
2717
|
|
|
2701
2718
|
/** Data element ID "NBA". The legal status of the first vehicle owner. This is only used when a vehicle has multiple owners. A legal status may be ("AND", "OR"). */
|
|
2702
2719
|
get firstOwnerLegalStatus(): Field | undefined {
|
|
2703
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2720
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerLegalStatus');
|
|
2704
2721
|
}
|
|
2705
2722
|
|
|
2706
2723
|
/** Data element ID "NAD". Middle Name(s) or Initial(s) of the Owner. Hyphenated names acceptable, spaces, between names acceptable, but no other use of special symbols. */
|
|
2707
2724
|
get firstOwnerMiddleName(): Field | undefined {
|
|
2708
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2725
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerMiddleName');
|
|
2709
2726
|
}
|
|
2710
2727
|
|
|
2711
2728
|
/** Data element ID "NAC". First Name or Given Name of the Owner. Hyphenated names acceptable, but no other use of special symbols. */
|
|
2712
2729
|
get firstOwnerName(): Field | undefined {
|
|
2713
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2730
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerName');
|
|
2714
2731
|
}
|
|
2715
2732
|
|
|
2716
2733
|
/** Data element ID "NAA". Name of the (or one of the) individual(s) who owns the Vehicle as defined in the ANSI D- 20 Data Element Dictionary. (Lastname@Firstname@MI@Suffix if any.) */
|
|
2717
2734
|
get firstOwnerTotalName(): Field | undefined {
|
|
2718
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2735
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstOwnerTotalName');
|
|
2719
2736
|
}
|
|
2720
2737
|
|
|
2721
2738
|
/** Data element ID "NAR". Street address line 1. (Mailing) */
|
|
2722
2739
|
get mailingAddress1(): Field | undefined {
|
|
2723
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2740
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MailingAddress1');
|
|
2724
2741
|
}
|
|
2725
2742
|
|
|
2726
2743
|
/** Data element ID "NAS". Street address line 2. (Mailing) */
|
|
2727
2744
|
get mailingAddress2(): Field | undefined {
|
|
2728
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2745
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MailingAddress2');
|
|
2729
2746
|
}
|
|
2730
2747
|
|
|
2731
2748
|
/** Data element ID "NAT". Name of city for mailing address. */
|
|
2732
2749
|
get mailingCity(): Field | undefined {
|
|
2733
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2750
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MailingCity');
|
|
2734
2751
|
}
|
|
2735
2752
|
|
|
2736
2753
|
/** Data element ID "NAU". Jurisdiction code for mailing address. Conforms to Canadian, Mexican and US jurisdictions as appropriate. Codes for provinces (Canada) and states (US and Mexico). */
|
|
2737
2754
|
get mailingJurisdictionCode(): Field | undefined {
|
|
2738
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2755
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MailingJurisdictionCode');
|
|
2739
2756
|
}
|
|
2740
2757
|
|
|
2741
2758
|
/** Data element ID "NAV". The ZIP code or Postal code used for mailing. (As used by Canadian, Mexican and US jurisdictions.) */
|
|
2742
2759
|
get mailingZipCode(): Field | undefined {
|
|
2743
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2760
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MailingZipCode');
|
|
2744
2761
|
}
|
|
2745
2762
|
|
|
2746
2763
|
/** Data element ID "NAM". Street address line 1. (Mailing) */
|
|
2747
2764
|
get residenceAddress1(): Field | undefined {
|
|
2748
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2765
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ResidenceAddress1');
|
|
2749
2766
|
}
|
|
2750
2767
|
|
|
2751
2768
|
/** Data element ID "NAN". Street address line 2. (Mailing) */
|
|
2752
2769
|
get residenceAddress2(): Field | undefined {
|
|
2753
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2770
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ResidenceAddress2');
|
|
2754
2771
|
}
|
|
2755
2772
|
|
|
2756
2773
|
/** Data element ID "NAO". Name of city for mailing address. */
|
|
2757
2774
|
get residenceCity(): Field | undefined {
|
|
2758
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2775
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ResidenceCity');
|
|
2759
2776
|
}
|
|
2760
2777
|
|
|
2761
2778
|
/** Data element ID "NAP". Jurisdiction code for mailing address. Conforms to Canadian, Mexican and US jurisdictions as appropriate. Codes for provinces (Canada) and states (US and Mexico). */
|
|
2762
2779
|
get residenceJurisdictionCode(): Field | undefined {
|
|
2763
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2780
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ResidenceJurisdictionCode');
|
|
2764
2781
|
}
|
|
2765
2782
|
|
|
2766
2783
|
/** Data element ID "NAQ". The ZIP code or Postal code used for mailing. (As used by Canadian, Mexican and US jurisdictions). */
|
|
2767
2784
|
get residenceZipCode(): Field | undefined {
|
|
2768
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2785
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ResidenceZipCode');
|
|
2769
2786
|
}
|
|
2770
2787
|
|
|
2771
2788
|
/** Data element ID "NAY". The unique customer number/ID of the second vehicle owner. */
|
|
2772
2789
|
get secondOwnerIdNumber(): Field | undefined {
|
|
2773
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2790
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerIdNumber');
|
|
2774
2791
|
}
|
|
2775
2792
|
|
|
2776
2793
|
/** Data element ID "NAF". Last Name or Surname of the Owner. Hyphenated names acceptable, spaces between names acceptable, but no other use of special symbols. */
|
|
2777
2794
|
get secondOwnerLastName(): Field | undefined {
|
|
2778
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2795
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerLastName');
|
|
2779
2796
|
}
|
|
2780
2797
|
|
|
2781
2798
|
/** Data element ID "NBB". The legal status of the second vehicle owner. This is only used when a vehicle has multiple owners. A legal status may be ("AND", "OR"). */
|
|
2782
2799
|
get secondOwnerLegalStatus(): Field | undefined {
|
|
2783
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2800
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerLegalStatus');
|
|
2784
2801
|
}
|
|
2785
2802
|
|
|
2786
2803
|
/** Data element ID "NAH". Middle Name(s) or Initial(s) of the Owner. Hyphenated names acceptable, spaces between names acceptable, but no other use of special symbols. */
|
|
2787
2804
|
get secondOwnerMiddleName(): Field | undefined {
|
|
2788
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2805
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerMiddleName');
|
|
2789
2806
|
}
|
|
2790
2807
|
|
|
2791
2808
|
/** Data element ID "NAG". First Name or Given Name of the Owner. Hyphenated names acceptable, but no other use of special symbols. */
|
|
2792
2809
|
get secondOwnerName(): Field | undefined {
|
|
2793
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2810
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerName');
|
|
2794
2811
|
}
|
|
2795
2812
|
|
|
2796
2813
|
/** Data element ID "NAE". Name of the (or one of the) individual(s) who owns the Vehicle as defined in the ANSI D- 20 Data Element Dictionary. (Lastname@Firstname@MI@Suffix if any.) */
|
|
2797
2814
|
get secondOwnerTotalName(): Field | undefined {
|
|
2798
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2815
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SecondOwnerTotalName');
|
|
2799
2816
|
}
|
|
2800
2817
|
}
|
|
2801
2818
|
|
|
@@ -2808,7 +2825,7 @@ export namespace AAMVA {
|
|
|
2808
2825
|
}
|
|
2809
2826
|
|
|
2810
2827
|
constructor(document: GenericDocument) {
|
|
2811
|
-
if (document.type.name
|
|
2828
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2812
2829
|
throw new Error(
|
|
2813
2830
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2814
2831
|
);
|
|
@@ -2818,152 +2835,152 @@ export namespace AAMVA {
|
|
|
2818
2835
|
}
|
|
2819
2836
|
|
|
2820
2837
|
requiredDocumentType(): string {
|
|
2821
|
-
return
|
|
2838
|
+
return AAMVAVehicleDataDocumentType;
|
|
2822
2839
|
}
|
|
2823
2840
|
|
|
2824
2841
|
/** Data element ID "VAO". Vehicle manufacture body style. */
|
|
2825
2842
|
get bodyStyle(): Field | undefined {
|
|
2826
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2843
|
+
return this.document.fields.find((f: Field) => f.type.name === 'BodyStyle');
|
|
2827
2844
|
}
|
|
2828
2845
|
|
|
2829
2846
|
/** Data element ID "VAG". Date vehicle reported junked. The format is ISO8601 with delimiters. */
|
|
2830
2847
|
get dateJunked(): Field | undefined {
|
|
2831
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2848
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateJunked');
|
|
2832
2849
|
}
|
|
2833
2850
|
|
|
2834
2851
|
/** Data element ID "VAJ". Date vehicle reported recovered. The format is ISO8601 with delimiters. */
|
|
2835
2852
|
get dateRecovered(): Field | undefined {
|
|
2836
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2853
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateRecovered');
|
|
2837
2854
|
}
|
|
2838
2855
|
|
|
2839
2856
|
/** Data element ID "VAI". Date vehicle reported stolen. The format is ISO8601 with delimiters. */
|
|
2840
2857
|
get dateStolen(): Field | undefined {
|
|
2841
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2858
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateStolen');
|
|
2842
2859
|
}
|
|
2843
2860
|
|
|
2844
2861
|
/** Data element ID "VAW". Manufacturer's rated engine displacement. */
|
|
2845
2862
|
get engineDisplacement(): Field | undefined {
|
|
2846
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2863
|
+
return this.document.fields.find((f: Field) => f.type.name === 'EngineDisplacement');
|
|
2847
2864
|
}
|
|
2848
2865
|
|
|
2849
2866
|
/** Data element ID "VAR". The size of a vehicle's engine. */
|
|
2850
2867
|
get engineSize(): Field | undefined {
|
|
2851
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2868
|
+
return this.document.fields.find((f: Field) => f.type.name === 'EngineSize');
|
|
2852
2869
|
}
|
|
2853
2870
|
|
|
2854
2871
|
/** Data element ID "VAN". Type of fuel the vehicle utilizes. */
|
|
2855
2872
|
get fuelType(): Field | undefined {
|
|
2856
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2873
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FuelType');
|
|
2857
2874
|
}
|
|
2858
2875
|
|
|
2859
2876
|
/** Data element ID "VAU". Manufacturer's rated horsepower. */
|
|
2860
2877
|
get horsepower(): Field | undefined {
|
|
2861
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2878
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Horsepower');
|
|
2862
2879
|
}
|
|
2863
2880
|
|
|
2864
2881
|
/** Data element ID "VAY". International fuel tax indicator */
|
|
2865
2882
|
get iftaIndicator(): Field | undefined {
|
|
2866
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2883
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IFTAIndicator');
|
|
2867
2884
|
}
|
|
2868
2885
|
|
|
2869
2886
|
/** Data element ID "VAX". International registration plan indicator. */
|
|
2870
2887
|
get irpIndicator(): Field | undefined {
|
|
2871
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2888
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IRPIndicator');
|
|
2872
2889
|
}
|
|
2873
2890
|
|
|
2874
2891
|
/** Data element ID "VAF". Vehicle has been junked. */
|
|
2875
2892
|
get junkedIndicator(): Field | undefined {
|
|
2876
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2893
|
+
return this.document.fields.find((f: Field) => f.type.name === 'JunkedIndicator');
|
|
2877
2894
|
}
|
|
2878
2895
|
|
|
2879
2896
|
/** Data element ID "VAE". Manufacturer's Suggested Retail Price. No decimal places. Right Justified Zero or space fill. */
|
|
2880
2897
|
get msrp(): Field | undefined {
|
|
2881
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2898
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MSRP');
|
|
2882
2899
|
}
|
|
2883
2900
|
|
|
2884
2901
|
/** Data element ID "VAA". State to provide definition. */
|
|
2885
2902
|
get majorCode(): Field | undefined {
|
|
2886
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2903
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MajorCode');
|
|
2887
2904
|
}
|
|
2888
2905
|
|
|
2889
2906
|
/** Data element ID "VAL". Vehicle manufacture year. */
|
|
2890
2907
|
get makeYear(): Field | undefined {
|
|
2891
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2908
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MakeYear');
|
|
2892
2909
|
}
|
|
2893
2910
|
|
|
2894
2911
|
/** Data element ID "VAT". Manufacturer's gross vehicle weight rating. */
|
|
2895
2912
|
get manufactureGrossWeight(): Field | undefined {
|
|
2896
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2913
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ManufactureGrossWeight');
|
|
2897
2914
|
}
|
|
2898
2915
|
|
|
2899
2916
|
/** Data element ID "VAB". State to provide definition. */
|
|
2900
2917
|
get minorCode(): Field | undefined {
|
|
2901
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2918
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MinorCode');
|
|
2902
2919
|
}
|
|
2903
2920
|
|
|
2904
2921
|
/** Data element ID "VBC". Number of axles the vehicle has. */
|
|
2905
2922
|
get numberOfAxles(): Field | undefined {
|
|
2906
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2923
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfAxles');
|
|
2907
2924
|
}
|
|
2908
2925
|
|
|
2909
2926
|
/** Data element ID "VAQ". Number of cylinders the vehicle has. */
|
|
2910
2927
|
get numberOfCylinders(): Field | undefined {
|
|
2911
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2928
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfCylinders');
|
|
2912
2929
|
}
|
|
2913
2930
|
|
|
2914
2931
|
/** Data element ID "VAP". Number of doors on the vehicle. */
|
|
2915
2932
|
get numberOfDoors(): Field | undefined {
|
|
2916
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2933
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfDoors');
|
|
2917
2934
|
}
|
|
2918
2935
|
|
|
2919
2936
|
/** Data element ID "VAH". Indicates stolen vehicle. */
|
|
2920
2937
|
get stolenIndicator(): Field | undefined {
|
|
2921
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2938
|
+
return this.document.fields.find((f: Field) => f.type.name === 'StolenIndicator');
|
|
2922
2939
|
}
|
|
2923
2940
|
|
|
2924
2941
|
/** Data element ID "VAC". Type of transmission the vehicle carries. */
|
|
2925
2942
|
get transmissionCode(): Field | undefined {
|
|
2926
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2943
|
+
return this.document.fields.find((f: Field) => f.type.name === 'TransmissionCode');
|
|
2927
2944
|
}
|
|
2928
2945
|
|
|
2929
2946
|
/** Data element ID "VAV". Gross weight of the vehicle unloaded. */
|
|
2930
2947
|
get unladenWeight(): Field | undefined {
|
|
2931
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2948
|
+
return this.document.fields.find((f: Field) => f.type.name === 'UnladenWeight');
|
|
2932
2949
|
}
|
|
2933
2950
|
|
|
2934
2951
|
/** Data element ID "VAZ". Vehicle license tax calculation from date of purchase. */
|
|
2935
2952
|
get vltClacFromDate(): Field | undefined {
|
|
2936
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2953
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VLTClacFromDate');
|
|
2937
2954
|
}
|
|
2938
2955
|
|
|
2939
2956
|
/** Data element ID "VBA". Unique number to identify the vehicle record. */
|
|
2940
2957
|
get vehicleIdNumber(): Field | undefined {
|
|
2941
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2958
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleIdNumber');
|
|
2942
2959
|
}
|
|
2943
2960
|
|
|
2944
2961
|
/** Data element ID "VAD". A unique combination of alphanumeric characters that identifies a specific vehicle or component. The VIN is affixed to the vehicle in specific locations and formulated by the manufacturer. State agencies under some controlled instances may assign a VIN to a vehicle. */
|
|
2945
2962
|
get vehicleIdentificationNumber(): Field | undefined {
|
|
2946
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2963
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleIdentificationNumber');
|
|
2947
2964
|
}
|
|
2948
2965
|
|
|
2949
2966
|
/** Data element ID "VAK". The distinctive (coded) name applied to a group of vehicles by a manufacturer. */
|
|
2950
2967
|
get vehicleMake(): Field | undefined {
|
|
2951
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2968
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleMake');
|
|
2952
2969
|
}
|
|
2953
2970
|
|
|
2954
2971
|
/** Data element ID "VAM". Vehicle manufacture model. */
|
|
2955
2972
|
get vehicleModel(): Field | undefined {
|
|
2956
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2973
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModel');
|
|
2957
2974
|
}
|
|
2958
2975
|
|
|
2959
2976
|
/** Data element ID "VAS". This is the status of the vehicle (e.g., active, suspend, etc.) */
|
|
2960
2977
|
get vehicleStatusCode(): Field | undefined {
|
|
2961
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2978
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleStatusCode');
|
|
2962
2979
|
}
|
|
2963
2980
|
|
|
2964
2981
|
/** Data element ID "VBB". EPA vehicle classification. */
|
|
2965
2982
|
get vehicleTypeCode(): Field | undefined {
|
|
2966
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
2983
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleTypeCode');
|
|
2967
2984
|
}
|
|
2968
2985
|
}
|
|
2969
2986
|
|
|
@@ -2976,7 +2993,7 @@ export namespace AAMVA {
|
|
|
2976
2993
|
}
|
|
2977
2994
|
|
|
2978
2995
|
constructor(document: GenericDocument) {
|
|
2979
|
-
if (document.type.name
|
|
2996
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
2980
2997
|
throw new Error(
|
|
2981
2998
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
2982
2999
|
);
|
|
@@ -2986,77 +3003,79 @@ export namespace AAMVA {
|
|
|
2986
3003
|
}
|
|
2987
3004
|
|
|
2988
3005
|
requiredDocumentType(): string {
|
|
2989
|
-
return
|
|
3006
|
+
return AAMVAVehicleSafetyInspectionDataDocumentType;
|
|
2990
3007
|
}
|
|
2991
3008
|
|
|
2992
3009
|
/** Data element ID "IAN". The street name and number, city, state and zip code of the inspection facility. */
|
|
2993
3010
|
get inspectionAddress(): Field | undefined {
|
|
2994
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3011
|
+
return this.document.fields.find((f: Field) => f.type.name === 'InspectionAddress');
|
|
2995
3012
|
}
|
|
2996
3013
|
|
|
2997
3014
|
/** Data element ID "IPD". Identifies whether the pollution control devices meet the minimum inspection criteria. */
|
|
2998
3015
|
get inspectionAirPollutionDeviceConditions(): Field | undefined {
|
|
2999
3016
|
return this.document.fields.find(
|
|
3000
|
-
(f: Field) => f.type.name
|
|
3017
|
+
(f: Field) => f.type.name === 'InspectionAirPollutionDeviceConditions'
|
|
3001
3018
|
);
|
|
3002
3019
|
}
|
|
3003
3020
|
|
|
3004
3021
|
/** Data element ID "IFI". The unique number assigned to an inspection facility. */
|
|
3005
3022
|
get inspectionFacilityIdentifier(): Field | undefined {
|
|
3006
|
-
return this.document.fields.find(
|
|
3023
|
+
return this.document.fields.find(
|
|
3024
|
+
(f: Field) => f.type.name === 'InspectionFacilityIdentifier'
|
|
3025
|
+
);
|
|
3007
3026
|
}
|
|
3008
3027
|
|
|
3009
3028
|
/** Data element ID "INC". A unique number assigned to a current vehicle inspection form for identification purposes or a preprinted unique number on the motor vehicle inspection sticker currently issued to a motor vehicle which has passed inspection. */
|
|
3010
3029
|
get inspectionFormOrStickerNumberCurrent(): Field | undefined {
|
|
3011
3030
|
return this.document.fields.find(
|
|
3012
|
-
(f: Field) => f.type.name
|
|
3031
|
+
(f: Field) => f.type.name === 'InspectionFormOrStickerNumberCurrent'
|
|
3013
3032
|
);
|
|
3014
3033
|
}
|
|
3015
3034
|
|
|
3016
3035
|
/** Data element ID "INP". The number of the last inspection form excluding the current inspection or the certification number of the last inspection sticker, excluding the current inspection. */
|
|
3017
3036
|
get inspectionFormOrStickerNumberPrevious(): Field | undefined {
|
|
3018
3037
|
return this.document.fields.find(
|
|
3019
|
-
(f: Field) => f.type.name
|
|
3038
|
+
(f: Field) => f.type.name === 'InspectionFormOrStickerNumberPrevious'
|
|
3020
3039
|
);
|
|
3021
3040
|
}
|
|
3022
3041
|
|
|
3023
3042
|
/** Data element ID "ISC". An indicator that specifies whether or not the vehicle has a current smog certificate. */
|
|
3024
3043
|
get inspectionSmogCertificateIndicator(): Field | undefined {
|
|
3025
3044
|
return this.document.fields.find(
|
|
3026
|
-
(f: Field) => f.type.name
|
|
3045
|
+
(f: Field) => f.type.name === 'InspectionSmogCertificateIndicator'
|
|
3027
3046
|
);
|
|
3028
3047
|
}
|
|
3029
3048
|
|
|
3030
3049
|
/** Data element ID "ISN". Station number performing the inspection. */
|
|
3031
3050
|
get inspectionStationNumber(): Field | undefined {
|
|
3032
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3051
|
+
return this.document.fields.find((f: Field) => f.type.name === 'InspectionStationNumber');
|
|
3033
3052
|
}
|
|
3034
3053
|
|
|
3035
3054
|
/** Data element ID "IIN". A unique number assigned to each licensed vehicle inspector. */
|
|
3036
3055
|
get inspectorIdentificationNumber(): Field | undefined {
|
|
3037
3056
|
return this.document.fields.find(
|
|
3038
|
-
(f: Field) => f.type.name
|
|
3057
|
+
(f: Field) => f.type.name === 'InspectorIdentificationNumber'
|
|
3039
3058
|
);
|
|
3040
3059
|
}
|
|
3041
3060
|
|
|
3042
3061
|
/** Data element ID "ORI". The vehicle's odometer reading (to the nearest mile or kilometer) at the time of inspection. */
|
|
3043
3062
|
get odometerReadingAtInspection(): Field | undefined {
|
|
3044
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3063
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OdometerReadingAtInspection');
|
|
3045
3064
|
}
|
|
3046
3065
|
|
|
3047
3066
|
/** Data element ID "VAO". The general configuration or shape of a vehicle distinguished by characteristics such as number of doors, seats, windows, roofline, and type of top. The vehicle body type is 2- character alphanumeric. */
|
|
3048
3067
|
get vehicleBodyType(): Field | undefined {
|
|
3049
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3068
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleBodyType');
|
|
3050
3069
|
}
|
|
3051
3070
|
|
|
3052
3071
|
/** Data element ID "VAK". The distinctive (coded) name applied to a group of vehicles by a manufacturer. */
|
|
3053
3072
|
get vehicleMake(): Field | undefined {
|
|
3054
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3073
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleMake');
|
|
3055
3074
|
}
|
|
3056
3075
|
|
|
3057
3076
|
/** Data element ID "VAL". The year which is assigned to a vehicle by the manufacturer. The format is CCYY. */
|
|
3058
3077
|
get vehicleModelYear(): Field | undefined {
|
|
3059
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3078
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VehicleModelYear');
|
|
3060
3079
|
}
|
|
3061
3080
|
}
|
|
3062
3081
|
|
|
@@ -3069,7 +3088,7 @@ export namespace AAMVA {
|
|
|
3069
3088
|
}
|
|
3070
3089
|
|
|
3071
3090
|
constructor(document: GenericDocument) {
|
|
3072
|
-
if (document.type.name
|
|
3091
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
3073
3092
|
throw new Error(
|
|
3074
3093
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
3075
3094
|
);
|
|
@@ -3082,453 +3101,455 @@ export namespace AAMVA {
|
|
|
3082
3101
|
|
|
3083
3102
|
/** Data element ID "DAI". City portion of the cardholder address. */
|
|
3084
3103
|
get addressCity(): Field | undefined {
|
|
3085
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3104
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressCity');
|
|
3086
3105
|
}
|
|
3087
3106
|
|
|
3088
3107
|
/** Data element ID "DAJ". State portion of the cardholder address. */
|
|
3089
3108
|
get addressJurisdictionCode(): Field | undefined {
|
|
3090
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3109
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressJurisdictionCode');
|
|
3091
3110
|
}
|
|
3092
3111
|
|
|
3093
3112
|
/** Data element ID "DAK". Postal code portion of the cardholder address in the U.S. and Canada. If the trailing portion of the postal code in the U.S. is not known, zeros will be used to fill the trailing set of numbers up to nine (9) digits. */
|
|
3094
3113
|
get addressPostalCode(): Field | undefined {
|
|
3095
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3114
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressPostalCode');
|
|
3096
3115
|
}
|
|
3097
3116
|
|
|
3098
3117
|
/** Data element ID "DAG". Street portion of the cardholder address. */
|
|
3099
3118
|
get addressStreet1(): Field | undefined {
|
|
3100
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3119
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressStreet1');
|
|
3101
3120
|
}
|
|
3102
3121
|
|
|
3103
3122
|
/** Data element ID "DAH". Second line of street portion of the cardholder address. */
|
|
3104
3123
|
get addressStreet2(): Field | undefined {
|
|
3105
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3124
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AddressStreet2');
|
|
3106
3125
|
}
|
|
3107
3126
|
|
|
3108
3127
|
/** Data element ID "DCJ". A string of letters and/or numbers that identifies when, where, and by whom a driver license/ID card was made. If audit information is not used on the card or the MRT, it must be included in the driver record. */
|
|
3109
3128
|
get adultInformation(): Field | undefined {
|
|
3110
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3129
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AdultInformation');
|
|
3111
3130
|
}
|
|
3112
3131
|
|
|
3113
3132
|
/** Data element ID "DBN". Other family name by which cardholder is known. */
|
|
3114
3133
|
get aliasFamilyName(): Field | undefined {
|
|
3115
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3134
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AliasFamilyName');
|
|
3116
3135
|
}
|
|
3117
3136
|
|
|
3118
3137
|
/** Data element ID "DBG". Other given name by which cardholder is known. */
|
|
3119
3138
|
get aliasGivenName(): Field | undefined {
|
|
3120
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3139
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AliasGivenName');
|
|
3121
3140
|
}
|
|
3122
3141
|
|
|
3123
3142
|
/** Data element ID "DBQ". Other middle name by which cardholder is known. */
|
|
3124
3143
|
get aliasMiddleName(): Field | undefined {
|
|
3125
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3144
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AliasMiddleName');
|
|
3126
3145
|
}
|
|
3127
3146
|
|
|
3128
3147
|
/** Data element ID "DBR". Other prefix by which cardholder is known. */
|
|
3129
3148
|
get aliasPrefixName(): Field | undefined {
|
|
3130
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3149
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AliasPrefixName');
|
|
3131
3150
|
}
|
|
3132
3151
|
|
|
3133
3152
|
/** Data element ID "DBS". Other suffix by which cardholder is known. */
|
|
3134
3153
|
get aliasSuffixName(): Field | undefined {
|
|
3135
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3154
|
+
return this.document.fields.find((f: Field) => f.type.name === 'AliasSuffixName');
|
|
3136
3155
|
}
|
|
3137
3156
|
|
|
3138
3157
|
/** Data element ID "DDB". DHS required field that indicates date of the most recent version change or modification to the visible format of the DL/ID. The format is ISO8601 with delimiters. */
|
|
3139
3158
|
get cardRevisionDate(): Field | undefined {
|
|
3140
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3159
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CardRevisionDate');
|
|
3141
3160
|
}
|
|
3142
3161
|
|
|
3143
3162
|
/** Data element ID "DDA". DHS required field that indicates compliance: "F" = compliant; and, "N" = non-compliant. */
|
|
3144
3163
|
get complianceType(): Field | undefined {
|
|
3145
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3164
|
+
return this.document.fields.find((f: Field) => f.type.name === 'ComplianceType');
|
|
3146
3165
|
}
|
|
3147
3166
|
|
|
3148
3167
|
/** Data element ID "DCG". Country in which DL/ID is issued. U.S. = USA, Canada = CAN. */
|
|
3149
3168
|
get countryIdentification(): Field | undefined {
|
|
3150
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3169
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CountryIdentification');
|
|
3151
3170
|
}
|
|
3152
3171
|
|
|
3153
3172
|
/** Data element ID "DCS". Family name of the cardholder. (Family name is sometimes also called “last name” or “surname.”) Collect full name for record, print as many characters as possible on portrait side of DL/ID. */
|
|
3154
3173
|
get customerFamilyName(): Field | undefined {
|
|
3155
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3174
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CustomerFamilyName');
|
|
3156
3175
|
}
|
|
3157
3176
|
|
|
3158
3177
|
/** Data element ID "DAC". First name of the cardholder. */
|
|
3159
3178
|
get customerFirstName(): Field | undefined {
|
|
3160
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3179
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CustomerFirstName');
|
|
3161
3180
|
}
|
|
3162
3181
|
|
|
3163
3182
|
/** Data element ID "DCT". Given names of the cardholder. (Given names include all names other than the Family Name. This includes all those names sometimes also called “first” and “middle” names.) */
|
|
3164
3183
|
get customerGivenNames(): Field | undefined {
|
|
3165
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3184
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CustomerGivenNames');
|
|
3166
3185
|
}
|
|
3167
3186
|
|
|
3168
3187
|
/** Data element ID "DAQ". The number assigned or calculated by the issuing authority. */
|
|
3169
3188
|
get customerIdNumber(): Field | undefined {
|
|
3170
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3189
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CustomerIdNumber');
|
|
3171
3190
|
}
|
|
3172
3191
|
|
|
3173
3192
|
/** Data element ID "DAD". Middle name(s) of the cardholder. In the case of multiple middle names they shall be separated by a comma “,”. */
|
|
3174
3193
|
get customerMiddleName(): Field | undefined {
|
|
3175
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3194
|
+
return this.document.fields.find((f: Field) => f.type.name === 'CustomerMiddleName');
|
|
3176
3195
|
}
|
|
3177
3196
|
|
|
3178
3197
|
/** Data element ID "DBB". Date on which the cardholder was born. The format is ISO8601 with delimiters. */
|
|
3179
3198
|
get dateOfBirth(): Field | undefined {
|
|
3180
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3199
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DateOfBirth');
|
|
3181
3200
|
}
|
|
3182
3201
|
|
|
3183
3202
|
/** Data element ID "DCF". Number must uniquely identify a particular document issued to that customer from others that may have been issued in the past. This number may serve multiple purposes of document discrimination, audit information number, and/or inventory control. */
|
|
3184
3203
|
get documentDiscriminator(): Field | undefined {
|
|
3185
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3204
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentDiscriminator');
|
|
3186
3205
|
}
|
|
3187
3206
|
|
|
3188
3207
|
/** Data element ID "DBA". Date on which the driving and identification privileges granted by the document are no longer valid. The format is ISO8601 with delimtiers. */
|
|
3189
3208
|
get documentExpirationDate(): Field | undefined {
|
|
3190
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3209
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentExpirationDate');
|
|
3191
3210
|
}
|
|
3192
3211
|
|
|
3193
3212
|
/** Data element ID "DBD". Date on which the document was issued. The format is ISO8601 with delimiters. */
|
|
3194
3213
|
get documentIssueDate(): Field | undefined {
|
|
3195
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3214
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DocumentIssueDate');
|
|
3196
3215
|
}
|
|
3197
3216
|
|
|
3198
3217
|
/** Data element ID "DBL". Alternative dates given as date of birth. */
|
|
3199
3218
|
get driverAliasDateOfBirthField(): Field | undefined {
|
|
3200
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3219
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverAliasDateOfBirthField');
|
|
3201
3220
|
}
|
|
3202
3221
|
|
|
3203
3222
|
/** Data element ID "DBP". Alternative fist name or given name of the individual holding the Driver License or ID. Hyphenated names acceptable, but no other use of special symbols. */
|
|
3204
3223
|
get driverAliasFirstName(): Field | undefined {
|
|
3205
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3224
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverAliasFirstName');
|
|
3206
3225
|
}
|
|
3207
3226
|
|
|
3208
3227
|
/** Data element ID "DBO". Alternative last name or surname of the individual holding the Driver License or ID. Hyphenated names acceptable, but no other use of special symbols. */
|
|
3209
3228
|
get driverAliasLastName(): Field | undefined {
|
|
3210
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3229
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverAliasLastName');
|
|
3211
3230
|
}
|
|
3212
3231
|
|
|
3213
3232
|
/** Data element ID "DBM". DriverAliasSocialSecurityNumber */
|
|
3214
3233
|
get driverAliasSocialSecurityNumber(): Field | undefined {
|
|
3215
3234
|
return this.document.fields.find(
|
|
3216
|
-
(f: Field) => f.type.name
|
|
3235
|
+
(f: Field) => f.type.name === 'DriverAliasSocialSecurityNumber'
|
|
3217
3236
|
);
|
|
3218
3237
|
}
|
|
3219
3238
|
|
|
3220
3239
|
/** Data element ID "DAB". Last name or surname of the individual holding the Driver License or ID. Hyphenated names acceptable, but no other use of special symbols. */
|
|
3221
3240
|
get driverLastName(): Field | undefined {
|
|
3222
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3241
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverLastName');
|
|
3223
3242
|
}
|
|
3224
3243
|
|
|
3225
3244
|
/** Data element ID "DAR". A=Class A; B=Class B; C=Class C (Class A, B and C are defined by Federal Highway regulations); M=Class M motorcycle as defined by AAMVA; others are defined by DL Classification Code Standards. */
|
|
3226
3245
|
get driverLicenseClassificationCode(): Field | undefined {
|
|
3227
3246
|
return this.document.fields.find(
|
|
3228
|
-
(f: Field) => f.type.name
|
|
3247
|
+
(f: Field) => f.type.name === 'DriverLicenseClassificationCode'
|
|
3229
3248
|
);
|
|
3230
3249
|
}
|
|
3231
3250
|
|
|
3232
3251
|
/** Data element ID "DAT". Any endorsements on a driver license which authorize the operation of specified types of vehicles or the operation of vehicles carrying specified loads. Endorsements shall be specific to classification of a driver license. */
|
|
3233
3252
|
get driverLicenseEndorsementsCode(): Field | undefined {
|
|
3234
3253
|
return this.document.fields.find(
|
|
3235
|
-
(f: Field) => f.type.name
|
|
3254
|
+
(f: Field) => f.type.name === 'DriverLicenseEndorsementsCode'
|
|
3236
3255
|
);
|
|
3237
3256
|
}
|
|
3238
3257
|
|
|
3239
3258
|
/** Data element ID "DAA". Name of the individual holding the Driver License or ID as defined in ANSI D20 Data Dictionary. (Lastname@Firstname@MI@ suffix if any) (Machine, Mag Stripe uses ‘$' and Bar Code uses ‘,' in place of ‘@') Firstname, Middle Initial, Lastname (Human) */
|
|
3240
3259
|
get driverLicenseName(): Field | undefined {
|
|
3241
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3260
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverLicenseName');
|
|
3242
3261
|
}
|
|
3243
3262
|
|
|
3244
3263
|
/** Data element ID "DAS". A restriction applicable to a driver license. */
|
|
3245
3264
|
get driverLicenseRestrictionCode(): Field | undefined {
|
|
3246
|
-
return this.document.fields.find(
|
|
3265
|
+
return this.document.fields.find(
|
|
3266
|
+
(f: Field) => f.type.name === 'DriverLicenseRestrictionCode'
|
|
3267
|
+
);
|
|
3247
3268
|
}
|
|
3248
3269
|
|
|
3249
3270
|
/** Data element ID "DAF". Prefix to Driver Name. Not defined in ANSI D20. Freeform as defined by issuing jurisdiction. */
|
|
3250
3271
|
get driverNamePrefix(): Field | undefined {
|
|
3251
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3272
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverNamePrefix');
|
|
3252
3273
|
}
|
|
3253
3274
|
|
|
3254
3275
|
/** Data element ID "DAE". An affix occurring at the end of a word, e.g.; Sr., Jr., II, III, IV, etc. */
|
|
3255
3276
|
get driverNameSuffix(): Field | undefined {
|
|
3256
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3277
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverNameSuffix');
|
|
3257
3278
|
}
|
|
3258
3279
|
|
|
3259
3280
|
/** Data element ID "PAA". Identifies the type of permit as defined by ANSI D20. */
|
|
3260
3281
|
get driverPermitClassificationCode(): Field | undefined {
|
|
3261
3282
|
return this.document.fields.find(
|
|
3262
|
-
(f: Field) => f.type.name
|
|
3283
|
+
(f: Field) => f.type.name === 'DriverPermitClassificationCode'
|
|
3263
3284
|
);
|
|
3264
3285
|
}
|
|
3265
3286
|
|
|
3266
3287
|
/** Data element ID "PAF". Permit endorsements as defined by ANSI D20. */
|
|
3267
3288
|
get driverPermitEndorsementCode(): Field | undefined {
|
|
3268
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3289
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverPermitEndorsementCode');
|
|
3269
3290
|
}
|
|
3270
3291
|
|
|
3271
3292
|
/** Data element ID "PAD". Date permit was issued. The format is ISO8601 with delimiters. */
|
|
3272
3293
|
get driverPermitIssueDate(): Field | undefined {
|
|
3273
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3294
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverPermitIssueDate');
|
|
3274
3295
|
}
|
|
3275
3296
|
|
|
3276
3297
|
/** Data element ID "PAE". Permit restrictions as defined by ANSI D20. */
|
|
3277
3298
|
get driverPermitRestrictionCode(): Field | undefined {
|
|
3278
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3299
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverPermitRestrictionCode');
|
|
3279
3300
|
}
|
|
3280
3301
|
|
|
3281
3302
|
/** Data element ID "DAN". Name of city for mailing address. */
|
|
3282
3303
|
get driverResidenceCity(): Field | undefined {
|
|
3283
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3304
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverResidenceCity');
|
|
3284
3305
|
}
|
|
3285
3306
|
|
|
3286
3307
|
/** Data element ID "DAO". Jurisdiction code for mailing address. Conforms to Canadian, Mexican and US Jurisdictions as appropriate. Codes for provinces (Canada) and states (US and Mexico). */
|
|
3287
3308
|
get driverResidenceJurisdictionCode(): Field | undefined {
|
|
3288
3309
|
return this.document.fields.find(
|
|
3289
|
-
(f: Field) => f.type.name
|
|
3310
|
+
(f: Field) => f.type.name === 'DriverResidenceJurisdictionCode'
|
|
3290
3311
|
);
|
|
3291
3312
|
}
|
|
3292
3313
|
|
|
3293
3314
|
/** Data element ID "DAP". Postal code of residence */
|
|
3294
3315
|
get driverResidencePostalCode(): Field | undefined {
|
|
3295
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3316
|
+
return this.document.fields.find((f: Field) => f.type.name === 'DriverResidencePostalCode');
|
|
3296
3317
|
}
|
|
3297
3318
|
|
|
3298
3319
|
/** Data element ID "DAL". Street address line 1 (mailing). */
|
|
3299
3320
|
get driverResidenceStreetAddress1(): Field | undefined {
|
|
3300
3321
|
return this.document.fields.find(
|
|
3301
|
-
(f: Field) => f.type.name
|
|
3322
|
+
(f: Field) => f.type.name === 'DriverResidenceStreetAddress1'
|
|
3302
3323
|
);
|
|
3303
3324
|
}
|
|
3304
3325
|
|
|
3305
3326
|
/** Data element ID "DAM". Street address line 2 (mailing). */
|
|
3306
3327
|
get driverResidenceStreetAddress2(): Field | undefined {
|
|
3307
3328
|
return this.document.fields.find(
|
|
3308
|
-
(f: Field) => f.type.name
|
|
3329
|
+
(f: Field) => f.type.name === 'DriverResidenceStreetAddress2'
|
|
3309
3330
|
);
|
|
3310
3331
|
}
|
|
3311
3332
|
|
|
3312
3333
|
/** Data element ID "DDE". A code that indicates whether a field has been truncated (T), has not been truncated (N), or – unknown whether truncated (U). */
|
|
3313
3334
|
get familyNameTruncation(): Field | undefined {
|
|
3314
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3335
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FamilyNameTruncation');
|
|
3315
3336
|
}
|
|
3316
3337
|
|
|
3317
3338
|
/** Data element ID "DCH". Federal Commercial Vehicle Codes */
|
|
3318
3339
|
get federalCommercialVehicleCodes(): Field | undefined {
|
|
3319
3340
|
return this.document.fields.find(
|
|
3320
|
-
(f: Field) => f.type.name
|
|
3341
|
+
(f: Field) => f.type.name === 'FederalCommercialVehicleCodes'
|
|
3321
3342
|
);
|
|
3322
3343
|
}
|
|
3323
3344
|
|
|
3324
3345
|
/** Data element ID "DDF". A code that indicates whether a field has been truncated (T), has not been truncated (N), or – unknown whether truncated (U). */
|
|
3325
3346
|
get firstNameTruncation(): Field | undefined {
|
|
3326
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3347
|
+
return this.document.fields.find((f: Field) => f.type.name === 'FirstNameTruncation');
|
|
3327
3348
|
}
|
|
3328
3349
|
|
|
3329
3350
|
/** Data element ID "DDC". Date on which the hazardous material endorsement granted by the document is no longer valid. The format is ISO8601 with delimiters. */
|
|
3330
3351
|
get hazmatEndorsementExpirationDate(): Field | undefined {
|
|
3331
3352
|
return this.document.fields.find(
|
|
3332
|
-
(f: Field) => f.type.name
|
|
3353
|
+
(f: Field) => f.type.name === 'HAZMATEndorsementExpirationDate'
|
|
3333
3354
|
);
|
|
3334
3355
|
}
|
|
3335
3356
|
|
|
3336
3357
|
/** Data element ID "DAZ". Color of cardholder's hair. ANSI D-20 codes converted to human readable format according to the ANSI D20 Data Dictionary. */
|
|
3337
3358
|
get hairColor(): Field | undefined {
|
|
3338
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3359
|
+
return this.document.fields.find((f: Field) => f.type.name === 'HairColor');
|
|
3339
3360
|
}
|
|
3340
3361
|
|
|
3341
3362
|
/** Data element ID "DAV". Height in centimeters */
|
|
3342
3363
|
get height(): Field | undefined {
|
|
3343
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3364
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Height');
|
|
3344
3365
|
}
|
|
3345
3366
|
|
|
3346
3367
|
/** Data element ID "DCK". A string of letters and/or numbers that is affixed to the raw materials (card stock, laminate, etc.) used in producing driver licenses and ID cards. (DHS recommended field). */
|
|
3347
3368
|
get inventoryControlNumber(): Field | undefined {
|
|
3348
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3369
|
+
return this.document.fields.find((f: Field) => f.type.name === 'InventoryControlNumber');
|
|
3349
3370
|
}
|
|
3350
3371
|
|
|
3351
3372
|
/** Data element ID "DBE". A string used by some jurisdictions to validate the document against their data base. */
|
|
3352
3373
|
get issueTimeStamp(): Field | undefined {
|
|
3353
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3374
|
+
return this.document.fields.find((f: Field) => f.type.name === 'IssueTimeStamp');
|
|
3354
3375
|
}
|
|
3355
3376
|
|
|
3356
3377
|
/** Data element ID "DCQ". Text that explains the jurisdiction-specific code(s) that indicates additional driving privileges granted to the cardholder beyond the vehicle class. */
|
|
3357
3378
|
get jurisdictionSpecificEndorsementCodeDescription(): Field | undefined {
|
|
3358
3379
|
return this.document.fields.find(
|
|
3359
|
-
(f: Field) => f.type.name
|
|
3380
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificEndorsementCodeDescription'
|
|
3360
3381
|
);
|
|
3361
3382
|
}
|
|
3362
3383
|
|
|
3363
3384
|
/** Data element ID "DCD". Jurisdiction-specific codes that represent additional privileges granted to the cardholder beyond the vehicle class (such as transportation of passengers, hazardous materials, operation of motorcycles, etc.). */
|
|
3364
3385
|
get jurisdictionSpecificEndorsementCodes(): Field | undefined {
|
|
3365
3386
|
return this.document.fields.find(
|
|
3366
|
-
(f: Field) => f.type.name
|
|
3387
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificEndorsementCodes'
|
|
3367
3388
|
);
|
|
3368
3389
|
}
|
|
3369
3390
|
|
|
3370
3391
|
/** Data element ID "DCR". Text describing the jurisdiction-specific restriction code(s) that curtail driving privileges. */
|
|
3371
3392
|
get jurisdictionSpecificRestrictionCodeDescription(): Field | undefined {
|
|
3372
3393
|
return this.document.fields.find(
|
|
3373
|
-
(f: Field) => f.type.name
|
|
3394
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificRestrictionCodeDescription'
|
|
3374
3395
|
);
|
|
3375
3396
|
}
|
|
3376
3397
|
|
|
3377
3398
|
/** Data element ID "DCB". Jurisdiction-specific codes that represent restrictions to driving privileges (such as airbrakes, automatic transmission, daylight only, etc.). */
|
|
3378
3399
|
get jurisdictionSpecificRestrictionCodes(): Field | undefined {
|
|
3379
3400
|
return this.document.fields.find(
|
|
3380
|
-
(f: Field) => f.type.name
|
|
3401
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificRestrictionCodes'
|
|
3381
3402
|
);
|
|
3382
3403
|
}
|
|
3383
3404
|
|
|
3384
3405
|
/** Data element ID "DCA". Jurisdiction-specific vehicle class / group code, designating the type of vehicle the cardholder has privilege to drive. */
|
|
3385
3406
|
get jurisdictionSpecificVehicleClass(): Field | undefined {
|
|
3386
3407
|
return this.document.fields.find(
|
|
3387
|
-
(f: Field) => f.type.name
|
|
3408
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificVehicleClass'
|
|
3388
3409
|
);
|
|
3389
3410
|
}
|
|
3390
3411
|
|
|
3391
3412
|
/** Data element ID "DCP". Text that explains the jurisdiction-specific code(s) for classifications of vehicles cardholder is authorized to drive. */
|
|
3392
3413
|
get jurisdictionSpecificVehicleClassificationDescription(): Field | undefined {
|
|
3393
3414
|
return this.document.fields.find(
|
|
3394
|
-
(f: Field) => f.type.name
|
|
3415
|
+
(f: Field) => f.type.name === 'JurisdictionSpecificVehicleClassificationDescription'
|
|
3395
3416
|
);
|
|
3396
3417
|
}
|
|
3397
3418
|
|
|
3398
3419
|
/** Data element ID "DDD". DHS required field that indicates that the cardholder has temporary lawful status = "1". */
|
|
3399
3420
|
get limitedDurationDocumentIndicator(): Field | undefined {
|
|
3400
3421
|
return this.document.fields.find(
|
|
3401
|
-
(f: Field) => f.type.name
|
|
3422
|
+
(f: Field) => f.type.name === 'LimitedDurationDocumentIndicator'
|
|
3402
3423
|
);
|
|
3403
3424
|
}
|
|
3404
3425
|
|
|
3405
3426
|
/** Data element ID "DDG". A code that indicates whether a field has been truncated (T), has not been truncated (N), or – unknown whether truncated (U). */
|
|
3406
3427
|
get middleNameTruncation(): Field | undefined {
|
|
3407
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3428
|
+
return this.document.fields.find((f: Field) => f.type.name === 'MiddleNameTruncation');
|
|
3408
3429
|
}
|
|
3409
3430
|
|
|
3410
3431
|
/** Data element ID "DCU". Name Suffix (If jurisdiction participates in systems requiring name suffix (PDPS, CDLIS, etc.), the suffix must be collected and displayed on the DL/ID and in the MRT). Collect full name for record, print as many characters as possible on portrait side of DL/ID. JR (Junior), SR (Senior), 1ST or I (First), 2ND or II (Second), 3RD or III (Third), 4TH or IV (Fourth), 5TH or V (Fifth), 6TH or VI (Sixth), 7TH or VII (Seventh), 8TH or VIII (Eighth), 9TH or IX (Ninth). */
|
|
3411
3432
|
get nameSuffix(): Field | undefined {
|
|
3412
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3433
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NameSuffix');
|
|
3413
3434
|
}
|
|
3414
3435
|
|
|
3415
3436
|
/** Data element ID "DBI". "Y"; Used by some jurisdictions to indicate holder of the document is a non-resident. */
|
|
3416
3437
|
get nonResidentIndicator(): Field | undefined {
|
|
3417
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3438
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NonResidentIndicator');
|
|
3418
3439
|
}
|
|
3419
3440
|
|
|
3420
3441
|
/** Data element ID "DBF". Number of duplicate cards issued for a license or ID if any. */
|
|
3421
3442
|
get numberOfDuplicates(): Field | undefined {
|
|
3422
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3443
|
+
return this.document.fields.find((f: Field) => f.type.name === 'NumberOfDuplicates');
|
|
3423
3444
|
}
|
|
3424
3445
|
|
|
3425
3446
|
/** Data element ID "DBH". Organ Donor */
|
|
3426
3447
|
get organDonor(): Field | undefined {
|
|
3427
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3448
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OrganDonor');
|
|
3428
3449
|
}
|
|
3429
3450
|
|
|
3430
3451
|
/** Data element ID "DDK". Field that indicates that the cardholder is an organ donor = "1". */
|
|
3431
3452
|
get organDonorIndicator(): Field | undefined {
|
|
3432
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3453
|
+
return this.document.fields.find((f: Field) => f.type.name === 'OrganDonorIndicator');
|
|
3433
3454
|
}
|
|
3434
3455
|
|
|
3435
3456
|
/** Data element ID "PAB". Date permit expires, The format is ISO8601 with delimiters. */
|
|
3436
3457
|
get permitExpirationDate(): Field | undefined {
|
|
3437
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3458
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PermitExpirationDate');
|
|
3438
3459
|
}
|
|
3439
3460
|
|
|
3440
3461
|
/** Data element ID "PAC". Type of permit. */
|
|
3441
3462
|
get permitIdentifier(): Field | undefined {
|
|
3442
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3463
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PermitIdentifier');
|
|
3443
3464
|
}
|
|
3444
3465
|
|
|
3445
3466
|
/** Data element ID "DAY". Color of cardholder's eyes. ANSI D-20 codes converted to human readable format according to the ANSI D20 Data Dictionary. */
|
|
3446
3467
|
get physicalDescriptionEyeColor(): Field | undefined {
|
|
3447
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3468
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PhysicalDescriptionEyeColor');
|
|
3448
3469
|
}
|
|
3449
3470
|
|
|
3450
3471
|
/** Data element ID "DAU". Height of cardholder. Inches (in): number of inches followed by " in" or Centimeters (cm): number of centimeters followed by " cm." */
|
|
3451
3472
|
get physicalDescriptionHeight(): Field | undefined {
|
|
3452
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3473
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PhysicalDescriptionHeight');
|
|
3453
3474
|
}
|
|
3454
3475
|
|
|
3455
3476
|
/** Data element ID "DBC". Gender of the cardholder. "Male" or "Female". */
|
|
3456
3477
|
get physicalDescriptionSex(): Field | undefined {
|
|
3457
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3478
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PhysicalDescriptionSex');
|
|
3458
3479
|
}
|
|
3459
3480
|
|
|
3460
3481
|
/** Data element ID "DCE". Indicates the approximate weight range of the cardholder: 0 = up to 31 kg (up to 70 lbs), 1 = 32 – 45 kg (71 – 100 lbs), 2 = 46 - 59 kg (101 – 130 lbs), 3 = 60 - 70 kg (131 – 160 lbs), 4 = 71 - 86 kg (161 – 190 lbs), 5 = 87 - 100 kg (191 – 220 lbs), 6 = 101 - 113 kg (221 – 250 lbs), 7 = 114 - 127 kg (251 – 280 lbs), 8 = 128 – 145 kg (281 – 320 lbs), 9 = 146+ kg (321+ lbs). */
|
|
3461
3482
|
get physicalDescriptionWeightRange(): Field | undefined {
|
|
3462
3483
|
return this.document.fields.find(
|
|
3463
|
-
(f: Field) => f.type.name
|
|
3484
|
+
(f: Field) => f.type.name === 'PhysicalDescriptionWeightRange'
|
|
3464
3485
|
);
|
|
3465
3486
|
}
|
|
3466
3487
|
|
|
3467
3488
|
/** Data element ID "DCI". Country and municipality and/or state/province. */
|
|
3468
3489
|
get placeOfBirth(): Field | undefined {
|
|
3469
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3490
|
+
return this.document.fields.find((f: Field) => f.type.name === 'PlaceOfBirth');
|
|
3470
3491
|
}
|
|
3471
3492
|
|
|
3472
3493
|
/** Data element ID "DCL". Codes for race or ethnicity of the cardholder. ANSI D-20 codes converted to human readable format according to the ANSI D20 Data Dictionary. */
|
|
3473
3494
|
get raceEthnicity(): Field | undefined {
|
|
3474
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3495
|
+
return this.document.fields.find((f: Field) => f.type.name === 'RaceEthnicity');
|
|
3475
3496
|
}
|
|
3476
3497
|
|
|
3477
3498
|
/** Data element ID "DBK". The number assigned to an individual by the Social Security Administration. */
|
|
3478
3499
|
get socialSecurityNumber(): Field | undefined {
|
|
3479
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3500
|
+
return this.document.fields.find((f: Field) => f.type.name === 'SocialSecurityNumber');
|
|
3480
3501
|
}
|
|
3481
3502
|
|
|
3482
3503
|
/** Data element ID "DCN". Standard endorsement code(s) for cardholder. See codes in D20. This data element is a placeholder for future efforts to standardize endorsement codes. */
|
|
3483
3504
|
get standardEndorsementCode(): Field | undefined {
|
|
3484
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3505
|
+
return this.document.fields.find((f: Field) => f.type.name === 'StandardEndorsementCode');
|
|
3485
3506
|
}
|
|
3486
3507
|
|
|
3487
3508
|
/** Data element ID "DCO". Standard restriction code(s) for cardholder. See codes in D20. This data element is a placeholder for future efforts to standardize restriction codes. */
|
|
3488
3509
|
get standardRestrictionCode(): Field | undefined {
|
|
3489
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3510
|
+
return this.document.fields.find((f: Field) => f.type.name === 'StandardRestrictionCode');
|
|
3490
3511
|
}
|
|
3491
3512
|
|
|
3492
3513
|
/** Data element ID "DCM". Standard vehicle classification code(s) for cardholder. This data element is a placeholder for future efforts to standardize vehicle classifications. */
|
|
3493
3514
|
get standardVehicleClassification(): Field | undefined {
|
|
3494
3515
|
return this.document.fields.find(
|
|
3495
|
-
(f: Field) => f.type.name
|
|
3516
|
+
(f: Field) => f.type.name === 'StandardVehicleClassification'
|
|
3496
3517
|
);
|
|
3497
3518
|
}
|
|
3498
3519
|
|
|
3499
3520
|
/** Data element ID "DDH". Date on which the cardholder turns 18 years old. The format is ISO8601 with delimiters. */
|
|
3500
3521
|
get under18Until(): Field | undefined {
|
|
3501
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3522
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Under18Until');
|
|
3502
3523
|
}
|
|
3503
3524
|
|
|
3504
3525
|
/** Data element ID "DDI". Date on which the cardholder turns 19 years old. The format is ISO8601 with delimiters. */
|
|
3505
3526
|
get under19Until(): Field | undefined {
|
|
3506
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3527
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Under19Until');
|
|
3507
3528
|
}
|
|
3508
3529
|
|
|
3509
3530
|
/** Data element ID "DDJ". Date on which the cardholder turns 21 years old. The format is ISO8601 with delimiters. */
|
|
3510
3531
|
get under21Until(): Field | undefined {
|
|
3511
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3532
|
+
return this.document.fields.find((f: Field) => f.type.name === 'Under21Until');
|
|
3512
3533
|
}
|
|
3513
3534
|
|
|
3514
3535
|
/** Data element ID "DBJ". A number or alphanumeric string used by some jurisdictions to identify a "customer" across multiple data bases. */
|
|
3515
3536
|
get uniqueCustomerIdentifier(): Field | undefined {
|
|
3516
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3537
|
+
return this.document.fields.find((f: Field) => f.type.name === 'UniqueCustomerIdentifier');
|
|
3517
3538
|
}
|
|
3518
3539
|
|
|
3519
3540
|
/** Data element ID "DDL". Field that indicates that the cardholder is a veteran = "1". */
|
|
3520
3541
|
get veteranIndicator(): Field | undefined {
|
|
3521
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3542
|
+
return this.document.fields.find((f: Field) => f.type.name === 'VeteranIndicator');
|
|
3522
3543
|
}
|
|
3523
3544
|
|
|
3524
3545
|
/** Data element ID "DAX". Cardholder weight in kilograms Ex. 84 kg = "084" */
|
|
3525
3546
|
get weightKilograms(): Field | undefined {
|
|
3526
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3547
|
+
return this.document.fields.find((f: Field) => f.type.name === 'WeightKilograms');
|
|
3527
3548
|
}
|
|
3528
3549
|
|
|
3529
3550
|
/** Data element ID "DAW". Cardholder weight in pounds Ex. 185 lb = "185" */
|
|
3530
3551
|
get weightPounds(): Field | undefined {
|
|
3531
|
-
return this.document.fields.find((f: Field) => f.type.name
|
|
3552
|
+
return this.document.fields.find((f: Field) => f.type.name === 'WeightPounds');
|
|
3532
3553
|
}
|
|
3533
3554
|
}
|
|
3534
3555
|
|
|
@@ -3539,7 +3560,7 @@ export namespace AAMVA {
|
|
|
3539
3560
|
}
|
|
3540
3561
|
|
|
3541
3562
|
requiredDocumentType(): string {
|
|
3542
|
-
return
|
|
3563
|
+
return AAMVADriverLicenseDocumentType;
|
|
3543
3564
|
}
|
|
3544
3565
|
}
|
|
3545
3566
|
|
|
@@ -3550,7 +3571,7 @@ export namespace AAMVA {
|
|
|
3550
3571
|
}
|
|
3551
3572
|
|
|
3552
3573
|
requiredDocumentType(): string {
|
|
3553
|
-
return
|
|
3574
|
+
return AAMVAIDCardDocumentType;
|
|
3554
3575
|
}
|
|
3555
3576
|
}
|
|
3556
3577
|
|
|
@@ -3561,7 +3582,7 @@ export namespace AAMVA {
|
|
|
3561
3582
|
}
|
|
3562
3583
|
|
|
3563
3584
|
requiredDocumentType(): string {
|
|
3564
|
-
return
|
|
3585
|
+
return AAMVAEnhancedDriverLicenseDocumentType;
|
|
3565
3586
|
}
|
|
3566
3587
|
}
|
|
3567
3588
|
|
|
@@ -3574,7 +3595,7 @@ export namespace AAMVA {
|
|
|
3574
3595
|
}
|
|
3575
3596
|
|
|
3576
3597
|
constructor(document: GenericDocument) {
|
|
3577
|
-
if (document.type.name
|
|
3598
|
+
if (document.type.name !== this.requiredDocumentType()) {
|
|
3578
3599
|
throw new Error(
|
|
3579
3600
|
`Expected document type ${this.requiredDocumentType()}, got ${document.type.name}`
|
|
3580
3601
|
);
|
|
@@ -3584,7 +3605,7 @@ export namespace AAMVA {
|
|
|
3584
3605
|
}
|
|
3585
3606
|
|
|
3586
3607
|
requiredDocumentType(): string {
|
|
3587
|
-
return
|
|
3608
|
+
return AAMVARawDocumentDocumentType;
|
|
3588
3609
|
}
|
|
3589
3610
|
}
|
|
3590
3611
|
}
|