Skip to content

Conversation

@KhraksMamtsov
Copy link
Contributor

@KhraksMamtsov KhraksMamtsov commented Oct 26, 2025

Type

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

Improve Predicate.all and Predicate.some to support heterogeneous collections

import { Predicate } from 'effect'

const _ = Predicate.some([
//    ^? Refinement<unknown, { _tag: "SomeTag"; } | { _tag: "SomeOtherTag"; }>
  Predicate.isTagged("SomeTag"),
  Predicate.isTagged("SomeOtherTag")
])

Related

  • Related Issue #
  • Closes #

@changeset-bot
Copy link

changeset-bot bot commented Oct 26, 2025

🦋 Changeset detected

Latest commit: 6fe28d2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 36 packages
Name Type
effect Patch
@effect/cli Patch
@effect/cluster Patch
@effect/experimental Patch
@effect/opentelemetry Patch
@effect/platform-browser Patch
@effect/platform-bun Patch
@effect/platform-node-shared Patch
@effect/platform-node Patch
@effect/platform Patch
@effect/printer-ansi Patch
@effect/printer Patch
@effect/rpc Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-drizzle Patch
@effect/sql-kysely Patch
@effect/sql-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pg Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/sql Patch
@effect/typeclass Patch
@effect/vitest Patch
@effect/workflow Patch
@effect/ai Patch
@effect/ai-amazon-bedrock Patch
@effect/ai-anthropic Patch
@effect/ai-google Patch
@effect/ai-openai Patch
@effect/ai-openrouter Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@KhraksMamtsov
Copy link
Contributor Author

@gcanti, could you please take a look?

@gcanti
Copy link
Contributor

gcanti commented Nov 4, 2025

You can already use Predicate.or:

import { Predicate } from "effect"

const _ = Predicate.or(
  //    ^? Refinement<unknown, { _tag: "SomeTag"; } | { _tag: "SomeOtherTag"; }>
  Predicate.isTagged("SomeTag"),
  Predicate.isTagged("SomeOtherTag")
)

@KhraksMamtsov
Copy link
Contributor Author

Agreed — I didn’t notice that function.

@github-project-automation github-project-automation bot moved this from Discussion Ongoing to Done in PR Backlog Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants