From 7f946cb5e004214bb3c4480458449eb921cd41cb Mon Sep 17 00:00:00 2001 From: Patrick Roza Date: Mon, 4 Dec 2023 14:34:25 +0100 Subject: [PATCH] remove obsolete helpers --- .changeset/calm-mails-vanish.md | 7 ++++ packages/core/vendor/effect-io-tsplus.json | 15 +++------ .../infra/_src/services/RepositoryBase.ts | 9 ++--- packages/prelude/_src/service.ts | 33 ++----------------- 4 files changed, 16 insertions(+), 48 deletions(-) create mode 100644 .changeset/calm-mails-vanish.md diff --git a/.changeset/calm-mails-vanish.md b/.changeset/calm-mails-vanish.md new file mode 100644 index 000000000..328e4fbd4 --- /dev/null +++ b/.changeset/calm-mails-vanish.md @@ -0,0 +1,7 @@ +--- +"@effect-app/prelude": patch +"@effect-app/infra": patch +"@effect-app/core": patch +--- + +remove obsolete helpers diff --git a/packages/core/vendor/effect-io-tsplus.json b/packages/core/vendor/effect-io-tsplus.json index 645fb6a57..9d2de9a5c 100644 --- a/packages/core/vendor/effect-io-tsplus.json +++ b/packages/core/vendor/effect-io-tsplus.json @@ -4857,11 +4857,6 @@ "kind": "fluent", "name": "flatMap" }, - { - "typeName": "effect/data/Context/Tag", - "kind": "fluent", - "name": "accessWithEffect" - }, { "kind": "fluent", "typeName": "effect/io/Effect", @@ -4894,6 +4889,11 @@ "definitionName": "andThen", "definitionKind": "const", "extensions": [ + { + "typeName": "effect/data/Context/Tag", + "kind": "fluent", + "name": "andThen" + }, { "kind": "fluent", "typeName": "effect/io/Effect", @@ -5645,11 +5645,6 @@ "kind": "fluent", "name": "map" }, - { - "typeName": "effect/data/Context/Tag", - "kind": "fluent", - "name": "accessWith" - }, { "kind": "fluent", "typeName": "effect/io/Effect", diff --git a/packages/infra/_src/services/RepositoryBase.ts b/packages/infra/_src/services/RepositoryBase.ts index 47a4c7013..5f9edbbe1 100644 --- a/packages/infra/_src/services/RepositoryBase.ts +++ b/packages/infra/_src/services/RepositoryBase.ts @@ -11,8 +11,6 @@ import { makeCodec } from "@effect-app/infra/api/codec" import { makeFilters } from "@effect-app/infra/filter" import type { Schema } from "@effect-app/prelude" import { EParserFor } from "@effect-app/prelude/schema" -import type { ServiceHelpers } from "@effect-app/prelude/service" -import { TagClassBase } from "@effect-app/prelude/service" import type { InvalidStateError, OptimisticConcurrencyException } from "../errors.js" import { ContextMapContainer } from "./Store/ContextMapContainer.js" @@ -24,7 +22,7 @@ export abstract class RepositoryBaseC< PM extends { id: string }, Evt, ItemType extends string -> extends TagClassBase() { +> { abstract readonly itemType: ItemType abstract readonly find: (id: T["id"]) => Effect> abstract readonly all: Effect @@ -348,12 +346,11 @@ export function makeStore< } export interface Repos< - Service, T extends { id: string }, PM extends { id: string; _etag: string | undefined }, Evt, ItemType extends string -> extends ServiceHelpers { +> { make( args: [Evt] extends [never] ? { makeInitial?: Effect @@ -413,7 +410,6 @@ export const RepositoryBaseImpl = () => { & (abstract new() => RepositoryBaseC1) & Tag & Repos< - Service, T, PM, Evt, @@ -451,7 +447,6 @@ export const RepositoryDefaultImpl = () => { ) => RepositoryBaseC2) & Tag & Repos< - Service, T, PM, Evt, diff --git a/packages/prelude/_src/service.ts b/packages/prelude/_src/service.ts index bd4221a44..0dda859d3 100644 --- a/packages/prelude/_src/service.ts +++ b/packages/prelude/_src/service.ts @@ -6,7 +6,6 @@ * https://github.com/microsoft/TypeScript/issues/52644 */ -import type * as C from "effect/Cause" import type { TagTypeId as TagTypeIdOriginal } from "effect/Context" export const ServiceTag = Symbol() @@ -54,36 +53,8 @@ export function assignTag(key?: unknown) { } } -export interface ServiceHelpers { - readonly andThen: { - ( - f: (a: Service) => X - ): [X] extends [Effect] ? Effect - : [X] extends [Promise] ? Effect - : Effect - (f: X): [X] extends [Effect] ? Effect - : [X] extends [Promise] ? Effect - : Effect - } - readonly makeLayer: (svc: Service) => Layer -} - -export const TagClassBase = () => { - abstract class TagClassBase { - static readonly andThen = (f: any): any => { - return Effect.andThen(this as Service as Tag, f) - } - static readonly map = (f: (a: Service) => B): Effect => { - return Effect.map(this as Service as Tag, f) - } - static readonly makeLayer = (svc: Service) => { - return Layer.succeed(this as Service as Tag, svc) - } - } - return TagClassBase as ServiceHelpers & (abstract new() => {}) -} export function TagClass(key?: unknown) { - abstract class TagClass extends TagClassBase() {} + abstract class TagClass {} return assignTag(key)(TagClass) } @@ -91,7 +62,7 @@ export function TagClass(key?: unknown) { /** @deprecated use `Id` of TagClass for unique id */ export function ServiceTaggedClass() { return (_: Key) => { - abstract class ServiceTaggedClassC extends TagClassBase() { + abstract class ServiceTaggedClassC { static make = (t: Omit) => { return t as Service }