var lesson = {
	files: [
		{
			name: "main",
			content: "import { createSignal, createResource } from \"solid-js\";\nimport { render } from \"solid-js/web\";\n\nconst fetchUser = async (id) =>\n  (await fetch(`https://swapi.dev/api/people/${id}/`)).json();\n\nconst App = () => {\n  const [userId, setUserId] = createSignal();\n  const [user] = createSignal();\n\n  return (\n    <>\n      <input\n        type=\"number\"\n        min=\"1\"\n        placeholder=\"Enter Numeric Id\"\n        onInput={(e) => setUserId(e.currentTarget.value)}\n      />\n      <span>{user.loading && \"Loading...\"}</span>\n      <div>\n        <pre>{JSON.stringify(user(), null, 2)}</pre>\n      </div>\n    </>\n  );\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { createSignal, createResource } from \"solid-js\";\nimport { render } from \"solid-js/web\";\n\nconst fetchUser = async (id) =>\n  (await fetch(`https://swapi.dev/api/people/${id}/`)).json();\n\nconst App = () => {\n  const [userId, setUserId] = createSignal();\n  const [user] = createResource(userId, fetchUser);\n\n  return (\n    <>\n      <input\n        type=\"number\"\n        min=\"1\"\n        placeholder=\"Enter Numeric Id\"\n        onInput={(e) => setUserId(e.currentTarget.value)}\n      />\n      <span>{user.loading && \"Loading...\"}</span>\n      <div>\n        <pre>{JSON.stringify(user(), null, 2)}</pre>\n      </div>\n    </>\n  );\n};\n\nrender(App, document.getElementById(\"app\"));\n"
		}
	]
};
var markdown = "Resource は、非同期のロードを処理するために特別に設計された Signal です。その目的は、Solid の分散実行モデルにおいて、非同期の値を簡単に操作できるようにラップすることです。これは、シーケンシャルな実行モデルを提供する `async`/`await` や `generators` とは正反対です。非同期が実行をブロックしたり、コードに色をつけたりしないようにするのを目標としています。\n\nResource は、Promise を返す非同期データフェッチャー関数にクエリを提供するソース Signal によって駆動できます。フェッチャー関数の内容は何でもかまいません。典型的な REST エンドポイントでも、GraphQL でも、Promise を生成するものであれば何でもいいのです。Resource は、データをロードする手段にはこだわらず、Promise によって駆動されることだけが重要です。\n\n結果として得られる Resource の Signal には、リアクティブな `loading` と `error` プロパティが含まれており、現在のステータスに基づいてビューを簡単に制御できます。\n\nそれでは、user の Signal を Resource に置き換えてみましょう。\n```js\nconst [user] = createResource(userId, fetchUser);\n```\nこれは、`userId` Signal によって駆動され、変更があると fetch メソッドを呼び出します。それ以外にはあまりありません。\n\n`createResource` から返ってくる 2 つ目の値には、内部の Signal を直接更新するための `mutate` メソッドと、ソースが変更されていなくても現在のクエリをリロードするための `refetch` メソッドが含まれています。\n\n```js\nconst [user, { mutate, refetch }] = createResource(userId, fetchUser);\n```\n\n`lazy` は、動的インポートを管理するために内部で `createResource` を使用しています。\n";
var async_resources = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

export { async_resources as default, lesson, markdown, solved };
