dsh-session-guard 3.2.5 → 4.0.1

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 (49) hide show
  1. package/CHANGELOG.ja.md +159 -143
  2. package/CHANGELOG.ko.md +159 -143
  3. package/CHANGELOG.md +232 -216
  4. package/INSTALL.ja.md +5 -0
  5. package/INSTALL.ko.md +5 -0
  6. package/INSTALL.md +5 -0
  7. package/INSTALL.zh.md +5 -0
  8. package/LICENSE +21 -21
  9. package/README.de.md +375 -0
  10. package/README.en.md +16 -1
  11. package/README.es.md +374 -0
  12. package/README.fr.md +373 -0
  13. package/README.it.md +374 -0
  14. package/README.ja.md +16 -1
  15. package/README.ko.md +16 -1
  16. package/README.md +30 -6
  17. package/README.ru.md +374 -0
  18. package/cordis.patch.yml +10 -10
  19. package/dsh.plugin.json +16 -16
  20. package/lib/client.js +0 -345
  21. package/lib/client.js.map +1 -1
  22. package/package.json +8 -10
  23. package/src/bridge.js +136 -136
  24. package/src/client/index.ts +156 -168
  25. package/src/client/locales.ts +1 -199
  26. package/src/client/pause-button-text.ts +60 -60
  27. package/src/client/pause-button.tsx +129 -129
  28. package/src/client/scope-face.ts +20 -20
  29. package/src/client/settings-card.tsx +391 -391
  30. package/src/client/styles.ts +30 -30
  31. package/src/detect.js +27 -27
  32. package/src/gate.js +93 -93
  33. package/src/pause-gate.js +544 -544
  34. package/src/pause-store.js +101 -101
  35. package/src/retry.js +227 -227
  36. package/src/scheduler.js +42 -42
  37. package/src/step-gate.js +399 -399
  38. package/src/store.js +77 -77
  39. package/src/wiring.js +305 -305
  40. package/locale/de.json +0 -6
  41. package/locale/en.json +0 -6
  42. package/locale/es.json +0 -6
  43. package/locale/fr.json +0 -6
  44. package/locale/it.json +0 -6
  45. package/locale/ja.json +0 -6
  46. package/locale/ko.json +0 -6
  47. package/locale/ru.json +0 -6
  48. package/locale/zh.json +0 -6
  49. package/src/client/shims.d.ts +0 -21
package/src/scheduler.js CHANGED
@@ -1,42 +1,42 @@
1
- /**
2
- * dsh-session-guard — 纯状态机(可单测,零依赖)。
3
- *
4
- * 状态:NORMAL ↔ PAUSED_PEAK。
5
- * 副作用(暂停/恢复具体会话)由 host 的 tick 执行,这里只做判定与迁移检测。
6
- */
7
- import { shouldPause } from './time.js'
8
-
9
- export const STATES = {
10
- NORMAL: 'NORMAL',
11
- PAUSED_PEAK: 'PAUSED_PEAK',
12
- }
13
-
14
- /**
15
- * 计算当前状态。
16
- * @param {object} settings 同 time.shouldPause 的 settings
17
- * @param {Date|number} now
18
- * @returns {{state:string, reason:string, at:number}}
19
- */
20
- export function computeState(settings, now) {
21
- const date = now instanceof Date ? now : new Date(now)
22
- const d = shouldPause(settings, date)
23
- return {
24
- state: d.pause ? STATES.PAUSED_PEAK : STATES.NORMAL,
25
- reason: d.reason,
26
- at: date.getTime(),
27
- }
28
- }
29
-
30
- /**
31
- * 迁移检测:从 prev 到 next 是否发生了 入峰(enter) / 退峰(leave)。
32
- * @param {{state:string}|null} prev
33
- * @param {{state:string}} next
34
- * @returns {{enter:boolean, leave:boolean}}
35
- */
36
- export function transition(prev, next) {
37
- const was = prev && prev.state
38
- return {
39
- enter: next.state === STATES.PAUSED_PEAK && was !== STATES.PAUSED_PEAK,
40
- leave: was === STATES.PAUSED_PEAK && next.state !== STATES.PAUSED_PEAK,
41
- }
42
- }
1
+ /**
2
+ * dsh-session-guard — 纯状态机(可单测,零依赖)。
3
+ *
4
+ * 状态:NORMAL ↔ PAUSED_PEAK。
5
+ * 副作用(暂停/恢复具体会话)由 host 的 tick 执行,这里只做判定与迁移检测。
6
+ */
7
+ import { shouldPause } from './time.js'
8
+
9
+ export const STATES = {
10
+ NORMAL: 'NORMAL',
11
+ PAUSED_PEAK: 'PAUSED_PEAK',
12
+ }
13
+
14
+ /**
15
+ * 计算当前状态。
16
+ * @param {object} settings 同 time.shouldPause 的 settings
17
+ * @param {Date|number} now
18
+ * @returns {{state:string, reason:string, at:number}}
19
+ */
20
+ export function computeState(settings, now) {
21
+ const date = now instanceof Date ? now : new Date(now)
22
+ const d = shouldPause(settings, date)
23
+ return {
24
+ state: d.pause ? STATES.PAUSED_PEAK : STATES.NORMAL,
25
+ reason: d.reason,
26
+ at: date.getTime(),
27
+ }
28
+ }
29
+
30
+ /**
31
+ * 迁移检测:从 prev 到 next 是否发生了 入峰(enter) / 退峰(leave)。
32
+ * @param {{state:string}|null} prev
33
+ * @param {{state:string}} next
34
+ * @returns {{enter:boolean, leave:boolean}}
35
+ */
36
+ export function transition(prev, next) {
37
+ const was = prev && prev.state
38
+ return {
39
+ enter: next.state === STATES.PAUSED_PEAK && was !== STATES.PAUSED_PEAK,
40
+ leave: was === STATES.PAUSED_PEAK && next.state !== STATES.PAUSED_PEAK,
41
+ }
42
+ }