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 = "`Ресурсы` это специальные `Сигналы`, которые были созданы для того, чтобы помочь с асинхронной загрузкой. Они оборачивают асинхронные операции таким образом, чтобы мы могли в полной мере использовать модель распределенного выполнения Solid. Эта модель противоположна [async](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/async_function)/[await](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/await) или [генераторам](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Generator), которые работают последовательно. В результате использования `Ресурсов` мы избегаем блокировки отрисовки.\n\nДля использования `Ресурсов` необходимо создать функцию-сборщик (`fetcher function`), которая будет возвращать [промис](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise). Например, вы можете использовать её для того, чтобы делать запрос на REST или GraphQL API. Ресурсы не имеют строгих указаний о том, как вы загружаете ваши данные и о том, как эта функция выглядит внутри, до тех пор пока результатом выполнения этой функции является промис.\n\nВ результате выполнения `Ресурса` вы получаете реактивные свойства `loading` и `error`, которые помогут вам легко видеть статус текущего запроса.\n\nДавайте заменим наш `Сигнал` `user` `Ресурсом`:\n\n```js\nconst [user] = createResource(userId, fetchUser);\n```\n\nВ данном примере он зависит от `Сигнала` `userId` и при его изменении метод будет вызван снова.\n\nВторое значение в результате выполнения `createResource` включает в себя метод `mutate`, который позволяет обновить внутренний Сигнал `userId`, и метод `refetch`, который позволяет заново выполнить запрос, даже если `Сигнал` `userId` не изменился.\n\n```js\nconst [user, { mutate, refetch }] = createResource(userId, fetchUser);\n```\n\n`lazy` внутри себя использует `createResource` для того, чтобы управлять динамическими импортами.";
var async_resources = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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