@atmosx/event-product-parser 3.0.47 → 3.0.51

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 (59) hide show
  1. package/README.md +48 -21
  2. package/dist/cjs/index.cjs +5841 -15199
  3. package/dist/esm/index.mjs +5827 -15185
  4. package/package.json +5 -6
  5. package/src/@building/building.attachments.ts +6 -6
  6. package/src/@building/building.create.ts +19 -5
  7. package/src/@building/building.enhance.ts +1 -1
  8. package/src/@building/building.geometry.ts +1 -1
  9. package/src/@building/building.polygon.ts +1 -2
  10. package/src/@building/building.signature.ts +0 -1
  11. package/src/@building/building.tracking.ts +4 -4
  12. package/src/@building/building.validate.ts +11 -6
  13. package/src/@core/core.clearEvents.ts +0 -1
  14. package/src/@core/core.createEvent.ts +0 -1
  15. package/src/@core/core.getEvents.ts +0 -1
  16. package/src/@core/core.getNodes.ts +0 -1
  17. package/src/@core/core.getRandomEvent.ts +0 -1
  18. package/src/@core/core.getVersion.ts +0 -1
  19. package/src/@dictionaries/dictionaries.awips.ts +3 -3
  20. package/src/@events/events.api.ts +7 -9
  21. package/src/@events/events.text.ts +5 -6
  22. package/src/@events/events.ugc.ts +5 -5
  23. package/src/@events/events.vtec.ts +4 -5
  24. package/src/@manager/manager.mkEvent.ts +17 -12
  25. package/src/@manager/manager.rmEvent.ts +5 -3
  26. package/src/@manager/manager.setHash.ts +0 -1
  27. package/src/@manager/manager.updateEvents.ts +1 -3
  28. package/src/@manager/manager.updateListener.ts +23 -31
  29. package/src/@manager/manager.updateNodes.ts +2 -3
  30. package/src/@modules/@database/database.cache.ts +6 -4
  31. package/src/@modules/@database/database.init.ts +5 -4
  32. package/src/@modules/@database/database.shapefiles.ts +11 -11
  33. package/src/@modules/@database/database.stanza.ts +2 -3
  34. package/src/@modules/@eas/eas.setAFSK.ts +0 -1
  35. package/src/@modules/@eas/eas.setAsciiToBits.ts +0 -1
  36. package/src/@modules/@eas/eas.setEasTone.ts +6 -2
  37. package/src/@modules/@eas/eas.setNoise.ts +1 -0
  38. package/src/@modules/@eas/eas.setRadioEffect.ts +1 -0
  39. package/src/@modules/@eas/eas.setSameHeader.ts +0 -1
  40. package/src/@modules/@utilities/utilities.createHttp.ts +40 -64
  41. package/src/@modules/@utilities/utilities.getMatched.ts +33 -0
  42. package/src/@modules/@utilities/utilities.setCronSchedule.ts +1 -1
  43. package/src/@modules/@utilities/utilities.setDebug.ts +38 -0
  44. package/src/@modules/@utilities/utilities.setTimeoutAction.ts +5 -1
  45. package/src/@modules/@xmpp/xmpp.xDeploy.ts +1 -2
  46. package/src/@modules/@xmpp/xmpp.xError.ts +0 -2
  47. package/src/@modules/@xmpp/xmpp.xOffline.ts +0 -1
  48. package/src/@modules/@xmpp/xmpp.xOnline.ts +2 -2
  49. package/src/@parsers/@text/text.getEmbed.ts +0 -2
  50. package/src/@parsers/@ugc/ugc.coordinates.ts +2 -1
  51. package/src/@parsers/@ugc/ugc.getCache.ts +24 -0
  52. package/src/@parsers/@ugc/ugc.locations.ts +35 -7
  53. package/src/@parsers/@ugc/ugc.setCache.ts +28 -0
  54. package/src/@types/type.settings.ts +1 -0
  55. package/src/bootstrap.ts +4 -1
  56. package/test.js +15 -21
  57. package/tsup.config.ts +1 -1
  58. package/dist/index.d.mts +0 -299
  59. package/dist/index.d.ts +0 -299
package/README.md CHANGED
@@ -26,6 +26,7 @@ const Client = new Manager({
26
26
  Database: `shapefiles.db`,
27
27
  EnableWireService: false,
28
28
  EnableJournal: true,
29
+ EnableDebugging: false,
29
30
  NOAAWeatherWireServiceSettings: {
30
31
  ReconnectionSettings: {
31
32
  Enabled: true,
@@ -83,30 +84,23 @@ const Client = new Manager({
83
84
  NodeMinDistance: 120,
84
85
  EventFiltering: {
85
86
  ListeningEvents: [
86
- "Tornado Emergency", "PDS Tornado Warning", "Tornado Warning",
87
- "Confirmed Tornado Warning", "Radar Indicated Tornado Warning",
88
- "Special Marine Warning (TPROB)", "PDS Tornado Watch", "Tornado Watch",
89
- "EDS Severe Thunderstorm Warning (TPROB)", "EDS Severe Thunderstorm Warning",
90
- "Destructive Severe Thunderstorm Warning (TPROB)", "Destructive Severe Thunderstorm Warning",
91
- "Considerable Severe Thunderstorm Warning (TPROB)", "Considerable Severe Thunderstorm Warning",
92
- "Severe Thunderstorm Warning (TPROB)", "Severe Thunderstorm Warning",
93
- "Severe Thunderstorm Watch",
94
- "Flash Flood Emergency", "Flash Flood Warning",
95
- "Flash Flood Watch",
96
- "Tsunami Warning", "Tsunami Watch",
97
- "Tsunami Advisory", "Special Marine Warning",
98
- "Earthquake Warning",
99
- "Hurricane Warning", "Hurricane Watch",
100
- "Tropical Storm Warning",
101
- "Winter Storm Warning", "Blizzard Warning",
102
- "Ice Storm Warning", "Snow Squall Warning",
103
- "Winter Weather Advisory", "Extreme Cold Watch"
87
+ "*Severe Thunderstorm Warning*",
88
+ "*Blizzard*", "*Ice Storm*", "*Winter Storm*", "*Snow Squall*",
89
+ "Tornado Emergency", "*Tornado Warning*",
90
+ "Special Weather Statement", "Marine Weather Statement",
91
+ "*Tsunami*", "*Hurricane*", "*Tropical Storm*", "*Special Marine*",
92
+ "*Flash Flood Warning*", "*Flash Flood Watch*", "*Flash Flood Advisory*",
93
+ "Mesoscale Discussion",
94
+ "SPC Day 1 Outlook", "SPC Day 2 Outlook", "SPC Day 3 Outlook",
95
+ "PDS Tornado Watch", "Tornado Watch", "Severe Thunderstorm Watch", "Flash Flood Watch", "PDS Severe Thunderstorm Watch",
96
+ "*Administrative*", "National Weather Service Policy",
97
+ "Fire Weather Warning", "Fire Weather Watch", "Fire Weather Advisory",
104
98
  ],
105
- ListeningICAO: [],
99
+ ListeningICAO: [`KLOT`],
106
100
  IgnoredICAO: [],
107
101
  IgnoredEvents: [],
108
- ListeningUGC: [],
109
- ListeningStates: [],
102
+ ListeningUGC: [`WIC001`],
103
+ ListeningStates: [`MO`, `IA`],
110
104
  NodeLocationFiltering: false,
111
105
  IgnoreTestProducts: true,
112
106
  },
@@ -177,6 +171,27 @@ const Client = new Manager({
177
171
  - **EasDirectory**: The location to store audio eas files that are generated.
178
172
  - **EasToneout**: The toneout prefix to use for generated eas messages.
179
173
 
174
+
175
+ ## How do custom listeners work?
176
+
177
+ Custom listeners are case insensitive rules used by `ListeningEvents`, `IgnoredEvents`, and ListenerSettings `events` to determine whether an input matches.
178
+
179
+ They support:
180
+ - Exact matches (e.g. `"Tornado Watch"`)
181
+ - Global wildcard (`"*"` matches everything)
182
+ - Partial wildcards (`*text*` matches anything containing that text)
183
+
184
+ Example rules:
185
+ ```json
186
+ ["*Severe Thunderstorm Warning*", "Tornado Watch", "*Flash Flood Warning*"]
187
+ ```
188
+
189
+ Example Results:
190
+ - Considerable Severe Thunderstorm Warning: ✅
191
+ - Tornado Warning: ❌
192
+ - Severe Thunderstorm Warning (TPROB): ✅
193
+ - Flash Flood Emergency: ❌
194
+
180
195
  ## Events and Listeners
181
196
 
182
197
  ### Event `*`
@@ -262,6 +277,18 @@ Client.on(`onEventStatus`, (cache) => {
262
277
  })
263
278
  ```
264
279
 
280
+ ### Event `debug`
281
+ Triggers when a debug message gets emitted, this can automatically be used without the listener by enabling `EnableDebugger`. This also includes the `parent` and the `function` names.
282
+ ```ts
283
+ Client.on(`debug`, (debug) => {
284
+ /*
285
+ message: string
286
+ parent: string
287
+ function: string
288
+ */
289
+ })
290
+ ```
291
+
265
292
  ### Function `setSettings`
266
293
  Allows you to dynamically update parser settings without restarting the service.
267
294
  ```ts