semola 0.6.0 → 0.6.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.
- package/README.md +17 -5
- package/dist/lib/api/index.cjs +1 -537
- package/dist/lib/api/index.d.cts +1 -271
- package/dist/lib/api/index.d.mts +80 -84
- package/dist/lib/api/index.mjs +1 -535
- package/dist/lib/cache/index.cjs +1 -99
- package/dist/lib/cache/index.d.cts +1 -27
- package/dist/lib/cache/index.mjs +1 -98
- package/dist/lib/cron/index.cjs +1 -735
- package/dist/lib/cron/index.d.cts +1 -146
- package/dist/lib/cron/index.d.mts +99 -36
- package/dist/lib/cron/index.mjs +1 -726
- package/dist/lib/errors/index.cjs +1 -30
- package/dist/lib/errors/index.d.cts +1 -13
- package/dist/lib/errors/index.mjs +1 -26
- package/dist/lib/i18n/index.cjs +1 -42
- package/dist/lib/i18n/index.d.cts +1 -28
- package/dist/lib/i18n/index.mjs +1 -41
- package/dist/lib/logging/index.cjs +1 -388
- package/dist/lib/logging/index.d.cts +1 -108
- package/dist/lib/logging/index.mjs +1 -374
- package/dist/lib/orm/index.cjs +1 -1642
- package/dist/lib/orm/index.d.cts +1 -402
- package/dist/lib/orm/index.d.mts +4 -2
- package/dist/lib/orm/index.mjs +1 -1630
- package/dist/lib/policy/index.cjs +1 -285
- package/dist/lib/policy/index.d.cts +1 -77
- package/dist/lib/policy/index.mjs +1 -265
- package/dist/lib/prompts/index.cjs +6 -769
- package/dist/lib/prompts/index.d.cts +1 -75
- package/dist/lib/prompts/index.mjs +6 -762
- package/dist/lib/pubsub/index.cjs +1 -141
- package/dist/lib/pubsub/index.d.cts +1 -26
- package/dist/lib/pubsub/index.mjs +1 -140
- package/dist/lib/queue/index.cjs +1 -212
- package/dist/lib/queue/index.d.cts +1 -81
- package/dist/lib/queue/index.mjs +1 -209
- package/dist/lib/workflow/index.cjs +1 -537
- package/dist/lib/workflow/index.d.cts +1 -150
- package/dist/lib/workflow/index.mjs +1 -527
- package/dist/rolldown-runtime-CMqjfN_6.cjs +1 -0
- package/package.json +7 -5
- package/dist/chunk-CKQMccvm.cjs +0 -28
|
@@ -1,146 +1 @@
|
|
|
1
|
-
|
|
2
|
-
declare const WeekDay: {
|
|
3
|
-
readonly sun: 0;
|
|
4
|
-
readonly mon: 1;
|
|
5
|
-
readonly tue: 2;
|
|
6
|
-
readonly wed: 3;
|
|
7
|
-
readonly thu: 4;
|
|
8
|
-
readonly fri: 5;
|
|
9
|
-
readonly sat: 6;
|
|
10
|
-
};
|
|
11
|
-
declare const Month: {
|
|
12
|
-
readonly jan: 1;
|
|
13
|
-
readonly feb: 2;
|
|
14
|
-
readonly mar: 3;
|
|
15
|
-
readonly apr: 4;
|
|
16
|
-
readonly may: 5;
|
|
17
|
-
readonly jun: 6;
|
|
18
|
-
readonly jul: 7;
|
|
19
|
-
readonly aug: 8;
|
|
20
|
-
readonly sep: 9;
|
|
21
|
-
readonly oct: 10;
|
|
22
|
-
readonly nov: 11;
|
|
23
|
-
readonly dec: 12;
|
|
24
|
-
};
|
|
25
|
-
type Enumerate<N extends number, Acc extends number[] = []> = Acc["length"] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc["length"]]>;
|
|
26
|
-
type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
|
|
27
|
-
type TimeType = IntRange<0, 60>;
|
|
28
|
-
type HourType = IntRange<0, 24>;
|
|
29
|
-
type DayType = IntRange<1, 32>;
|
|
30
|
-
type MonthType = IntRange<1, 13>;
|
|
31
|
-
type WeekDayType = IntRange<0, 7>;
|
|
32
|
-
type CronRange<T> = {
|
|
33
|
-
min: NoInfer<T>;
|
|
34
|
-
max: NoInfer<T>;
|
|
35
|
-
};
|
|
36
|
-
type CronStep<T> = {
|
|
37
|
-
step: NoInfer<T>;
|
|
38
|
-
range?: {
|
|
39
|
-
min: NoInfer<T>;
|
|
40
|
-
max?: NoInfer<T>;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
type CronField = "second" | "minute" | "hour" | "day" | "month" | "weekday";
|
|
44
|
-
type CronListExpr<T> = Exclude<CronExpr<T>, {
|
|
45
|
-
type: "list";
|
|
46
|
-
}>;
|
|
47
|
-
type CronExpr<T> = {
|
|
48
|
-
type: "any";
|
|
49
|
-
} | {
|
|
50
|
-
type: "value";
|
|
51
|
-
value: T;
|
|
52
|
-
} | {
|
|
53
|
-
type: "range";
|
|
54
|
-
min: T;
|
|
55
|
-
max: T;
|
|
56
|
-
} | {
|
|
57
|
-
type: "step";
|
|
58
|
-
step: T;
|
|
59
|
-
range?: {
|
|
60
|
-
min: T;
|
|
61
|
-
max?: T;
|
|
62
|
-
};
|
|
63
|
-
} | {
|
|
64
|
-
type: "list";
|
|
65
|
-
values: CronListExpr<T>[];
|
|
66
|
-
};
|
|
67
|
-
interface IBuilder<Used extends CronField> {
|
|
68
|
-
second(expr: CronExpr<TimeType>): CronBuilderType<Used | "second">;
|
|
69
|
-
minute(expr: CronExpr<TimeType>): CronBuilderType<Used | "minute">;
|
|
70
|
-
hour(expr: CronExpr<HourType>): CronBuilderType<Used | "hour">;
|
|
71
|
-
day(expr: CronExpr<DayType>): CronBuilderType<Used | "day">;
|
|
72
|
-
month(expr: CronExpr<MonthType>): CronBuilderType<Used | "month">;
|
|
73
|
-
weekday(expr: CronExpr<WeekDayType>): CronBuilderType<Used | "weekday">;
|
|
74
|
-
}
|
|
75
|
-
type CronBuilderType<Used extends CronField = never> = Omit<IBuilder<Used>, Used>;
|
|
76
|
-
type BuilderFn = (builder: CronBuilderType) => void;
|
|
77
|
-
//#endregion
|
|
78
|
-
//#region src/lib/cron/builder/index.d.ts
|
|
79
|
-
declare class FieldWrapper<T> {
|
|
80
|
-
private fields;
|
|
81
|
-
add(expr: CronListExpr<T>): void;
|
|
82
|
-
read(): CronListExpr<T>[];
|
|
83
|
-
}
|
|
84
|
-
declare class CronListBuilder<T> {
|
|
85
|
-
private wrapper;
|
|
86
|
-
constructor(wrapper: FieldWrapper<T>);
|
|
87
|
-
any(): CronListBuilder<T>;
|
|
88
|
-
range(options: CronRange<T>): CronListBuilder<T>;
|
|
89
|
-
step(options: CronStep<T>): CronListBuilder<T>;
|
|
90
|
-
number(value: T): CronListBuilder<T>;
|
|
91
|
-
}
|
|
92
|
-
declare function range<T>(options: CronRange<T>): CronExpr<T>;
|
|
93
|
-
declare function any<T>(): CronExpr<T>;
|
|
94
|
-
declare function step<T>(options: CronStep<T>): CronExpr<T>;
|
|
95
|
-
declare function list<T>(builderFn: (builder: CronListBuilder<T>) => CronListBuilder<T>): CronExpr<T>;
|
|
96
|
-
declare function number<T>(value: T): {
|
|
97
|
-
type: "value";
|
|
98
|
-
value: T;
|
|
99
|
-
};
|
|
100
|
-
declare function cronJobBuilder(buildFn: BuilderFn): string;
|
|
101
|
-
//#endregion
|
|
102
|
-
//#region src/lib/cron/core/types.d.ts
|
|
103
|
-
type CronAlias = "@yearly" | "@monthly" | "@weekly" | "@daily" | "@hourly" | "@minutely";
|
|
104
|
-
type CronStatus = "idle" | "running" | "paused";
|
|
105
|
-
type CronOptions = {
|
|
106
|
-
name: string;
|
|
107
|
-
schedule: CronAlias | (string & {});
|
|
108
|
-
handler: () => void | Promise<void>;
|
|
109
|
-
};
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region src/lib/cron/core/index.d.ts
|
|
112
|
-
declare class Cron {
|
|
113
|
-
private options;
|
|
114
|
-
private status;
|
|
115
|
-
private timeoutId;
|
|
116
|
-
private second;
|
|
117
|
-
private minute;
|
|
118
|
-
private hour;
|
|
119
|
-
private day;
|
|
120
|
-
private month;
|
|
121
|
-
private dayOfWeek;
|
|
122
|
-
private hasSeconds;
|
|
123
|
-
private _dayWildcard;
|
|
124
|
-
private _dowWildcard;
|
|
125
|
-
private fillRange;
|
|
126
|
-
private handleStep;
|
|
127
|
-
private handleStepRange;
|
|
128
|
-
private handleStepSingle;
|
|
129
|
-
private handleRange;
|
|
130
|
-
private handleNumber;
|
|
131
|
-
constructor(options: CronOptions);
|
|
132
|
-
private resolveAlias;
|
|
133
|
-
private parse;
|
|
134
|
-
private handleField;
|
|
135
|
-
matches(date: Date): boolean;
|
|
136
|
-
getNextRun(): Date | null;
|
|
137
|
-
start(): void;
|
|
138
|
-
stop(): void;
|
|
139
|
-
pause(): void;
|
|
140
|
-
resume(): void;
|
|
141
|
-
getStatus(): CronStatus;
|
|
142
|
-
private next;
|
|
143
|
-
private run;
|
|
144
|
-
}
|
|
145
|
-
//#endregion
|
|
146
|
-
export { Cron, Month, WeekDay, any, cronJobBuilder, list, number, range, step };
|
|
1
|
+
export type * from './index.d.mts'
|
|
@@ -40,7 +40,7 @@ type CronStep<T> = {
|
|
|
40
40
|
max?: NoInfer<T>;
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
|
-
type CronField = "
|
|
43
|
+
type CronField = "minute" | "hour" | "day" | "month" | "weekday";
|
|
44
44
|
type CronListExpr<T> = Exclude<CronExpr<T>, {
|
|
45
45
|
type: "list";
|
|
46
46
|
}>;
|
|
@@ -65,7 +65,6 @@ type CronExpr<T> = {
|
|
|
65
65
|
values: CronListExpr<T>[];
|
|
66
66
|
};
|
|
67
67
|
interface IBuilder<Used extends CronField> {
|
|
68
|
-
second(expr: CronExpr<TimeType>): CronBuilderType<Used | "second">;
|
|
69
68
|
minute(expr: CronExpr<TimeType>): CronBuilderType<Used | "minute">;
|
|
70
69
|
hour(expr: CronExpr<HourType>): CronBuilderType<Used | "hour">;
|
|
71
70
|
day(expr: CronExpr<DayType>): CronBuilderType<Used | "day">;
|
|
@@ -100,47 +99,111 @@ declare function number<T>(value: T): {
|
|
|
100
99
|
declare function cronJobBuilder(buildFn: BuilderFn): string;
|
|
101
100
|
//#endregion
|
|
102
101
|
//#region src/lib/cron/core/types.d.ts
|
|
103
|
-
type
|
|
104
|
-
type
|
|
105
|
-
type CronOptions = {
|
|
102
|
+
type MinutelyAlias = "@minutely";
|
|
103
|
+
type ErrorMetadataType = {
|
|
106
104
|
name: string;
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
failedAt: number;
|
|
106
|
+
error: Error;
|
|
109
107
|
};
|
|
108
|
+
type ScheduleType = Bun.CronWithAutocomplete | MinutelyAlias;
|
|
109
|
+
type OnFailedAttemptContextType = {
|
|
110
|
+
error: Error;
|
|
111
|
+
attemptNumber: number;
|
|
112
|
+
retriesLeft: number;
|
|
113
|
+
delay: number;
|
|
114
|
+
jobName: string;
|
|
115
|
+
};
|
|
116
|
+
type RetryOnErrorContextType = {
|
|
117
|
+
error: Error;
|
|
118
|
+
jobName: string;
|
|
119
|
+
};
|
|
120
|
+
type RetryOptions = {
|
|
121
|
+
maxAttempts: number;
|
|
122
|
+
onError?: (error: ErrorMetadataType) => void | Promise<void>;
|
|
123
|
+
onFailedAttempt?: (ctx: OnFailedAttemptContextType) => void | Promise<void>;
|
|
124
|
+
retryOnError?: (ctx: RetryOnErrorContextType) => boolean;
|
|
125
|
+
};
|
|
126
|
+
type CronBaseOptions = {
|
|
127
|
+
name: string;
|
|
128
|
+
schedule: ScheduleType;
|
|
129
|
+
};
|
|
130
|
+
type CronOptions = CronBaseOptions & {
|
|
131
|
+
handler: () => unknown;
|
|
132
|
+
retry?: RetryObserver;
|
|
133
|
+
};
|
|
134
|
+
type CronOSOptions = CronBaseOptions & {
|
|
135
|
+
path: string;
|
|
136
|
+
};
|
|
137
|
+
type CronStatus = "idle" | "running";
|
|
138
|
+
declare abstract class JobWithRetry {
|
|
139
|
+
protected constructor();
|
|
140
|
+
abstract run(): void;
|
|
141
|
+
abstract stop(): void;
|
|
142
|
+
}
|
|
143
|
+
type NotifyErrorContext = {
|
|
144
|
+
type: "error";
|
|
145
|
+
job: JobWithRetry;
|
|
146
|
+
error: Error;
|
|
147
|
+
name: string;
|
|
148
|
+
};
|
|
149
|
+
type NotifyAddRetryContext = {
|
|
150
|
+
type: "add";
|
|
151
|
+
name: string;
|
|
152
|
+
};
|
|
153
|
+
type NotifySuccessContext = {
|
|
154
|
+
type: "success";
|
|
155
|
+
name: string;
|
|
156
|
+
};
|
|
157
|
+
type NotifyContext = NotifySuccessContext | NotifyErrorContext | NotifyAddRetryContext;
|
|
158
|
+
interface RetryObserver {
|
|
159
|
+
update(ctx: NotifyContext): Promise<void>;
|
|
160
|
+
}
|
|
110
161
|
//#endregion
|
|
111
162
|
//#region src/lib/cron/core/index.d.ts
|
|
112
|
-
declare class
|
|
163
|
+
declare class RetryCronJob implements RetryObserver {
|
|
164
|
+
private options;
|
|
165
|
+
private jobs;
|
|
166
|
+
constructor(options: RetryOptions);
|
|
167
|
+
update(ctx: NotifyContext): Promise<void>;
|
|
168
|
+
private checkAttempts;
|
|
169
|
+
private runOnRetryError;
|
|
170
|
+
private runDelay;
|
|
171
|
+
private calculateDelay;
|
|
172
|
+
}
|
|
173
|
+
declare class Cron extends JobWithRetry {
|
|
113
174
|
private options;
|
|
114
175
|
private status;
|
|
115
|
-
private
|
|
116
|
-
private
|
|
117
|
-
private
|
|
118
|
-
private hour;
|
|
119
|
-
private day;
|
|
120
|
-
private month;
|
|
121
|
-
private dayOfWeek;
|
|
122
|
-
private hasSeconds;
|
|
123
|
-
private _dayWildcard;
|
|
124
|
-
private _dowWildcard;
|
|
125
|
-
private fillRange;
|
|
126
|
-
private handleStep;
|
|
127
|
-
private handleStepRange;
|
|
128
|
-
private handleStepSingle;
|
|
129
|
-
private handleRange;
|
|
130
|
-
private handleNumber;
|
|
176
|
+
private cron;
|
|
177
|
+
private manager?;
|
|
178
|
+
private common;
|
|
131
179
|
constructor(options: CronOptions);
|
|
132
|
-
|
|
133
|
-
private parse;
|
|
134
|
-
private handleField;
|
|
135
|
-
matches(date: Date): boolean;
|
|
136
|
-
getNextRun(): Date | null;
|
|
137
|
-
start(): void;
|
|
138
|
-
stop(): void;
|
|
139
|
-
pause(): void;
|
|
140
|
-
resume(): void;
|
|
180
|
+
[Symbol.dispose](): void;
|
|
141
181
|
getStatus(): CronStatus;
|
|
142
|
-
|
|
143
|
-
|
|
182
|
+
run(): void;
|
|
183
|
+
stop(): void;
|
|
184
|
+
ref(): void;
|
|
185
|
+
unref(): void;
|
|
186
|
+
getExpression(): string;
|
|
187
|
+
getJobName(): string;
|
|
188
|
+
next(from?: Date | number): Date | null;
|
|
189
|
+
}
|
|
190
|
+
declare class CronOS {
|
|
191
|
+
private options;
|
|
192
|
+
private common;
|
|
193
|
+
constructor(options: CronOSOptions);
|
|
194
|
+
run(): Promise<void>;
|
|
195
|
+
stop(): Promise<void>;
|
|
196
|
+
getExpression(): string;
|
|
197
|
+
getJobName(): string;
|
|
198
|
+
next(from?: Date | number): Date | null;
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/lib/cron/errors.d.ts
|
|
202
|
+
declare class OutOfBoundError extends Error {
|
|
203
|
+
constructor(message: string);
|
|
204
|
+
}
|
|
205
|
+
declare class InvalidRetryError extends TypeError {
|
|
206
|
+
constructor(message: string);
|
|
144
207
|
}
|
|
145
208
|
//#endregion
|
|
146
|
-
export { Cron, Month, WeekDay, any, cronJobBuilder, list, number, range, step };
|
|
209
|
+
export { Cron, CronOS, InvalidRetryError, Month, OutOfBoundError, RetryCronJob, WeekDay, any, cronJobBuilder, list, number, range, step };
|