@wesjet/function.js
Version:
wesjet javascript library
28 lines (27 loc) • 1.14 kB
JavaScript
import * as tracing_1 from "@effect-ts/core/Tracing";
const fileName_1 = "packages/@wesjet/function.js/src/effect/ConsoleService.ts";
/**
* Copyright (c) Wesbitty, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*
*/
import * as T from '@effect-ts/core/Effect';
import * as L from '@effect-ts/core/Effect/Layer';
import { tag } from '@effect-ts/core/Has';
export const makeLiveConsole = T.succeedWith(() => ({
log: (...msg) => T.succeedWith(() => {
console.log(...msg);
}, fileName_1 + ":18:18"),
}), fileName_1 + ":16:45");
export const ConsoleService = tag();
export const LiveConsole = L.fromEffect_(makeLiveConsole, ConsoleService);
export const provideConsole = T.provideSomeLayer(LiveConsole);
export const { log } = T.deriveLifted(ConsoleService)(['log'], [], []);
export const provideTestConsole = (messages) => T.provideServiceM(ConsoleService)(T.succeedWith(() => ({
log: (message) => T.succeedWith(() => {
messages.push(message);
}, fileName_1 + ":37:22"),
}), fileName_1 + ":35:18"), fileName_1 + ":34:36");