mirror of
https://github.com/Dvorinka/Devour.git
synced 2026-06-04 04:23:02 +00:00
17 lines
2.5 KiB
JSON
17 lines
2.5 KiB
JSON
{
|
|
"id": "65095f934b14e8970cabf19c",
|
|
"source": "solid:signals",
|
|
"type": "github-document",
|
|
"title": "from",
|
|
"content": "---\ntitle: from\nuse_cases: \u003e-\n rxjs interop, svelte stores integration, external observables, third-party\n state management, converting subscriptions to signals\ntags:\n - interop\n - rxjs\n - observables\n - signals\n - integration\nversion: '1.0'\ndescription: \u003e-\n Convert RxJS observables and external producers into SolidJS signals. Seamless\n integration with third-party reactive libraries and state managers.\n---\n\n```tsx\nimport { from } from \"solid-js\"\n\nfunction from\u003cT\u003e(\n\tproducer:\n\t\t| ((setter: (v: T) =\u003e T) =\u003e () =\u003e void)\n\t\t| {\n\t\t\t\tsubscribe: (\n\t\t\t\t\tfn: (v: T) =\u003e void\n\t\t\t\t) =\u003e (() =\u003e void) | { unsubscribe: () =\u003e void }\n\t\t }\n): () =\u003e T | undefined\n\n```\n\nA helper to make it easier to interop with external producers like RxJS observables or with Svelte Stores.\nThis basically turns any subscribable (object with a subscribe method) into a Signal and manages subscription and disposal.\n\n```tsx\nconst signal = from(obsv$)\n```\n\nIt can also take a custom producer function where the function is passed a setter function that returns an unsubscribe function:\n\n```tsx\nconst clock = from((set) =\u003e {\n\tconst interval = setInterval(() =\u003e {\n\t\tset((v) =\u003e v + 1)\n\t}, 1000)\n\n\treturn () =\u003e clearInterval(interval)\n})\n```\n\n## Arguments\n\n| Name | Type | Description |\n| :------- | :----------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------- |\n| producer | `((setter: (v: T) =\u003e T) =\u003e () =\u003e void) \\| { subscribe: (fn: (v: T) =\u003e void) =\u003e (() =\u003e void) \\| { unsubscribe: () =\u003e void }; }` | The producer function or subscribable object |",
|
|
"url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/reference/reactive-utilities/from.mdx",
|
|
"metadata": {
|
|
"path": "src/routes/reference/reactive-utilities/from.mdx",
|
|
"repo": "solidjs/solid-docs",
|
|
"repo_url": "https://github.com/solidjs/solid-docs.git",
|
|
"size": 1801,
|
|
"source_type": "github"
|
|
},
|
|
"hash": "f3e5721a66c081b0e0353309b400e69db74ed081152e1d89bbf070b3980a0dd7",
|
|
"timestamp": "2026-02-23T11:43:00.18989216+01:00"
|
|
} |