@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.
Files changed (156) hide show
  1. package/.github/CODE_OF_CONDUCT.md +9 -9
  2. package/.github/CONTRIBUTING.md +29 -29
  3. package/.github/LICENSE +17 -17
  4. package/.github/SECURITY.md +20 -20
  5. package/.github/SUPPORTED_EVENTS.md +369 -369
  6. package/.github/docs/docs-functions.md +30 -0
  7. package/.github/docs/docs-general-configurations.md +209 -0
  8. package/.github/docs/docs-integrations.md +37 -0
  9. package/.github/docs/docs-listeners.md +28 -0
  10. package/.github/docs/docs-source-configuration.md +218 -0
  11. package/.github/docs/docs-technical.md +50 -0
  12. package/.github/logo.png +0 -0
  13. package/.github/samples/SAMPLE_EAS_GENERATION.wav +0 -0
  14. package/.github/samples/SAMPLE_GEOJSON.json +204 -0
  15. package/.github/samples/SAMPLE_TEXT_PRODUCT.txt +119 -0
  16. package/.vscode/settings.json +3 -3
  17. package/README.md +167 -0
  18. package/dist/cjs/index.cjs +1475 -1294
  19. package/dist/esm/index.mjs +1456 -1275
  20. package/package.json +47 -52
  21. package/src/@building/{building.create.ts → CreateEvent.ts} +55 -55
  22. package/src/@building/{building.clean.ts → GetCleanedEvent.ts} +29 -29
  23. package/src/@building/{building.attachments.ts → GetEventAttachments.ts} +85 -82
  24. package/src/@building/{building.enhance.ts → GetEventEnhancedName.ts} +54 -59
  25. package/src/@building/{building.geometry.ts → GetEventGeometry.ts} +47 -47
  26. package/src/@building/{building.headers.ts → GetEventHeader.ts} +36 -36
  27. package/src/@building/{building.polygon.ts → GetEventNodes.ts} +72 -69
  28. package/src/@building/{building.office.ts → GetEventOffice.ts} +42 -42
  29. package/src/@building/{building.properties.ts → GetEventProperties.ts} +95 -95
  30. package/src/@building/{building.signature.ts → GetEventSignature.ts} +60 -60
  31. package/src/@building/{building.tags.ts → GetEventTags.ts} +29 -24
  32. package/src/@building/{building.tracking.ts → GetEventTracking.ts} +67 -67
  33. package/src/@core/{core.clearEvents.ts → ClearEvents.ts} +30 -30
  34. package/src/@core/{core.createListener.ts → CreateListener.ts} +23 -23
  35. package/src/@core/{core.getEvents.ts → GetEvents.ts} +23 -23
  36. package/src/@core/{core.getNodes.ts → GetNodes.ts} +23 -23
  37. package/src/@core/{core.getRandomEvent.ts → GetRandomEvent.ts} +23 -23
  38. package/src/@core/{core.getVersion.ts → GetVersion.ts} +23 -23
  39. package/src/@core/{core.manualEvent.ts → ManualEvent.ts} +56 -38
  40. package/src/@core/{core.query.ts → QueryStanza.ts} +38 -38
  41. package/src/@core/{core.setNode.ts → SetNode.ts} +80 -80
  42. package/src/@core/{core.start.ts → StartService.ts} +60 -60
  43. package/src/@core/{core.stop.ts → StopService.ts} +31 -31
  44. package/src/@enums/AWIPS.ts +366 -0
  45. package/src/{@dictionaries/dictionaries.actions.ts → @enums/Actions.ts} +27 -27
  46. package/src/{@dictionaries/dictionaries.cancellation.ts → @enums/Cancellation.ts} +30 -30
  47. package/src/{@dictionaries/dictionaries.causes.ts → @enums/Causes.ts} +35 -35
  48. package/src/{@dictionaries/dictionaries.correlations.ts → @enums/Correlations.ts} +42 -42
  49. package/src/{@dictionaries/dictionaries.enhanced.ts → @enums/Enhanced.ts} +69 -66
  50. package/src/{@dictionaries/dictionaries.events.ts → @enums/Events.ts} +82 -82
  51. package/src/{@dictionaries/dictionaries.expressions.ts → @enums/Expressions.ts} +28 -28
  52. package/src/@enums/GlobalFilter.ts +24 -0
  53. package/src/{@dictionaries/dictionaries.hail.ts → @enums/Hail.ts} +37 -35
  54. package/src/{@dictionaries/dictionaries.icao.ts → @enums/ICAO.ts} +258 -258
  55. package/src/{@dictionaries/dictionaries.matches.ts → @enums/Matches.ts} +54 -54
  56. package/src/{@dictionaries/dictionaries.products.ts → @enums/Products.ts} +24 -24
  57. package/src/{@dictionaries/dictionaries.records.ts → @enums/Records.ts} +25 -25
  58. package/src/{@dictionaries/dictionaries.severity.ts → @enums/Severity.ts} +27 -27
  59. package/src/{@dictionaries/dictionaries.shapefiles.ts → @enums/Shapefiles.ts} +35 -35
  60. package/src/{@dictionaries/dictionaries.states.ts → @enums/States.ts} +71 -71
  61. package/src/{@dictionaries/dictionaries.status.ts → @enums/Status.ts} +30 -30
  62. package/src/{@dictionaries/dictionaries.global.ts → @enums/Strings.ts} +22 -24
  63. package/src/@enums/Tags.ts +167 -0
  64. package/src/{@dictionaries/dictionaries.testing.ts → @enums/Testing.ts} +24 -24
  65. package/src/@events/{events.api.ts → ParseAPI.ts} +116 -116
  66. package/src/@events/{events.text.ts → ParseText.ts} +87 -84
  67. package/src/@events/{events.ugc.ts → ParseUGC.ts} +93 -89
  68. package/src/@events/{events.vtec.ts → ParseVTEC.ts} +86 -86
  69. package/src/@manager/MakeEvents.ts +106 -0
  70. package/src/@manager/RemoveEvent.ts +70 -0
  71. package/src/@manager/{manager.setHash.ts → SetHash.ts} +35 -35
  72. package/src/@manager/Tasks.ts +246 -0
  73. package/src/@manager/{manager.updateEvents.ts → UpdateEvents.ts} +34 -32
  74. package/src/@manager/{manager.updateNodes.ts → UpdateNode.ts} +61 -53
  75. package/src/{@building/building.validate.ts → @manager/ValidateEvents.ts} +141 -152
  76. package/src/@modules/@database/{database.cache.ts → GetCachedEvents.ts} +49 -49
  77. package/src/@modules/@database/{database.broadcastify.ts → ImportBroadcastify.ts} +69 -66
  78. package/src/@modules/@database/{database.shapefiles.ts → ImportShapefiles.ts} +92 -92
  79. package/src/@modules/@database/{database.stanza.ts → ImportStanza.ts} +46 -46
  80. package/src/@modules/@database/{database.init.ts → InitializeDatabase.ts} +58 -58
  81. package/src/@modules/@eas/{eas.setEasTone.ts → GenerateEASMessage.ts} +144 -151
  82. package/src/@modules/@eas/{eas.getCleanDescription.ts → GetCleanDescription.ts} +91 -91
  83. package/src/@modules/@eas/{eas.getFloatPCM16.ts → GetFloatPCM16.ts} +29 -29
  84. package/src/@modules/@eas/{eas.getMergedPCM16.ts → GetMergedPCM16.ts} +32 -32
  85. package/src/@modules/@eas/{eas.getPCM16.ts → GetPCM16.ts} +52 -52
  86. package/src/@modules/@eas/{eas.getPCMToFloat.ts → GetPCMToFloat.ts} +26 -26
  87. package/src/@modules/@eas/{eas.getSampledPCM16.ts → GetSampledPCM16.ts} +36 -36
  88. package/src/@modules/@eas/{eas.getTTS.ts → GetTTS.ts} +54 -54
  89. package/src/@modules/@eas/{eas.getWavPCM16.ts → GetWavPCM16.ts} +52 -52
  90. package/src/@modules/@eas/{eas.setAFSK.ts → SetAFSK.ts} +51 -51
  91. package/src/@modules/@eas/{eas.setAsciiToBits.ts → SetAsciiToBits.ts} +31 -31
  92. package/src/@modules/@eas/{eas.setAttentionTone.ts → SetAttentionTone.ts} +40 -40
  93. package/src/@modules/@eas/{eas.setNoise.ts → SetNoise.ts} +32 -32
  94. package/src/@modules/@eas/{eas.setRadioEffect.ts → SetRadioEffect.ts} +50 -50
  95. package/src/@modules/@eas/{eas.setSameHeader.ts → SetSameHeader.ts} +44 -44
  96. package/src/@modules/@stanza/{stanza.getAwipsType.ts → GetAwipsType.ts} +47 -45
  97. package/src/@modules/@stanza/{stanza.validate.ts → ValidateStanza.ts} +49 -49
  98. package/src/@modules/@utilities/{utilities.createHttp.ts → CreateHttp.ts} +83 -83
  99. package/src/@modules/@utilities/{utilities.getFormattedTime.ts → GetFormattedTime.ts} +43 -43
  100. package/src/@modules/@utilities/{utilities.getLatestIssuance.ts → GetLatestIssuance.ts} +32 -32
  101. package/src/@modules/@utilities/{utilities.getMatched.ts → GetMatched.ts} +33 -33
  102. package/src/@modules/@utilities/{utilities.getSettings.ts → GetSettings.ts} +25 -25
  103. package/src/@modules/@utilities/{utilities.getShapeNearestPoint.ts → GetShapeNearestPoint.ts} +114 -114
  104. package/src/@modules/@utilities/{utilities.setCronSchedule.ts → SetCronSchedule.ts} +94 -94
  105. package/src/@modules/@utilities/{utilities.setDebug.ts → SetDebug.ts} +37 -38
  106. package/src/@modules/@utilities/{utilities.setEventEmit.ts → SetEventEmit.ts} +41 -41
  107. package/src/@modules/@utilities/{utilities.setListener.ts → SetListener.ts} +30 -30
  108. package/src/@modules/@utilities/{utilities.setSettings.ts → SetSettings.ts} +42 -42
  109. package/src/@modules/@utilities/{utilities.setSleep.ts → SetSleep.ts} +33 -33
  110. package/src/@modules/@utilities/{utilities.setTimeoutAction.ts → SetTimeoutAction.ts} +63 -62
  111. package/src/@modules/@utilities/{utilities.setWarning.ts → SetWarning.ts} +34 -34
  112. package/src/@modules/@xmpp/{xmpp.xDeploy.ts → DeployXMPP.ts} +57 -57
  113. package/src/@modules/@xmpp/{xmpp.xError.ts → ErrorXMPP.ts} +26 -26
  114. package/src/@modules/@xmpp/{xmpp.xOffline.ts → OfflineXMPP.ts} +36 -36
  115. package/src/@modules/@xmpp/{xmpp.xOnline.ts → OnlineXMPP.ts} +45 -45
  116. package/src/@modules/@xmpp/{xmpp.xReconnect.ts → ReconnectXMPP.ts} +64 -64
  117. package/src/@modules/@xmpp/{xmpp.xStanza.ts → StanzaXMPP.ts} +62 -62
  118. package/src/@parsers/@hvtec/{hvtec.extract.ts → HVExtract.ts} +39 -39
  119. package/src/@parsers/@pvtec/{pvtec.expires.ts → GetExpiry.ts} +25 -25
  120. package/src/@parsers/@pvtec/{pvtec.extract.ts → VTECExtract.ts} +48 -48
  121. package/src/@parsers/@text/{text.getDescriptionFromProduct.ts → GetDescriptionFromProduct.ts} +59 -52
  122. package/src/@parsers/@text/{text.getEmbedText.ts → GetEmbededText.ts} +55 -55
  123. package/src/@parsers/@text/{text.getPolygonFromProduct.ts → GetPolygonFromProduct.ts} +52 -52
  124. package/src/@parsers/@text/{text.getStringText.ts → GetStringText.ts} +57 -53
  125. package/src/@parsers/@text/{text.getTextFromProduct.ts → GetTextFromProduct.ts} +42 -42
  126. package/src/@parsers/@text/{text.getXML.ts → GetXML.ts} +60 -60
  127. package/src/@parsers/@ugc/{ugc.getCache.ts → GetCache.ts} +23 -23
  128. package/src/@parsers/@ugc/{ugc.expiry.ts → GetExpiry.ts} +31 -31
  129. package/src/@parsers/@ugc/{ugc.locations.ts → GetLocations.ts} +56 -56
  130. package/src/@parsers/@ugc/{ugc.header.ts → GetUGCHeader.ts} +29 -29
  131. package/src/@parsers/@ugc/{ugc.coordinates.ts → GetZonePolygon.ts} +110 -110
  132. package/src/@parsers/@ugc/{ugc.zones.ts → GetZones.ts} +51 -51
  133. package/src/@parsers/@ugc/{ugc.setCache.ts → SetCache.ts} +27 -27
  134. package/src/@parsers/@ugc/{ugc.extract.ts → UGCExtract.ts} +36 -36
  135. package/src/@types/{type.listener.ts → Actions.ts} +37 -38
  136. package/src/@types/{type.attributes.ts → Attributes.ts} +28 -28
  137. package/src/@types/{type.event.ts → Event.ts} +69 -69
  138. package/src/@types/{type.hvtec.ts → HVTEC.ts} +25 -25
  139. package/src/@types/{type.hash.ts → Hash.ts} +24 -24
  140. package/src/@types/{type.properties.ts → Properties.ts} +77 -77
  141. package/src/@types/{type.settings.ts → Settings.ts} +99 -93
  142. package/src/@types/{type.stanza.ts → Stanza.ts} +37 -37
  143. package/src/@types/{type.compiled.ts → StanzaCompiled.ts} +35 -34
  144. package/src/@types/{type.ugc.ts → UGC.ts} +24 -24
  145. package/src/@types/{type.pvtec.ts → VTEC.ts} +30 -30
  146. package/src/bootstrap.ts +128 -124
  147. package/src/index.ts +74 -74
  148. package/tsconfig.json +13 -13
  149. package/tsup.config.ts +15 -15
  150. package/.github/README.md +0 -384
  151. package/src/@dictionaries/dictionaries.awips.ts +0 -364
  152. package/src/@dictionaries/dictionaries.tags.ts +0 -93
  153. package/src/@manager/manager.mkEvent.ts +0 -98
  154. package/src/@manager/manager.rmEvent.ts +0 -59
  155. package/src/@manager/manager.updateListener.ts +0 -177
  156. package/testing/init.js +0 -91
package/src/bootstrap.ts CHANGED
@@ -1,124 +1,128 @@
1
- /*
2
- _ _ _ __ __
3
- /\ | | | | (_) \ \ / /
4
- / \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
5
- / /\ \| __| '_ ` _ \ / _ \/ __| '_ \| '_ \ / _ \ '__| |/ __| > <
6
- / ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
7
- /_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
8
- | |
9
- |_|
10
-
11
- Created with ♥ by the AtmosphericX Team (KiyoWx, StarflightWx, & CJ Ziegler)
12
- Discord: https://atmosphericx-discord.scriptkitty.cafe
13
- Ko-Fi: https://ko-fi.com/k3yomi
14
- Documentation: http://localhost/documentation | https://atmosphericx.scriptkitty.cafe/documentation
15
-
16
- Internal Package: @atmosx/event-product-parser
17
-
18
- */
19
-
20
- import path from 'path'
21
- import { EventEmitter } from 'node:events';
22
-
23
- export const bootstrap = {
24
- version: `3.0.54`,
25
- isReady: true,
26
- ratelimits: {},
27
- session_xmpp: null,
28
- database: null,
29
- cron: null,
30
- listener: new EventEmitter(),
31
- ansi_colors: {
32
- RED: `\x1b[31m`, GREEN: `\x1b[32m`, YELLOW: `\x1b[33m`,
33
- BLUE: `\x1b[34m`, MAGENTA: `\x1b[35m`, CYAN: `\x1b[36m`,
34
- WHITE: `\x1b[37m`, RESET: `\x1b[0m`
35
- },
36
- cache: {
37
- lastStanza: null,
38
- isConnected: false,
39
- isReconnecting: false,
40
- tReconnects: 0,
41
- sigHault: false,
42
- events: {type: "FeatureCollection", features: []},
43
- nodes: {type: "FeatureCollection", features: []},
44
- hashes: [],
45
- processed: [],
46
- ugc: new Map<string, string[]>()
47
- },
48
- settings: {
49
- Database: path.join(process.cwd(), 'shapefiles.db'),
50
- EnableWireService: false,
51
- EnableDebugging: false,
52
- EnableJournal: true,
53
- NOAAWeatherWireServiceSettings: {
54
- ReconnectionSettings: {
55
- Enabled: true,
56
- ReconnectionInterval: 60,
57
- },
58
- CredentialSettings: {
59
- Username: null,
60
- Password: null,
61
- Nickname: "@atmosx/event-product-parser/3.0",
62
- },
63
- CacheSettings: {
64
- Enabled: true,
65
- MaxDatabaseHistory: 5000,
66
- MaxRetentionHistory: 1000,
67
- },
68
- StanzaSettings: {
69
- DisableUGC: false,
70
- DisableVTEC: false,
71
- DisableText: false,
72
- }
73
- },
74
- NationalWeatherServiceSettings: {
75
- CallbackInterval: 15,
76
- EventsEndpoint: `https://api.weather.gov/alerts/active`,
77
- },
78
- BroadcastifySettings: {
79
- BroadcastifyAttachments: true,
80
- BroadcastifyDatabase: `https://scriptkitty.cafe/ftp/@atmosphericx/assets/broadcastify.json`,
81
- BroadcastifyTags: [`Ham`, `Air`, `Fire`, `Public Safety`, `Weather`, `EMS`, `Police`, `Rail`]
82
- },
83
- NotifyServer: {
84
- Enabled: false,
85
- Server: `https://ntfy.sh`,
86
- Attachments: null,
87
- Credentials: {
88
- Username: null,
89
- Password: null
90
- }
91
- },
92
- ListenerSettings: [],
93
- GlobalSettings: {
94
- EventManagement: true,
95
- BetterEventNames: true,
96
- DisableGeometryParsing: false,
97
- UseShapefileCoordinates: true,
98
- SPCWatchesOnly: true,
99
- ShapefileSkipPoints: 15,
100
- NodeTTL: 60,
101
- NodeMinDistance: 120,
102
- EventFiltering: {
103
- ListeningEvents: [],
104
- ListeningICAO: [],
105
- ListeningUGC: [],
106
- ListeningStates: [],
107
- IgnoredICAO: [],
108
- IgnoredEvents: [`Test Message`],
109
- NodeLocationFiltering: false,
110
- IgnoreTestProducts: true,
111
- },
112
- ArchiveSettings: {
113
- TTL: 60,
114
- EventDirectory: null,
115
- TextDirectory: null,
116
- EasDirectory: null,
117
- EasToneout: null
118
- }
119
- }
120
- },
121
- }
122
-
123
-
124
-
1
+ /*
2
+ _ _ _ __ __
3
+ /\ | | | | (_) \ \ / /
4
+ / \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
5
+ / /\ \| __| '_ ` _ \ / _ \/ __| '_ \| '_ \ / _ \ '__| |/ __| > <
6
+ / ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
7
+ /_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
8
+ | |
9
+ |_|
10
+
11
+ Created with ♥ by the AtmosphericX Team (KiyoWx, StarflightWx, & CJ Ziegler)
12
+ Discord: https://atmosphericx-discord.scriptkitty.cafe
13
+ Ko-Fi: https://ko-fi.com/k3yomi
14
+ Documentation: http://localhost/documentation | https://atmosphericx.scriptkitty.cafe/documentation
15
+
16
+ Internal Package: @atmosx/event-product-parser
17
+
18
+ */
19
+
20
+ import path from 'path'
21
+ import { EventEmitter } from 'node:events';
22
+
23
+ export const bootstrap = {
24
+ version: `3.0.61`,
25
+ isReady: true,
26
+ ratelimits: {},
27
+ session_xmpp: null,
28
+ database: null,
29
+ cron: null,
30
+ listener: new EventEmitter(),
31
+ ansi_colors: {
32
+ RED: `\x1b[31m`, GREEN: `\x1b[32m`, YELLOW: `\x1b[33m`,
33
+ BLUE: `\x1b[34m`, MAGENTA: `\x1b[35m`, CYAN: `\x1b[36m`,
34
+ WHITE: `\x1b[37m`, RESET: `\x1b[0m`
35
+ },
36
+ cache: {
37
+ lastStanza: null,
38
+ isConnected: false,
39
+ isReconnecting: false,
40
+ tReconnects: 0,
41
+ sigHault: false,
42
+ events: {type: "FeatureCollection", features: []},
43
+ nodes: {type: "FeatureCollection", features: []},
44
+ hashes: [],
45
+ processed: [],
46
+ ugc: new Map<string, string[]>()
47
+ },
48
+ settings: {
49
+ Database: path.join(process.cwd(), 'shapefiles.db'),
50
+ EnableWireService: false,
51
+ EnableDebugging: false,
52
+ EnableJournal: true,
53
+ NOAAWeatherWireServiceSettings: {
54
+ ReconnectionSettings: {
55
+ Enabled: true,
56
+ ReconnectionInterval: 60,
57
+ },
58
+ CredentialSettings: {
59
+ Username: null,
60
+ Password: null,
61
+ Nickname: "@atmosx/event-product-parser/3.0",
62
+ },
63
+ CacheSettings: {
64
+ Enabled: true,
65
+ MaxDatabaseHistory: 5000,
66
+ MaxRetentionHistory: 1000,
67
+ },
68
+ StanzaSettings: {
69
+ DisableUGC: false,
70
+ DisableVTEC: false,
71
+ DisableText: false,
72
+ }
73
+ },
74
+ NationalWeatherServiceSettings: {
75
+ CallbackInterval: 15,
76
+ EventsEndpoint: `https://api.weather.gov/alerts/active`,
77
+ },
78
+ BroadcastifySettings: {
79
+ BroadcastifyAttachments: true,
80
+ BroadcastifyDatabase: `https://scriptkitty.cafe/ftp/@atmosphericx/assets/broadcastify.json`,
81
+ BroadcastifyTags: [`Ham`, `Air`, `Fire`, `Public Safety`, `Weather`, `EMS`, `Police`, `Rail`]
82
+ },
83
+ NotifyServer: {
84
+ Enabled: false,
85
+ Server: `https://ntfy.sh`,
86
+ Timezone: "UTC",
87
+ MediaStorage: {
88
+ EAS: null,
89
+ TEXT: null,
90
+ JSON: null,
91
+ },
92
+ Credentials: {
93
+ Username: null,
94
+ Password: null
95
+ }
96
+ },
97
+ ActionSettings: [],
98
+ GlobalSettings: {
99
+ EventManagement: true,
100
+ DisableGeometryParsing: false,
101
+ UseShapefileCoordinates: true,
102
+ SPCWatchesOnly: true,
103
+ ShapefileSkipPoints: 15,
104
+ NodeTTL: 60,
105
+ NodeMaxDistance: 120,
106
+ EventFiltering: {
107
+ ListeningEvents: [],
108
+ ListeningICAO: [],
109
+ ListeningUGC: [],
110
+ ListeningStates: [],
111
+ IgnoredICAO: [],
112
+ IgnoredEvents: [`Test Message`],
113
+ NodeLocationFiltering: false,
114
+ IgnoreTestProducts: true,
115
+ },
116
+ ArchiveSettings: {
117
+ TTL: 60,
118
+ JSONDirectory: null,
119
+ TextDirectory: null,
120
+ EasDirectory: null,
121
+ EasToneout: null
122
+ }
123
+ }
124
+ },
125
+ }
126
+
127
+
128
+
package/src/index.ts CHANGED
@@ -1,74 +1,74 @@
1
- /*
2
- _ _ _ __ __
3
- /\ | | | | (_) \ \ / /
4
- / \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
5
- / /\ \| __| '_ ` _ \ / _ \/ __| '_ \| '_ \ / _ \ '__| |/ __| > <
6
- / ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
7
- /_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
8
- | |
9
- |_|
10
-
11
- Created with ♥ by the AtmosphericX Team (KiyoWx, StarflightWx, & CJ Ziegler)
12
- Discord: https://atmosphericx-discord.scriptkitty.cafe
13
- Ko-Fi: https://ko-fi.com/k3yomi
14
- Documentation: http://localhost/documentation | https://atmosphericx.scriptkitty.cafe/documentation
15
-
16
- Internal Package: @atmosx/event-product-parser
17
-
18
- */
19
-
20
- import { TypeSettings } from './@types/type.settings'
21
- import { setSettings } from "./@modules/@utilities/utilities.setSettings"
22
- import { getEventGeometry } from "./@building/building.geometry";
23
- import { getCleanedEvent } from "./@building/building.clean"
24
- import { setEventEmit } from './@modules/@utilities/utilities.setEventEmit';
25
- import { setWarning } from './@modules/@utilities/utilities.setWarning';
26
- import { createListener } from "./@core/core.createListener"
27
- import { startService } from "./@core/core.start"
28
- import { stopService } from "./@core/core.stop"
29
- import { setEasTone } from './@modules/@eas/eas.setEasTone';
30
- import { setNode } from "./@core/core.setNode"
31
- import { getEvents } from "./@core/core.getEvents"
32
- import { getNodes } from "./@core/core.getNodes"
33
- import { manualEvent } from "./@core/core.manualEvent"
34
- import { getRandomEvent } from './@core/core.getRandomEvent';
35
- import { query } from './@core/core.query';
36
- import { clearEvents } from './@core/core.clearEvents';
37
-
38
- export class Manager {
39
- constructor(settings: TypeSettings) { this.trycatch(); startService(settings) }
40
-
41
- on(event: string, callback: () => void) {
42
- createListener(event, callback)
43
- }
44
-
45
- trycatch() {
46
- process.on('uncaughtException', (err: any) => {
47
- const ignored = ['ETIMEDOUT', 'ECONNRESET', 'EHOSTUNREACH', 'ENOTFOUND', 'ECONNREFUSED', 'EPIPE', 'EADDRINUSE', 'EALREADY', 'EACCES', 'EAGAIN', 'EHOSTDOWN', 'STARTTLS_FAILURE'];
48
- if (ignored.includes(err?.code)) {
49
- setEventEmit({
50
- event: `onServiceStatus`,
51
- metadata: {
52
- message: `Ignored Critical Error: ${err?.code ?? 'Unknown error code'}. This may indicate a connection issue. Attempting to continue...`,
53
- data: {},
54
- type: `error`,
55
- error: true
56
- }
57
- })
58
- return;
59
- }
60
- setWarning({message: `Uncaught Exception: ${err instanceof Error ? err.stack ?? err.message : String(err)}`})
61
- })
62
- }
63
- }
64
-
65
- export default Manager;
66
- export type { TypeEvent } from './@types/type.event';
67
- export {
68
- setSettings, getEventGeometry, manualEvent,
69
- getCleanedEvent, stopService, clearEvents,
70
- startService, setNode, getRandomEvent,
71
- getEvents, getNodes, setEasTone, query
72
- }
73
-
74
-
1
+ /*
2
+ _ _ _ __ __
3
+ /\ | | | | (_) \ \ / /
4
+ / \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
5
+ / /\ \| __| '_ ` _ \ / _ \/ __| '_ \| '_ \ / _ \ '__| |/ __| > <
6
+ / ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
7
+ /_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
8
+ | |
9
+ |_|
10
+
11
+ Created with ♥ by the AtmosphericX Team (KiyoWx, StarflightWx, & CJ Ziegler)
12
+ Discord: https://atmosphericx-discord.scriptkitty.cafe
13
+ Ko-Fi: https://ko-fi.com/k3yomi
14
+ Documentation: http://localhost/documentation | https://atmosphericx.scriptkitty.cafe/documentation
15
+
16
+ Internal Package: @atmosx/event-product-parser
17
+
18
+ */
19
+
20
+ import { TypeSettings } from './@types/Settings'
21
+ import { SetSettings } from "./@modules/@utilities/SetSettings"
22
+ import { GetEventGeometry } from "./@building/GetEventGeometry";
23
+ import { GetCleanedEvent } from "./@building/GetCleanedEvent"
24
+ import { SetEventEmit } from './@modules/@utilities/SetEventEmit';
25
+ import { SetWarning } from './@modules/@utilities/SetWarning';
26
+ import { CreateListener } from "./@core/CreateListener"
27
+ import { StartService } from "./@core/StartService"
28
+ import { StopService } from "./@core/StopService"
29
+ import { GenerateEASMessage } from './@modules/@eas/GenerateEASMessage';
30
+ import { SetNode } from "./@core/SetNode"
31
+ import { GetEvents } from "./@core/GetEvents"
32
+ import { GetNodes } from "./@core/GetNodes"
33
+ import { ManualEvent } from "./@core/ManualEvent"
34
+ import { GetRandomEvent } from './@core/GetRandomEvent';
35
+ import { QueryStanza } from './@core/QueryStanza';
36
+ import { ClearEvents } from './@core/ClearEvents';
37
+
38
+ export class Manager {
39
+ constructor(settings: TypeSettings) { this.trycatch(); StartService(settings) }
40
+
41
+ on(event: string, callback: () => void) {
42
+ CreateListener(event, callback)
43
+ }
44
+
45
+ trycatch() {
46
+ process.on('uncaughtException', (err: any) => {
47
+ const ignored = ['ETIMEDOUT', 'ECONNRESET', 'EHOSTUNREACH', 'ENOTFOUND', 'ECONNREFUSED', 'EPIPE', 'EADDRINUSE', 'EALREADY', 'EACCES', 'EAGAIN', 'EHOSTDOWN', 'STARTTLS_FAILURE'];
48
+ if (ignored.includes(err?.code)) {
49
+ SetEventEmit({
50
+ event: `onServiceStatus`,
51
+ metadata: {
52
+ message: `Ignored Critical Error: ${err?.code ?? 'Unknown error code'}. This may indicate a connection issue. Attempting to continue...`,
53
+ data: {},
54
+ type: `error`,
55
+ error: true
56
+ }
57
+ })
58
+ return;
59
+ }
60
+ SetWarning({message: `Uncaught Exception: ${err instanceof Error ? err.stack ?? err.message : String(err)}`})
61
+ })
62
+ }
63
+ }
64
+
65
+ export default Manager;
66
+ export type { TypeEvent } from './@types/Event';
67
+ export {
68
+ SetSettings, GetEventGeometry, ManualEvent,
69
+ GetCleanedEvent, StopService, ClearEvents,
70
+ StartService, SetNode, GetRandomEvent,
71
+ GetEvents, GetNodes, GenerateEASMessage, QueryStanza
72
+ }
73
+
74
+
package/tsconfig.json CHANGED
@@ -1,14 +1,14 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES6",
4
- "module": "ESNext",
5
- "moduleResolution": "Node",
6
- "outDir": "dist",
7
- "declaration": true,
8
- "declarationDir": "dist/types",
9
- "esModuleInterop": true,
10
- "allowSyntheticDefaultImports": true,
11
- "skipLibCheck": true
12
- },
13
- "include": ["src"]
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES6",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Node",
6
+ "outDir": "dist",
7
+ "declaration": true,
8
+ "declarationDir": "dist/types",
9
+ "esModuleInterop": true,
10
+ "allowSyntheticDefaultImports": true,
11
+ "skipLibCheck": true
12
+ },
13
+ "include": ["src"]
14
14
  }
package/tsup.config.ts CHANGED
@@ -1,16 +1,16 @@
1
- import { defineConfig } from 'tsup'
2
-
3
- export default defineConfig({
4
- entry: ['src/index.ts'],
5
- outDir: 'dist',
6
- format: ['esm', 'cjs'],
7
- dts: false,
8
- noExternal: ["@xmpp/client", "@xmpp/sasl", "@xmpp/sasl-plain"],
9
- clean: true,
10
- outExtension({ format }) {
11
- return { js: format === 'esm' ? '.mjs' : '.cjs' }
12
- },
13
- esbuildOptions(options, context) {
14
- options.outdir = `dist/${context.format}`
15
- },
1
+ import { defineConfig } from 'tsup'
2
+
3
+ export default defineConfig({
4
+ entry: ['src/index.ts'],
5
+ outDir: 'dist',
6
+ format: ['esm', 'cjs'],
7
+ dts: false,
8
+ noExternal: ["@xmpp/client", "@xmpp/sasl", "@xmpp/sasl-plain"],
9
+ clean: true,
10
+ outExtension({ format }) {
11
+ return { js: format === 'esm' ? '.mjs' : '.cjs' }
12
+ },
13
+ esbuildOptions(options, context) {
14
+ options.outdir = `dist/${context.format}`
15
+ },
16
16
  })