{
  "id": "@typed/fx#RefSubject.makeFiltered",
  "canonicalId": "@typed/fx/RefSubject#makeFiltered",
  "symbol": {
    "id": "@typed/fx#RefSubject.makeFiltered",
    "packageName": "@typed/fx",
    "moduleName": ".",
    "exportName": "RefSubject.makeFiltered",
    "kind": "function",
    "signatures": [
      "export declare function makeFiltered<R0, E0, A, E, R, E2, R2, C, E3, R3>(input: Versioned.Versioned<R0, E0, A, E, R, A, E2, R2>, f: (a: A) => Effect.Effect<Option.Option<C>, E3, R3>): Filtered<C, E0 | E | E2 | E3, R0 | Exclude<R, Scope.Scope> | R2 | R3>;"
    ],
    "summary": "Builds a Filtered view from the three channels of a Versioned source.",
    "sections": {
      "Why": "Applies `f` to current reads and later pushes while preserving absence as Filtered semantics:\nEffect reads fail with `NoSuchElementError`, whereas the Fx channel simply omits absent values.",
      "Ownership and lifetime": "Sampled results and pushed sessions are isolated by Effect Context identity. Within one Context,\ncurrent reads cache by source version and observers share the active held projection. Its\nEffect read fails with NoSuchElement while absent; the observing Scope owns its subscription."
    },
    "examples": [],
    "relations": [],
    "source": {
      "file": "packages/fx/src/RefSubject/RefSubject.ts",
      "line": 1151
    },
    "since": "1.18.0",
    "category": "Optional queries"
  },
  "exposure": {
    "recordKind": "declaration",
    "id": "@typed/fx#RefSubject.makeFiltered",
    "packageName": "@typed/fx",
    "packageVersion": "2.0.0-beta.7",
    "moduleName": ".",
    "consumerSpecifier": "@typed/fx",
    "exportName": "RefSubject",
    "qualifiedName": "RefSubject.makeFiltered",
    "declarationKey": "declaration:d7e081052dcb46cf2b6bfe9f",
    "family": "function",
    "signatures": [
      "export declare function makeFiltered<R0, E0, A, E, R, E2, R2, C, E3, R3>(input: Versioned.Versioned<R0, E0, A, E, R, A, E2, R2>, f: (a: A) => Effect.Effect<Option.Option<C>, E3, R3>): Filtered<C, E0 | E | E2 | E3, R0 | Exclude<R, Scope.Scope> | R2 | R3>;"
    ],
    "sourceSpans": [
      {
        "file": "packages/fx/src/RefSubject/RefSubject.ts",
        "start": {
          "line": 1151,
          "column": 1
        },
        "end": {
          "line": 1156,
          "column": 2
        }
      }
    ],
    "aliases": [
      "@typed/fx/RefSubject#makeFiltered"
    ],
    "isAlias": true,
    "parentId": "@typed/fx#RefSubject",
    "static": false,
    "importedFrom": "declaration:d7e081052dcb46cf2b6bfe9f"
  },
  "declaration": {
    "declarationKey": "declaration:d7e081052dcb46cf2b6bfe9f",
    "name": "makeFiltered",
    "family": "function",
    "facets": [
      {
        "family": "function",
        "syntaxKind": "FunctionDeclaration",
        "signatures": [
          "export declare function makeFiltered<R0, E0, A, E, R, E2, R2, C, E3, R3>(input: Versioned.Versioned<R0, E0, A, E, R, A, E2, R2>, f: (a: A) => Effect.Effect<Option.Option<C>, E3, R3>): Filtered<C, E0 | E | E2 | E3, R0 | Exclude<R, Scope.Scope> | R2 | R3>;"
        ],
        "typeParameters": [
          "R0",
          "E0",
          "A",
          "E",
          "R",
          "E2",
          "R2",
          "C",
          "E3",
          "R3"
        ],
        "sourceSpans": [
          {
            "file": "packages/fx/src/RefSubject/RefSubject.ts",
            "start": {
              "line": 1151,
              "column": 1
            },
            "end": {
              "line": 1156,
              "column": 2
            }
          }
        ],
        "static": false,
        "readonly": false,
        "optional": false
      }
    ],
    "signatures": [
      "export declare function makeFiltered<R0, E0, A, E, R, E2, R2, C, E3, R3>(input: Versioned.Versioned<R0, E0, A, E, R, A, E2, R2>, f: (a: A) => Effect.Effect<Option.Option<C>, E3, R3>): Filtered<C, E0 | E | E2 | E3, R0 | Exclude<R, Scope.Scope> | R2 | R3>;"
    ],
    "typeParameters": [
      "R0",
      "E0",
      "A",
      "E",
      "R",
      "E2",
      "R2",
      "C",
      "E3",
      "R3"
    ],
    "summary": "Builds a Filtered view from the three channels of a Versioned source.",
    "sections": {
      "Why": "Applies `f` to current reads and later pushes while preserving absence as Filtered semantics:\nEffect reads fail with `NoSuchElementError`, whereas the Fx channel simply omits absent values.",
      "Ownership and lifetime": "Sampled results and pushed sessions are isolated by Effect Context identity. Within one Context,\ncurrent reads cache by source version and observers share the active held projection. Its\nEffect read fails with NoSuchElement while absent; the observing Scope owns its subscription."
    },
    "examples": [],
    "sourceSpans": [
      {
        "file": "packages/fx/src/RefSubject/RefSubject.ts",
        "start": {
          "line": 1151,
          "column": 1
        },
        "end": {
          "line": 1156,
          "column": 2
        }
      }
    ],
    "since": "1.18.0",
    "category": "Optional queries"
  }
}
