@reykjavik/webtools 0.3.12 → 0.3.14

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/CHANGELOG.md CHANGED
@@ -4,13 +4,22 @@
4
4
 
5
5
  - ... <!-- Add new lines here. -->
6
6
 
7
- ## 0.3.12
7
+ ## 0.3.14
8
+
9
+ _2026-03-17_
10
+
11
+ - `@reykjavik/webtools/alertsStore`:
12
+ - fix: Regression in `InferAlerterPayload` type
13
+
14
+ ## 0.3.12 – 0.3.13
8
15
 
9
16
  _2026-03-17_
10
17
 
11
18
  - `@reykjavik/webtools/alertsStore`:
12
- - feat: Make alert `type` property disabled by default, enabled via config
13
19
  - feat: Add `AlerterConfig.title?:boolean` to enable optional alert `title`s
20
+ - feat: Add "message-only" shorthand signature to alerter dispatcher methods
21
+ - feat: Make alert `type` property disabled by default, enabled via config
22
+ (never used in the wild, yet)
14
23
 
15
24
  ## 0.3.7 – 0.3.11
16
25
 
package/README.md CHANGED
@@ -1034,17 +1034,44 @@ alerter.success({
1034
1034
  message: 'All is good',
1035
1035
  // flags: ['pristine'],
1036
1036
  duration: 'MEDIUM',
1037
- delay: 500, // Optional delay
1037
+ delay: 500, // Optional delay in milliseconds
1038
1038
  });
1039
- // after 500ms the above alert is added to the store, and all subscribers
1040
- // are notified. The subscriber in `appRoot.ts` will log the following;
1039
+ alerter.info('Simple message!'); // Shorthand syntax
1040
+
1041
+ // On the next event loop tick the "info" alert (with no delay) is emitted, and all
1042
+ // subscribers are notified. The subscriber in `appRoot.ts` will log the following;
1041
1043
  /*
1042
1044
  Current alerts: [
1043
1045
  {
1044
- id: '_234566-27_', // autugenerated
1046
+ id: '_234566-28_', // auto-generated
1047
+ level: 'info',
1048
+ message: 'Simple message!',
1049
+ duration: 5000, // ms
1050
+ dismiss: <Function>,
1051
+ setFalgs: <Function>,
1052
+ }
1053
+ ]
1054
+ Change type: 'add'
1055
+ Affected alert IDs: ['_234566-28_']
1056
+ */
1057
+
1058
+ // Then after 500ms the "success" alert is added to the store, and all subscribers
1059
+ // are notified again. The subscriber in `appRoot.ts` will log the following;
1060
+ /*
1061
+ Current alerts: [
1062
+ {
1063
+ id: '_234566-28_',
1064
+ level: 'info',
1065
+ message: 'Simple message!',
1066
+ duration: 5000, // ms
1067
+ dismiss: <Function>,
1068
+ setFalgs: <Function>,
1069
+ },
1070
+ {
1071
+ id: '_234566-27_',
1045
1072
  level: 'success',
1046
1073
  message: 'All is good',
1047
- duration: 5000, // ms
1074
+ duration: 5000,
1048
1075
  dismiss: <Function>,
1049
1076
  setFalgs: <Function>,
1050
1077
  }
@@ -121,7 +121,7 @@ export declare const createAlerterStore: <Level extends string = (typeof default
121
121
  *
122
122
  * @see https://github.com/reykjavikcity/webtools/blob/v0.3/README.md#createalerterstore
123
123
  */
124
- alerter: Record<Level, (payload: {
124
+ alerter: Record<Level, (payload: AlertMessage | ({
125
125
  /**
126
126
  * A simple string containing the alert message.
127
127
  *
@@ -163,7 +163,7 @@ export declare const createAlerterStore: <Level extends string = (typeof default
163
163
  * May also be used for more basic styling or categorization purposes.
164
164
  */
165
165
  type?: Type;
166
- })) => void>;
166
+ }))) => void>;
167
167
  /**
168
168
  * Subscribes to alert events. The provided callback will be called whenever a
169
169
  * alert is added or cleared.
@@ -206,7 +206,9 @@ export declare const createAlerterStore: <Level extends string = (typeof default
206
206
  *
207
207
  * @see https://github.com/reykjavikcity/webtools/blob/v0.3/README.md#createalerterstore
208
208
  */
209
- export type InferAlerterPayload<F extends Record<string, (...args: Array<any>) => void>> = F extends Record<string, (payload: infer P) => void> ? P : never;
209
+ export type InferAlerterPayload<F extends Record<string, (...args: Array<any>) => void>> = F extends Record<string, (payload: infer P) => void> ? Extract<P, {
210
+ message: unknown;
211
+ }> : never;
210
212
  /**
211
213
  * Utility type for inferring the alert info object shape received by the
212
214
  * callbacks of a specific alerter `subscribe` function.
@@ -225,7 +225,10 @@ const createAlerterStore = (cfg = {}) => {
225
225
  }, showAt - Date.now());
226
226
  };
227
227
  const _addAlert = (payload, level) => {
228
- const notification = buildNotification(payload, level);
228
+ const _payload = typeof payload === 'string' || Array.isArray(payload)
229
+ ? { message: payload }
230
+ : payload;
231
+ const notification = buildNotification(_payload, level);
229
232
  if (!notification.showAt) {
230
233
  // Notification starts active. Clone the array.
231
234
  alerts.active = [...alerts.active, addMethodsToAlertInfo(notification)];
@@ -121,7 +121,7 @@ export declare const createAlerterStore: <Level extends string = (typeof default
121
121
  *
122
122
  * @see https://github.com/reykjavikcity/webtools/blob/v0.3/README.md#createalerterstore
123
123
  */
124
- alerter: Record<Level, (payload: {
124
+ alerter: Record<Level, (payload: AlertMessage | ({
125
125
  /**
126
126
  * A simple string containing the alert message.
127
127
  *
@@ -163,7 +163,7 @@ export declare const createAlerterStore: <Level extends string = (typeof default
163
163
  * May also be used for more basic styling or categorization purposes.
164
164
  */
165
165
  type?: Type;
166
- })) => void>;
166
+ }))) => void>;
167
167
  /**
168
168
  * Subscribes to alert events. The provided callback will be called whenever a
169
169
  * alert is added or cleared.
@@ -206,7 +206,9 @@ export declare const createAlerterStore: <Level extends string = (typeof default
206
206
  *
207
207
  * @see https://github.com/reykjavikcity/webtools/blob/v0.3/README.md#createalerterstore
208
208
  */
209
- export type InferAlerterPayload<F extends Record<string, (...args: Array<any>) => void>> = F extends Record<string, (payload: infer P) => void> ? P : never;
209
+ export type InferAlerterPayload<F extends Record<string, (...args: Array<any>) => void>> = F extends Record<string, (payload: infer P) => void> ? Extract<P, {
210
+ message: unknown;
211
+ }> : never;
210
212
  /**
211
213
  * Utility type for inferring the alert info object shape received by the
212
214
  * callbacks of a specific alerter `subscribe` function.
@@ -189,7 +189,10 @@ export const createAlerterStore = (cfg = {}) => {
189
189
  }, showAt - Date.now());
190
190
  };
191
191
  const _addAlert = (payload, level) => {
192
- const notification = buildNotification(payload, level);
192
+ const _payload = typeof payload === 'string' || Array.isArray(payload)
193
+ ? { message: payload }
194
+ : payload;
195
+ const notification = buildNotification(_payload, level);
193
196
  if (!notification.showAt) {
194
197
  // Notification starts active. Clone the array.
195
198
  alerts.active = [...alerts.active, addMethodsToAlertInfo(notification)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reykjavik/webtools",
3
- "version": "0.3.12",
3
+ "version": "0.3.14",
4
4
  "description": "Misc. JS/TS helpers used by Reykjavík City's web dev teams.",
5
5
  "main": "index.js",
6
6
  "repository": "ssh://git@github.com:reykjavikcity/webtools.git",