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.
Files changed (154) hide show
  1. package/Libraries.txt +439 -16
  2. package/RNScanbotBarcodeSDK.podspec +1 -1
  3. package/android/build.gradle +1 -1
  4. package/android/gradle.properties +4 -4
  5. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkModule.kt +27 -25
  6. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/ScanbotBarcodeSdkPluginResultDelegate.kt +2 -2
  7. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcode_scanner_view/ScanbotBarcodeScannerViewEvents.kt +4 -4
  8. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/components/barcode_scanner_view/ScanbotBarcodeScannerViewManager.kt +0 -1
  9. package/android/src/main/java/io/scanbot/barcodesdk/plugin/reactnative/models/ScanbotBarcodeScannerModels.kt +4 -10
  10. package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerLegacyView.m +4 -4
  11. package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerView.mm +0 -4
  12. package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerViewControllerWrapper.h +0 -3
  13. package/ios/Components/BarcodeScannerView/RNScanbotBarcodeScannerViewControllerWrapper.m +1 -5
  14. package/ios/ScanbotBarcodeSdk.m +57 -48
  15. package/ios/ScanbotBarcodeSdkPluginResultDelegate.h +1 -1
  16. package/ios/ScanbotBarcodeSdkPluginResultDelegate.m +13 -13
  17. package/lib/commonjs/component/spec/ScanbotBarcodeScannerViewNativeComponent.js.map +1 -1
  18. package/lib/commonjs/documents/BarcodeDocumentModel.js +612 -613
  19. package/lib/commonjs/documents/BarcodeDocumentModel.js.map +1 -1
  20. package/lib/commonjs/documents/GenericDocument.js +82 -49
  21. package/lib/commonjs/documents/GenericDocument.js.map +1 -1
  22. package/lib/commonjs/index.js +15 -13
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/ui_v2/barcode/ArTrackingOverlayConfiguration.js +10 -47
  25. package/lib/commonjs/ui_v2/barcode/ArTrackingOverlayConfiguration.js.map +1 -1
  26. package/lib/commonjs/ui_v2/barcode/BarcodeRecognizerConfiguration.js +47 -19
  27. package/lib/commonjs/ui_v2/barcode/BarcodeRecognizerConfiguration.js.map +1 -1
  28. package/lib/commonjs/ui_v2/barcode/BarcodeScannerConfiguration.js.map +1 -1
  29. package/lib/commonjs/ui_v2/barcode/FindAndPickScanningModeUseCase.js +8 -4
  30. package/lib/commonjs/ui_v2/barcode/FindAndPickScanningModeUseCase.js.map +1 -1
  31. package/lib/commonjs/ui_v2/barcode/MultipleScanningModeUseCase.js +9 -1
  32. package/lib/commonjs/ui_v2/barcode/MultipleScanningModeUseCase.js.map +1 -1
  33. package/lib/commonjs/ui_v2/barcode/SingleScanningModeUseCase.js +1 -1
  34. package/lib/commonjs/ui_v2/barcode/SingleScanningModeUseCase.js.map +1 -1
  35. package/lib/commonjs/ui_v2/common/CameraPermission.js +22 -6
  36. package/lib/commonjs/ui_v2/common/CameraPermission.js.map +1 -1
  37. package/lib/commonjs/ui_v2/common/Common.js +175 -5
  38. package/lib/commonjs/ui_v2/common/Common.js.map +1 -1
  39. package/lib/commonjs/ui_v2/common/NavigationBarConfiguration.js +6 -0
  40. package/lib/commonjs/ui_v2/common/NavigationBarConfiguration.js.map +1 -0
  41. package/lib/commonjs/ui_v2/common/ScanbotAlertDialog.js +27 -5
  42. package/lib/commonjs/ui_v2/common/ScanbotAlertDialog.js.map +1 -1
  43. package/lib/commonjs/ui_v2/common/UserGuidanceConfiguration.js +48 -1
  44. package/lib/commonjs/ui_v2/common/UserGuidanceConfiguration.js.map +1 -1
  45. package/lib/commonjs/ui_v2/index.js +14 -1
  46. package/lib/commonjs/ui_v2/index.js.map +1 -1
  47. package/lib/commonjs/utils.js +8 -1
  48. package/lib/commonjs/utils.js.map +1 -1
  49. package/lib/module/component/spec/ScanbotBarcodeScannerViewNativeComponent.js.map +1 -1
  50. package/lib/module/documents/BarcodeDocumentModel.js +611 -612
  51. package/lib/module/documents/BarcodeDocumentModel.js.map +1 -1
  52. package/lib/module/documents/GenericDocument.js +84 -51
  53. package/lib/module/documents/GenericDocument.js.map +1 -1
  54. package/lib/module/index.js +7 -1
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/ui_v2/barcode/ArTrackingOverlayConfiguration.js +1 -36
  57. package/lib/module/ui_v2/barcode/ArTrackingOverlayConfiguration.js.map +1 -1
  58. package/lib/module/ui_v2/barcode/BarcodeRecognizerConfiguration.js +47 -19
  59. package/lib/module/ui_v2/barcode/BarcodeRecognizerConfiguration.js.map +1 -1
  60. package/lib/module/ui_v2/barcode/BarcodeScannerConfiguration.js.map +1 -1
  61. package/lib/module/ui_v2/barcode/FindAndPickScanningModeUseCase.js +6 -2
  62. package/lib/module/ui_v2/barcode/FindAndPickScanningModeUseCase.js.map +1 -1
  63. package/lib/module/ui_v2/barcode/MultipleScanningModeUseCase.js +9 -1
  64. package/lib/module/ui_v2/barcode/MultipleScanningModeUseCase.js.map +1 -1
  65. package/lib/module/ui_v2/barcode/SingleScanningModeUseCase.js +1 -1
  66. package/lib/module/ui_v2/barcode/SingleScanningModeUseCase.js.map +1 -1
  67. package/lib/module/ui_v2/common/CameraPermission.js +22 -6
  68. package/lib/module/ui_v2/common/CameraPermission.js.map +1 -1
  69. package/lib/module/ui_v2/common/Common.js +168 -2
  70. package/lib/module/ui_v2/common/Common.js.map +1 -1
  71. package/lib/module/ui_v2/common/NavigationBarConfiguration.js +2 -0
  72. package/lib/module/ui_v2/common/NavigationBarConfiguration.js.map +1 -0
  73. package/lib/module/ui_v2/common/ScanbotAlertDialog.js +28 -5
  74. package/lib/module/ui_v2/common/ScanbotAlertDialog.js.map +1 -1
  75. package/lib/module/ui_v2/common/UserGuidanceConfiguration.js +47 -0
  76. package/lib/module/ui_v2/common/UserGuidanceConfiguration.js.map +1 -1
  77. package/lib/module/ui_v2/index.js +3 -1
  78. package/lib/module/ui_v2/index.js.map +1 -1
  79. package/lib/module/utils.js +6 -0
  80. package/lib/module/utils.js.map +1 -1
  81. package/lib/typescript/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.d.ts +3 -5
  82. package/lib/typescript/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.d.ts.map +1 -1
  83. package/lib/typescript/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.d.ts +0 -1
  84. package/lib/typescript/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.d.ts.map +1 -1
  85. package/lib/typescript/src/configurations.d.ts +13 -5
  86. package/lib/typescript/src/configurations.d.ts.map +1 -1
  87. package/lib/typescript/src/customConfigurations.d.ts +19 -3
  88. package/lib/typescript/src/customConfigurations.d.ts.map +1 -1
  89. package/lib/typescript/src/documents/BarcodeDocumentModel.d.ts +70 -71
  90. package/lib/typescript/src/documents/BarcodeDocumentModel.d.ts.map +1 -1
  91. package/lib/typescript/src/documents/CommonFieldType.d.ts +58 -109
  92. package/lib/typescript/src/documents/CommonFieldType.d.ts.map +1 -1
  93. package/lib/typescript/src/documents/GenericDocument.d.ts +95 -86
  94. package/lib/typescript/src/documents/GenericDocument.d.ts.map +1 -1
  95. package/lib/typescript/src/index.d.ts +5 -1
  96. package/lib/typescript/src/index.d.ts.map +1 -1
  97. package/lib/typescript/src/results.d.ts +1 -13
  98. package/lib/typescript/src/results.d.ts.map +1 -1
  99. package/lib/typescript/src/types.d.ts +25 -20
  100. package/lib/typescript/src/types.d.ts.map +1 -1
  101. package/lib/typescript/src/ui_v2/barcode/ArTrackingOverlayConfiguration.d.ts +1 -22
  102. package/lib/typescript/src/ui_v2/barcode/ArTrackingOverlayConfiguration.d.ts.map +1 -1
  103. package/lib/typescript/src/ui_v2/barcode/BarcodeRecognizerConfiguration.d.ts +41 -19
  104. package/lib/typescript/src/ui_v2/barcode/BarcodeRecognizerConfiguration.d.ts.map +1 -1
  105. package/lib/typescript/src/ui_v2/barcode/BarcodeScannerConfiguration.d.ts.map +1 -1
  106. package/lib/typescript/src/ui_v2/barcode/FindAndPickScanningModeUseCase.d.ts +4 -0
  107. package/lib/typescript/src/ui_v2/barcode/FindAndPickScanningModeUseCase.d.ts.map +1 -1
  108. package/lib/typescript/src/ui_v2/barcode/MultipleScanningModeUseCase.d.ts +5 -0
  109. package/lib/typescript/src/ui_v2/barcode/MultipleScanningModeUseCase.d.ts.map +1 -1
  110. package/lib/typescript/src/ui_v2/common/CameraPermission.d.ts.map +1 -1
  111. package/lib/typescript/src/ui_v2/common/Common.d.ts +103 -1
  112. package/lib/typescript/src/ui_v2/common/Common.d.ts.map +1 -1
  113. package/lib/typescript/src/ui_v2/common/NavigationBarConfiguration.d.ts +12 -0
  114. package/lib/typescript/src/ui_v2/common/NavigationBarConfiguration.d.ts.map +1 -0
  115. package/lib/typescript/src/ui_v2/common/ScanbotAlertDialog.d.ts +4 -0
  116. package/lib/typescript/src/ui_v2/common/ScanbotAlertDialog.d.ts.map +1 -1
  117. package/lib/typescript/src/ui_v2/common/UserGuidanceConfiguration.d.ts +25 -0
  118. package/lib/typescript/src/ui_v2/common/UserGuidanceConfiguration.d.ts.map +1 -1
  119. package/lib/typescript/src/ui_v2/index.d.ts +1 -0
  120. package/lib/typescript/src/ui_v2/index.d.ts.map +1 -1
  121. package/lib/typescript/src/utils.d.ts +5 -0
  122. package/lib/typescript/src/utils.d.ts.map +1 -1
  123. package/package.json +2 -2
  124. package/src/component/barcode-camera-view/ScanbotBarcodeCameraViewProperties.ts +2 -5
  125. package/src/component/spec/ScanbotBarcodeScannerViewNativeComponent.ts +0 -1
  126. package/src/configurations.ts +19 -7
  127. package/src/customConfigurations.ts +19 -3
  128. package/src/documents/BarcodeDocumentModel.ts +644 -623
  129. package/src/documents/CommonFieldType.ts +59 -82
  130. package/src/documents/GenericDocument.ts +104 -86
  131. package/src/index.ts +7 -1
  132. package/src/results.ts +1 -16
  133. package/src/types.ts +26 -23
  134. package/src/ui_v2/barcode/ArTrackingOverlayConfiguration.ts +1 -36
  135. package/src/ui_v2/barcode/BarcodeRecognizerConfiguration.ts +60 -22
  136. package/src/ui_v2/barcode/BarcodeScannerConfiguration.ts +2 -2
  137. package/src/ui_v2/barcode/BarcodeUseCase.ts +1 -1
  138. package/src/ui_v2/barcode/FindAndPickScanningModeUseCase.ts +6 -2
  139. package/src/ui_v2/barcode/MultipleScanningModeUseCase.ts +9 -1
  140. package/src/ui_v2/barcode/SingleScanningModeUseCase.ts +1 -1
  141. package/src/ui_v2/common/CameraPermission.ts +22 -6
  142. package/src/ui_v2/common/Common.ts +168 -2
  143. package/src/ui_v2/common/NavigationBarConfiguration.ts +13 -0
  144. package/src/ui_v2/common/ScanbotAlertDialog.ts +25 -6
  145. package/src/ui_v2/common/UserGuidanceConfiguration.ts +41 -0
  146. package/src/ui_v2/index.ts +5 -9
  147. package/src/utils.ts +10 -0
  148. package/lib/commonjs/documents/Point.js +0 -14
  149. package/lib/commonjs/documents/Point.js.map +0 -1
  150. package/lib/module/documents/Point.js +0 -7
  151. package/lib/module/documents/Point.js.map +0 -1
  152. package/lib/typescript/src/documents/Point.d.ts +0 -6
  153. package/lib/typescript/src/documents/Point.d.ts.map +0 -1
  154. 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 RootTypeName =
5
- | typeof BoardingPassDocumentTypeName
6
- | typeof SwissQRDocumentTypeName
7
- | typeof DEMedicalPlanDocumentTypeName
8
- | typeof IDCardPDF417DocumentTypeName
9
- | typeof GS1DocumentTypeName
10
- | typeof SEPADocumentTypeName
11
- | typeof MedicalCertificateDocumentTypeName
12
- | typeof VCardDocumentTypeName
13
- | typeof AAMVADocumentTypeName;
14
-
15
- export const BoardingPassDocumentTypeName = 'BoardingPass';
16
- export const BoardingPassLegDocumentTypeName = 'Leg';
17
- export const SwissQRDocumentTypeName = 'SwissQR';
18
- export const DEMedicalPlanDocumentTypeName = 'DEMedicalPlan';
19
- export const DEMedicalPlanPatientDocumentTypeName = 'Patient';
20
- export const DEMedicalPlanDoctorDocumentTypeName = 'Doctor';
21
- export const DEMedicalPlanSubheadingDocumentTypeName = 'Subheading';
22
- export const DEMedicalPlanSubheadingMedicineDocumentTypeName = 'Medicine';
23
- export const DEMedicalPlanSubheadingMedicineSubstanceDocumentTypeName = 'Substance';
24
- export const DEMedicalPlanSubheadingPrescriptionDocumentTypeName = 'Prescription';
25
- export const IDCardPDF417DocumentTypeName = 'IDCardPDF417';
26
- export const GS1DocumentTypeName = 'GS1';
27
- export const GS1ElementDocumentTypeName = 'Element';
28
- export const GS1ElementValidationErrorDocumentTypeName = 'ValidationError';
29
- export const SEPADocumentTypeName = 'SEPA';
30
- export const MedicalCertificateDocumentTypeName = 'MedicalCertificate';
31
- export const VCardDocumentTypeName = 'VCard';
32
- export const VCardEntryDocumentTypeName = 'Entry';
33
- export const VCardVersionDocumentTypeName = 'Version';
34
- export const VCardSourceDocumentTypeName = 'Source';
35
- export const VCardKindDocumentTypeName = 'Kind';
36
- export const VCardXMLDocumentTypeName = 'XML';
37
- export const VCardNameDocumentTypeName = 'Name';
38
- export const VCardFirstNameDocumentTypeName = 'FirstName';
39
- export const VCardNicknameDocumentTypeName = 'Nickname';
40
- export const VCardBirthdayDocumentTypeName = 'Birthday';
41
- export const VCardAnniversaryDocumentTypeName = 'Anniversary';
42
- export const VCardGenderDocumentTypeName = 'Gender';
43
- export const VCardDeliveryAddressDocumentTypeName = 'DeliveryAddress';
44
- export const VCardPhotoDocumentTypeName = 'Photo';
45
- export const VCardTelephoneNumberDocumentTypeName = 'TelephoneNumber';
46
- export const VCardEmailDocumentTypeName = 'Email';
47
- export const VCardIMPPDocumentTypeName = 'IMPP';
48
- export const VCardLanguagesDocumentTypeName = 'Languages';
49
- export const VCardTimeZoneDocumentTypeName = 'TimeZone';
50
- export const VCardGeoLocationDocumentTypeName = 'GeoLocation';
51
- export const VCardTitleDocumentTypeName = 'Title';
52
- export const VCardRoleDocumentTypeName = 'Role';
53
- export const VCardLogoDocumentTypeName = 'Logo';
54
- export const VCardOrganisationDocumentTypeName = 'Organisation';
55
- export const VCardMemberDocumentTypeName = 'Member';
56
- export const VCardRelatedDocumentTypeName = 'Related';
57
- export const VCardCategoriesDocumentTypeName = 'Categories';
58
- export const VCardNoteDocumentTypeName = 'Note';
59
- export const VCardProductIdDocumentTypeName = 'ProductId';
60
- export const VCardRevisionDocumentTypeName = 'Revision';
61
- export const VCardSoundDocumentTypeName = 'Sound';
62
- export const VCardUIDDocumentTypeName = 'UID';
63
- export const VCardClientPIDMapDocumentTypeName = 'ClientPIDMap';
64
- export const VCardURLDocumentTypeName = 'URL';
65
- export const VCardPublicKeyDocumentTypeName = 'PublicKey';
66
- export const VCardBusyTimeURLDocumentTypeName = 'BusyTimeURL';
67
- export const VCardCalendarURIForRequestsDocumentTypeName = 'CalendarURIForRequests';
68
- export const VCardCalendarURIDocumentTypeName = 'CalendarURI';
69
- export const VCardCustomDocumentTypeName = 'Custom';
70
- export const AAMVADocumentTypeName = 'AAMVA';
71
- export const AAMVATitleDataDocumentTypeName = 'TitleData';
72
- export const AAMVARegistrationDataDocumentTypeName = 'RegistrationData';
73
- export const AAMVAMotorCarrierDataDocumentTypeName = 'MotorCarrierData';
74
- export const AAMVARegistrantAndVehicleDataDocumentTypeName = 'RegistrantAndVehicleData';
75
- export const AAMVAVehicleOwnerDataDocumentTypeName = 'VehicleOwnerData';
76
- export const AAMVAVehicleDataDocumentTypeName = 'VehicleData';
77
- export const AAMVAVehicleSafetyInspectionDataDocumentTypeName = 'VehicleSafetyInspectionData';
78
- export const AAMVADLIDDocumentTypeName = 'DLID';
79
- export const AAMVADriverLicenseDocumentTypeName = 'DriverLicense';
80
- export const AAMVAIDCardDocumentTypeName = 'IDCard';
81
- export const AAMVAEnhancedDriverLicenseDocumentTypeName = 'EnhancedDriverLicense';
82
- export const AAMVARawDocumentDocumentTypeName = 'RawDocument';
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 != this.requiredDocumentType()) {
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 BoardingPassDocumentTypeName;
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 == 'ElectronicTicket') as Field;
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 == 'Name') as Field;
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 == 'NumberOfLegs') as Field;
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 == 'SecurityData') as Field;
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 == 'Leg')
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 != this.requiredDocumentType()) {
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 BoardingPassLegDocumentTypeName;
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 == 'AirlineDesignatorOfBoardingPassIssuer'
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 == 'AirlineNumericCode');
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 == 'BaggageTagLicensePlateNumbers'
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 == 'CheckInSequenceNumber'
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 == 'CompartmentCode') as Field;
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 == 'DateOfBoardingPassIssuanceJulian'
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 == 'DateOfFlightJulian') as Field;
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 == 'DepartureAirportCode'
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 == 'DestinationAirportCode'
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 == 'DocumentFormSerialNumber');
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 == 'DocumentType');
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 == 'FastTrack');
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 == 'FirstNonConsecutiveBaggageTagLicensePlateNumber'
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 == 'FlightNumber') as Field;
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 == 'ForIndividualAirlineUse');
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 == 'FreeBaggageAllowance');
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 == 'FrequentFlyerAirlineDesignator'
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 == 'FrequentFlyerNumber');
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 == 'IDADIndicator');
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 == 'InternationalDocumentationVerification'
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 == 'MarketingCarrierDesignator');
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 == 'OperatingCarrierDesignator'
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 == 'OperatingCarrierPNRCode'
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 == 'PassengerDescription');
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 == 'PassengerStatus') as Field;
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 == 'SeatNumber') as Field;
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 == 'SecondNonConsecutiveBaggageTagLicensePlateNumber'
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 == 'SelecteeIndicator');
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((f: Field) => f.type.name == 'SourceOfBoardingPassIssuance');
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 == 'SourceOfCheckIn');
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 == 'VersionNumber');
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 != this.requiredDocumentType()) {
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 SwissQRDocumentTypeName;
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 == 'AdditionalBillingInformation');
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 == 'AdditionalInfoTrailer');
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 == 'AdditionalInfoUnstructured');
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 == 'AlternativeProcedureParameter');
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 == 'Amount');
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 == 'Currency');
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 == 'DebtorAddressType');
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 == 'DebtorBuildingOrAddressLine2');
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 == 'DebtorCountry');
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 == 'DebtorName');
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 == 'DebtorPlace');
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 == 'DebtorPostalCode');
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 == 'DebtorStreetOrAddressLine1');
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 == 'DueDate');
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 == 'Encoding');
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 == 'FinalPayeeAddressType');
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 == 'FinalPayeeBuildingOrAddressLine2'
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 == 'FinalPayeeCountry');
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 == 'FinalPayeeName');
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 == 'FinalPayeePlace');
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 == 'FinalPayeePostalCode');
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((f: Field) => f.type.name == 'FinalPayeeStreetOrAddressLine1');
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 == 'IBAN');
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 == 'PayeeAddressType');
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 == 'PayeeBuildingOrAddressLine2');
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 == 'PayeeCountry');
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 == 'PayeeName');
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 == 'PayeePlace');
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 == 'PayeePostalCode');
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 == 'PayeeStreetOrAddressLine1');
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 == 'PaymentReference');
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 == 'PaymentReferenceType');
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 == 'Version') as Field;
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 != this.requiredDocumentType()) {
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 DEMedicalPlanDocumentTypeName;
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 == 'CurrentPage') as Field;
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((f: Field) => f.type.name == 'DocumentVersionNumber') as Field;
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 == 'GUID') as Field;
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 == 'LanguageCountryCode') as Field;
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 == 'PatchVersionNumber') as Field;
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 == 'TotalNumberOfPages') as Field;
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 == 'Patient');
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 == 'Doctor');
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 == 'Subheading')
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 != this.requiredDocumentType()) {
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 DEMedicalPlanPatientDocumentTypeName;
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 == 'AllergiesAndIntolerances');
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 == 'BirthDate');
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 == 'BreastFeeding');
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 == 'CreatinineValue');
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 == 'FirstName');
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 == 'Gender');
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 == 'Height');
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 == 'LastName');
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 == 'PatientFreeText');
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 == 'PatientID');
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 == 'PreName');
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 == 'Pregnant');
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 == 'Suffix');
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 == 'Title');
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 == 'Weight');
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 != this.requiredDocumentType()) {
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 DEMedicalPlanDoctorDocumentTypeName;
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 == 'DoctorNumber');
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 == 'Email');
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 == 'HospitalID');
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 == 'IssuerName');
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 == 'IssuingDateAndTime');
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 == 'PharmacyID');
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 == 'Place');
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 == 'PostalCode');
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 == 'Street');
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 == 'TelephoneNumber');
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 != this.requiredDocumentType()) {
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 DEMedicalPlanSubheadingDocumentTypeName;
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 == 'GeneralNote');
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 == 'KeyWords');
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 == 'SubheadingFreeText');
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 == 'Medicine')
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 == 'Prescription')
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 != this.requiredDocumentType()) {
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 DEMedicalPlanSubheadingMedicineDocumentTypeName;
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 == 'DosageForm');
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 == 'DosageFormFreeText');
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 == 'DosageFreeText');
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 == 'DosingUnit');
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 == 'DosingUnitFreeText');
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 == 'DrugName');
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 == 'Evening');
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 == 'GeneralNotes');
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 == 'Midday');
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 == 'Morning');
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 == 'Night');
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 == 'PharmaceuticalNumber');
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 == 'ReasonForTreatment');
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 == 'RelevantInfo');
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 == 'Substance')
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 != this.requiredDocumentType()) {
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 DEMedicalPlanSubheadingMedicineSubstanceDocumentTypeName;
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 == 'ActiveSubstance');
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 == 'Potency');
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 != this.requiredDocumentType()) {
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 DEMedicalPlanSubheadingPrescriptionDocumentTypeName;
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 == 'GeneralInformation');
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 == 'PrescriptionFreeText');
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 != this.requiredDocumentType()) {
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 IDCardPDF417DocumentTypeName;
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 == 'BirthDate') as Field;
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 == 'DateExpired') as Field;
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 == 'DateIssued') as Field;
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 == 'DocumentCode') as Field;
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 == 'FirstName') as Field;
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 == 'LastName') as Field;
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 == 'Optional') as Field;
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 != this.requiredDocumentType()) {
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 GS1DocumentTypeName;
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 == 'Element')
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 != this.requiredDocumentType()) {
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 GS1ElementDocumentTypeName;
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 == 'ApplicationIdentifier'
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 == 'DataTitle') as Field;
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 == 'ElementDescription') as Field;
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 == 'RawValue') as Field;
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 == 'ValidationError')
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 != this.requiredDocumentType()) {
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 GS1ElementValidationErrorDocumentTypeName;
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 == 'Code') as Field;
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 == 'Reason') as Field;
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 != this.requiredDocumentType()) {
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 SEPADocumentTypeName;
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 == 'Amount');
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 == 'CharacterSet') as Field;
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 == 'Identification') as Field;
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 == 'Information');
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 == 'Purpose');
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 == 'ReceiverBIC') as Field;
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 == 'ReceiverIBAN') as Field;
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 == 'ReceiverName') as Field;
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 == 'Remittance');
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 == 'ServiceTag') as Field;
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 == 'Version') as Field;
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 != this.requiredDocumentType()) {
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 MedicalCertificateDocumentTypeName;
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 == 'Accident');
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 == 'AssignedToAccidentInsuranceDoctor'
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 == 'BirthDate');
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 == 'ChildNeedsCareFrom');
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 == 'ChildNeedsCareUntil');
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 == 'Diagnose');
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 == 'DiagnosedOn');
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 == 'DoctorNumber');
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 == 'DocumentDate');
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 == 'FirstName');
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 == 'HealthInsuranceNumber');
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 == 'IncapableOfWorkSince');
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 == 'IncapableOfWorkUntil');
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 == 'InitialCertificate');
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 == 'InsuredPersonNumber');
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 == 'LastName');
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 == 'PlaceOfOperationNumber');
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 == 'RenewedCertificate');
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 == 'RequiresCare');
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 == 'Status');
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 == 'WorkAccident');
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 != this.requiredDocumentType()) {
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 VCardDocumentTypeName;
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 == 'Version');
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 == 'Source');
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 == 'Kind');
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 == 'XML');
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 == '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 == 'FirstName');
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 == 'Nickname');
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 == 'Birthday');
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((c: GenericDocument) => c.type.name == 'Anniversary');
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 == 'Gender');
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 == 'DeliveryAddress'
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 == 'Photo');
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 == 'TelephoneNumber'
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 == 'Email');
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 == 'IMPP');
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 == 'Languages');
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 == 'TimeZone');
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((c: GenericDocument) => c.type.name == 'GeoLocation');
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 == 'Title');
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 == 'Role');
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 == 'Logo');
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 == 'Organisation'
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 == 'Member');
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 == 'Related');
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 == 'Categories');
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 == 'Note');
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 == 'ProductId');
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 == 'Revision');
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 == 'Sound');
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 == 'UID');
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 == 'ClientPIDMap'
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 == 'URL');
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 == 'PublicKey');
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((c: GenericDocument) => c.type.name == 'BusyTimeURL');
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 == 'CalendarURIForRequests'
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((c: GenericDocument) => c.type.name == 'CalendarURI');
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 == 'Custom')
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 != this.requiredDocumentType()) {
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 == 'RawValue') as Field;
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 == 'TypeModifier');
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 == 'Value');
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 VCardVersionDocumentTypeName;
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 VCardSourceDocumentTypeName;
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 VCardKindDocumentTypeName;
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 VCardXMLDocumentTypeName;
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 VCardNameDocumentTypeName;
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 VCardFirstNameDocumentTypeName;
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 VCardNicknameDocumentTypeName;
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 VCardBirthdayDocumentTypeName;
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 VCardAnniversaryDocumentTypeName;
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 VCardGenderDocumentTypeName;
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 VCardDeliveryAddressDocumentTypeName;
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 VCardPhotoDocumentTypeName;
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 VCardTelephoneNumberDocumentTypeName;
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 VCardEmailDocumentTypeName;
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 VCardIMPPDocumentTypeName;
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 VCardLanguagesDocumentTypeName;
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 VCardTimeZoneDocumentTypeName;
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 VCardGeoLocationDocumentTypeName;
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 VCardTitleDocumentTypeName;
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 VCardRoleDocumentTypeName;
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 VCardLogoDocumentTypeName;
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 VCardOrganisationDocumentTypeName;
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 VCardMemberDocumentTypeName;
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 VCardRelatedDocumentTypeName;
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 VCardCategoriesDocumentTypeName;
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 VCardNoteDocumentTypeName;
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 VCardProductIdDocumentTypeName;
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 VCardRevisionDocumentTypeName;
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 VCardSoundDocumentTypeName;
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 VCardUIDDocumentTypeName;
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 VCardClientPIDMapDocumentTypeName;
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 VCardURLDocumentTypeName;
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 VCardPublicKeyDocumentTypeName;
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 VCardBusyTimeURLDocumentTypeName;
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 VCardCalendarURIForRequestsDocumentTypeName;
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 VCardCalendarURIDocumentTypeName;
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 VCardCustomDocumentTypeName;
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 != this.requiredDocumentType()) {
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 AAMVADocumentTypeName;
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 == 'IssuerIdentificationNumber'
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 == 'JurisdictionVersionNumber');
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 == 'Version') as Field;
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 == 'TitleData');
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 == 'RegistrationData'
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 == 'MotorCarrierData'
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 == 'RegistrantAndVehicleData'
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 == 'VehicleOwnerData'
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((c: GenericDocument) => c.type.name == 'VehicleData');
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 == 'VehicleSafetyInspectionData'
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 == 'DriverLicense'
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 == 'IDCard');
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 == 'EnhancedDriverLicense'
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((c: GenericDocument) => c.type.name == 'RawDocument');
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 != this.requiredDocumentType()) {
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 AAMVATitleDataDocumentTypeName;
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 == 'AddressCity');
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 == 'AddressJurisdictionCode');
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 == 'AddressStreet');
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 == 'AddressZipCode');
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 == 'BusinessName');
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 == 'FamilyName');
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 == 'FirstLienHolderId');
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 == 'FirstLienHolderName');
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 == 'GivenName');
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 == 'NewUsedIndicator');
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 == 'OdometerDate');
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 == 'OdometerDisclosure');
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 == 'OdometerReadingKilometers');
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 == 'OdometerReadingMileage');
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 == 'PreviousTitleNumber');
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 == 'PreviousTitlingJurisdiction');
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 == 'TitleBrand');
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 == 'TitleIssueDate');
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 == 'TitleNumber');
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 == 'TitlingJurisdiction');
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 == 'VehicleBodyStyle');
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 == 'VehicleColor');
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 == 'VehicleIdentificationNumber');
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 == 'VehicleMake');
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 == 'VehicleModel');
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 == 'VehicleModelYear');
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 == 'VehiclePurchaseDate');
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 != this.requiredDocumentType()) {
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 AAMVARegistrationDataDocumentTypeName;
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 == 'AddressCity');
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 == 'AddressJurisdictionCode');
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 == 'AddressStreet');
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 == 'AddressZipCode');
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 == 'Axles');
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 == 'BusinessName');
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 == 'Fuel');
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 == 'GrossVehicleWeight');
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 == 'RegistrantFamilyName');
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 == 'RegistrantGivenName');
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 == 'RegistrationExpiryDate');
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 == 'RegistrationIssueDate');
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 == 'RegistrationPlateNumber');
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 == 'RegistrationWindowStickerDecal'
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 == 'RegistrationYear');
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 == 'VehicleBodyStyle');
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 == 'VehicleColor');
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 == 'VehicleIdentificationNumber');
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 == 'VehicleMake');
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 == 'VehicleModel');
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 == 'VehicleModelYear');
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 == 'VehicleUse');
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 != this.requiredDocumentType()) {
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 AAMVAMotorCarrierDataDocumentTypeName;
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 == 'CarrierName');
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 == 'City');
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 == 'Jurisdiction');
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 == 'StreetAddress');
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 == 'USDOTNumber');
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 == 'Zip');
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 != this.requiredDocumentType()) {
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 AAMVARegistrantAndVehicleDataDocumentTypeName;
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 == 'Address');
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 == 'BaseJurisdictionRegisteredWeight'
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 == 'CarrierNameRegistrant');
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 == 'City');
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 == 'GrossVehicleWeight');
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 == 'Jurisdiction');
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 == 'ModelYear');
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 == 'NumberOfSeats');
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 == 'RegistrationDecalNumber');
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 == 'RegistrationEnforcementDate');
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 == 'RegistrationExpirationDate');
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 == 'RegistrationIssueDate');
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 == 'RegistrationPlateNumber');
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 == 'RegistrationYear');
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 == 'TypeOfVehicle');
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 == 'UnitNumber');
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 == 'VehicleIdentificationNumber');
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 == 'VehicleMake');
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 == 'ZipCode');
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 != this.requiredDocumentType()) {
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 AAMVAVehicleOwnerDataDocumentTypeName;
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 == 'FirstOwnerIdNumber');
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 == 'FirstOwnerLastName');
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 == 'FirstOwnerLegalStatus');
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 == 'FirstOwnerMiddleName');
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 == 'FirstOwnerName');
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 == 'FirstOwnerTotalName');
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 == 'MailingAddress1');
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 == 'MailingAddress2');
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 == 'MailingCity');
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 == 'MailingJurisdictionCode');
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 == 'MailingZipCode');
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 == 'ResidenceAddress1');
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 == 'ResidenceAddress2');
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 == 'ResidenceCity');
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 == 'ResidenceJurisdictionCode');
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 == 'ResidenceZipCode');
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 == 'SecondOwnerIdNumber');
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 == 'SecondOwnerLastName');
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 == 'SecondOwnerLegalStatus');
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 == 'SecondOwnerMiddleName');
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 == 'SecondOwnerName');
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 == 'SecondOwnerTotalName');
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 != this.requiredDocumentType()) {
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 AAMVAVehicleDataDocumentTypeName;
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 == 'BodyStyle');
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 == 'DateJunked');
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 == 'DateRecovered');
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 == 'DateStolen');
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 == 'EngineDisplacement');
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 == 'EngineSize');
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 == 'FuelType');
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 == 'Horsepower');
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 == 'IFTAIndicator');
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 == 'IRPIndicator');
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 == 'JunkedIndicator');
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 == 'MSRP');
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 == 'MajorCode');
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 == 'MakeYear');
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 == 'ManufactureGrossWeight');
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 == 'MinorCode');
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 == 'NumberOfAxles');
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 == 'NumberOfCylinders');
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 == 'NumberOfDoors');
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 == 'StolenIndicator');
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 == 'TransmissionCode');
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 == 'UnladenWeight');
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 == 'VLTClacFromDate');
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 == 'VehicleIdNumber');
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 == 'VehicleIdentificationNumber');
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 == 'VehicleMake');
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 == 'VehicleModel');
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 == 'VehicleStatusCode');
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 == 'VehicleTypeCode');
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 != this.requiredDocumentType()) {
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 AAMVAVehicleSafetyInspectionDataDocumentTypeName;
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 == 'InspectionAddress');
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 == 'InspectionAirPollutionDeviceConditions'
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((f: Field) => f.type.name == 'InspectionFacilityIdentifier');
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 == 'InspectionFormOrStickerNumberCurrent'
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 == 'InspectionFormOrStickerNumberPrevious'
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 == 'InspectionSmogCertificateIndicator'
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 == 'InspectionStationNumber');
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 == 'InspectorIdentificationNumber'
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 == 'OdometerReadingAtInspection');
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 == 'VehicleBodyType');
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 == 'VehicleMake');
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 == 'VehicleModelYear');
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 != this.requiredDocumentType()) {
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 == 'AddressCity');
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 == 'AddressJurisdictionCode');
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 == 'AddressPostalCode');
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 == 'AddressStreet1');
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 == 'AddressStreet2');
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 == 'AdultInformation');
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 == 'AliasFamilyName');
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 == 'AliasGivenName');
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 == 'AliasMiddleName');
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 == 'AliasPrefixName');
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 == 'AliasSuffixName');
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 == 'CardRevisionDate');
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 == 'ComplianceType');
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 == 'CountryIdentification');
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 == 'CustomerFamilyName');
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 == 'CustomerFirstName');
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 == 'CustomerGivenNames');
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 == 'CustomerIdNumber');
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 == 'CustomerMiddleName');
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 == 'DateOfBirth');
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 == 'DocumentDiscriminator');
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 == 'DocumentExpirationDate');
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 == 'DocumentIssueDate');
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 == 'DriverAliasDateOfBirthField');
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 == 'DriverAliasFirstName');
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 == 'DriverAliasLastName');
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 == 'DriverAliasSocialSecurityNumber'
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 == 'DriverLastName');
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 == 'DriverLicenseClassificationCode'
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 == 'DriverLicenseEndorsementsCode'
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 == 'DriverLicenseName');
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((f: Field) => f.type.name == 'DriverLicenseRestrictionCode');
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 == 'DriverNamePrefix');
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 == 'DriverNameSuffix');
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 == 'DriverPermitClassificationCode'
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 == 'DriverPermitEndorsementCode');
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 == 'DriverPermitIssueDate');
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 == 'DriverPermitRestrictionCode');
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 == 'DriverResidenceCity');
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 == 'DriverResidenceJurisdictionCode'
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 == 'DriverResidencePostalCode');
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 == 'DriverResidenceStreetAddress1'
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 == 'DriverResidenceStreetAddress2'
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 == 'FamilyNameTruncation');
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 == 'FederalCommercialVehicleCodes'
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 == 'FirstNameTruncation');
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 == 'HAZMATEndorsementExpirationDate'
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 == 'HairColor');
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 == 'Height');
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 == 'InventoryControlNumber');
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 == 'IssueTimeStamp');
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 == 'JurisdictionSpecificEndorsementCodeDescription'
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 == 'JurisdictionSpecificEndorsementCodes'
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 == 'JurisdictionSpecificRestrictionCodeDescription'
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 == 'JurisdictionSpecificRestrictionCodes'
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 == 'JurisdictionSpecificVehicleClass'
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 == 'JurisdictionSpecificVehicleClassificationDescription'
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 == 'LimitedDurationDocumentIndicator'
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 == 'MiddleNameTruncation');
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 == 'NameSuffix');
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 == 'NonResidentIndicator');
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 == 'NumberOfDuplicates');
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 == 'OrganDonor');
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 == 'OrganDonorIndicator');
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 == 'PermitExpirationDate');
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 == 'PermitIdentifier');
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 == 'PhysicalDescriptionEyeColor');
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 == 'PhysicalDescriptionHeight');
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 == 'PhysicalDescriptionSex');
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 == 'PhysicalDescriptionWeightRange'
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 == 'PlaceOfBirth');
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 == 'RaceEthnicity');
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 == 'SocialSecurityNumber');
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 == 'StandardEndorsementCode');
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 == 'StandardRestrictionCode');
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 == 'StandardVehicleClassification'
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 == 'Under18Until');
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 == 'Under19Until');
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 == 'Under21Until');
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 == 'UniqueCustomerIdentifier');
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 == 'VeteranIndicator');
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 == 'WeightKilograms');
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 == 'WeightPounds');
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 AAMVADriverLicenseDocumentTypeName;
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 AAMVAIDCardDocumentTypeName;
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 AAMVAEnhancedDriverLicenseDocumentTypeName;
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 != this.requiredDocumentType()) {
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 AAMVARawDocumentDocumentTypeName;
3608
+ return AAMVARawDocumentDocumentType;
3588
3609
  }
3589
3610
  }
3590
3611
  }