@vacantthinker/firefox-addon-framework-easy 2026.630.2330 → 2026.701.4

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.
@@ -19,6 +19,7 @@ export declare function bkJsCreateAlarmBaseHandlers<T extends string>(): Map<T,
19
19
  * Dispatcher also accepts the generic map
20
20
  */
21
21
  export declare function bkJsRegisterAlarmDispatcher<T extends string>(handlersMap: Map<T, AlarmHandlerFunc>, logTag?: string): void;
22
- export type AlarmSetupFunc = (name: string) => Promise<browser.alarms._CreateAlarmInfo | void>;
23
- export declare function bkJsCreateAlarmSetupMap<T extends string>(): Map<T, AlarmSetupFunc>;
22
+ export type AlarmSetupFunc<T extends string> = (name: T) => Promise<void>;
23
+ export declare function bkJsCreateAlarmSetupMap<T extends string>(): Map<T, AlarmSetupFunc<T>>;
24
+ export declare function calculateNextDailyOccurrence(timeStr: string): number;
24
25
  //# sourceMappingURL=backgroundJs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundJs.d.ts","sourceRoot":"","sources":["../src/backgroundJs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,wBAAwB,EAA6B,MAAM,SAAS,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,CAAC,SAAS,MAAM,GAAG,wBAAwB,KACzC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAmCzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,MAAM,EAClE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,EACnC,MAAM,GAAE,MAAyB,QAyBlC;AAOD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,SAAS,MAAM,KACd,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAG3B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAC1D,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,EACrC,MAAM,GAAE,MAA2B,QAapC;AAKD,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;AAErD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAuBlF"}
1
+ {"version":3,"file":"backgroundJs.d.ts","sourceRoot":"","sources":["../src/backgroundJs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,wBAAwB,EAA6B,MAAM,SAAS,CAAC;AAI7E,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,CAAC,SAAS,MAAM,GAAG,wBAAwB,KACzC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAmCzB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,MAAM,EAClE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,EACnC,MAAM,GAAE,MAAyB,QAyBlC;AAOD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,SAAS,MAAM,KACd,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAG3B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,EAC1D,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,EACrC,MAAM,GAAE,MAA4B,QAarC;AAID,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1E,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAGrF;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASpE"}
@@ -81,7 +81,7 @@ export function bkJsCreateAlarmBaseHandlers() {
81
81
  /**
82
82
  * Dispatcher also accepts the generic map
83
83
  */
84
- export function bkJsRegisterAlarmDispatcher(handlersMap, logTag = "initialAlarm.ts ") {
84
+ export function bkJsRegisterAlarmDispatcher(handlersMap, logTag = "alarmDispatch.ts ") {
85
85
  browser.alarms.onAlarm.addListener(async (alarm) => {
86
86
  const { name } = alarm;
87
87
  const handler = handlersMap.get(name);
@@ -95,20 +95,15 @@ export function bkJsRegisterAlarmDispatcher(handlersMap, logTag = "initialAlarm.
95
95
  });
96
96
  }
97
97
  export function bkJsCreateAlarmSetupMap() {
98
- const map = new Map();
99
- const originalSet = map.set.bind(map);
100
- map.set = (key, originalFunc) => {
101
- // 2. Wrap the function to intercept its return value
102
- const wrappedFunc = async (name) => {
103
- // Execute the user's complex logic to get the alarm info
104
- const alarmInfo = await originalFunc(name);
105
- // 3. Auto-inject the creation logic ONLY if they returned valid info
106
- if (alarmInfo) {
107
- await browser.alarms.create(name, alarmInfo);
108
- console.info(`[Framework] Auto-created alarm: ${name}`);
109
- }
110
- };
111
- return originalSet(key, wrappedFunc);
112
- };
113
- return map;
98
+ // Use T instead of string to keep strict typing throughout
99
+ return new Map();
100
+ }
101
+ export function calculateNextDailyOccurrence(timeStr) {
102
+ const [hour, minute] = timeStr.split(':').map(Number);
103
+ const now = new Date();
104
+ const nextAlarm = new Date(now.getFullYear(), now.getMonth(), now.getDate(), hour, minute, 0, 0);
105
+ if (now.getTime() > nextAlarm.getTime()) {
106
+ nextAlarm.setDate(nextAlarm.getDate() + 1);
107
+ }
108
+ return nextAlarm.getTime();
114
109
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vacantthinker/firefox-addon-framework-easy",
3
- "version": "2026.0630.2330",
3
+ "version": "2026.0701.0004",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",