@ooneex/cron 0.0.16 → 0.0.18
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/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +4 -4
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -20,14 +20,14 @@ interface ICron {
|
|
|
20
20
|
getTime: () => Promise<CronTimeType> | CronTimeType;
|
|
21
21
|
start: () => Promise<void> | void;
|
|
22
22
|
stop: () => Promise<void> | void;
|
|
23
|
-
|
|
23
|
+
handler: () => Promise<void> | void;
|
|
24
24
|
getTimeZone: () => TimeZoneType | null;
|
|
25
25
|
isActive: () => Promise<boolean> | boolean;
|
|
26
26
|
}
|
|
27
27
|
declare abstract class Cron implements ICron {
|
|
28
28
|
private cronJob;
|
|
29
29
|
abstract getTime(): CronTimeType;
|
|
30
|
-
abstract
|
|
30
|
+
abstract handler(): Promise<void>;
|
|
31
31
|
abstract getTimeZone(): TimeZoneType2 | null;
|
|
32
32
|
start(): Promise<void>;
|
|
33
33
|
stop(): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{CronJob as
|
|
2
|
+
import{CronJob as h}from"cron";import{Exception as T}from"@ooneex/exception";import{HttpStatus as e}from"@ooneex/http-status";class m extends T{constructor(r,i={}){super(r,{status:e.Code.InternalServerError,data:i});this.name="CronException"}}var s=(r)=>{let i=r.split(" ");if(i.length!==3)throw new m(`Invalid CronTimeType format: ${r}`);let n=i[0],t=Number.parseInt(i[1]||"1",10),p=i[2];if(Number.isNaN(t)||t<=0)throw new m(`Invalid number value in CronTimeType: ${i[1]}`);if(n==="in"){let c=new Date;switch(p){case"seconds":{let o=new Date(c.getTime()+t*1000);return`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}case"minutes":{let o=new Date(c.getTime()+t*60*1000);return`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}case"hours":{let o=new Date(c.getTime()+t*60*60*1000);return`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}case"days":{let o=new Date(c.getTime()+t*24*60*60*1000);return`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}case"months":{let o=new Date(c);return o.setMonth(o.getMonth()+t),`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}case"years":{let o=new Date(c);return o.setFullYear(o.getFullYear()+t),`${o.getMinutes()} ${o.getHours()} ${o.getDate()} ${o.getMonth()+1} *`}}}if(n==="every")switch(p){case"seconds":if(t===1)return"* * * * * *";return`*/${t} * * * * *`;case"minutes":if(t===1)return"* * * * *";return`*/${t} * * * *`;case"hours":if(t===1)return"0 * * * *";return`0 */${t} * * *`;case"days":if(t===1)return"0 0 * * *";return`0 0 */${t} * *`;case"months":if(t===1)return"0 0 1 * *";return`0 0 1 */${t} *`;case"years":if(t===1)return"0 0 1 1 *";return"0 0 1 1 *"}throw new m(`Invalid CronTimeType format: ${r}`)};class b{cronJob=null;async start(){if(this.isActive())return;if(this.cronJob){this.cronJob.start();return}let r=s(this.getTime());try{let i={cronTime:r,onTick:async()=>{await this.handler()},start:!0},n=this.getTimeZone();if(n!==null)i.timeZone=n;this.cronJob=h.from(i)}catch(i){throw new m("Failed to start cron job",{time:this.getTime(),cronExpression:r,error:i instanceof Error?i.message:String(i)})}}async stop(){if(this.cronJob)this.cronJob.stop()}isActive(){if(!this.cronJob)return!1;return this.cronJob.isActive}}import{container as g,EContainerScope as y}from"@ooneex/container";var R={cron:(r=y.Singleton)=>{return(i)=>{g.add(i,r)}}};var J;((n)=>{n.IN="in";n.EVERY="every"})(J||={});var a;((o)=>{o.SECONDS="seconds";o.MINUTES="minutes";o.HOURS="hours";o.DAYS="days";o.MONTHS="months";o.YEARS="years"})(a||={});export{R as decorator,a as ECronSuffix,J as ECronPrefix,m as CronException,b as Cron};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=FF82CECE63088B8764756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["src/Cron.ts", "src/CronException.ts", "src/helper.ts", "src/decorators.ts", "src/types.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import type { TimeZoneType } from \"@ooneex/country\";\nimport { CronJob } from \"cron\";\nimport { CronException } from \"./CronException\";\nimport { convertToCrontab } from \"./helper\";\nimport type { CronTimeType, ICron } from \"./types\";\n\nexport abstract class Cron implements ICron {\n private cronJob: CronJob | null = null;\n\n public abstract getTime(): CronTimeType;\n public abstract
|
|
5
|
+
"import type { TimeZoneType } from \"@ooneex/country\";\nimport { CronJob } from \"cron\";\nimport { CronException } from \"./CronException\";\nimport { convertToCrontab } from \"./helper\";\nimport type { CronTimeType, ICron } from \"./types\";\n\nexport abstract class Cron implements ICron {\n private cronJob: CronJob | null = null;\n\n public abstract getTime(): CronTimeType;\n public abstract handler(): Promise<void>;\n public abstract getTimeZone(): TimeZoneType | null;\n\n public async start(): Promise<void> {\n if (this.isActive()) {\n return;\n }\n\n if (this.cronJob) {\n this.cronJob.start();\n return;\n }\n\n const cronExpression = convertToCrontab(this.getTime());\n\n try {\n const cronParams: {\n cronTime: string;\n onTick: () => Promise<void>;\n start: boolean;\n timeZone?: string;\n } = {\n cronTime: cronExpression,\n onTick: async () => {\n await this.handler();\n },\n start: true,\n };\n\n const timeZone = this.getTimeZone();\n if (timeZone !== null) {\n cronParams.timeZone = timeZone;\n }\n\n this.cronJob = CronJob.from(cronParams);\n } catch (error) {\n throw new CronException(\"Failed to start cron job\", {\n time: this.getTime(),\n cronExpression,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n\n public async stop(): Promise<void> {\n if (this.cronJob) {\n this.cronJob.stop();\n }\n }\n\n public isActive(): boolean {\n if (!this.cronJob) {\n return false;\n }\n\n return this.cronJob.isActive;\n }\n}\n",
|
|
6
6
|
"import { Exception } from \"@ooneex/exception\";\nimport { HttpStatus } from \"@ooneex/http-status\";\n\nexport class CronException extends Exception {\n constructor(message: string, data: Record<string, unknown> = {}) {\n super(message, {\n status: HttpStatus.Code.InternalServerError,\n data,\n });\n this.name = \"CronException\";\n }\n}\n",
|
|
7
7
|
"import { CronException } from \"./CronException\";\nimport type { CronTimeType, SuffixType } from \"./types\";\n\n/**\n * Converts a CronTimeType string to a standard crontab expression\n * @param cronTime - The CronTimeType string (e.g., \"every 5 minutes\", \"in 30 seconds\")\n * @returns A crontab expression string\n */\nexport const convertToCrontab = (cronTime: CronTimeType): string => {\n const parts = cronTime.split(\" \");\n\n if (parts.length !== 3) {\n throw new CronException(`Invalid CronTimeType format: ${cronTime}`);\n }\n\n const prefix = parts[0] as \"in\" | \"every\";\n const value = Number.parseInt(parts[1] || \"1\", 10);\n const suffix = parts[2] as SuffixType;\n\n if (Number.isNaN(value) || value <= 0) {\n throw new CronException(`Invalid number value in CronTimeType: ${parts[1]}`);\n }\n\n // Handle \"in\" prefix (one-time execution)\n if (prefix === \"in\") {\n const now = new Date();\n\n switch (suffix) {\n case \"seconds\": {\n const futureSeconds = new Date(now.getTime() + value * 1000);\n return `${futureSeconds.getMinutes()} ${futureSeconds.getHours()} ${futureSeconds.getDate()} ${futureSeconds.getMonth() + 1} *`;\n }\n\n case \"minutes\": {\n const futureMinutes = new Date(now.getTime() + value * 60 * 1000);\n return `${futureMinutes.getMinutes()} ${futureMinutes.getHours()} ${futureMinutes.getDate()} ${futureMinutes.getMonth() + 1} *`;\n }\n\n case \"hours\": {\n const futureHours = new Date(now.getTime() + value * 60 * 60 * 1000);\n return `${futureHours.getMinutes()} ${futureHours.getHours()} ${futureHours.getDate()} ${futureHours.getMonth() + 1} *`;\n }\n\n case \"days\": {\n const futureDays = new Date(now.getTime() + value * 24 * 60 * 60 * 1000);\n return `${futureDays.getMinutes()} ${futureDays.getHours()} ${futureDays.getDate()} ${futureDays.getMonth() + 1} *`;\n }\n\n case \"months\": {\n const futureMonths = new Date(now);\n futureMonths.setMonth(futureMonths.getMonth() + value);\n return `${futureMonths.getMinutes()} ${futureMonths.getHours()} ${futureMonths.getDate()} ${futureMonths.getMonth() + 1} *`;\n }\n\n case \"years\": {\n const futureYears = new Date(now);\n futureYears.setFullYear(futureYears.getFullYear() + value);\n return `${futureYears.getMinutes()} ${futureYears.getHours()} ${futureYears.getDate()} ${futureYears.getMonth() + 1} *`;\n }\n }\n }\n\n // Handle \"every\" prefix (recurring execution)\n if (prefix === \"every\") {\n switch (suffix) {\n case \"seconds\":\n if (value === 1) return \"* * * * * *\";\n return `*/${value} * * * * *`;\n\n case \"minutes\":\n if (value === 1) return \"* * * * *\";\n return `*/${value} * * * *`;\n\n case \"hours\":\n if (value === 1) return \"0 * * * *\";\n return `0 */${value} * * *`;\n\n case \"days\":\n if (value === 1) return \"0 0 * * *\";\n return `0 0 */${value} * *`;\n\n case \"months\":\n if (value === 1) return \"0 0 1 * *\";\n return `0 0 1 */${value} *`;\n\n case \"years\":\n if (value === 1) return \"0 0 1 1 *\";\n return \"0 0 1 1 *\";\n }\n }\n\n throw new CronException(`Invalid CronTimeType format: ${cronTime}`);\n};\n",
|
|
8
8
|
"import { container, EContainerScope } from \"@ooneex/container\";\nimport type { CronClassType } from \"./types\";\n\nexport const decorator = {\n cron: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (target: CronClassType): void => {\n container.add(target, scope);\n };\n },\n};\n",
|
|
9
|
-
"import type { TimeZoneType } from \"@ooneex/country\";\n\nexport enum ECronPrefix {\n IN = \"in\",\n EVERY = \"every\",\n}\n\nexport enum ECronSuffix {\n SECONDS = \"seconds\",\n MINUTES = \"minutes\",\n HOURS = \"hours\",\n DAYS = \"days\",\n MONTHS = \"months\",\n YEARS = \"years\",\n}\n\nexport type PrefixType = `${ECronPrefix}`;\nexport type SuffixType = `${ECronSuffix}`;\nexport type CronTimeType = `${PrefixType} ${number} ${SuffixType}`;\n\n// biome-ignore lint/suspicious/noExplicitAny: trust me\nexport type CronClassType = new (...args: any[]) => ICron;\n\nexport interface ICron {\n getTime: () => Promise<CronTimeType> | CronTimeType;\n start: () => Promise<void> | void;\n stop: () => Promise<void> | void;\n
|
|
9
|
+
"import type { TimeZoneType } from \"@ooneex/country\";\n\nexport enum ECronPrefix {\n IN = \"in\",\n EVERY = \"every\",\n}\n\nexport enum ECronSuffix {\n SECONDS = \"seconds\",\n MINUTES = \"minutes\",\n HOURS = \"hours\",\n DAYS = \"days\",\n MONTHS = \"months\",\n YEARS = \"years\",\n}\n\nexport type PrefixType = `${ECronPrefix}`;\nexport type SuffixType = `${ECronSuffix}`;\nexport type CronTimeType = `${PrefixType} ${number} ${SuffixType}`;\n\n// biome-ignore lint/suspicious/noExplicitAny: trust me\nexport type CronClassType = new (...args: any[]) => ICron;\n\nexport interface ICron {\n getTime: () => Promise<CronTimeType> | CronTimeType;\n start: () => Promise<void> | void;\n stop: () => Promise<void> | void;\n handler: () => Promise<void> | void;\n getTimeZone: () => TimeZoneType | null;\n isActive: () => Promise<boolean> | boolean;\n}\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": ";AACA,kBAAS,aCDT,oBAAS,0BACT,qBAAS,4BAEF,MAAM,UAAsB,CAAU,CAC3C,WAAW,CAAC,EAAiB,EAAgC,CAAC,EAAG,CAC/D,MAAM,EAAS,CACb,OAAQ,EAAW,KAAK,oBACxB,MACF,CAAC,EACD,KAAK,KAAO,gBAEhB,CCHO,IAAM,EAAmB,CAAC,IAAmC,CAClE,IAAM,EAAQ,EAAS,MAAM,GAAG,EAEhC,GAAI,EAAM,SAAW,EACnB,MAAM,IAAI,EAAc,gCAAgC,GAAU,EAGpE,IAAM,EAAS,EAAM,GACf,EAAQ,OAAO,SAAS,EAAM,IAAM,IAAK,EAAE,EAC3C,EAAS,EAAM,GAErB,GAAI,OAAO,MAAM,CAAK,GAAK,GAAS,EAClC,MAAM,IAAI,EAAc,yCAAyC,EAAM,IAAI,EAI7E,GAAI,IAAW,KAAM,CACnB,IAAM,EAAM,IAAI,KAEhB,OAAQ,OACD,UAAW,CACd,IAAM,EAAgB,IAAI,KAAK,EAAI,QAAQ,EAAI,EAAQ,IAAI,EAC3D,MAAO,GAAG,EAAc,WAAW,KAAK,EAAc,SAAS,KAAK,EAAc,QAAQ,KAAK,EAAc,SAAS,EAAI,KAC5H,KAEK,UAAW,CACd,IAAM,EAAgB,IAAI,KAAK,EAAI,QAAQ,EAAI,EAAQ,GAAK,IAAI,EAChE,MAAO,GAAG,EAAc,WAAW,KAAK,EAAc,SAAS,KAAK,EAAc,QAAQ,KAAK,EAAc,SAAS,EAAI,KAC5H,KAEK,QAAS,CACZ,IAAM,EAAc,IAAI,KAAK,EAAI,QAAQ,EAAI,EAAQ,GAAK,GAAK,IAAI,EACnE,MAAO,GAAG,EAAY,WAAW,KAAK,EAAY,SAAS,KAAK,EAAY,QAAQ,KAAK,EAAY,SAAS,EAAI,KACpH,KAEK,OAAQ,CACX,IAAM,EAAa,IAAI,KAAK,EAAI,QAAQ,EAAI,EAAQ,GAAK,GAAK,GAAK,IAAI,EACvE,MAAO,GAAG,EAAW,WAAW,KAAK,EAAW,SAAS,KAAK,EAAW,QAAQ,KAAK,EAAW,SAAS,EAAI,KAChH,KAEK,SAAU,CACb,IAAM,EAAe,IAAI,KAAK,CAAG,EAEjC,OADA,EAAa,SAAS,EAAa,SAAS,EAAI,CAAK,EAC9C,GAAG,EAAa,WAAW,KAAK,EAAa,SAAS,KAAK,EAAa,QAAQ,KAAK,EAAa,SAAS,EAAI,KACxH,KAEK,QAAS,CACZ,IAAM,EAAc,IAAI,KAAK,CAAG,EAEhC,OADA,EAAY,YAAY,EAAY,YAAY,EAAI,CAAK,EAClD,GAAG,EAAY,WAAW,KAAK,EAAY,SAAS,KAAK,EAAY,QAAQ,KAAK,EAAY,SAAS,EAAI,KACpH,GAKJ,GAAI,IAAW,QACb,OAAQ,OACD,UACH,GAAI,IAAU,EAAG,MAAO,cACxB,MAAO,KAAK,kBAET,UACH,GAAI,IAAU,EAAG,MAAO,YACxB,MAAO,KAAK,gBAET,QACH,GAAI,IAAU,EAAG,MAAO,YACxB,MAAO,OAAO,cAEX,OACH,GAAI,IAAU,EAAG,MAAO,YACxB,MAAO,SAAS,YAEb,SACH,GAAI,IAAU,EAAG,MAAO,YACxB,MAAO,WAAW,UAEf,QACH,GAAI,IAAU,EAAG,MAAO,YACxB,MAAO,YAIb,MAAM,IAAI,EAAc,gCAAgC,GAAU,GFrF7D,MAAe,CAAsB,CAClC,QAA0B,UAMrB,MAAK,EAAkB,CAClC,GAAI,KAAK,SAAS,EAChB,OAGF,GAAI,KAAK,QAAS,CAChB,KAAK,QAAQ,MAAM,EACnB,OAGF,IAAM,EAAiB,EAAiB,KAAK,QAAQ,CAAC,EAEtD,GAAI,CACF,IAAM,EAKF,CACF,SAAU,EACV,OAAQ,SAAY,CAClB,MAAM,KAAK,
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "FF82CECE63088B8764756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ooneex/cron",
|
|
3
3
|
"description": "Scheduled task runner and cron job management with timezone support for Ooneex applications",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.18",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -28,13 +28,13 @@
|
|
|
28
28
|
"npm:publish": "bun publish --tolerate-republish --access public"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@ooneex/container": "0.0.
|
|
32
|
-
"@ooneex/exception": "0.0.
|
|
33
|
-
"@ooneex/http-status": "0.0.
|
|
31
|
+
"@ooneex/container": "0.0.18",
|
|
32
|
+
"@ooneex/exception": "0.0.17",
|
|
33
|
+
"@ooneex/http-status": "0.0.17",
|
|
34
34
|
"cron": "^4.4.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@ooneex/country": "0.0.
|
|
37
|
+
"@ooneex/country": "0.0.17"
|
|
38
38
|
},
|
|
39
39
|
"keywords": [
|
|
40
40
|
"bun",
|