-
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmod.ts
More file actions
50 lines (43 loc) 路 1.17 KB
/
Copy pathmod.ts
File metadata and controls
50 lines (43 loc) 路 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright 2023-present Eser Ozvataf and other contributors. All rights reserved. Apache-2.0 license.
/**
* @eserstack/functions - Higher-level workflow compositions.
*
* Multi-step operations, middleware pipelines, lazy computation,
* and resource lifecycle management.
*
* For Result/Option types and combinators: import from @eserstack/primitives
*
* @example
* ```typescript
* import { run } from "@eserstack/functions";
* import * as results from "@eserstack/primitives/results";
*
* // Monadic do-notation
* const result = await run(async function* () {
* const user = yield* fetchUser(1);
* const posts = yield* fetchPosts(user.id);
* return { user, posts };
* });
* ```
*
* @module
*/
// Monadic do-notation
export { run, runSync } from "./fn.ts";
// Middleware pipeline
export {
collect,
type CollectResult,
type Context,
type Middleware,
type Pipeline,
type State,
} from "./pipeline.ts";
// Lazy computation
export * as task from "./task.ts";
// Trigger adapters
export * as handler from "./handler.ts";
// Trigger event types
export * as triggers from "./triggers.ts";
// Resource management
export * as resources from "./resources.ts";