@amerged/ohmyhost-runtime 0.1.28 → 0.1.29
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 +1 -1
- package/package.json +1 -1
- package/src/packages/customer-runtime/package.json +1 -1
- package/dist/scheduled.d.ts +0 -20
- package/dist/scheduled.d.ts.map +0 -1
- package/dist/scheduled.js +0 -67
- package/dist/scheduled.js.map +0 -1
package/README.md
CHANGED
package/package.json
CHANGED
package/dist/scheduled.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { CustomerDatabaseClient } from "./database.js";
|
|
2
|
-
import type { createTransactionalMailClient } from "./mail.js";
|
|
3
|
-
import type { createPrivateStorageClient } from "./storage.js";
|
|
4
|
-
export type ScheduledStorageClient = ReturnType<typeof createPrivateStorageClient>;
|
|
5
|
-
export type ScheduledMailClient = ReturnType<typeof createTransactionalMailClient>;
|
|
6
|
-
export interface ScheduledFunctionContext {
|
|
7
|
-
readonly projectId: string;
|
|
8
|
-
readonly environmentId: string;
|
|
9
|
-
readonly deploymentId: string;
|
|
10
|
-
readonly functionId: string;
|
|
11
|
-
readonly scheduledAt: string;
|
|
12
|
-
readonly idempotencyKey: string;
|
|
13
|
-
readonly signal: AbortSignal;
|
|
14
|
-
readonly database: CustomerDatabaseClient;
|
|
15
|
-
readonly storage: ScheduledStorageClient;
|
|
16
|
-
readonly mail: ScheduledMailClient;
|
|
17
|
-
}
|
|
18
|
-
export type ScheduledFunctionHandler = (context: ScheduledFunctionContext) => Promise<void>;
|
|
19
|
-
export declare function createScheduledFunctionContext(input: ScheduledFunctionContext): ScheduledFunctionContext;
|
|
20
|
-
//# sourceMappingURL=scheduled.d.ts.map
|
package/dist/scheduled.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled.d.ts","sourceRoot":"","sources":["../src/scheduled.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACnF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5F,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,wBAAwB,GAC9B,wBAAwB,CA6C1B"}
|
package/dist/scheduled.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { CustomerRuntimeError } from "./errors.js";
|
|
2
|
-
export function createScheduledFunctionContext(input) {
|
|
3
|
-
if (typeof input !== "object" ||
|
|
4
|
-
input === null ||
|
|
5
|
-
!validUlid(input.projectId) ||
|
|
6
|
-
!validUlid(input.environmentId) ||
|
|
7
|
-
!validUlid(input.deploymentId) ||
|
|
8
|
-
!/^[a-z][a-z0-9-]{0,62}$/u.test(input.functionId) ||
|
|
9
|
-
!validCanonicalTimestamp(input.scheduledAt) ||
|
|
10
|
-
!/^[A-Za-z0-9._:-]{1,128}$/u.test(input.idempotencyKey) ||
|
|
11
|
-
!(input.signal instanceof AbortSignal) ||
|
|
12
|
-
!hasFunctions(input.database, ["query", "transaction"]) ||
|
|
13
|
-
!hasFunctions(input.storage, [
|
|
14
|
-
"reserveUpload",
|
|
15
|
-
"completeUpload",
|
|
16
|
-
"createSignedRead",
|
|
17
|
-
"deleteObject",
|
|
18
|
-
"upload",
|
|
19
|
-
]) ||
|
|
20
|
-
!hasFunctions(input.mail, ["send"])) {
|
|
21
|
-
throw new CustomerRuntimeError("scheduled_context_invalid", false);
|
|
22
|
-
}
|
|
23
|
-
const database = bindClient(input.database, ["query", "transaction"]);
|
|
24
|
-
const storage = bindClient(input.storage, [
|
|
25
|
-
"reserveUpload",
|
|
26
|
-
"completeUpload",
|
|
27
|
-
"createSignedRead",
|
|
28
|
-
"deleteObject",
|
|
29
|
-
"upload",
|
|
30
|
-
]);
|
|
31
|
-
const mail = bindClient(input.mail, ["send"]);
|
|
32
|
-
return Object.freeze({
|
|
33
|
-
projectId: input.projectId,
|
|
34
|
-
environmentId: input.environmentId,
|
|
35
|
-
deploymentId: input.deploymentId,
|
|
36
|
-
functionId: input.functionId,
|
|
37
|
-
scheduledAt: input.scheduledAt,
|
|
38
|
-
idempotencyKey: input.idempotencyKey,
|
|
39
|
-
signal: input.signal,
|
|
40
|
-
database: database,
|
|
41
|
-
storage: storage,
|
|
42
|
-
mail: mail,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
function hasFunctions(value, names) {
|
|
46
|
-
return (typeof value === "object" &&
|
|
47
|
-
value !== null &&
|
|
48
|
-
!Array.isArray(value) &&
|
|
49
|
-
names.every((name) => typeof value[name] === "function"));
|
|
50
|
-
}
|
|
51
|
-
function bindClient(value, names) {
|
|
52
|
-
return Object.freeze(Object.fromEntries(names.map((name) => {
|
|
53
|
-
const method = value[name];
|
|
54
|
-
if (typeof method !== "function") {
|
|
55
|
-
throw new CustomerRuntimeError("scheduled_context_invalid", false);
|
|
56
|
-
}
|
|
57
|
-
return [name, method.bind(value)];
|
|
58
|
-
})));
|
|
59
|
-
}
|
|
60
|
-
function validUlid(value) {
|
|
61
|
-
return /^[0-9A-HJKMNP-TV-Z]{26}$/u.test(value);
|
|
62
|
-
}
|
|
63
|
-
function validCanonicalTimestamp(value) {
|
|
64
|
-
const timestamp = Date.parse(value);
|
|
65
|
-
return Number.isFinite(timestamp) && new Date(timestamp).toISOString() === value;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=scheduled.js.map
|
package/dist/scheduled.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled.js","sourceRoot":"","sources":["../src/scheduled.ts"],"names":[],"mappings":"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"}
|