{
  "id": "@typed/fx#Fx.fromEffect",
  "canonicalId": "@typed/fx/Fx#fromEffect",
  "symbol": {
    "id": "@typed/fx#Fx.fromEffect",
    "packageName": "@typed/fx",
    "moduleName": ".",
    "exportName": "Fx.fromEffect",
    "kind": "constant",
    "signatures": [
      "export declare const fromEffect: <A, E = never, R = never>(effect: Effect.Effect<A, E, R>) => Fx<A, E, R>;"
    ],
    "summary": "Creates an Fx from an Effect.\n\nIf the Effect succeeds, the Fx emits the value and completes.\nIf the Effect fails, the Fx fails with the same error.",
    "sections": {
      "Why": "A single Effect result can enter push composition without losing its typed error\nor service requirements.",
      "Ownership and lifetime": "Conversion is lazy. Each run executes the Effect once in the run's fiber, forwards\nits success or full cause to the sink, and completes after the sink handler. The\nrun's interruption and scope own any acquisition performed by the Effect."
    },
    "examples": [
      {
        "language": "ts",
        "code": "import { Effect } from \"effect\"\nimport { collectAll, fromEffect } from \"@typed/fx/Fx\"\n\nconst source = fromEffect(Effect.succeed(42))\nconst program = collectAll(source)"
      }
    ],
    "relations": [],
    "source": {
      "file": "packages/fx/src/Fx/constructors/fromEffect.ts",
      "line": 37
    },
    "since": "1.0.0",
    "category": "Effect interop"
  },
  "exposure": {
    "recordKind": "declaration",
    "id": "@typed/fx#Fx.fromEffect",
    "packageName": "@typed/fx",
    "packageVersion": "2.0.0-beta.7",
    "moduleName": ".",
    "consumerSpecifier": "@typed/fx",
    "exportName": "Fx",
    "qualifiedName": "Fx.fromEffect",
    "declarationKey": "declaration:f6c52c596a7f8b9fe904f323",
    "family": "variable",
    "signatures": [
      "export declare const fromEffect: <A, E = never, R = never>(effect: Effect.Effect<A, E, R>) => Fx<A, E, R>;"
    ],
    "sourceSpans": [
      {
        "file": "packages/fx/src/Fx/constructors/fromEffect.ts",
        "start": {
          "line": 37,
          "column": 14
        },
        "end": {
          "line": 38,
          "column": 79
        }
      }
    ],
    "aliases": [
      "@typed/fx/Fx#fromEffect"
    ],
    "isAlias": true,
    "parentId": "@typed/fx#Fx",
    "static": false,
    "importedFrom": "declaration:f6c52c596a7f8b9fe904f323"
  },
  "declaration": {
    "declarationKey": "declaration:f6c52c596a7f8b9fe904f323",
    "name": "fromEffect",
    "family": "variable",
    "facets": [
      {
        "family": "variable",
        "syntaxKind": "VariableDeclaration",
        "signatures": [
          "export declare const fromEffect: <A, E = never, R = never>(effect: Effect.Effect<A, E, R>) => Fx<A, E, R>;"
        ],
        "typeParameters": [],
        "sourceSpans": [
          {
            "file": "packages/fx/src/Fx/constructors/fromEffect.ts",
            "start": {
              "line": 37,
              "column": 14
            },
            "end": {
              "line": 38,
              "column": 79
            }
          }
        ],
        "static": false,
        "readonly": false,
        "optional": false
      }
    ],
    "signatures": [
      "export declare const fromEffect: <A, E = never, R = never>(effect: Effect.Effect<A, E, R>) => Fx<A, E, R>;"
    ],
    "typeParameters": [],
    "summary": "Creates an Fx from an Effect.\n\nIf the Effect succeeds, the Fx emits the value and completes.\nIf the Effect fails, the Fx fails with the same error.",
    "sections": {
      "Why": "A single Effect result can enter push composition without losing its typed error\nor service requirements.",
      "Ownership and lifetime": "Conversion is lazy. Each run executes the Effect once in the run's fiber, forwards\nits success or full cause to the sink, and completes after the sink handler. The\nrun's interruption and scope own any acquisition performed by the Effect."
    },
    "examples": [
      {
        "language": "ts",
        "code": "import { Effect } from \"effect\"\nimport { collectAll, fromEffect } from \"@typed/fx/Fx\"\n\nconst source = fromEffect(Effect.succeed(42))\nconst program = collectAll(source)"
      }
    ],
    "sourceSpans": [
      {
        "file": "packages/fx/src/Fx/constructors/fromEffect.ts",
        "start": {
          "line": 37,
          "column": 14
        },
        "end": {
          "line": 38,
          "column": 79
        }
      }
    ],
    "since": "1.0.0",
    "category": "Effect interop"
  }
}
