@mikitasazan/notify 1.25.0 → 1.26.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 (2) hide show
  1. package/dist/render.js +13 -3
  2. package/package.json +1 -1
package/dist/render.js CHANGED
@@ -21,14 +21,24 @@
21
21
  */
22
22
  import { DISPLAY, ICON, iconFor } from "./events.js";
23
23
  /**
24
- * A label gets a capital letter — but NOT a name that is deliberately
25
- * written lowercase: `iOS` was turning into `IOS`. The signal is a capital
26
- * second letter.
24
+ * A label gets a capital letter — but NOT a name. Two shapes of a name,
25
+ * both verbatim:
26
+ *
27
+ * 1. An inner-cap spelling a capital would flatten: `iOS` was turning into
28
+ * `IOS`. The signal is a capital second letter.
29
+ * 2. `<name> #N` — a tracked thing named by number. In the tasks digest the
30
+ * name is the repository's own (`zabukai-app #33`), and the one-name rule
31
+ * keeps a repository's name symbol for symbol; this printed
32
+ * «Zabukai-app #33» (owner, 12.09.2026). The ` #` is structural, not a
33
+ * spelling guess — prose labels never carry one.
27
34
  */
28
35
  const cap = (s) => {
29
36
  if (s.length === 0 || /^[a-z][A-Z]/.test(s)) {
30
37
  return s;
31
38
  }
39
+ if (/ #[#\w]/.test(s)) {
40
+ return s;
41
+ }
32
42
  return s.charAt(0).toUpperCase() + s.slice(1);
33
43
  };
34
44
  /** Escapes EVERYTHING that comes from outside — only the template adds tags. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikitasazan/notify",
3
- "version": "1.25.0",
3
+ "version": "1.26.0",
4
4
  "description": "Единая типизированная отправка Telegram-уведомлений (форум-темы, маршрутизация, ретраи) для всех проектов",
5
5
  "type": "module",
6
6
  "license": "MIT",