-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.ts
More file actions
56 lines (48 loc) · 1.73 KB
/
index.ts
File metadata and controls
56 lines (48 loc) · 1.73 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
51
52
53
54
55
56
// Convenience alias for backward compatibility
import { MountainTag } from "./Tag/MountainTag.js";
/**
* @module Effect/Mountain
* @description
* Main re-export module for Mountain service.
* Provides atomic exports for Mountain backend integration.
*
* @example
* ```ts
* import { Mountain, MountainLive, MountainTag } from "./Effect/Mountain/index.js";
*
* // Using the service
* const program = Effect.gen(function* () {
* const mountain = yield* MountainTag;
* const version = yield* mountain.version;
* return version;
* });
*
* // Providing the layer
* const runnable = program.pipe(Effect.provide(MountainLive));
* ```
*
* @see {@link Effect/Mountain/Interface/MountainService} Service interface
* @see {@link Effect/Mountain/Implementation/MountainImplementation} Live implementation
* @see [Effect-TS Documentation](https://effect.website/docs/guide/context)
* @category Service
*/
// Error types
export { default as MountainConnectionError } from "./Error/MountainConnectionError.js";
export { default as MountainRPCError } from "./Error/MountainRPCError.js";
export { default as MountainSyncError } from "./Error/MountainSyncError.js";
export { default as MountainStateError } from "./Error/MountainStateError.js";
// Type definitions
export type {
MountainConnectionState,
SyncResource,
SyncResult,
} from "./Type/MountainType.js";
// Service interface
export type { MountainService } from "./Interface/MountainService.js";
// Service tag
export { MountainTag } from "./Tag/MountainTag.js";
// Live implementation layer
export { MountainLive } from "./Implementation/MountainImplementation.js";
// Mock implementation layer
export { MountainMockLive } from "./Layer/MountainMock.js";
export { MountainTag as Mountain };