@atmosx/event-product-parser 3.0.54 → 3.0.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/CODE_OF_CONDUCT.md +9 -9
- package/.github/CONTRIBUTING.md +29 -29
- package/.github/LICENSE +17 -17
- package/.github/SECURITY.md +20 -20
- package/.github/SUPPORTED_EVENTS.md +369 -369
- package/.github/docs/docs-functions.md +30 -0
- package/.github/docs/docs-general-configurations.md +209 -0
- package/.github/docs/docs-integrations.md +37 -0
- package/.github/docs/docs-listeners.md +28 -0
- package/.github/docs/docs-source-configuration.md +218 -0
- package/.github/docs/docs-technical.md +50 -0
- package/.github/logo.png +0 -0
- package/.github/samples/SAMPLE_EAS_GENERATION.wav +0 -0
- package/.github/samples/SAMPLE_GEOJSON.json +204 -0
- package/.github/samples/SAMPLE_TEXT_PRODUCT.txt +119 -0
- package/.vscode/settings.json +3 -3
- package/README.md +167 -0
- package/dist/cjs/index.cjs +1475 -1294
- package/dist/esm/index.mjs +1456 -1275
- package/package.json +47 -52
- package/src/@building/{building.create.ts → CreateEvent.ts} +55 -55
- package/src/@building/{building.clean.ts → GetCleanedEvent.ts} +29 -29
- package/src/@building/{building.attachments.ts → GetEventAttachments.ts} +85 -82
- package/src/@building/{building.enhance.ts → GetEventEnhancedName.ts} +54 -59
- package/src/@building/{building.geometry.ts → GetEventGeometry.ts} +47 -47
- package/src/@building/{building.headers.ts → GetEventHeader.ts} +36 -36
- package/src/@building/{building.polygon.ts → GetEventNodes.ts} +72 -69
- package/src/@building/{building.office.ts → GetEventOffice.ts} +42 -42
- package/src/@building/{building.properties.ts → GetEventProperties.ts} +95 -95
- package/src/@building/{building.signature.ts → GetEventSignature.ts} +60 -60
- package/src/@building/{building.tags.ts → GetEventTags.ts} +29 -24
- package/src/@building/{building.tracking.ts → GetEventTracking.ts} +67 -67
- package/src/@core/{core.clearEvents.ts → ClearEvents.ts} +30 -30
- package/src/@core/{core.createListener.ts → CreateListener.ts} +23 -23
- package/src/@core/{core.getEvents.ts → GetEvents.ts} +23 -23
- package/src/@core/{core.getNodes.ts → GetNodes.ts} +23 -23
- package/src/@core/{core.getRandomEvent.ts → GetRandomEvent.ts} +23 -23
- package/src/@core/{core.getVersion.ts → GetVersion.ts} +23 -23
- package/src/@core/{core.manualEvent.ts → ManualEvent.ts} +56 -38
- package/src/@core/{core.query.ts → QueryStanza.ts} +38 -38
- package/src/@core/{core.setNode.ts → SetNode.ts} +80 -80
- package/src/@core/{core.start.ts → StartService.ts} +60 -60
- package/src/@core/{core.stop.ts → StopService.ts} +31 -31
- package/src/@enums/AWIPS.ts +366 -0
- package/src/{@dictionaries/dictionaries.actions.ts → @enums/Actions.ts} +27 -27
- package/src/{@dictionaries/dictionaries.cancellation.ts → @enums/Cancellation.ts} +30 -30
- package/src/{@dictionaries/dictionaries.causes.ts → @enums/Causes.ts} +35 -35
- package/src/{@dictionaries/dictionaries.correlations.ts → @enums/Correlations.ts} +42 -42
- package/src/{@dictionaries/dictionaries.enhanced.ts → @enums/Enhanced.ts} +69 -66
- package/src/{@dictionaries/dictionaries.events.ts → @enums/Events.ts} +82 -82
- package/src/{@dictionaries/dictionaries.expressions.ts → @enums/Expressions.ts} +28 -28
- package/src/@enums/GlobalFilter.ts +24 -0
- package/src/{@dictionaries/dictionaries.hail.ts → @enums/Hail.ts} +37 -35
- package/src/{@dictionaries/dictionaries.icao.ts → @enums/ICAO.ts} +258 -258
- package/src/{@dictionaries/dictionaries.matches.ts → @enums/Matches.ts} +54 -54
- package/src/{@dictionaries/dictionaries.products.ts → @enums/Products.ts} +24 -24
- package/src/{@dictionaries/dictionaries.records.ts → @enums/Records.ts} +25 -25
- package/src/{@dictionaries/dictionaries.severity.ts → @enums/Severity.ts} +27 -27
- package/src/{@dictionaries/dictionaries.shapefiles.ts → @enums/Shapefiles.ts} +35 -35
- package/src/{@dictionaries/dictionaries.states.ts → @enums/States.ts} +71 -71
- package/src/{@dictionaries/dictionaries.status.ts → @enums/Status.ts} +30 -30
- package/src/{@dictionaries/dictionaries.global.ts → @enums/Strings.ts} +22 -24
- package/src/@enums/Tags.ts +167 -0
- package/src/{@dictionaries/dictionaries.testing.ts → @enums/Testing.ts} +24 -24
- package/src/@events/{events.api.ts → ParseAPI.ts} +116 -116
- package/src/@events/{events.text.ts → ParseText.ts} +87 -84
- package/src/@events/{events.ugc.ts → ParseUGC.ts} +93 -89
- package/src/@events/{events.vtec.ts → ParseVTEC.ts} +86 -86
- package/src/@manager/MakeEvents.ts +106 -0
- package/src/@manager/RemoveEvent.ts +70 -0
- package/src/@manager/{manager.setHash.ts → SetHash.ts} +35 -35
- package/src/@manager/Tasks.ts +246 -0
- package/src/@manager/{manager.updateEvents.ts → UpdateEvents.ts} +34 -32
- package/src/@manager/{manager.updateNodes.ts → UpdateNode.ts} +61 -53
- package/src/{@building/building.validate.ts → @manager/ValidateEvents.ts} +141 -152
- package/src/@modules/@database/{database.cache.ts → GetCachedEvents.ts} +49 -49
- package/src/@modules/@database/{database.broadcastify.ts → ImportBroadcastify.ts} +69 -66
- package/src/@modules/@database/{database.shapefiles.ts → ImportShapefiles.ts} +92 -92
- package/src/@modules/@database/{database.stanza.ts → ImportStanza.ts} +46 -46
- package/src/@modules/@database/{database.init.ts → InitializeDatabase.ts} +58 -58
- package/src/@modules/@eas/{eas.setEasTone.ts → GenerateEASMessage.ts} +144 -151
- package/src/@modules/@eas/{eas.getCleanDescription.ts → GetCleanDescription.ts} +91 -91
- package/src/@modules/@eas/{eas.getFloatPCM16.ts → GetFloatPCM16.ts} +29 -29
- package/src/@modules/@eas/{eas.getMergedPCM16.ts → GetMergedPCM16.ts} +32 -32
- package/src/@modules/@eas/{eas.getPCM16.ts → GetPCM16.ts} +52 -52
- package/src/@modules/@eas/{eas.getPCMToFloat.ts → GetPCMToFloat.ts} +26 -26
- package/src/@modules/@eas/{eas.getSampledPCM16.ts → GetSampledPCM16.ts} +36 -36
- package/src/@modules/@eas/{eas.getTTS.ts → GetTTS.ts} +54 -54
- package/src/@modules/@eas/{eas.getWavPCM16.ts → GetWavPCM16.ts} +52 -52
- package/src/@modules/@eas/{eas.setAFSK.ts → SetAFSK.ts} +51 -51
- package/src/@modules/@eas/{eas.setAsciiToBits.ts → SetAsciiToBits.ts} +31 -31
- package/src/@modules/@eas/{eas.setAttentionTone.ts → SetAttentionTone.ts} +40 -40
- package/src/@modules/@eas/{eas.setNoise.ts → SetNoise.ts} +32 -32
- package/src/@modules/@eas/{eas.setRadioEffect.ts → SetRadioEffect.ts} +50 -50
- package/src/@modules/@eas/{eas.setSameHeader.ts → SetSameHeader.ts} +44 -44
- package/src/@modules/@stanza/{stanza.getAwipsType.ts → GetAwipsType.ts} +47 -45
- package/src/@modules/@stanza/{stanza.validate.ts → ValidateStanza.ts} +49 -49
- package/src/@modules/@utilities/{utilities.createHttp.ts → CreateHttp.ts} +83 -83
- package/src/@modules/@utilities/{utilities.getFormattedTime.ts → GetFormattedTime.ts} +43 -43
- package/src/@modules/@utilities/{utilities.getLatestIssuance.ts → GetLatestIssuance.ts} +32 -32
- package/src/@modules/@utilities/{utilities.getMatched.ts → GetMatched.ts} +33 -33
- package/src/@modules/@utilities/{utilities.getSettings.ts → GetSettings.ts} +25 -25
- package/src/@modules/@utilities/{utilities.getShapeNearestPoint.ts → GetShapeNearestPoint.ts} +114 -114
- package/src/@modules/@utilities/{utilities.setCronSchedule.ts → SetCronSchedule.ts} +94 -94
- package/src/@modules/@utilities/{utilities.setDebug.ts → SetDebug.ts} +37 -38
- package/src/@modules/@utilities/{utilities.setEventEmit.ts → SetEventEmit.ts} +41 -41
- package/src/@modules/@utilities/{utilities.setListener.ts → SetListener.ts} +30 -30
- package/src/@modules/@utilities/{utilities.setSettings.ts → SetSettings.ts} +42 -42
- package/src/@modules/@utilities/{utilities.setSleep.ts → SetSleep.ts} +33 -33
- package/src/@modules/@utilities/{utilities.setTimeoutAction.ts → SetTimeoutAction.ts} +63 -62
- package/src/@modules/@utilities/{utilities.setWarning.ts → SetWarning.ts} +34 -34
- package/src/@modules/@xmpp/{xmpp.xDeploy.ts → DeployXMPP.ts} +57 -57
- package/src/@modules/@xmpp/{xmpp.xError.ts → ErrorXMPP.ts} +26 -26
- package/src/@modules/@xmpp/{xmpp.xOffline.ts → OfflineXMPP.ts} +36 -36
- package/src/@modules/@xmpp/{xmpp.xOnline.ts → OnlineXMPP.ts} +45 -45
- package/src/@modules/@xmpp/{xmpp.xReconnect.ts → ReconnectXMPP.ts} +64 -64
- package/src/@modules/@xmpp/{xmpp.xStanza.ts → StanzaXMPP.ts} +62 -62
- package/src/@parsers/@hvtec/{hvtec.extract.ts → HVExtract.ts} +39 -39
- package/src/@parsers/@pvtec/{pvtec.expires.ts → GetExpiry.ts} +25 -25
- package/src/@parsers/@pvtec/{pvtec.extract.ts → VTECExtract.ts} +48 -48
- package/src/@parsers/@text/{text.getDescriptionFromProduct.ts → GetDescriptionFromProduct.ts} +59 -52
- package/src/@parsers/@text/{text.getEmbedText.ts → GetEmbededText.ts} +55 -55
- package/src/@parsers/@text/{text.getPolygonFromProduct.ts → GetPolygonFromProduct.ts} +52 -52
- package/src/@parsers/@text/{text.getStringText.ts → GetStringText.ts} +57 -53
- package/src/@parsers/@text/{text.getTextFromProduct.ts → GetTextFromProduct.ts} +42 -42
- package/src/@parsers/@text/{text.getXML.ts → GetXML.ts} +60 -60
- package/src/@parsers/@ugc/{ugc.getCache.ts → GetCache.ts} +23 -23
- package/src/@parsers/@ugc/{ugc.expiry.ts → GetExpiry.ts} +31 -31
- package/src/@parsers/@ugc/{ugc.locations.ts → GetLocations.ts} +56 -56
- package/src/@parsers/@ugc/{ugc.header.ts → GetUGCHeader.ts} +29 -29
- package/src/@parsers/@ugc/{ugc.coordinates.ts → GetZonePolygon.ts} +110 -110
- package/src/@parsers/@ugc/{ugc.zones.ts → GetZones.ts} +51 -51
- package/src/@parsers/@ugc/{ugc.setCache.ts → SetCache.ts} +27 -27
- package/src/@parsers/@ugc/{ugc.extract.ts → UGCExtract.ts} +36 -36
- package/src/@types/{type.listener.ts → Actions.ts} +37 -38
- package/src/@types/{type.attributes.ts → Attributes.ts} +28 -28
- package/src/@types/{type.event.ts → Event.ts} +69 -69
- package/src/@types/{type.hvtec.ts → HVTEC.ts} +25 -25
- package/src/@types/{type.hash.ts → Hash.ts} +24 -24
- package/src/@types/{type.properties.ts → Properties.ts} +77 -77
- package/src/@types/{type.settings.ts → Settings.ts} +99 -93
- package/src/@types/{type.stanza.ts → Stanza.ts} +37 -37
- package/src/@types/{type.compiled.ts → StanzaCompiled.ts} +35 -34
- package/src/@types/{type.ugc.ts → UGC.ts} +24 -24
- package/src/@types/{type.pvtec.ts → VTEC.ts} +30 -30
- package/src/bootstrap.ts +128 -124
- package/src/index.ts +74 -74
- package/tsconfig.json +13 -13
- package/tsup.config.ts +15 -15
- package/.github/README.md +0 -384
- package/src/@dictionaries/dictionaries.awips.ts +0 -364
- package/src/@dictionaries/dictionaries.tags.ts +0 -93
- package/src/@manager/manager.mkEvent.ts +0 -98
- package/src/@manager/manager.rmEvent.ts +0 -59
- package/src/@manager/manager.updateListener.ts +0 -177
- package/testing/init.js +0 -91
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "Feature",
|
|
3
|
+
"geometry": {
|
|
4
|
+
"type": "Polygon",
|
|
5
|
+
"coordinates": [
|
|
6
|
+
[
|
|
7
|
+
[
|
|
8
|
+
-69.65,
|
|
9
|
+
45.87
|
|
10
|
+
],
|
|
11
|
+
[
|
|
12
|
+
-69.68,
|
|
13
|
+
45.85
|
|
14
|
+
],
|
|
15
|
+
[
|
|
16
|
+
-69.71,
|
|
17
|
+
45.88
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
-69.72,
|
|
21
|
+
45.87
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
-69.7,
|
|
25
|
+
45.84
|
|
26
|
+
],
|
|
27
|
+
[
|
|
28
|
+
-69.72,
|
|
29
|
+
45.76
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
-69.76,
|
|
33
|
+
45.76
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
-69.78,
|
|
37
|
+
45.77
|
|
38
|
+
],
|
|
39
|
+
[
|
|
40
|
+
-69.81,
|
|
41
|
+
45.74
|
|
42
|
+
],
|
|
43
|
+
[
|
|
44
|
+
-69.74,
|
|
45
|
+
45.66
|
|
46
|
+
],
|
|
47
|
+
[
|
|
48
|
+
-69.7,
|
|
49
|
+
45.65
|
|
50
|
+
],
|
|
51
|
+
[
|
|
52
|
+
-69.71,
|
|
53
|
+
45.58
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
-69.78,
|
|
57
|
+
45.53
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
-69.7,
|
|
61
|
+
45.3
|
|
62
|
+
],
|
|
63
|
+
[
|
|
64
|
+
-70.54,
|
|
65
|
+
45.67
|
|
66
|
+
],
|
|
67
|
+
[
|
|
68
|
+
-70.38,
|
|
69
|
+
45.73
|
|
70
|
+
],
|
|
71
|
+
[
|
|
72
|
+
-70.42,
|
|
73
|
+
45.8
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
-70.26,
|
|
77
|
+
45.89
|
|
78
|
+
],
|
|
79
|
+
[
|
|
80
|
+
-70.26,
|
|
81
|
+
45.96
|
|
82
|
+
],
|
|
83
|
+
[
|
|
84
|
+
-69.68,
|
|
85
|
+
45.98
|
|
86
|
+
],
|
|
87
|
+
[
|
|
88
|
+
-69.65,
|
|
89
|
+
45.87
|
|
90
|
+
]
|
|
91
|
+
]
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"properties": {
|
|
95
|
+
"event": "Considerable Severe Thunderstorm Warning",
|
|
96
|
+
"parent": "Severe Thunderstorm Warning",
|
|
97
|
+
"status": "Expired",
|
|
98
|
+
"issued": "2026-07-14T16:51:00.000Z",
|
|
99
|
+
"expires": "2026-07-14T17:45:00.012Z",
|
|
100
|
+
"locations": "Somerset, ME",
|
|
101
|
+
"locations_array": [
|
|
102
|
+
"Somerset, ME"
|
|
103
|
+
],
|
|
104
|
+
"description": "Considerable Severe Thunderstorm Warning has been allowed to expire. This product is no longer in effect.",
|
|
105
|
+
"attributes": {
|
|
106
|
+
"xmlns": "nwws-oi",
|
|
107
|
+
"id": "nwws_processor.6830",
|
|
108
|
+
"issue": "2026-07-14T16:51:00Z",
|
|
109
|
+
"ttaaii": "WUUS51",
|
|
110
|
+
"cccc": "KGYX",
|
|
111
|
+
"awipsid": "SVRGYX"
|
|
112
|
+
},
|
|
113
|
+
"geocode": {
|
|
114
|
+
"office": {
|
|
115
|
+
"office": "KGYX",
|
|
116
|
+
"name": "Portland, ME"
|
|
117
|
+
},
|
|
118
|
+
"organization": "WUUS51 KGYX 141651",
|
|
119
|
+
"ugc": [
|
|
120
|
+
"MEC025"
|
|
121
|
+
],
|
|
122
|
+
"polygon": "W1tbLTY5LjY1LDQ1Ljg3XSxbLTY5LjY4LDQ1Ljg1XSxbLTY5LjcxLDQ1Ljg4XSxbLTY5LjcyLDQ1Ljg3XSxbLTY5LjcsNDUuODRdLFstNjkuNzIsNDUuNzZdLFstNjkuNzYsNDUuNzZdLFstNjkuNzgsNDUuNzddLFstNjkuODEsNDUuNzRdLFstNjkuNzQsNDUuNjZdLFstNjkuNyw0NS42NV0sWy02OS43MSw0NS41OF0sWy02OS43OCw0NS41M10sWy02OS43LDQ1LjNdLFstNzAuNTQsNDUuNjddLFstNzAuMzgsNDUuNzNdLFstNzAuNDIsNDUuOF0sWy03MC4yNiw0NS44OV0sWy03MC4yNiw0NS45Nl0sWy02OS42OCw0NS45OF0sWy02OS42NSw0NS44N11dXQ==",
|
|
123
|
+
"polygon_generated": true
|
|
124
|
+
},
|
|
125
|
+
"parameters": {
|
|
126
|
+
"tags": [
|
|
127
|
+
"Radar Indicated",
|
|
128
|
+
"Nickel Size Hail"
|
|
129
|
+
],
|
|
130
|
+
"instructions": "MOVE TO AN INTERIOR ROOM ON THE LOWEST FLOOR OF A...",
|
|
131
|
+
"source": "RADAR INDICATED",
|
|
132
|
+
"hazards": "70 MPH WIND GUSTS AND NICKEL SIZE HAIL",
|
|
133
|
+
"impacts": "EXPECT CONSIDERABLE TREE DAMAGE DAMAGE IS LIKELY TO",
|
|
134
|
+
"estimated_hail_size": "0.88 (Nickel)",
|
|
135
|
+
"estimated_wind_gusts": "70 MPH",
|
|
136
|
+
"damage_threat": "CONSIDERABLE",
|
|
137
|
+
"wind_threat": "RADAR INDICATED",
|
|
138
|
+
"hail_threat": "RADAR INDICATED"
|
|
139
|
+
},
|
|
140
|
+
"discussion_parameters": {},
|
|
141
|
+
"watch_parameters": {
|
|
142
|
+
"watch_number": false
|
|
143
|
+
},
|
|
144
|
+
"metadata": {
|
|
145
|
+
"ms": 13.219468999654055,
|
|
146
|
+
"source": "events.vtec",
|
|
147
|
+
"tracking": "KGYX.SV.W.0034",
|
|
148
|
+
"header": "ZCZC-ATMOSX-SVR-MEC025-Issued-20260714T165133-KGYX",
|
|
149
|
+
"vtec": {
|
|
150
|
+
"vtec": "O.NEW.KGYX.SV.W.0034.260714T1651Z-260714T1745Z",
|
|
151
|
+
"product": "Operational Product",
|
|
152
|
+
"tracking": "KGYX.SV.W.0034",
|
|
153
|
+
"event": "Severe Thunderstorm Warning",
|
|
154
|
+
"status": "Issued",
|
|
155
|
+
"organization": "WUUS51 KGYX 141651",
|
|
156
|
+
"expires": "2026-07-14T13:45:00.000-04:00",
|
|
157
|
+
"is_watch": false,
|
|
158
|
+
"prediction_center": false
|
|
159
|
+
},
|
|
160
|
+
"raw": "Considerable Severe Thunderstorm Warning has been allowed to expire. This product is no longer in effect.",
|
|
161
|
+
"history": [
|
|
162
|
+
{
|
|
163
|
+
"description": "The National Weather Service in Gray Maine has issued a\n\n\n\n* Severe Thunderstorm Warning for...\n\n Northwestern Somerset County in west central Maine...\n\n\n\n* Until 145 PM EDT.\n\n\n\n* At 1250 PM EDT, a severe thunderstorm was located 29 miles north of\n\n Jackman, moving southeast at 60 mph.\n\n\n\n HAZARD...70 mph wind gusts and nickel size hail.\n\n\n\n SOURCE...Radar indicated.\n\n\n\n IMPACT...Expect considerable tree damage. Damage is likely to \n\n mobile homes, roofs, and outbuildings.\n\n\n\n* Locations impacted include...\n\n Jackman, Seboomook, Misery Gore, Sandwich Academy Grant, Moose\n\n River, Long Pond, Parlin Pond, Forsyth, Tomhegan, Dennistown\n\n Plantation, Chase Stream, Rockwood Strip, Soldiertown, Sandy Bay,\n\n Johnson Mountain, Plymouth, Taunton And Raynham Academy Grant,\n\n Pittston Academy Grant, Brassua, and Sapling.\n\n\n\nPRECAUTIONARY/PREPAREDNESS ACTIONS...\n\n\n\nFor your protection move to an interior room on the lowest floor of a\n\nbuilding.\n\n\n\nIf on or near Moosehead Lake, get away from the water and move \n\nindoors or inside a vehicle. Remember, lightning can strike out to \n\n15 miles from the parent thunderstorm. If you can hear thunder, you \n\nare close enough to be struck by lightning. Move to safe shelter \n\nnow! Do not be caught on the water in a thunderstorm.",
|
|
164
|
+
"issued": "2026-07-14T16:51:00.000Z",
|
|
165
|
+
"status": "Issued"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"description": "Considerable Severe Thunderstorm Warning has been allowed to expire. This product is no longer in effect.",
|
|
169
|
+
"issued": "2026-07-14T17:45:00.012Z",
|
|
170
|
+
"status": "Expired"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"attachments": [
|
|
174
|
+
{
|
|
175
|
+
"name": "Public Safety: Anson and Madison Fire",
|
|
176
|
+
"link": "https://www.broadcastify.com/listen/feed/47168"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "Public Safety: Anson/Madison/Starks Ambulance",
|
|
180
|
+
"link": "https://www.broadcastify.com/listen/feed/47335"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "Public Safety: Kennebec, Somerset, and Waldo County Fire Departments",
|
|
184
|
+
"link": "https://www.broadcastify.com/listen/feed/41643"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"name": "Public Safety: Somerset County Fire",
|
|
188
|
+
"link": "https://www.broadcastify.com/listen/feed/25011"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"hash": "0d3f2b404c2ea964712416139e1867534fc63f1343ea84a0be91760918d9bf33",
|
|
192
|
+
"nodes": [],
|
|
193
|
+
"filtered_proximity": false,
|
|
194
|
+
"updated": 1784051098011
|
|
195
|
+
},
|
|
196
|
+
"status_metadata": {
|
|
197
|
+
"is_issued": true,
|
|
198
|
+
"is_test": false,
|
|
199
|
+
"is_updated": false,
|
|
200
|
+
"is_expired": true,
|
|
201
|
+
"is_statement": false
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
449
|
|
2
|
+
|
|
3
|
+
WUUS51 KGYX 141651
|
|
4
|
+
|
|
5
|
+
SVRGYX
|
|
6
|
+
|
|
7
|
+
MEC025-141745-
|
|
8
|
+
|
|
9
|
+
/O.NEW.KGYX.SV.W.0034.260714T1651Z-260714T1745Z/
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
BULLETIN - IMMEDIATE BROADCAST REQUESTED
|
|
14
|
+
|
|
15
|
+
Severe Thunderstorm Warning
|
|
16
|
+
|
|
17
|
+
National Weather Service Gray ME
|
|
18
|
+
|
|
19
|
+
1251 PM EDT Tue Jul 14 2026
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
The National Weather Service in Gray Maine has issued a
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
* Severe Thunderstorm Warning for...
|
|
28
|
+
|
|
29
|
+
Northwestern Somerset County in west central Maine...
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
* Until 145 PM EDT.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
* At 1250 PM EDT, a severe thunderstorm was located 29 miles north of
|
|
38
|
+
|
|
39
|
+
Jackman, moving southeast at 60 mph.
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
HAZARD...70 mph wind gusts and nickel size hail.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
SOURCE...Radar indicated.
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
IMPACT...Expect considerable tree damage. Damage is likely to
|
|
52
|
+
|
|
53
|
+
mobile homes, roofs, and outbuildings.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
* Locations impacted include...
|
|
58
|
+
|
|
59
|
+
Jackman, Seboomook, Misery Gore, Sandwich Academy Grant, Moose
|
|
60
|
+
|
|
61
|
+
River, Long Pond, Parlin Pond, Forsyth, Tomhegan, Dennistown
|
|
62
|
+
|
|
63
|
+
Plantation, Chase Stream, Rockwood Strip, Soldiertown, Sandy Bay,
|
|
64
|
+
|
|
65
|
+
Johnson Mountain, Plymouth, Taunton And Raynham Academy Grant,
|
|
66
|
+
|
|
67
|
+
Pittston Academy Grant, Brassua, and Sapling.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
PRECAUTIONARY/PREPAREDNESS ACTIONS...
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
For your protection move to an interior room on the lowest floor of a
|
|
76
|
+
|
|
77
|
+
building.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
If on or near Moosehead Lake, get away from the water and move
|
|
82
|
+
|
|
83
|
+
indoors or inside a vehicle. Remember, lightning can strike out to
|
|
84
|
+
|
|
85
|
+
15 miles from the parent thunderstorm. If you can hear thunder, you
|
|
86
|
+
|
|
87
|
+
are close enough to be struck by lightning. Move to safe shelter
|
|
88
|
+
|
|
89
|
+
now! Do not be caught on the water in a thunderstorm.
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
&&
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
LAT...LON 4587 6965 4585 6968 4588 6971 4587 6972
|
|
98
|
+
|
|
99
|
+
4584 6970 4576 6972 4576 6976 4577 6978
|
|
100
|
+
|
|
101
|
+
4574 6981 4566 6974 4565 6970 4558 6971
|
|
102
|
+
|
|
103
|
+
4553 6978 4530 6970 4567 7054 4573 7038
|
|
104
|
+
|
|
105
|
+
4580 7042 4589 7026 4596 7026 4598 6968
|
|
106
|
+
|
|
107
|
+
TIME...MOT...LOC 1650Z 313DEG 52KT 4600 7042
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
THUNDERSTORM DAMAGE THREAT...CONSIDERABLE
|
|
112
|
+
|
|
113
|
+
HAIL THREAT...RADAR INDICATED
|
|
114
|
+
|
|
115
|
+
MAX HAIL SIZE...0.88 IN
|
|
116
|
+
|
|
117
|
+
WIND THREAT...RADAR INDICATED
|
|
118
|
+
|
|
119
|
+
MAX WIND GUST...70 MPH
|
package/.vscode/settings.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{
|
|
2
|
-
"js/ts.tsdk.path": "node_modules\\typescript\\lib",
|
|
3
|
-
"js/ts.tsdk.promptToUseWorkspaceVersion": true
|
|
1
|
+
{
|
|
2
|
+
"js/ts.tsdk.path": "node_modules\\typescript\\lib",
|
|
3
|
+
"js/ts.tsdk.promptToUseWorkspaceVersion": true
|
|
4
4
|
}
|
package/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://atmosphericx.scriptkitty.cafe">
|
|
3
|
+
<img src=".github/logo.png" alt="@atmosx/event-product-parser" width="800"/>
|
|
4
|
+
</a>
|
|
5
|
+
<br>
|
|
6
|
+
<p>A TypeScript/JavaScript library for parsing and ingesting NOAA and NWS Weather Text Products</p>
|
|
7
|
+
<small>A project built and maintained with ❤️ by the AtmosphericX team</small>
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://atmosphericx.scriptkitty.cafe"><b>Documentation</b></a> |
|
|
10
|
+
<a href="https://github.com/AtmosphericX"><b>Repositories</b></a> |
|
|
11
|
+
<a href="https://www.npmjs.com/search?q=%40atmosx"><b>NPM Packages</b></a> |
|
|
12
|
+
<a href="https://atmosphericx-discord.scriptkitty.cafe"><b>Community Discord</b></a>
|
|
13
|
+
</p>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
## Table of Contents
|
|
17
|
+
1. [Introduction](#introduction)
|
|
18
|
+
2. [Installation](#installation)
|
|
19
|
+
3. [Sources](/.github/docs/docs-source-configuration.md)
|
|
20
|
+
- 3.1 [NOAA Weather Wire Service](/.github/docs/docs-source-configuration.md#31---noaa-weather-wire-service)
|
|
21
|
+
- 3.2 [National Weather Service API](/.github/docs/docs-source-configuration.md#32---national-weather-service-api)
|
|
22
|
+
- 3.3 [NOAA Weather Wire Service vs NWS RESTful API](/.github/docs/docs-source-configuration.md#33---noaa-weather-wire-service-vs-nws-restful-api)
|
|
23
|
+
- 3.4 [GeoJSON & WMO Formatting](/.github/docs/docs-source-configuration.md#34-geojson---wmo-formatting)
|
|
24
|
+
- 3.4.1 [GeoJSON](/.github/docs/docs-source-configuration.md#341---geojson)
|
|
25
|
+
- 3.4.2 [WMO Format](/.github/docs/docs-source-configuration.md#342---wmo-format)
|
|
26
|
+
- 3.5 [Configuring NOAA Weather Wire Service](/.github/docs/docs-source-configuration.md#35---configuring-noaa-weather-wire-service)
|
|
27
|
+
- 3.5.1 [Auto Reconnecting](/.github/docs/docs-source-configuration.md#351---auto-reconnecting)
|
|
28
|
+
- 3.5.2 [Stanza Caching](/.github/docs/docs-source-configuration.md#352---stanza-caching)
|
|
29
|
+
- 3.5.3 [Stanza Processing Settings](/.github/docs/docs-source-configuration.md#353---stanza-processing-settings)
|
|
30
|
+
- 3.6 [Configuring National Weather Service API](/.github/docs/docs-source-configuration.md#36---configuring-national-weather-service-api)
|
|
31
|
+
4. [General Configurations](docs/docs-general-configurations.md)
|
|
32
|
+
- 4.1 [Event Management & History](/.github/docs/docs-general-configurations.md#41---event-management---history)
|
|
33
|
+
- 4.2 [Geometry Configurations](/.github/docs/docs-general-configurations.md#42---geometry-configurations)
|
|
34
|
+
- 4.2.1 [Disable Geometry Processing](/.github/docs/docs-general-configurations.md#421---disable-geometry-processing)
|
|
35
|
+
- 4.2.2 [Force Shapefile Coordinates](/.github/docs/docs-general-configurations.md#422---force-shapefile-coordinates)
|
|
36
|
+
- 4.2.3 [Shapefile Skip Points](/.github/docs/docs-general-configurations.md#423---shapefile-skip-points)
|
|
37
|
+
- 4.3 [Tracking Node Settings](/.github/docs/docs-general-configurations.md#43---tracking-node-settings)
|
|
38
|
+
- 4.3.1 [NodeTTL](/.github/docs/docs-general-configurations.md#431---nodettl)
|
|
39
|
+
- 4.3.2 [Max Distance](/.github/docs/docs-general-configurations.md#432---max-distance)
|
|
40
|
+
- 4.3.3 [Tracking Node Properties](/.github/docs/docs-general-configurations.md#433---tracking-node-properties)
|
|
41
|
+
- 4.4 [Advanced Event Filters](/.github/docs/docs-general-configurations.md#44---advanced-event-filters)
|
|
42
|
+
- 4.4.1 [Events & Wildcards](/.github/docs/docs-general-configurations.md#441---events---wildcards)
|
|
43
|
+
- 4.4.2 [ICAOs](/.github/docs/docs-general-configurations.md#442---icaos)
|
|
44
|
+
- 4.4.3 [UGC](/.github/docs/docs-general-configurations.md#443---ugc)
|
|
45
|
+
- 4.4.4 [States](/.github/docs/docs-general-configurations.md#444---states)
|
|
46
|
+
- 4.4.5 [Ignoring Filters](/.github/docs/docs-general-configurations.md#445---ignoring-filters)
|
|
47
|
+
- 4.4.6 [Node Location Filtering](/.github/docs/docs-general-configurations.md#446---node-location-filtering)
|
|
48
|
+
- 4.4.7 [Test Products](/.github/docs/docs-general-configurations.md#447---test-products)
|
|
49
|
+
- 4.5 [Archive Configurations](/.github/docs/docs-general-configurations.md#45---archive-configurations)
|
|
50
|
+
- 4.5.1 [TTL (Time-to-Live)](/.github/docs/docs-general-configurations.md#451---ttl-time-to-live)
|
|
51
|
+
- 4.5.2 [EAS Toneout](/.github/docs/docs-general-configurations.md#452---eas-toneout)
|
|
52
|
+
5. [Actions / Integrations](docs/docs-integrations.md)
|
|
53
|
+
- 5.1 [Action Events & Wildcards](docs/docs-integrations.md#51---action-events---wildcards)
|
|
54
|
+
- 5.2 [Discord Webhooks](/.github/docs/docs-integrations.md#52---discord-webhooks)
|
|
55
|
+
- 5.2.1 [Ratelimiting](/.github/docs/docs-integrations.md#521---ratelimiting)
|
|
56
|
+
- 5.3 [NTFY Push Notifications](/.github/docs/docs-integrations.md#53---ntfy-push-notifications)
|
|
57
|
+
- 5.3.1 [Server Configuration](/.github/docs/docs-integrations.md#531---server-configuration)
|
|
58
|
+
- 5.3.2 [Action Configuration](/.github/docs/docs-integrations.md#532---action-configuration)
|
|
59
|
+
- 5.4 [Broadcastify Feed Attachments](/.github/docs/docs-integrations.md#54---broadcastify-feed-attachments)
|
|
60
|
+
- 5.4.1 [Tag Filtering](/.github/docs/docs-integrations.md#541---tag-filtering)
|
|
61
|
+
- 5.5 [Mock EAS Generator](/.github/docs/docs-integrations.md#55---mock-eas-generator)
|
|
62
|
+
- 5.5.1 [Linux Prerequisites](/.github/docs/docs-integrations.md#551---linux-prerequisites)
|
|
63
|
+
- 5.5.2 [Limitations](/.github/docs/docs-integrations.md#552---limitations)
|
|
64
|
+
- 5.6 [Event Archiving](/.github/docs/docs-integrations.md#56---event-archiving)
|
|
65
|
+
- 5.6.1 [Raw Text Product Archiving](/.github/docs/docs-integrations.md#561---raw-text-product-archiving)
|
|
66
|
+
- 5.6.2 [GeoJSON Archiving](/.github/docs/docs-integrations.md#562---geojson-archiving)
|
|
67
|
+
6. [Listeners](/.github/docs/docs-listeners.md)
|
|
68
|
+
- 6.1 [XMPP / NWS Status](/.github/docs/docs-listeners.md#61---xmpp---nws-status)
|
|
69
|
+
- 6.2 [Test Products](/.github/docs/docs-listeners.md#62---test-products)
|
|
70
|
+
- 6.3 [Expired Products](/.github/docs/docs-listeners.md#63---expired-products)
|
|
71
|
+
- 6.4 [Specific Product Types](/.github/docs/docs-listeners.md#64---specific-product-types)
|
|
72
|
+
- 6.5 [Filtered Products](/.github/docs/docs-listeners.md#65---filtered-products)
|
|
73
|
+
- 6.6 [Cache Updates](/.github/docs/docs-listeners.md#66---cache-updates)
|
|
74
|
+
- 6.7 [Tracking Node Updates](/.github/docs/docs-listeners.md#67---tracking-node-updates)
|
|
75
|
+
- 6.8 [Storm Prediction Center Products](/.github/docs/docs-listeners.md#68---storm-prediction-center-products)
|
|
76
|
+
- 6.9 [Debugging](/.github/docs/docs-listeners.md#69---debugging)
|
|
77
|
+
- 6.10 [Logs / Journal](/.github/docs/docs-listeners.md#610---logs---journal)
|
|
78
|
+
- 6.11 [Wildcard](/.github/docs/docs-listeners.md#611---wildcard)
|
|
79
|
+
7. [Functions](/.github/docs/docs-functions.md)
|
|
80
|
+
- 7.1 [Dynamic Configuration Setter](/.github/docs/docs-functions.md#71---dynamic-configuration-setter)
|
|
81
|
+
- 7.2 [Event Geometry Getter](/.github/docs/docs-functions.md#72---event-geometry-getter)
|
|
82
|
+
- 7.3 [Random Event Getter](/.github/docs/docs-functions.md#73---random-event-getter)
|
|
83
|
+
- 7.4 [Package Information Getter](/.github/docs/docs-functions.md#74---package-information-getter)
|
|
84
|
+
- 7.5 [Cleaned Event Getter](/.github/docs/docs-functions.md#75---cleaned-event-getter)
|
|
85
|
+
- 7.6 [Management Functions](/.github/docs/docs-functions.md#76---management-functions)
|
|
86
|
+
- 7.7 [Creating & Configuring Tracking Nodes](/.github/docs/docs-functions.md#77---creating---configuring-tracking-nodes)
|
|
87
|
+
- 7.8 [Event Cache Getter](/.github/docs/docs-functions.md#78---event-cache-getter)
|
|
88
|
+
- 7.9 [Tracking Node Cache Getter](/.github/docs/docs-functions.md#79---tracking-node-cache-getter)
|
|
89
|
+
- 7.10 [Creating Manual WMO Events](/.github/docs/docs-functions.md#710---creating-manual-wmo-events)
|
|
90
|
+
- 7.11 [Database Queries](/.github/docs/docs-functions.md#711---database-queries)
|
|
91
|
+
- 7.11.1 [Stanza Query](/.github/docs/docs-functions.md#7111---stanza-query)
|
|
92
|
+
- 7.12 [Manual Mock EAS Generator](/.github/docs/docs-functions.md#712---manual-mock-eas-generator)
|
|
93
|
+
8. [Technical Parser Documentation](/.github/docs/docs-technical.md)
|
|
94
|
+
- 8.1 [Workflow & Pipeline](/.github/docs/docs-technical.md#81---workflow---pipeline)
|
|
95
|
+
- 8.2 [Core Parsing Logic](/.github/docs/docs-technical.md#82---core-parsing-logic)
|
|
96
|
+
- 8.2.1 [VTEC](/.github/docs/docs-technical.md#821---vtec)
|
|
97
|
+
- 8.2.1.1 [Product Dictionary](/.github/docs/docs-technical.md#8211---product-dictionary)
|
|
98
|
+
- 8.2.1.2 [Tracking](/.github/docs/docs-technical.md#8212---tracking)
|
|
99
|
+
- 8.2.1.3 [Event Dictionary](/.github/docs/docs-technical.md#8213---event-dictionary)
|
|
100
|
+
- 8.2.1.4 [Status Dictionary](/.github/docs/docs-technical.md#8214---status-dictionary)
|
|
101
|
+
- 8.2.1.5 [Organization Sender](/.github/docs/docs-technical.md#8215---organization-sender)
|
|
102
|
+
- 8.2.1.6 [Expiry Parsing](/.github/docs/docs-technical.md#8216---expiry-parsing)
|
|
103
|
+
- 8.2.1.7 [Watch Parsing](/.github/docs/docs-technical.md#8217---watch-parsing)
|
|
104
|
+
- 8.2.1.8 [KWNS / SPC](/.github/docs/docs-technical.md#8218---kwns)
|
|
105
|
+
- 8.2.2 [UGC](/.github/docs/docs-technical.md#822---ugc)
|
|
106
|
+
- 8.2.2.1 [Extracting Headers](/.github/docs/docs-technical.md#8221---extracting-headers)
|
|
107
|
+
- 8.2.2.2 [Getting Zones](/.github/docs/docs-technical.md#8222---getting-zones)
|
|
108
|
+
- 8.2.2.3 [Extracting Expiry](/.github/docs/docs-technical.md#8223-extracting-expiry)
|
|
109
|
+
- 8.2.2.4 [UGC to Zones](/.github/docs/docs-technical.md#8224-ugc-to-zones)
|
|
110
|
+
- 8.2.3 [HVTEC](/.github/docs/docs-technical.md#823---hvtec)
|
|
111
|
+
- 8.2.3.1 [Flood Severity](/.github/docs/docs-technical.md#8231---flood-severity)
|
|
112
|
+
- 8.2.3.2 [Flood Causes](/.github/docs/docs-technical.md#8232---flood-causes)
|
|
113
|
+
- 8.2.3.3 [Flood Records](/.github/docs/docs-technical.md#8233---flood-records)
|
|
114
|
+
- 8.2.4 [Raw Text](/.github/docs/docs-technical.md#824---raw-text)
|
|
115
|
+
- 8.2.4.1 [Extracting Descriptions](/.github/docs/docs-technical.md#8241---extracting-descriptions)
|
|
116
|
+
- 8.2.4.2 [Extracting Coordinates](/.github/docs/docs-technical.md#8242---extracting-coordinates)
|
|
117
|
+
- 8.2.4.3 [Extracting String Specifics](/.github/docs/docs-technical.md#8243---extracting-string-specifics)
|
|
118
|
+
- 8.2.4.4 [Extracting XML](/.github/docs/docs-technical.md#8244---extracting-xml)
|
|
119
|
+
- 8.2.5 [Building Properties](/.github/docs/docs-technical.md#825---building-properties)
|
|
120
|
+
- 8.2.6 [Building Geometry](/.github/docs/docs-technical.md#826---building-geometry)
|
|
121
|
+
- 8.3 [Event Validation & Filtering](/.github/docs/docs-technical.md#83---event-validation---filtering)
|
|
122
|
+
- 8.3.1 [Enhanced Event Naming](/.github/docs/docs-technical.md#831---enhanced-event-naming)
|
|
123
|
+
- 8.3.2 [Appending Attachments](/.github/docs/docs-technical.md#832---appending-attachments)
|
|
124
|
+
- 8.3.3 [Generating Hashes](/.github/docs/docs-technical.md#833---generating-hashes)
|
|
125
|
+
- 8.4 [Event & History Management](/.github/docs/docs-technical.md#84---event---history-management)
|
|
126
|
+
- 8.5 [Action Workflow](/.github/docs/docs-technical.md#85---action-workflow)
|
|
127
|
+
9. [Workers & Performance](/.github/docs/docs-technical.md#9---workers---performance)
|
|
128
|
+
- 9.1 [Setting up Workers](/.github/docs/docs-technical.md#91---setting-up-workers)
|
|
129
|
+
- 9.2 [IO/CPU Issues](/.github/docs/docs-technical.md#92---iocpu-issues)
|
|
130
|
+
- 9.3 [Recommended Hardware Specifications](/.github/docs/docs-technical.md#93---recommended-hardware-specifications)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
## Introduction
|
|
135
|
+
|
|
136
|
+
Formerly known as `atmosx-nwws-parser`, **`@atmosx/event-product-parser`** is an open-source [TypeScript](https://www.typescriptlang.org/)/[JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) library for ingesting, parsing, caching, and distributing [NOAA](https://www.noaa.gov/) and [NWS](https://www.weather.gov/) weather text products. The library handles event processing within [AtmosphericX](https://atmosxphericx.scriptkitty.cafe), providing a lightweight and extensible foundation for working with [GeoJSON](https://geojson.org/) and [WMO](https://www.wmo.int/) data. Built with simplicity and flexibility in mind, it is easy to integrate, straightforward to extend, and suitable for both standalone applications and larger services.
|
|
137
|
+
|
|
138
|
+
With support for the [NOAA Weather Wire Service Open Interface](https://www.weather.gov/nwws/) and the [National Weather Service API](https://www.weather.gov/documentation/services-web-api), the library enables reliable access to a wide range of operational weather products while providing a consistent interface for downstream processing and distribution.
|
|
139
|
+
|
|
140
|
+
Beyond core product processing, the library provides support for integrating [Storm Prediction Center](https://www.spc.noaa.gov) graphics, [Broadcastify](https://www.broadcastify.com) feeds, [NTFY](https://ntfy.sh) and [Discord Webhook](https://discord.com/developers/docs/resources/webhook) push notifications, as well as automated emergency audio generation.
|
|
141
|
+
|
|
142
|
+
**Note:** *This package is designed specifically for NOAA/NWS weather products and currently supports weather data originating from the United States and its territories.*
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
## Installation
|
|
146
|
+
**NPM**:
|
|
147
|
+
```bash
|
|
148
|
+
$ npm install @atmosx/event-product-parser
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**PNPM**:
|
|
152
|
+
```bash
|
|
153
|
+
$ pnpm install @atmosx/event-product-parser
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
After installation, import the package using `import` or `require`:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
import { Manager } from "@atmosx/event-product-parser"
|
|
160
|
+
const client = new Manager({})
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Using `require`:
|
|
164
|
+
```js
|
|
165
|
+
const { Manager } = require("@atmosx/event-product-parser")
|
|
166
|
+
const client = new Manager({})
|
|
167
|
+
```
|