github Effect-TS/effect-smol effect@4.0.0-beta.44

latest releases: @effect/sql-sqlite-bun@4.0.0-beta.90, @effect/platform-browser@4.0.0-beta.90, @effect/sql-sqlite-wasm@4.0.0-beta.90...
pre-release2 months ago

Patch Changes

  • #1943 e3f0621 Thanks @gcanti! - Add DateFromString, BigIntFromString, BigDecimalFromString, TimeZoneNamedFromString, TimeZoneFromString, and DateTimeZonedFromString schemas, closes #1941.

  • #1996 5b476ab Thanks @gcanti! - Schema: add StringFromBase64, StringFromBase64Url, StringFromHex, and StringFromUriComponent schemas for decoding encoded strings into UTF-8 strings, closes #1995.

  • #1952 6b40e5a Thanks @tim-smart! - Effect.repeat now uses effect return value when using options

  • #1961 7bb5dce Thanks @IMax153! - Rename Atom's Context type to AtomContext

  • #1975 3b09fb3 Thanks @tim-smart! - catch defects when building Entity handlers

  • #2000 2370410 Thanks @tim-smart! - fix cache constructor inference by moving the lookup option

  • #1928 dabc272 Thanks @tim-smart! - Add schema.makeEffect(input, options?) to Schema.Bottom and schema-backed classes, matching the existing constructor behavior exposed by makeUnsafe / makeOption while returning an Effect failure with Schema.SchemaError.

  • #1949 08b63c3 Thanks @tim-smart! - Update the unstable HTTP middleware logger to annotate only the request path in http.url instead of including the full URL (query / fragment), and add a regression test.

  • #1962 dfff04c Thanks @tim-smart! - Add KeyValueStore.layerSql to back key-value storage with a SQL database via SqlClient.

  • #1963 9baed9e Thanks @tim-smart! - Fix Unify.unify so Layer unions merge correctly, and add type tests covering Layer unification.

  • #2004 7846792 Thanks @tim-smart! - Fix Stream.toQueue types and implementation to return a Queue.Dequeue in both overloads and delegate to Channel.toQueueArray.

  • #1974 1556a24 Thanks @juliusmarminge! - Fix unstable CLI boolean flags so Flag.optional(Flag.boolean(...)) returns Option.none() when omitted, and support canonical --no-<flag> negation for boolean flags.

  • #1980 7c11bc2 Thanks @tim-smart! - fix Entity.keepAlive

  • #1929 b5ea591 Thanks @gcanti! - Simplify and align the default-value APIs.

    Schema.withConstructorDefault now accepts an Effect<T> instead of (o: Option<undefined>) => Option<T> | Effect<Option<T>>.

    Schema.withDecodingDefault / Schema.withDecodingDefaultKey now accept an Effect<T> instead of () => T, enabling effectful defaults.

    SchemaGetter.withDefault follows the same change, accepting Effect<T> instead of () => T.

  • #1966 0853afa Thanks @gcanti! - Reuse existing references when duplicate identifiers have the same representation, closes #1927.

  • #1942 ac845f3 Thanks @gcanti! - Fix ErrorClass and TaggedErrorClass toString to match native Error output format (e.g. E: my message instead of E({"message":"my message"})), closes #1940.

    Also fix prototype properties (e.g. name) being lost after .extend().

  • #1956 b80c462 Thanks @gcanti! - Add Schema.resolveAnnotationsKey API to retrieve the context (key-level) annotations from a schema, closes #1947.

    Also rename Schema.resolveInto to Schema.resolveAnnotations.

  • #2005 b3f535d Thanks @gcanti! - Fix Stream.splitLines to correctly handle standalone \r as a line terminator and flush the final unterminated line when the stream ends, closes #2002.

  • #1936 6fe2e93 Thanks @IMax153! - Fix Stream.groupedWithin dropping partial batches when the upstream ends or goes idle.

  • #1981 cda8004 Thanks @tim-smart! - add rpc ConnectionHooks

  • #1965 8335477 Thanks @tim-smart! - return resolvers directly from SqlModel.makeResolvers

  • #1960 8c836f9 Thanks @IMax153! - Add ChildProcessHandle.unref, returning an Effect that restores the child process reference when run.

  • #1984 718ff6f Thanks @jannabiforever! - Make Effect.retry with times argument to propagate the original error.

  • #1930 7eed84f Thanks @mikearnaldi! - Add Stream.service and Stream.serviceOption for accessing services as single-element streams.

  • #1935 5df46fe Thanks @gcanti! - Schema: add asClass API to turn any schema into a class with static method support.

    Example

    import { Schema } from "effect";
    
    class MyString extends Schema.asClass(Schema.String) {
      static readonly decodeUnknownSync = Schema.decodeUnknownSync(this);
    }
    
    MyString.decodeUnknownSync("a"); // "a"
  • #1958 82dd0f2 Thanks @gcanti! - Schema: add MissingSelfGeneric compile-time error for Class, TaggedClass, ErrorClass, and TaggedErrorClass when the Self type parameter is omitted.

  • #1957 03ae41e Thanks @gcanti! - Schema: remove "~annotate.in" type from Bottom interface, inlining it where needed

  • #1951 4677a0a Thanks @gcanti! - Rename Schema.makeUnsafe instance method back to Schema.make on all schemas and schema-backed classes.

    Also remove the static readonly make override from ShardId to avoid conflicting with the inherited schema make method. The module-level ShardId.make(group, id) function is still available.

  • #1999 87e1fc8 Thanks @tim-smart! - use NoInfer in Layer constructors to prevent type erasure

  • #1971 c1af1b7 Thanks @joepjoosten! - Allow unstable CLI fallback prompts to be created dynamically from an Effect.

  • #1961 7bb5dce Thanks @IMax153! - Rename the ServiceMap module to Context across exports, docs, and tests.

  • #1973 c8a877b Thanks @joepjoosten! - Underline the active label in CLI multi-select prompts and add a scratchpad example for manual verification.

  • #1967 7da961a Thanks @tim-smart! - clean up ShardId

Don't miss a new effect-smol release

NewReleases is sending notifications on new releases.