tabletcommand-incident 0.6.18 → 0.7.0

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 (191) hide show
  1. package/build/ruleLegacy/karka.js +24 -0
  2. package/build/ruleLegacy/karka.js.map +1 -0
  3. package/build/ruleLegacy/setLatitudeLongitude.js +14 -0
  4. package/build/ruleLegacy/setLatitudeLongitude.js.map +1 -1
  5. package/build/ruleLegacy/specializer.js +142 -0
  6. package/build/ruleLegacy/specializer.js.map +1 -0
  7. package/build/ruleProcessorLegacy.js +1 -1
  8. package/build/ruleProcessorLegacy.js.map +1 -1
  9. package/build/rules/append-priority-description-to-call-type.js +1 -2
  10. package/build/rules/append-priority-description-to-call-type.js.map +1 -1
  11. package/build/rules/clean-up-comments.js +0 -1
  12. package/build/rules/clean-up-comments.js.map +1 -1
  13. package/build/rules/clean-up-lat-long.js +1 -2
  14. package/build/rules/clean-up-lat-long.js.map +1 -1
  15. package/build/rules/clear-field.js +0 -1
  16. package/build/rules/clear-field.js.map +1 -1
  17. package/build/rules/copy-location-comment.js +1 -1
  18. package/build/rules/copy-location-comment.js.map +1 -1
  19. package/build/rules/index.js +7 -4
  20. package/build/rules/index.js.map +1 -1
  21. package/build/rules/join-call-type-priority.js +0 -1
  22. package/build/rules/join-call-type-priority.js.map +1 -1
  23. package/build/rules/join-call-type-sacramento.js +0 -1
  24. package/build/rules/join-call-type-sacramento.js.map +1 -1
  25. package/build/rules/map-unit-dates-verdugo.js +0 -1
  26. package/build/rules/map-unit-dates-verdugo.js.map +1 -1
  27. package/build/rules/not-implemented.js +0 -1
  28. package/build/rules/not-implemented.js.map +1 -1
  29. package/build/rules/remove-incident-field.js +0 -2
  30. package/build/rules/remove-incident-field.js.map +1 -1
  31. package/build/rules/remove-person-from-unit.js +0 -2
  32. package/build/rules/remove-person-from-unit.js.map +1 -1
  33. package/build/rules/set-address.js +1 -1
  34. package/build/rules/set-address.js.map +1 -1
  35. package/build/rules/set-channels-from-radio-channels.js +0 -1
  36. package/build/rules/set-channels-from-radio-channels.js.map +1 -1
  37. package/build/rules/set-city-alameda.js +0 -1
  38. package/build/rules/set-city-alameda.js.map +1 -1
  39. package/build/rules/set-city-calfire-lnu.js +122 -123
  40. package/build/rules/set-city-calfire-lnu.js.map +1 -1
  41. package/build/rules/set-city-cleanup.js +0 -1
  42. package/build/rules/set-city-cleanup.js.map +1 -1
  43. package/build/rules/set-city-southern-marin.js +0 -1
  44. package/build/rules/set-city-southern-marin.js.map +1 -1
  45. package/build/rules/set-city-verdugo.js +0 -1
  46. package/build/rules/set-city-verdugo.js.map +1 -1
  47. package/build/rules/set-comment-opts-ack-type.js +0 -1
  48. package/build/rules/set-comment-opts-ack-type.js.map +1 -1
  49. package/build/rules/set-common-place-name.js +1 -2
  50. package/build/rules/set-common-place-name.js.map +1 -1
  51. package/build/rules/set-communication-channels-from-radio-names.js +1 -2
  52. package/build/rules/set-communication-channels-from-radio-names.js.map +1 -1
  53. package/build/rules/set-cross-streets.js +1 -2
  54. package/build/rules/set-cross-streets.js.map +1 -1
  55. package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js +0 -1
  56. package/build/rules/set-fire-alarm-at-dispatch-from-alarm-level.js.map +1 -1
  57. package/build/rules/set-fire-map-pages-ontario.js +2 -3
  58. package/build/rules/set-fire-map-pages-ontario.js.map +1 -1
  59. package/build/rules/set-fire-map-santa-clara-city.js +0 -1
  60. package/build/rules/set-fire-map-santa-clara-city.js.map +1 -1
  61. package/build/rules/set-format-units-pulsepoint.js +1 -2
  62. package/build/rules/set-format-units-pulsepoint.js.map +1 -1
  63. package/build/rules/set-incident-type-ontario.js +1 -2
  64. package/build/rules/set-incident-type-ontario.js.map +1 -1
  65. package/build/rules/set-location-preference-derry.js +3 -4
  66. package/build/rules/set-location-preference-derry.js.map +1 -1
  67. package/build/rules/set-location-preference.js +0 -4
  68. package/build/rules/set-location-preference.js.map +1 -1
  69. package/build/rules/set-map-incident-type-pulsepoint.js +1 -2
  70. package/build/rules/set-map-incident-type-pulsepoint.js.map +1 -1
  71. package/build/rules/set-prior-incident-comment-field.js +1 -2
  72. package/build/rules/set-prior-incident-comment-field.js.map +1 -1
  73. package/build/rules/set-street-number.js +0 -1
  74. package/build/rules/set-street-number.js.map +1 -1
  75. package/build/store.js +1 -1
  76. package/build/store.js.map +1 -1
  77. package/build/test/domain.js +30 -30
  78. package/build/test/domain.js.map +1 -1
  79. package/build/test/mock.js +604 -604
  80. package/build/test/mock.js.map +1 -1
  81. package/build/test/rules/clean-up-comments.js +25 -25
  82. package/build/test/rules/clean-up-comments.js.map +1 -1
  83. package/build/test/rules/close-incident-matching-incident-number.js.map +1 -1
  84. package/build/test/rules/map-unit-dates-verdugo.js +5 -5
  85. package/build/test/rules/map-unit-dates-verdugo.js.map +1 -1
  86. package/build/test/rules/remove-person-from-unit.js +24 -24
  87. package/build/test/rules/remove-person-from-unit.js.map +1 -1
  88. package/build/test/rules/set-channels-from-radio-channels.js +40 -40
  89. package/build/test/rules/set-channels-from-radio-channels.js.map +1 -1
  90. package/build/test/rules/set-city-calfire-lnu.js +4 -4
  91. package/build/test/rules/set-city-calfire-lnu.js.map +1 -1
  92. package/build/test/rules/set-format-units-pulsepoint.js +16 -16
  93. package/build/test/rules/set-format-units-pulsepoint.js.map +1 -1
  94. package/build/test/rules/set-map-incident-type-pulsepoint.js +6 -6
  95. package/build/test/rules/set-map-incident-type-pulsepoint.js.map +1 -1
  96. package/build/test/rulesLegacy.js +4 -1
  97. package/build/test/rulesLegacy.js.map +1 -1
  98. package/definitions/ruleLegacy/karka.d.ts +5 -0
  99. package/definitions/ruleLegacy/karka.d.ts.map +1 -0
  100. package/definitions/ruleLegacy/setLatitudeLongitude.d.ts.map +1 -1
  101. package/definitions/ruleLegacy/specializer.d.ts +5 -0
  102. package/definitions/ruleLegacy/specializer.d.ts.map +1 -0
  103. package/definitions/rules/append-priority-description-to-call-type.d.ts.map +1 -1
  104. package/definitions/rules/clean-up-comments.d.ts.map +1 -1
  105. package/definitions/rules/clean-up-lat-long.d.ts.map +1 -1
  106. package/definitions/rules/clear-field.d.ts.map +1 -1
  107. package/definitions/rules/join-call-type-priority.d.ts.map +1 -1
  108. package/definitions/rules/join-call-type-sacramento.d.ts.map +1 -1
  109. package/definitions/rules/map-unit-dates-verdugo.d.ts.map +1 -1
  110. package/definitions/rules/not-implemented.d.ts.map +1 -1
  111. package/definitions/rules/remove-incident-field.d.ts.map +1 -1
  112. package/definitions/rules/remove-person-from-unit.d.ts.map +1 -1
  113. package/definitions/rules/set-channels-from-radio-channels.d.ts.map +1 -1
  114. package/definitions/rules/set-city-alameda.d.ts.map +1 -1
  115. package/definitions/rules/set-city-calfire-lnu.d.ts.map +1 -1
  116. package/definitions/rules/set-city-cleanup.d.ts.map +1 -1
  117. package/definitions/rules/set-city-southern-marin.d.ts.map +1 -1
  118. package/definitions/rules/set-city-verdugo.d.ts.map +1 -1
  119. package/definitions/rules/set-comment-opts-ack-type.d.ts.map +1 -1
  120. package/definitions/rules/set-common-place-name.d.ts.map +1 -1
  121. package/definitions/rules/set-communication-channels-from-radio-names.d.ts.map +1 -1
  122. package/definitions/rules/set-cross-streets.d.ts.map +1 -1
  123. package/definitions/rules/set-fire-alarm-at-dispatch-from-alarm-level.d.ts.map +1 -1
  124. package/definitions/rules/set-fire-map-santa-clara-city.d.ts.map +1 -1
  125. package/definitions/rules/set-format-units-pulsepoint.d.ts.map +1 -1
  126. package/definitions/rules/set-location-preference-derry.d.ts.map +1 -1
  127. package/definitions/rules/set-location-preference.d.ts.map +1 -1
  128. package/definitions/rules/set-map-incident-type-pulsepoint.d.ts.map +1 -1
  129. package/definitions/rules/set-prior-incident-comment-field.d.ts.map +1 -1
  130. package/definitions/rules/set-street-number.d.ts.map +1 -1
  131. package/definitions/store.d.ts +8 -4
  132. package/definitions/store.d.ts.map +1 -1
  133. package/definitions/types.d.ts.map +1 -1
  134. package/eslint.config.mjs +62 -42
  135. package/gulpfile.js +1 -1
  136. package/package.json +19 -17
  137. package/src/domain.ts +1 -1
  138. package/src/ruleLegacy/karka.js +25 -0
  139. package/src/ruleLegacy/setLatitudeLongitude.js +19 -2
  140. package/src/ruleLegacy/specializer.js +158 -0
  141. package/src/ruleProcessorLegacy.d.ts +1 -1
  142. package/src/ruleProcessorLegacy.js +1 -1
  143. package/src/rules/append-priority-description-to-call-type.ts +1 -2
  144. package/src/rules/clean-up-comments.ts +0 -1
  145. package/src/rules/clean-up-lat-long.ts +1 -2
  146. package/src/rules/clear-field.ts +0 -1
  147. package/src/rules/copy-location-comment.ts +1 -1
  148. package/src/rules/index.ts +8 -8
  149. package/src/rules/join-call-type-priority.ts +0 -1
  150. package/src/rules/join-call-type-sacramento.ts +0 -1
  151. package/src/rules/map-unit-dates-verdugo.ts +0 -1
  152. package/src/rules/not-implemented.ts +0 -1
  153. package/src/rules/remove-incident-field.ts +0 -2
  154. package/src/rules/remove-person-from-unit.ts +0 -2
  155. package/src/rules/set-address.ts +2 -2
  156. package/src/rules/set-channels-from-radio-channels.ts +0 -1
  157. package/src/rules/set-city-alameda.ts +0 -1
  158. package/src/rules/set-city-calfire-lnu.ts +122 -123
  159. package/src/rules/set-city-cleanup.ts +0 -1
  160. package/src/rules/set-city-southern-marin.ts +0 -1
  161. package/src/rules/set-city-verdugo.ts +0 -1
  162. package/src/rules/set-comment-opts-ack-type.ts +0 -1
  163. package/src/rules/set-common-place-name.ts +1 -2
  164. package/src/rules/set-communication-channels-from-radio-names.ts +2 -3
  165. package/src/rules/set-cross-streets.ts +1 -2
  166. package/src/rules/set-fire-alarm-at-dispatch-from-alarm-level.ts +0 -1
  167. package/src/rules/set-fire-map-pages-ontario.ts +4 -4
  168. package/src/rules/set-fire-map-santa-clara-city.ts +0 -1
  169. package/src/rules/set-format-units-pulsepoint.ts +1 -2
  170. package/src/rules/set-incident-type-ontario.ts +3 -3
  171. package/src/rules/set-location-preference-derry.ts +3 -4
  172. package/src/rules/set-location-preference.ts +0 -4
  173. package/src/rules/set-map-incident-type-pulsepoint.ts +1 -2
  174. package/src/rules/set-prior-incident-comment-field.ts +1 -2
  175. package/src/rules/set-street-number.ts +0 -1
  176. package/src/store.ts +3 -3
  177. package/src/test/domain.ts +30 -30
  178. package/src/test/mock.ts +604 -604
  179. package/src/test/rules/clean-up-comments.ts +25 -25
  180. package/src/test/rules/close-incident-matching-incident-number.ts +1 -2
  181. package/src/test/rules/map-unit-dates-verdugo.ts +5 -5
  182. package/src/test/rules/remove-person-from-unit.ts +24 -24
  183. package/src/test/rules/set-address.ts +1 -1
  184. package/src/test/rules/set-channels-from-radio-channels.ts +40 -40
  185. package/src/test/rules/set-city-calfire-lnu.ts +4 -4
  186. package/src/test/rules/set-format-units-pulsepoint.ts +16 -16
  187. package/src/test/rules/set-map-incident-type-pulsepoint.ts +6 -6
  188. package/src/test/rulesLegacy.js +4 -1
  189. package/src/types.ts +1 -1
  190. package/src/verify/correction.ts +5 -5
  191. package/test.sh +1 -1
@@ -13,7 +13,6 @@ export class IncidentRuleSetCityCalfireLNU implements IncidentRule {
13
13
  // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isString(item.CityOrLocality) || _.trim(item.CityOrLocality) === "") {
19
18
  return item;
@@ -44,127 +43,127 @@ export class IncidentRuleSetCityCalfireLNU implements IncidentRule {
44
43
 
45
44
  // cSpell: disable
46
45
  const cityMap: Record<string, string> = {
47
- "AMERICAN_CANYON": "AMERICAN CANYON",
48
- "ANGWIN": "ANGWIN",
49
- "ANNAPOLIS": "ANNAPOLIS",
50
- "ARBUCKLE_COLLEGE_CITY": "ARBUCKLE",
51
- "BENICIA": "BENICIA",
52
- "BENNETT_VALLEY": "BENNET VALLEY",
53
- "BLOOMFIELD": "BLOOMFIELD",
54
- "BODEGA": "BODEGA",
55
- "BODEGA_BAY": "BODEGA BAY",
56
- "CALISTOGA_CITY": "CALISTOGA",
57
- "CALISTOGA_NORTH": "CALISTOGA",
58
- "CALISTOGA_SOUTH": "CALISTOGA",
59
- "CAMP_MEEKER": "CAMP MEEKER",
60
- "CAPAY": "CAPAY",
61
- "CAPELL_VALLEY": "NAPA",
62
- "CARNEROS": "NAPA",
63
- "CAZADERO": "CAZADERO",
64
- "CLARKSBURG": "CLARKSBURG",
65
- "CLEAR_LAKE": "CLEARLAKE",
66
- "CLEARLAKE": "CLEARLAKE",
67
- "CLEARLAKE_CITY": "CLEARLAKE",
68
- "CLEARLAKE_OAKS": "CLEARLAKE OAKS",
69
- "CLOVERDALE": "CLOVERDALE",
70
- "COBB": "COBB",
71
- "COLUSA_COUNTY": "CLOUSA",
72
- "CORDELIA": "CORDELIA",
73
- "COTATI": "COTATI",
74
- "DAVIS": "DAVIS",
75
- "DEER_PARK": "ST HELENA",
76
- "DIXON": "DIXON",
77
- "DIXON_CITY": "DIXON",
78
- "DRY_CREEK": "DRY CREEK",
79
- "DUNNIGAN": "DUNNIGAN",
80
- "EAST_DAVIS": "DAVIS",
81
- "ELKHORN": "ELKHORN",
82
- "ESPARTO": "ESPARTO",
83
- "FAIRFIELD_CITY": "FAIRFIELD",
84
- "FINLEY": "FINLEY",
85
- "FORESTVILLE": "FORESTVILLE",
86
- "FORT_ROSS": "FORT ROSS",
87
- "FREESTONE": "FREESTONE",
88
- "GEYSERVILLE": "GEYSERVILLE",
89
- "GLEN_ELLEN": "GLEN ELLEN",
90
- "GLENHAVEN": "GLENHAVEN",
91
- "GLENN_COLUSA": "CLOUSA",
92
- "GORDON_VALLEY": "NAPA",
93
- "GRATON": "GRATON",
94
- "GREENWOOD_RANCH": "NAPA",
95
- "GUERNEVILLE": "GUERNEVILLE",
96
- "GUINDA": "GUINDA",
97
- "HEALDSBURG": "HEALDSBURG",
98
- "HEALDSBURG_CITY": "HEALDSBURG",
99
- "HIDDEN_VALLEY": "HIDDEN VALLEY",
100
- "JENNER": "JENNER",
101
- "KELSEYVILLE": "KELSEYVILLE",
102
- "KENWOOD": "KENWOOD",
103
- "KNIGHTS_LANDING": "KNIGHTS LANDING",
104
- "KNIGHTS_VALLEY": "KNIGHTS VALLEY",
105
- "KNOXVILLE": "KNOXVILLE",
106
- "LAKE_COUNTY": "LAKE COUNTY",
107
- "LAKE_PILLSBURY": "LAKE PILLSBURY",
108
- "LAKEPORT": "LAKEPORT",
109
- "LAKEVILLE": "LAKEVILLE",
110
- "LOVALL_VALLEY": "LOVALL VALLEY",
111
- "LOWER_LAKE": "LOWER LAKE",
112
- "LUCERNE": "LUCERNE",
113
- "MADISON": "MADISON",
114
- "MARIN": "MARIN",
115
- "MAXWELL": "MAXWELL",
116
- "MENDOCINO_NF": "WILLOWS",
117
- "MIDDLETOWN": "MIDDLETOWN",
118
- "MONTE_RIO": "MONTE RIO",
119
- "MONTEZUMA": "MONTEZUMA",
120
- "MOUNTAIN": "MOUNTAIN",
121
- "NAPA": "NAPA",
122
- "NAPA_CITY": "NAPA",
123
- "NAPA_STATE_HOSPITAL": "NAPA",
124
- "NICE": "NICE",
125
- "OCCIDENTAL": "OCCIDENTAL",
126
- "OOJ": "OUT OF JURISDICTION",
127
- "PENNGROVE": "PENNGROVE",
128
- "PETALUMA": "PETALUMA",
129
- "POPE_VALLEY": "POPE VALLEY",
130
- "PRINCETON": "PRINCETON",
131
- "RIO_VISTA": "RIO VISTA",
132
- "ROHNERT_PARK": "ROHNERT PARK",
133
- "RUTHERFORD": "RUTHERFORD",
134
- "SACRAMENTO_RIVER": "SACRAMENTO",
135
- "SAN_ANTONIO": "SAN ANTONIO",
136
- "SANTA_ROSA": "SANTA ROSA",
137
- "SCHELLVILLE": "SCHELLVILLE",
138
- "SEBASTOPOL": "SEBASTOPOL",
139
- "SOLANO_COUNTY": "SOLANO",
140
- "SONOMA": "SONOMA",
141
- "SPANISH_FLAT": "NAPA",
142
- "ST_HELENA": "ST HELENA",
143
- "ST_HELENA_CITY": "ST HELENA",
144
- "STONYFORD": "STONYFORD",
145
- "SUISUN": "SUISUN",
146
- "SUISUN_CITY": "SUISUN",
147
- "THE_SEA_RANCH": "SEA RANCH",
148
- "TIMBER_COVE": "TIME COVE",
149
- "TRACEN_PETALUMA": "PETALUMA",
150
- "TRAVIS_AFB": "TRAVIS AIR FORCE BASE",
151
- "TWO_ROCK": "TWO ROCK",
152
- "UC_DAVIS": "DAVID",
153
- "UPPER_LAKE": "UPPER LAKE",
154
- "VACAVILLE": "VACAVILLE",
155
- "VACAVILLE_CITY": "VACAVILLE",
156
- "VALLEJO": "VALLEJO",
157
- "VALLEJO_CITY": "VALLEJO",
158
- "VALLEY_FORD": "VALLEY FORD",
159
- "WEST_SACRAMENTO": "WEST SACRAMENTO",
160
- "WILLIAMS": "WILLIAMS",
161
- "WILLOW_OAK": "WILLOW OAK",
162
- "WINDSOR": "WINDSOR",
163
- "WINTERS": "WINTERS",
164
- "WOODLAND": "WOODLAND",
165
- "YOLO": "YOLO",
166
- "YOLO_COUNTY": "YOLO",
167
- "YOUNTVILLE": "YOUNTVILLE",
168
- "ZAMORA": "ZAMORA"
46
+ AMERICAN_CANYON: "AMERICAN CANYON",
47
+ ANGWIN: "ANGWIN",
48
+ ANNAPOLIS: "ANNAPOLIS",
49
+ ARBUCKLE_COLLEGE_CITY: "ARBUCKLE",
50
+ BENICIA: "BENICIA",
51
+ BENNETT_VALLEY: "BENNET VALLEY",
52
+ BLOOMFIELD: "BLOOMFIELD",
53
+ BODEGA: "BODEGA",
54
+ BODEGA_BAY: "BODEGA BAY",
55
+ CALISTOGA_CITY: "CALISTOGA",
56
+ CALISTOGA_NORTH: "CALISTOGA",
57
+ CALISTOGA_SOUTH: "CALISTOGA",
58
+ CAMP_MEEKER: "CAMP MEEKER",
59
+ CAPAY: "CAPAY",
60
+ CAPELL_VALLEY: "NAPA",
61
+ CARNEROS: "NAPA",
62
+ CAZADERO: "CAZADERO",
63
+ CLARKSBURG: "CLARKSBURG",
64
+ CLEAR_LAKE: "CLEARLAKE",
65
+ CLEARLAKE: "CLEARLAKE",
66
+ CLEARLAKE_CITY: "CLEARLAKE",
67
+ CLEARLAKE_OAKS: "CLEARLAKE OAKS",
68
+ CLOVERDALE: "CLOVERDALE",
69
+ COBB: "COBB",
70
+ COLUSA_COUNTY: "CLOUSA",
71
+ CORDELIA: "CORDELIA",
72
+ COTATI: "COTATI",
73
+ DAVIS: "DAVIS",
74
+ DEER_PARK: "ST HELENA",
75
+ DIXON: "DIXON",
76
+ DIXON_CITY: "DIXON",
77
+ DRY_CREEK: "DRY CREEK",
78
+ DUNNIGAN: "DUNNIGAN",
79
+ EAST_DAVIS: "DAVIS",
80
+ ELKHORN: "ELKHORN",
81
+ ESPARTO: "ESPARTO",
82
+ FAIRFIELD_CITY: "FAIRFIELD",
83
+ FINLEY: "FINLEY",
84
+ FORESTVILLE: "FORESTVILLE",
85
+ FORT_ROSS: "FORT ROSS",
86
+ FREESTONE: "FREESTONE",
87
+ GEYSERVILLE: "GEYSERVILLE",
88
+ GLEN_ELLEN: "GLEN ELLEN",
89
+ GLENHAVEN: "GLENHAVEN",
90
+ GLENN_COLUSA: "CLOUSA",
91
+ GORDON_VALLEY: "NAPA",
92
+ GRATON: "GRATON",
93
+ GREENWOOD_RANCH: "NAPA",
94
+ GUERNEVILLE: "GUERNEVILLE",
95
+ GUINDA: "GUINDA",
96
+ HEALDSBURG: "HEALDSBURG",
97
+ HEALDSBURG_CITY: "HEALDSBURG",
98
+ HIDDEN_VALLEY: "HIDDEN VALLEY",
99
+ JENNER: "JENNER",
100
+ KELSEYVILLE: "KELSEYVILLE",
101
+ KENWOOD: "KENWOOD",
102
+ KNIGHTS_LANDING: "KNIGHTS LANDING",
103
+ KNIGHTS_VALLEY: "KNIGHTS VALLEY",
104
+ KNOXVILLE: "KNOXVILLE",
105
+ LAKE_COUNTY: "LAKE COUNTY",
106
+ LAKE_PILLSBURY: "LAKE PILLSBURY",
107
+ LAKEPORT: "LAKEPORT",
108
+ LAKEVILLE: "LAKEVILLE",
109
+ LOVALL_VALLEY: "LOVALL VALLEY",
110
+ LOWER_LAKE: "LOWER LAKE",
111
+ LUCERNE: "LUCERNE",
112
+ MADISON: "MADISON",
113
+ MARIN: "MARIN",
114
+ MAXWELL: "MAXWELL",
115
+ MENDOCINO_NF: "WILLOWS",
116
+ MIDDLETOWN: "MIDDLETOWN",
117
+ MONTE_RIO: "MONTE RIO",
118
+ MONTEZUMA: "MONTEZUMA",
119
+ MOUNTAIN: "MOUNTAIN",
120
+ NAPA: "NAPA",
121
+ NAPA_CITY: "NAPA",
122
+ NAPA_STATE_HOSPITAL: "NAPA",
123
+ NICE: "NICE",
124
+ OCCIDENTAL: "OCCIDENTAL",
125
+ OOJ: "OUT OF JURISDICTION",
126
+ PENNGROVE: "PENNGROVE",
127
+ PETALUMA: "PETALUMA",
128
+ POPE_VALLEY: "POPE VALLEY",
129
+ PRINCETON: "PRINCETON",
130
+ RIO_VISTA: "RIO VISTA",
131
+ ROHNERT_PARK: "ROHNERT PARK",
132
+ RUTHERFORD: "RUTHERFORD",
133
+ SACRAMENTO_RIVER: "SACRAMENTO",
134
+ SAN_ANTONIO: "SAN ANTONIO",
135
+ SANTA_ROSA: "SANTA ROSA",
136
+ SCHELLVILLE: "SCHELLVILLE",
137
+ SEBASTOPOL: "SEBASTOPOL",
138
+ SOLANO_COUNTY: "SOLANO",
139
+ SONOMA: "SONOMA",
140
+ SPANISH_FLAT: "NAPA",
141
+ ST_HELENA: "ST HELENA",
142
+ ST_HELENA_CITY: "ST HELENA",
143
+ STONYFORD: "STONYFORD",
144
+ SUISUN: "SUISUN",
145
+ SUISUN_CITY: "SUISUN",
146
+ THE_SEA_RANCH: "SEA RANCH",
147
+ TIMBER_COVE: "TIMBER COVE",
148
+ TRACEN_PETALUMA: "PETALUMA",
149
+ TRAVIS_AFB: "TRAVIS AIR FORCE BASE",
150
+ TWO_ROCK: "TWO ROCK",
151
+ UC_DAVIS: "DAVID",
152
+ UPPER_LAKE: "UPPER LAKE",
153
+ VACAVILLE: "VACAVILLE",
154
+ VACAVILLE_CITY: "VACAVILLE",
155
+ VALLEJO: "VALLEJO",
156
+ VALLEJO_CITY: "VALLEJO",
157
+ VALLEY_FORD: "VALLEY FORD",
158
+ WEST_SACRAMENTO: "WEST SACRAMENTO",
159
+ WILLIAMS: "WILLIAMS",
160
+ WILLOW_OAK: "WILLOW OAK",
161
+ WINDSOR: "WINDSOR",
162
+ WINTERS: "WINTERS",
163
+ WOODLAND: "WOODLAND",
164
+ YOLO: "YOLO",
165
+ YOLO_COUNTY: "YOLO",
166
+ YOUNTVILLE: "YOUNTVILLE",
167
+ ZAMORA: "ZAMORA"
169
168
  };
170
169
  // cSpell: enable
@@ -13,7 +13,6 @@ export class IncidentRuleSetCityCleanUp implements IncidentRule {
13
13
  // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isString(item.CityOrLocality) || _.trim(item.CityOrLocality) === "") {
19
18
  return item;
@@ -13,7 +13,6 @@ export class IncidentRuleSetCitySouthernMarin implements IncidentRule {
13
13
  // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isString(item.CityOrLocality) || _.trim(item.CityOrLocality) === "") {
19
18
  return item;
@@ -13,7 +13,6 @@ export class IncidentRuleSetCityVerdugo implements IncidentRule {
13
13
  // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isString(item.CityOrLocality) || _.trim(item.CityOrLocality) === "") {
19
18
  return item;
@@ -17,7 +17,6 @@ export class IncidentRuleSetCommentOptsAckType implements IncidentRule {
17
17
  }
18
18
  }
19
19
 
20
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
20
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
22
21
  if (this.ackDelimiter === "") {
23
22
  return item;
@@ -10,10 +10,9 @@ export class IncidentRuleSetCommonPlaceName implements IncidentRule {
10
10
  changes: IncidentRuleChange[] = [];
11
11
 
12
12
  constructor() {
13
- // Not necessary, example for when needed
13
+ // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  const commonPlaceName = _.isString(item.CommonPlaceName) ? item.CommonPlaceName?.trim() : "";
19
18
  const locationComment = _.isString(item.LocationComment) ? item.LocationComment?.trim() : "";
@@ -19,7 +19,6 @@ export class IncidentRuleSetCommunicationChannelsFromRadioNames implements Incid
19
19
  this.cmd = cmd;
20
20
  }
21
21
 
22
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
22
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
24
23
  if (!_.isArray(item.Unit)) {
25
24
  return item;
@@ -42,7 +41,7 @@ export class IncidentRuleSetCommunicationChannelsFromRadioNames implements Incid
42
41
 
43
42
  let ruleMatched = false;
44
43
  const foundTactical = channelsForPurpose(incomingRadioNames, this.tac);
45
- if (foundTactical != "") {
44
+ if (foundTactical !== "") {
46
45
  ruleMatched = true;
47
46
  item.TacticalChannel = foundTactical;
48
47
  }
@@ -84,4 +83,4 @@ function channelsForPurpose(incoming: string[], purpose: string[]): string {
84
83
  return item !== "" && incoming.indexOf(item) >= 0;
85
84
  });
86
85
  return foundRadioNames.join("/");
87
- }
86
+ }
@@ -13,7 +13,6 @@ export class IncidentRuleSetCrossStreets implements IncidentRule {
13
13
  // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  const value = _.trim(buildCrossStreets(item));
19
18
  this.matched = value !== "";
@@ -31,7 +30,7 @@ export class IncidentRuleSetCrossStreets implements IncidentRule {
31
30
  matched: this.matched,
32
31
  changed: this.changed,
33
32
  change: {
34
- "cross_streets": value,
33
+ cross_streets: value,
35
34
  }
36
35
  });
37
36
 
@@ -13,7 +13,6 @@ export class IncidentRuleSetAlarmAtDispatchFromAlarmLevel implements IncidentRul
13
13
  //
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  const hasAlarmLevel = (_.isString(item.AlarmLevel) && _.trim(item.AlarmLevel) !== "") || _.isNumber(item.AlarmLevel);
19
18
  if (!hasAlarmLevel) {
@@ -11,7 +11,7 @@ export class IncidentRuleSetFireMapPagesOntario implements IncidentRule {
11
11
  constructor() {
12
12
  // Not necessary, example for when needed
13
13
  }
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+
15
15
  apply(item: Partial<CADIncident>, atDate: Date): Partial<CADIncident> {
16
16
  this.matched = _.isString(item.MapPages) && _.isString(item.FireMap);
17
17
  if (!this.matched) {
@@ -28,11 +28,11 @@ export class IncidentRuleSetFireMapPagesOntario implements IncidentRule {
28
28
  matched: this.matched,
29
29
  changed: this.changed,
30
30
  change: {
31
- "FireMap": `${initialValueFireMap} => ${item.FireMap}`,
32
- "MapPages": `${initialValueMapPages} => ${item.MapPages}`,
31
+ FireMap: `${initialValueFireMap} => ${item.FireMap}`,
32
+ MapPages: `${initialValueMapPages} => ${item.MapPages}`,
33
33
  }
34
34
  });
35
35
 
36
36
  return item;
37
37
  }
38
- }
38
+ }
@@ -14,7 +14,6 @@ export class IncidentRuleSetFireMapSantaClaraCity implements IncidentRule {
14
14
  //
15
15
  }
16
16
 
17
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
17
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
19
18
  const hasFireMap = _.isString(item.FireMap) && _.trim(item.FireMap) !== "";
20
19
  if (!hasFireMap) {
@@ -11,10 +11,9 @@ export class IncidentRuleSetFormatUnitsPulsePoint implements IncidentRule {
11
11
  changes: IncidentRuleChange[] = [];
12
12
 
13
13
  constructor() {
14
- // Not necessary, example for when needed
14
+ // Not necessary, example for when needed
15
15
  }
16
16
 
17
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
17
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
19
18
  const tempArray: Partial<CADUnitType>[] = [];
20
19
  if (_.isPlainObject(item.Unit)) {
@@ -11,7 +11,7 @@ export class IncidentRuleSetIncidentTypeOntario implements IncidentRule {
11
11
  constructor() {
12
12
  // Not necessary, example for when needed
13
13
  }
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+
15
15
  apply(item: Partial<CADIncident>, atDate: Date): Partial<CADIncident> {
16
16
  this.matched = _.isString(item.AgencyIncidentCallType) && item.AgencyIncidentCallType !== "" && _.isString(item.AgencyIncidentCallTypeDescription) && item.AgencyIncidentCallTypeDescription !== "";
17
17
  if (!this.matched) {
@@ -26,10 +26,10 @@ export class IncidentRuleSetIncidentTypeOntario implements IncidentRule {
26
26
  matched: this.matched,
27
27
  changed: this.changed,
28
28
  change: {
29
- "AgencyIncidentCallTypeDescription": `${initialValue} => ${item.AgencyIncidentCallTypeDescription}`,
29
+ AgencyIncidentCallTypeDescription: `${initialValue} => ${item.AgencyIncidentCallTypeDescription}`,
30
30
  }
31
31
  });
32
32
 
33
33
  return item;
34
34
  }
35
- }
35
+ }
@@ -10,13 +10,12 @@ export class IncidentRuleSetLocationPreferenceDerry implements IncidentRule {
10
10
  changes: IncidentRuleChange[] = [];
11
11
 
12
12
  constructor() {
13
- // Not necessary, example for when needed
13
+ // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
- const isMutualAid: boolean = _.isString(item.AgencyIncidentCallTypeDescription)
19
- && item.AgencyIncidentCallTypeDescription.match(/mutual.aid/i) !== null; // STILL ALARM- MUTUAL AID COVERAGE-WITH A QUINT
17
+ const isMutualAid: boolean = _.isString(item.AgencyIncidentCallTypeDescription) &&
18
+ item.AgencyIncidentCallTypeDescription.match(/mutual.aid/i) !== null; // STILL ALARM- MUTUAL AID COVERAGE-WITH A QUINT
20
19
  const hasAddress = _.isString(item.StreetName) && _.trim(item.StreetName) !== "";
21
20
  const isMileMarker = item.StreetName?.match(/(^|#|\s|\d)(interstate|rt|nb|eb|sb|wb)(#|\s|\d|$)/i); // (begin or number or space) (rt or north bound or ...) (space or number or end)
22
21
  const shouldResolveAddress = isMutualAid && hasAddress && !isMileMarker;
@@ -14,7 +14,6 @@ export class IncidentRuleSetLocationPreference implements IncidentRule {
14
14
  this.requiredFields = fields;
15
15
  }
16
16
 
17
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
17
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
19
18
  if (this.requiredFields.length === 0) {
20
19
  return item;
@@ -24,9 +23,6 @@ export class IncidentRuleSetLocationPreference implements IncidentRule {
24
23
  this.requiredFields.forEach((field) => {
25
24
  const hasField = (_.isString(item[field]) && item[field] !== "") || _.isNumber(item[field]);
26
25
  hasEnoughFields = hasEnoughFields && hasField;
27
- if (!hasEnoughFields) {
28
- return;
29
- }
30
26
  });
31
27
 
32
28
  const prefLocation = hasEnoughFields ? "address" : "location";
@@ -10,10 +10,9 @@ export class IncidentRuleSetMapIncidentTypePulsePoint implements IncidentRule {
10
10
  changes: IncidentRuleChange[] = [];
11
11
 
12
12
  constructor() {
13
- // Not necessary, example for when needed
13
+ // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isString(item.AgencyDeterminantCode)) {
19
18
  return item;
@@ -10,10 +10,9 @@ export class IncidentRuleSetPriorIncidentCommentField implements IncidentRule {
10
10
  changes: IncidentRuleChange[] = [];
11
11
 
12
12
  constructor() {
13
- // Not necessary, example for when needed
13
+ // Not necessary, example for when needed
14
14
  }
15
15
 
16
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
16
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
18
17
  if (!_.isArray(item.PriorIncident)) {
19
18
  return item;
@@ -14,7 +14,6 @@ export class IncidentRuleSetStreetNumber implements IncidentRule {
14
14
  //
15
15
  }
16
16
 
17
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
17
  apply(item: Partial<CADIncident>, _atDate: Date): Partial<CADIncident> {
19
18
  if (!_.isString(item.StreetName)) {
20
19
  return item;
package/src/store.ts CHANGED
@@ -3,6 +3,7 @@ import _ from "lodash";
3
3
  import {
4
4
  Document,
5
5
  FilterQuery,
6
+ ProjectionType,
6
7
  SortOrder,
7
8
  } from "mongoose";
8
9
  import * as Sentry from "@sentry/node";
@@ -18,7 +19,6 @@ import {
18
19
  export default function storeModule({ models }: {
19
20
  models: BackendModels,
20
21
  }) {
21
-
22
22
  const debug = debug_module("tabletcommand-incident:store");
23
23
  const leanOpts = {
24
24
  virtuals: true
@@ -37,7 +37,7 @@ export default function storeModule({ models }: {
37
37
  // shiftStart < startIncident, shiftEnd > startIncident
38
38
 
39
39
  const personnelQuery = {
40
- departmentId: departmentId,
40
+ departmentId,
41
41
  shiftStartTime: {
42
42
  $lte: incidentStartTime
43
43
  },
@@ -86,7 +86,7 @@ export default function storeModule({ models }: {
86
86
  departmentId: "abc",
87
87
  IncidentNumber: "def",
88
88
  };
89
- const projection = {
89
+ const projection: ProjectionType<CADIncident> = {
90
90
  _id: 1,
91
91
  };
92
92
  debug(`CADIncident.findOne:${JSON.stringify(query)}.`);
@@ -161,10 +161,10 @@ describe("mergeIncidents", function() {
161
161
  IncidentNumber: "Hello",
162
162
  radioChannels: [
163
163
  {
164
- "name": "z5",
165
- "channel": "z5",
166
- "channelDescription": "d-z5",
167
- "url": "u-z5",
164
+ name: "z5",
165
+ channel: "z5",
166
+ channelDescription: "d-z5",
167
+ url: "u-z5",
168
168
  }
169
169
  ]
170
170
  };
@@ -173,10 +173,10 @@ describe("mergeIncidents", function() {
173
173
  IncidentNumber: "Hello",
174
174
  radioChannels: [
175
175
  {
176
- "name": "e1",
177
- "channel": "e1",
178
- "channelDescription": "d-e1",
179
- "url": "u-e1",
176
+ name: "e1",
177
+ channel: "e1",
178
+ channelDescription: "d-e1",
179
+ url: "u-e1",
180
180
  }
181
181
  ]
182
182
  };
@@ -323,28 +323,28 @@ describe("mergeIncidents", function() {
323
323
  it("merge units - same unit dispatch number, different unit id", function() {
324
324
  const units = [
325
325
  {
326
- "UnitDispatchNumber": "1",
327
- "UnitID": "E76",
328
- "TimeDispatched": "2023-05-01T17:14:03-07:00",
329
- "TimeEnroute": "2023-05-01T17:15:22-07:00",
330
- "TimeCleared": null,
331
- "TimeArrived": "2023-05-01T17:18:37-07:00"
326
+ UnitDispatchNumber: "1",
327
+ UnitID: "E76",
328
+ TimeDispatched: "2023-05-01T17:14:03-07:00",
329
+ TimeEnroute: "2023-05-01T17:15:22-07:00",
330
+ TimeCleared: null,
331
+ TimeArrived: "2023-05-01T17:18:37-07:00"
332
332
  },
333
333
  {
334
- "UnitDispatchNumber": "2",
335
- "UnitID": "R74",
336
- "TimeDispatched": "2023-05-01T17:14:03-07:00",
337
- "TimeEnroute": "2023-05-01T17:15:33-07:00",
338
- "TimeCleared": "2023-05-01T17:16:44-07:00",
339
- "TimeArrived": null
334
+ UnitDispatchNumber: "2",
335
+ UnitID: "R74",
336
+ TimeDispatched: "2023-05-01T17:14:03-07:00",
337
+ TimeEnroute: "2023-05-01T17:15:33-07:00",
338
+ TimeCleared: "2023-05-01T17:16:44-07:00",
339
+ TimeArrived: null
340
340
  },
341
341
  {
342
- "UnitDispatchNumber": "2",
343
- "UnitID": "R73",
344
- "TimeDispatched": "2023-05-01T17:16:25-07:00",
345
- "TimeEnroute": "2023-05-01T17:17:59-07:00",
346
- "TimeCleared": null,
347
- "TimeArrived": "2023-05-01T17:18:56-07:00"
342
+ UnitDispatchNumber: "2",
343
+ UnitID: "R73",
344
+ TimeDispatched: "2023-05-01T17:16:25-07:00",
345
+ TimeEnroute: "2023-05-01T17:17:59-07:00",
346
+ TimeCleared: null,
347
+ TimeArrived: "2023-05-01T17:18:56-07:00"
348
348
  }
349
349
  ] as unknown as CADUnitType[];
350
350
 
@@ -579,8 +579,8 @@ describe("mergeIncidents", function() {
579
579
  IncidentNumber: "Hello",
580
580
  ReportNumber: [
581
581
  {
582
- "name": "ems",
583
- "number": "some-300"
582
+ name: "ems",
583
+ number: "some-300"
584
584
  }
585
585
  ]
586
586
  };
@@ -589,8 +589,8 @@ describe("mergeIncidents", function() {
589
589
  IncidentNumber: "Hello",
590
590
  ReportNumber: [
591
591
  {
592
- "name": "ems",
593
- "number": "some-300"
592
+ name: "ems",
593
+ number: "some-300"
594
594
  }
595
595
  ]
596
596
  };