@vacantthinker/firefox-addon-framework-easy 2026.630.2152 → 2026.630.2336
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/dist/backgroundJs.d.ts +3 -0
- package/dist/backgroundJs.d.ts.map +1 -1
- package/dist/backgroundJs.js +27 -0
- package/package.json +1 -1
package/dist/backgroundJs.d.ts
CHANGED
|
@@ -19,4 +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>;
|
|
24
|
+
export declare function calculateNextDailyOccurrence(timeStr: string): number;
|
|
22
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"}
|
|
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;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASpE"}
|
package/dist/backgroundJs.js
CHANGED
|
@@ -94,3 +94,30 @@ export function bkJsRegisterAlarmDispatcher(handlersMap, logTag = "initialAlarm.
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
}
|
|
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;
|
|
114
|
+
}
|
|
115
|
+
export function calculateNextDailyOccurrence(timeStr) {
|
|
116
|
+
const [hour, minute] = timeStr.split(':').map(Number);
|
|
117
|
+
const now = new Date();
|
|
118
|
+
const nextAlarm = new Date(now.getFullYear(), now.getMonth(), now.getDate(), hour, minute, 0, 0);
|
|
119
|
+
if (now.getTime() > nextAlarm.getTime()) {
|
|
120
|
+
nextAlarm.setDate(nextAlarm.getDate() + 1);
|
|
121
|
+
}
|
|
122
|
+
return nextAlarm.getTime();
|
|
123
|
+
}
|