{"id":25588,"date":"2026-06-19T18:00:23","date_gmt":"2026-06-19T18:00:23","guid":{"rendered":"https:\/\/umang.pk\/2026\/06\/19\/dartexceptor-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%db%8c%d8%b3%db%92-%da%a9%d8%b1%db%8c%da%ba-dart-3-%d9%85%db%8c%da%ba-%d8%ba%d9%84%d8%b7%db%8c%d9%88%da%ba-%da%a9%d9%88\/"},"modified":"2026-06-19T18:00:23","modified_gmt":"2026-06-19T18:00:23","slug":"dartexceptor-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%db%8c%d8%b3%db%92-%da%a9%d8%b1%db%8c%da%ba-dart-3-%d9%85%db%8c%da%ba-%d8%ba%d9%84%d8%b7%db%8c%d9%88%da%ba-%da%a9%d9%88","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/06\/19\/dartexceptor-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%db%8c%d8%b3%db%92-%da%a9%d8%b1%db%8c%da%ba-dart-3-%d9%85%db%8c%da%ba-%d8%ba%d9%84%d8%b7%db%8c%d9%88%da%ba-%da%a9%d9%88\/","title":{"rendered":"DartExceptor \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba: Dart 3 \u0645\u06cc\u06ba \u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u06c1\u0644\u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0641\u0644\u0679\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0645\u0639\u0646\u06cc \u062e\u06cc\u0632 \u0648\u0642\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0646\u06d2 \u0634\u0627\u06cc\u062f \u06a9\u0686\u06be \u0627\u0633 \u0637\u0631\u062d \u0644\u06a9\u06be\u0627 \u06c1\u0648\u06af\u0627:<\/p>\n<pre><code class=\"language-dart\">try {\n  final user = await repo.getUser();\n  print(user.name);\n} catch (e) {\n  print('Something went wrong: $e');\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u067e\u06c1\u0646\u0686\u0627 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0627\u0648\u0631 \u0686\u06be \u0645\u0627\u06c1 \u0628\u0639\u062f\u060c \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u06af\u06be\u0648\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0627\u06cc\u06a9 \u0628\u06af \u0631\u067e\u0648\u0631\u0679 \u0622\u0626\u06cc\u06d4 <code>catch (e)<\/code> \u0645\u06cc\u06ba \u0646\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0648 \u0646\u06af\u0644 \u0644\u06cc\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 \u0679\u06a9\u0691\u0627 \u0628\u06d2 \u0636\u0631\u0631 \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u0645\u0633\u0627\u0626\u0644 \u06c1\u06cc\u06ba \u062c\u0648 \u0635\u0631\u0641 \u062f\u0628\u0627\u0624 \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0646\u0627\u06a9\u0627\u0645\u06cc \u062f\u0633\u062a\u062e\u0637 \u0645\u06cc\u06ba \u0646\u0638\u0631 \u0646\u06c1\u06cc\u06ba \u0622\u062a\u06cc \u06c1\u06d2\u06d4 \u062c\u0648 \u0628\u06be\u06cc <code>repo.getUser()<\/code> \u0648\u0627\u067e\u0633\u06cc \u06a9\u06cc \u0642\u06cc\u0645\u062a \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0627\u06af\u0631 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0646\u06cc\u0686\u06d2 \u0686\u0644\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0679\u0648\u06a9\u0646 \u062e\u062a\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u0627 \u062c\u0648\u0627\u0628 \u063a\u0644\u0637 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0635\u0631\u0641 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u067e\u0691\u06be \u06a9\u0631 \u06cc\u0627 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u06a9\u06cc\u0691\u06d2 \u0688\u06be\u0648\u0646\u0688 \u06a9\u0631 \u06c1\u06cc \u062c\u0627\u0646 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627\u060c \u0645\u0631\u062a\u0628 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0622\u067e \u06a9\u06cc \u0645\u062f\u062f \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u0627\u06d4 \u0627\u06af\u0631 \u0679\u06cc\u0645 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0631\u06a9\u0646 \u0628\u06be\u0648\u0644 \u062c\u0627\u0626\u06d2\u06d4 <code>try\/catch<\/code> \u06a9\u0648\u0688 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0627\u0648\u0631\u060c \u0627\u06cc\u067e \u0679\u06be\u06cc\u06a9 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0627\u0646\u062a\u0628\u0627\u06c1 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0631\u06cc\u0634 \u0627\u0635\u0644 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0633\u0627\u0645\u0646\u06d2 \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0639\u0645\u06cc\u0631 \u0648\u0642\u062a \u067e\u0631 \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627 <code>catch (e)<\/code> \u0648\u06c1 \u0627\u0646\u062f\u06be\u0627 \u062f\u06be\u0646\u062f \u06c1\u0631 \u0686\u06cc\u0632 \u067e\u0631 \u0642\u0628\u0636\u06c1 \u06a9\u0631 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0679\u0627\u0626\u067e\u0648\u0632\u060c null dereferences\u060c \u0627\u0635\u0644\u06cc \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc\u0627\u06ba\u060c \u0627\u0648\u0631 \u063a\u0644\u0637 JSON \u062c\u0648\u0627\u0628\u0627\u062a \u0633\u0628 \u0627\u06cc\u06a9 \u06c1\u06cc \u0628\u0644\u0627\u06a9 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u062a\u0627\u0631 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0644\u06af \u0627\u0644\u06af \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u0627\u0632\u06a9 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0628\u062f\u0644\u062a\u06d2 \u06c1\u06cc \u0679\u0648\u0679 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0644\u06d2 \u06a9\u0631\u060c \u062a\u0645\u0627\u0645 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u0641\u0646\u06a9\u0634\u0646 \u0631\u0627\u0626\u0679\u0631 \u0627\u0648\u0631 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0627\u06cc\u06a9 \u0633\u0645\u0627\u062c\u06cc \u0645\u0639\u0627\u06c1\u062f\u06c1 \u0628\u0646 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0679\u0627\u0626\u067e \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0646\u0627\u0641\u0630 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0633\u0645\u0627\u062c\u06cc \u0645\u0639\u0627\u06c1\u062f\u06c1 \u062f\u0628\u0627\u0624 \u06a9\u06d2 \u062a\u062d\u062a \u0679\u0648\u0679 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0628\u0691\u06cc \u0679\u06cc\u0645\u0648\u06ba \u0645\u06cc\u06ba\u060c \u0627\u0648\u0631 2 \u0628\u062c\u06d2 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u062d\u0627\u062f\u062b\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0686\u06be \u06c1\u0641\u062a\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u06cc\u06ba \u0646\u06d2 \u0644\u06a9\u06be\u0627 \u062a\u06be\u0627 \u0627\u06cc\u0688\u0648\u0627\u0646\u0633\u0688 \u0627\u06cc\u0631\u0631 \u06c1\u06cc\u0646\u0688\u0644\u0646\u06af \u0627\u0646 \u0688\u0627\u0631\u0679: \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632\u060c \u0631\u0632\u0644\u0679 \u0679\u0627\u0626\u067e\u0633\u060c \u0645\u0648\u0646\u0688\u0632\u060c \u0627\u0648\u0631 \u0641\u06a9\u0633\u0688 \u0627\u06cc\u06a9\u0633\u067e\u0634\u0646\u0632 \u06cc\u06c1 \u0648\u0627\u0636\u062d \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0631\u06cc\u06a9\u0627\u0631\u0688\u060c \u0633\u06cc\u0644 \u0634\u062f\u06c1 \u0631\u0632\u0644\u0679 \u06a9\u06cc \u0627\u0642\u0633\u0627\u0645\u060c \u0627\u0648\u0631 \u0645\u0648\u0646\u0688 \u067e\u06cc\u0679\u0631\u0646\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0648 \u06a9\u0633 \u0637\u0631\u062d \u062d\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 <code>dartz<\/code>\u0627\u0648\u0631 \u0645\u0642\u0631\u0631\u06c1 \u0645\u0633\u062a\u062b\u0646\u06cc\u0627\u062a \u062c\u0648 \u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0679\u0627\u0626\u067e\u060c \u0645\u0631\u0626\u06cc\u060c \u0627\u0648\u0631 \u0646\u0627\u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u06c1 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u0627\u067e\u0646\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0644\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u0645\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u06be\u0631\u06cc\u0688 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0648\u06ba\u060c \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u0627\u06cc\u06a9 \u0633\u0631\u0633\u0631\u06cc \u0631\u06cc\u06a9\u06cc\u067e \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u0648\u06ba \u06af\u0627 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u06c1\u0627\u06ba \u062a\u06be\u0627\u06d4<\/p>\n<h3 id=\"heading-what-well-cover\">\u06c1\u0645 \u06a9\u06cc\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u06cc\u06ba \u06af\u06d2:<\/h3>\n<ol>\n<li>\n<p>\u062e\u0644\u0627\u0635\u06c1: \u062c\u06c1\u0627\u06ba \u067e\u0686\u06be\u0644\u0627 \u0645\u0636\u0645\u0648\u0646 \u0686\u06be\u0648\u0691 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0628\u0639\u062f \u0645\u0633\u0626\u0644\u06c1<\/p>\n<\/li>\n<li>\n<p>DartExceptor \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0628\u0646\u06cc\u0627\u062f\u06cc \u0642\u0633\u0645<\/p>\n<\/li>\n<li>\n<p>API: \u0686\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u062c\u06c1\u0627\u06ba \u06cc\u06c1 \u06a9\u0644\u06cc\u0646 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u0645\u06cc\u06ba \u0641\u0679 \u0628\u06cc\u0679\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u06cc\u0648\u06ba \u0646\u06c1 \u0635\u0631\u0641 \u0688\u0627\u0631\u0679\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u061f<\/p>\n<\/li>\n<li>\n<p>\u0627\u0633\u06d2 \u0622\u0632\u0645\u0627\u0626\u06cc\u06ba<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"heading-recap-where-the-previous-article-left-off\">\u062e\u0644\u0627\u0635\u06c1: \u062c\u06c1\u0627\u06ba \u067e\u0686\u06be\u0644\u0627 \u0645\u0636\u0645\u0648\u0646 \u0686\u06be\u0648\u0691 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/h2>\n<p>\u0645\u0636\u0645\u0648\u0646 \u06a9\u0626\u06cc \u067e\u0631\u062a\u0648\u06ba \u0633\u06d2 \u06af\u0632\u0631\u0627\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u067e\u0686\u06be\u0644\u06cc \u067e\u0631\u062a \u06a9\u06cc \u062d\u062f\u0648\u062f \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06c1\u0645 \u0646\u06d2 \u0633\u0628 \u0633\u06d2 \u0622\u0633\u0627\u0646 \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be Dart Records \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u063a\u0627\u0632 \u06a9\u06cc\u0627: \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u0627\u0648\u0631 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 nullable \u0641\u06cc\u0644\u0688\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0679\u0627\u0626\u067e \u0634\u062f\u06c1 \u0679\u06cc\u067e\u0644\u06d4<\/p>\n<pre><code class=\"language-dart\">typedef Result<e t=\"\"> = ({E? e, T? data});\n<\/e><\/code><\/pre>\n<p>\u06cc\u06c1 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u0633\u06d2 \u0628\u06c1\u062a\u0631 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u0627\u067e\u0633\u06cc \u06a9\u06cc \u0642\u0633\u0645 \u0627\u0628 \u062a\u0633\u0644\u06cc\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u06cc \u0639\u0645\u0644\u06cc \u062d\u062f\u0648\u062f \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06cc\u06c1 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u0646\u06c1 \u0628\u06be\u0648\u0644\u06cc\u06ba \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0641\u06cc\u0644\u0688\u0632 \u0622\u0628\u0627\u062f \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06be\u0648\u0644\u06d2 \u0628\u063a\u06cc\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u06a9\u0648\u0626\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0641\u0631\u0642 \u06a9\u0627 \u0646\u062a\u06cc\u062c\u06c1 \u0627\u06cc\u06a9 \u0645\u0646\u0627\u0633\u0628 \u0645\u06c1\u0631 \u0628\u0646\u062f \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u06cc \u0642\u0633\u0645 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>AppResult<t\/><\/code>nullable \u0641\u06cc\u0644\u0688 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u0648 \u062f\u0648 \u0633\u0627\u062e\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0644\u06af \u0630\u06cc\u0644\u06cc \u06a9\u0644\u0627\u0633\u0648\u06ba \u0633\u06d2 \u0628\u062f\u0644 \u062f\u06cc\u06ba\u06d4 <code>AppSuccess<\/code> \u0627\u0648\u0631 <code>AppFailure<\/code>\u0627\u0648\u0631 \u0628\u06be\u06cc \u06c1\u06d2\u06d4 <code>when()<\/code> \u062f\u0648\u0646\u0648\u06ba \u0635\u0648\u0631\u062a\u0648\u06ba \u06a9\u0648 \u0645\u062c\u0628\u0648\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1:<\/p>\n<pre><code class=\"language-dart\">sealed class AppResult<t> {\n  const AppResult();\n\n  R when<r>({\n    required R Function(T value) success,\n    required R Function(AppFailure failure) failure,\n  });\n}\n\nclass AppSuccess<t> extends AppResult<t> {\n  const AppSuccess(this.value);\n  final T value;\n\n  @override\n  R when<r>({\n    required R Function(T value) success,\n    required R Function(AppFailure failure) failure,\n  }) => success(value);\n}\n\nclass AppFailure<t> extends AppResult<t> {\n  const AppFailure(this.error);\n  final AppError error;\n\n  @override\n  R when<r>({\n    required R Function(T value) success,\n    required R Function(AppFailure failure) failure,\n  }) => failure(this);\n}\n<\/r><\/t><\/t><\/r><\/t><\/t><\/r><\/t><\/code><\/pre>\n<p>\u06a9\u06cc\u0648\u0646\u06a9\u06c1 <code>AppResult<\/code> \u06c1\u06d2 <code>sealed<\/code>\u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u0645\u06a9\u0645\u0644 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06cc\u0627 \u0627\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u0646\u06a9\u0627\u062a \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u0628\u06be\u0648\u0644 \u0633\u06a9\u062a\u06d2\u06d4 <code>try\/catch<\/code>.<\/p>\n<p>\u0645\u0636\u0645\u0648\u0646 \u0648\u06c1\u0627\u06ba \u0633\u06d2 \u0628\u0691\u06be\u0627\u06d4 <code>AppResult<\/code> \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 \u0645\u0646\u0627\u0633\u0628 \u0645\u0648\u0646\u0688 \u0645\u06cc\u06ba <code>map<\/code> \u0627\u0648\u0631 <code>flatMap<\/code>\u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0631\u06cc\u067e\u0631 \u06a9\u0648 \u0686\u06be\u0648\u0691\u06d2 \u0628\u063a\u06cc\u0631 \u062a\u0628\u062f\u06cc\u0644 \u0627\u0648\u0631 \u0645\u0631\u0628\u0648\u0637 \u0627\u0648\u0631 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0627 \u062c\u0627\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>dartz<\/code>\u0627\u06cc\u0633 <code>Either<\/code> \u06cc\u06c1 \u0627\u0646 \u0679\u06cc\u0645\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0639\u0627\u0645 \u0641\u0646\u06a9\u0634\u0646\u0644 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u06c1\u06d2 \u062c\u0648 \u0648\u06c1 \u0627\u0644\u0641\u0627\u0638 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06c1\u0645 \u0646\u06d2 \u0641\u0631\u06cc\u0632\u0688 \u0628\u06cc\u0633 \u0642\u0633\u0645 \u06a9\u06cc \u0631\u0639\u0627\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u06cc\u0631\u0631 \u0633\u0627\u0626\u06cc\u0688 \u0646\u06d2 \u0628\u06be\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0679\u0631\u0646\u06af \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0633\u0679\u0631\u06a9\u0686\u0631\u0688\u060c \u067e\u06cc\u0679\u0631\u0646 \u0633\u06d2 \u0645\u0644\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u06cc\u0679\u0627 \u067e\u0627\u0633 \u06a9\u06cc\u0627\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba \u067e\u06cc\u0679\u0631\u0646 \u067e\u0648\u0631\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u0645\u06cc\u06ba \u0627\u0633 \u0637\u0631\u062d \u0646\u0638\u0631 \u0622\u06cc\u0627: \u06cc\u0639\u0646\u06cc \u0633\u06cc\u0644 \u0634\u062f\u06c1 \u0646\u062a\u0627\u0626\u062c \u06a9\u06cc \u0627\u0642\u0633\u0627\u0645\u060c \u0633\u0627\u062e\u062a\u06cc \u0627\u0633\u062a\u062b\u0646\u0627\u0621\u060c \u0627\u0648\u0631 <code>map<\/code>\/<code>flatMap<\/code> \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc\u060c \u0688\u0648\u0645\u06cc\u0646\u060c \u0627\u0648\u0631 \u067e\u0631\u06cc\u0632\u0646\u0679\u06cc\u0634\u0646 \u0644\u06cc\u0626\u0631\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0633\u062a\u0642\u0644 \u06a9\u0646\u06a9\u0634\u0646 \u0628\u0646\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u06a9\u0645\u0644 \u0627\u062e\u0630\u060c \u0627\u06af\u0631 \u0622\u067e \u062c\u0627\u0646\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u067e\u0631\u062a \u06a9\u06cc\u0648\u06ba \u0634\u0627\u0645\u0644 \u06a9\u06cc \u06af\u0626\u06cc\u06d4 <code>dartz<\/code> \u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0648\u0631 \u0645\u0642\u0631\u0631\u06c1 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u06a9\u0627 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u062a\u0641\u0635\u06cc\u0644 \u0633\u06d2 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u062c\u0648 \u06a9\u0686\u06be \u0622\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0635\u0631\u0641 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u0634\u06a9\u0644 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u0634\u06a9\u0644 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u0641\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-problem-after-the-pattern\">\u067e\u06cc\u0679\u0631\u0646 \u06a9\u06d2 \u0628\u0639\u062f \u0645\u0633\u0626\u0644\u06c1<\/h2>\n<p>\u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0648 \u0634\u0627\u0626\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u06a9\u06cc\u0627 \u06c1\u0648\u0627:<\/p>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0645\u06cc\u06ba \u0646\u06d2 \u06a9\u0648\u0626\u06cc \u0646\u06cc\u0627 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0634\u0631\u0648\u0639 \u06a9\u06cc\u0627 \u062a\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u067e\u0646\u06d2 \u0622\u067e \u06a9\u0648 \u06cc\u06c1\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u067e\u0627\u06cc\u0627\u06d4 <code>Result<\/code> \u06a9\u0644\u0627\u0633\u060c \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u0646\u0627 <code>Ok<\/code> \u0627\u0648\u0631 <code>Err<\/code>\u062f\u0648\u0628\u0627\u0631\u06c1 \u0646\u0641\u0627\u0630 <code>map<\/code>, <code>flatMap<\/code>\u0627\u0648\u0631 \u0628\u0627\u0642\u06cc\u06d4 \u0645\u06cc\u06ba \u0627\u0633\u06cc \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 150 \u0644\u0627\u0626\u0646\u0648\u06ba \u06a9\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0633\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u06a9\u0627\u067e\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba\u060c \u0686\u06be\u0648\u0679\u06cc \u0686\u06be\u0648\u0679\u06cc \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0648 \u0627\u06cc\u0688\u062c\u0633\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba\u060c \u0627\u0648\u0631 \u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a \u0645\u06cc\u06ba \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u0636\u0627\u062f\u0627\u062a \u06a9\u0627 \u0634\u06a9\u0627\u0631 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u0648\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u06cc\u06ba \u0628\u06be\u0648\u0644 \u062c\u0627\u062a\u0627 \u06c1\u0648\u06ba \u06a9\u06c1 \u0627\u0646\u06c1\u06cc\u06ba \u067e\u0686\u06be\u0644\u06cc \u0628\u0627\u0631 \u06a9\u06cc\u0627 \u06a9\u06c1\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>\u067e\u06cc\u0679\u0631\u0646 \u062f\u0631\u0633\u062a \u062a\u06be\u0627\u06d4 \u062a\u06a9\u0631\u0627\u0631 \u0627\u06cc\u0633\u06cc \u0646\u06c1\u06cc\u06ba \u062a\u06be\u06cc\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0646\u0645\u0648\u0646\u06c1 \u062c\u0633\u06d2 \u06c1\u0631 \u0628\u0627\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0646\u0645\u0648\u0646\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0628\u0644\u06a9\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0645 \u06c1\u06d2\u06d4 \u062a\u0648 \u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u067e\u06cc\u06a9 \u06a9\u06cc\u0627\u06d4<\/p>\n<h2 id=\"heading-how-dartexceptor-works\">DartExceptor \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p><strong>\u0688\u0627\u0631\u0679 \u0627\u06cc\u06a9\u0633\u067e\u0679\u0631<\/strong> \u06c1\u0644\u06a9\u0627 \u067e\u06be\u0644\u06a9\u0627\u060c \u0627\u0646\u062d\u0635\u0627\u0631 \u0633\u06d2 \u067e\u0627\u06a9 \u0688\u0627\u0631\u0679 3 \u067e\u06cc\u06a9\u06cc\u062c \u062c\u0648 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0639\u06cc\u0646 \u0645\u0637\u0627\u0628\u0642 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>Trace<t e=\"\"\/><\/code>, <code>Ok<\/code>, <code>Err<\/code>\u0627\u0648\u0631 \u06cc\u06c1 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u06ba \u062c\u0627\u0646 \u0628\u0648\u062c\u06be \u06a9\u0631 \u0645\u0648\u0646\u0627\u0688\u06cc\u06a9 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u0627 \u0633\u06cc\u0679 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u06c1\u06cc\u06ba <code>dartz<\/code>\u06a9\u0648\u0626\u06cc \u0645\u0646\u062c\u0645\u062f \u0646\u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc build_runner \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0635\u0631\u0641 <code>Trace<t e=\"\"\/><\/code>\u062f\u0648 \u0646\u0641\u0627\u0630 \u0627\u0648\u0631 \u0686\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">dependencies:\n  dart_exceptor: ^1.1.2\n<\/code><\/pre>\n<pre><code class=\"language-dart\">import 'package:dart_exceptor\/dart_exceptor.dart';\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u0633\u06cc\u0679 \u0627\u067e \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-the-core-type\">\u0628\u0646\u06cc\u0627\u062f\u06cc \u0642\u0633\u0645<\/h2>\n<p>DartExceptor \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06c1\u06cc\u06ba\u06d4 <code>Trace<t e=\"\"\/><\/code>:<\/p>\n<ul>\n<li>\n<p><code>T<\/code>    \u06cc\u06c1 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06cc \u0642\u0633\u0645 \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>E<\/code>    \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u0642\u0633\u0645<\/p>\n<\/li>\n<\/ul>\n<p><code>Trace<\/code>    \u0628\u0627\u0644\u06a9\u0644 \u062f\u0648 \u0646\u0641\u0627\u0630 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-dart\">return Ok(user);                                    \/\/ success\nreturn Err(AppException(code: 404, e: 'Not found')); \/\/ failure\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u0628\u06be\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 <code>Trace<\/code> \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062a\u0645 \u0648\u0627\u067e\u0633 \u0622 \u06af\u0626\u06d2 <code>Ok<\/code> \u06cc\u0627 <code>Err<\/code>\u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u0631\u0639\u06a9\u0633 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 <code>Trace<\/code> \u06a9\u06c1\u06cc\u06ba \u0627\u0648\u0631\u06d4 \u0627\u0628 \u0641\u0646\u06a9\u0634\u0646 \u062f\u0633\u062a\u062e\u0637 \u06c1\u0645\u06cc\u06ba \u0633\u0686 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">Future<trace appexception=\"\">> getUser(String id);\n<\/trace><\/code><\/pre>\n<p>\u062c\u0648 \u0628\u06be\u06cc \u0627\u0633 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0648 \u067e\u0691\u06be\u06d2 \u06af\u0627 \u0648\u06c1 \u0641\u0648\u0631\u0627\u064b \u062c\u0627\u0646 \u0644\u06d2 \u06af\u0627 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 <code>User<\/code>\u06cc\u0627 \u06cc\u06c1 \u0627\u0633 \u0637\u0631\u062d \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2: <code>AppException<\/code>. \u0686\u06be \u0645\u06c1\u06cc\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u06cc\u06c1 \u06a9\u0648\u0626\u06cc \u062a\u0639\u062c\u0628 \u0646\u06c1\u06cc\u06ba \u062a\u06be\u0627.<\/p>\n<h2 id=\"heading-the-api-four-methods-each-with-one-job\">API: \u0686\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u067e\u0686\u06be\u0644\u06d2 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 <code>Result<\/code> \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u062a\u06be\u06cc <code>map<\/code>, <code>flatMap<\/code>\u0627\u0648\u0631 <code>when()<\/code> \u067e\u06cc\u0679\u0631\u0646 \u0645\u06cc\u0686\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2\u060c DartExceptor \u0627\u06cc\u06a9 \u06c1\u06cc \u0634\u06a9\u0644 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0686\u0627\u0631 \u0645\u0631\u06a9\u0648\u0632 \u0637\u0631\u06cc\u0642\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0648\u0691 \u062f\u06cc\u062a\u0627 \u06c1\u06d2:<\/p>\n<h3 id=\"heading-split-the-exit-point\"><code>split<\/code>\u0627\u062e\u062a\u062a\u0627\u0645\u06cc \u0646\u0642\u0637\u06c1<\/h3>\n<p><code>split<\/code>    \u062a\u0645 \u0648\u06c1\u06cc\u06ba \u0633\u06d2 \u0686\u0644\u06d2 \u062c\u0627\u0624 <code>Trace<\/code> \u062f\u0646\u06cc\u0627 \u062f\u0648\u0646\u0648\u06ba \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u063a\u0644\u0637\u06cc \u0633\u06d2 \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u0648 \u0627\u0648\u0648\u0631 \u0631\u0627\u0626\u06cc\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">result.split(\n  data: (user) => print(user.name),\n  e: (e) => print(e.message),\n);\n<\/code><\/pre>\n<h3 id=\"heading-map-extract-and-transform-success\"><code>map<\/code>\u0646\u06a9\u0627\u0644\u0646\u06d2 \u0627\u0648\u0631 \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06cc \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc<\/h3>\n<p><code>map<\/code>    \u0633\u06d2 \u0642\u062f\u0631 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>Ok<\/code> \u0622\u067e \u0627\u0633\u06d2 \u062e\u0648\u062f \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">final activeUsers = result.map(\n  data: (users) => users.where((u) => u.isActive).toList(),\n);\n<\/code><\/pre>\n<h3 id=\"heading-maperror-extract-and-transform-failure\"><code>mapError<\/code>\u0646\u06a9\u0627\u0644\u0646\u06d2 \u0627\u0648\u0631 \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc\u06d4<\/h3>\n<p>\u06cc\u06c1 \u0627\u06cc\u06a9 \u0622\u0626\u06cc\u0646\u06c1 \u06c1\u06d2 <code>map<\/code>\u063a\u0644\u0637\u06cc \u06a9\u06cc \u0637\u0631\u0641 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u0648\u0642\u062a \u0645\u0641\u06cc\u062f \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u0627\u06cc\u06a9 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0644 \u0628\u0627\u0624\u0646\u0688\u0631\u06cc \u06a9\u0648 \u0639\u0628\u0648\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0688\u06cc\u0679\u0627 \u0644\u06cc\u0626\u0631 \u0645\u06cc\u06ba \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u06cc \u0642\u0633\u0645 \u0688\u0648\u0645\u06cc\u0646 \u0644\u06cc\u0626\u0631 \u0645\u06cc\u06ba \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u06cc \u0642\u0633\u0645 \u0633\u06d2 \u0645\u062e\u062a\u0644\u0641 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">final domainError = result.mapError(\n  e: (e) => AppException(code: e.statusCode, e: e.toString()),\n);\n<\/code><\/pre>\n<h3 id=\"heading-bind-chain-operations-that-return-trace\"><code>bind<b\/><\/code>\u0633\u0644\u0633\u0644\u06c1 \u0622\u067e\u0631\u06cc\u0634\u0646 \u062c\u0648 \u0648\u0627\u067e\u0633 \u0622\u062a\u0627 \u06c1\u06d2\u06d4 <code>Trace<\/code><\/h3>\n<p>\u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0627\u0635\u0644 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>bind<b\/><\/code> \u0622\u067e \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u062e\u0648\u062f \u0648\u0627\u067e\u0633 \u0622\u062c\u0627\u0626\u06d2\u06d4 <code>Trace<\/code>\u06c1\u0631 \u0642\u062f\u0645 \u067e\u0631 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u06a9\u06cc \u0642\u0633\u0645 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u0645\u0631\u062d\u0644\u06c1 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u062a\u0645\u0627\u0645 \u0646\u06cc\u0686\u06d2 \u0648\u0627\u0644\u06d2 \u0645\u0631\u0627\u062d\u0644 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0686\u06be\u0648\u0691 \u062f\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-dart\">result\n    .bind<user>(\n      n: (users) {\n        try {\n          return Ok(users.firstWhere((u) => u.id == id));\n        } catch (e) {\n          return Err(AppException(code: 404, e: 'User not found'));\n        }\n      },\n    )\n    .bind<string>(n: (user) => Ok(user.firstName))\n    .split(\n      data: (name) => print('User: $name'),\n      e: (e) => print('Error: ${e.e}'),\n    );\n<\/string><\/user><\/code><\/pre>\n<p><code>List<user\/><\/code>    \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>User<\/code> \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>String<\/code>. \u06c1\u0631 \u0627\u06cc\u06a9 <code>bind<b\/><\/code> \u062c\u0628 \u0622\u067e \u06a9\u0633\u06cc \u0642\u0633\u0645 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648\u060c \u0645\u0631\u062a\u0628 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06c1\u0631 \u0642\u062f\u0645 \u0627\u0648\u0631 \u0634\u0627\u0631\u0679 \u0633\u0631\u06a9\u0679 \u06a9\u0648 \u0641\u0648\u0631\u0627\u064b \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u06af\u0631 \u0633\u0644\u0633\u0644\u06c1 \u0645\u06cc\u06ba \u06a9\u06c1\u06cc\u06ba \u0628\u06be\u06cc \u06a9\u0648\u0626\u06cc \u062e\u0631\u0627\u0628\u06cc \u0648\u0627\u0642\u0639 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>e<\/code> \u06c1\u06cc\u0646\u0688\u0644\u0631 <code>split<\/code>. \u06cc\u06c1 \u0627\u06cc\u06a9 \u067e\u0631\u0627\u0646\u06d2 \u0645\u0636\u0645\u0648\u0646 \u0633\u06d2 \u06c1\u06d2\u06d4 <code>flatMap<\/code> \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0646\u0637\u0642\u06cc \u0627\u0646\u062c\u0627\u0645 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0627\u06cc\u0627 \u06af\u06cc\u0627\u06d4<\/p>\n<h2 id=\"heading-where-this-fits-in-clean-architecture\">\u062c\u06c1\u0627\u06ba \u06cc\u06c1 \u06a9\u0644\u06cc\u0646 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u0645\u06cc\u06ba \u0641\u0679 \u0628\u06cc\u0679\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u0635\u0644 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u067e\u06cc\u0679\u0631\u0646 \u06c1\u0645\u06cc\u0634\u06c1 \u0635\u0631\u0641 \u0646\u062d\u0648 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0645\u0642\u0635\u062f \u0646\u0627\u06a9\u0627\u0645\u06cc \u06a9\u0648 \u0645\u062a\u0639\u062f\u062f \u067e\u0631\u062a\u0648\u06ba \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u0627 \u062a\u06be\u0627\u06d4 DartExceptor \u06a9\u0648 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06d2 \u062f\u0631\u0633\u062a \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-dart\">\/\/ Data layer\nabstract class DataSource {\n  Future<trace>, AppException>> getAllUsers();\n}\n\n\/\/ Repository layer\nabstract class IUserRepository {\n  Future<trace>, AppException>> getAllUsers();\n}\n\n\/\/ Use case layer\nclass UserUseCase {\n  Future<trace>, AppException>> getAllUsers() => repository.getAllUsers();\n}\n\n\/\/ Presentation layer\nvoid loadUsers() async {\n  final result = await useCase.getAllUsers();\n\n  result.split(\n    data: (users) => print('Loaded ${users.length} users'),\n    e: (e) => print('Failed: ${e.e}'),\n  );\n}\n<\/trace><\/trace><\/trace><\/code><\/pre>\n<p>\u0622\u067e \u06c1\u0631 \u0628\u0627\u0631 \u0641\u0627\u0624\u0646\u0688\u06cc\u0634\u0646 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc\u060c \u0648\u06c1\u06cc \u0639\u0644\u06cc\u062d\u062f\u06af\u06cc\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u0642\u0633\u0645 \u06a9\u06d2 \u062e\u0631\u0627\u0628\u06cc \u06a9\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-why-not-just-use-dartz\">\u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0648\u06ba \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u06d4 <code>dartz<\/code>?<\/h2>\n<p>\u06c1\u0645 \u0646\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u062a\u06be\u0627\u06d4 <code>dartz<\/code>\u0627\u06cc\u0633 <code>Either<\/code> \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0679\u06cc\u0645 API \u06a9\u06cc \u0633\u0637\u062d \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u0631\u0627\u0645 \u062f\u06c1 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u0648\u0626\u06cc \u0645\u0633\u0626\u0644\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0648\u0627\u0642\u0639\u06cc \u0627\u06cc\u06a9 \u0679\u06be\u0648\u0633 \u0627\u0646\u062a\u062e\u0627\u0628 \u06c1\u06d2\u06d4<\/p>\n<p>DartExceptor \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06c1\u0627\u0633\u06a9\u0644 \u0637\u0631\u0632 \u06a9\u06d2 \u0641\u0646\u06a9\u0634\u0646\u0644 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u06a9\u0646\u0648\u0646\u0634\u0646\u0632 \u067e\u0631 \u0628\u0646\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u0648 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u06cc \u0642\u0633\u0645 \u06a9\u0627 \u0646\u0645\u0648\u0646\u06c1 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0646\u06c1\u06cc\u06ba <code>Left<\/code>\/<code>Right<\/code>\u0646\u06c1\u06cc\u06ba <code>fold<\/code>\u06a9\u0648\u0626\u06cc \u0639\u0628\u0648\u0631\u06cc \u0627\u0646\u062d\u0635\u0627\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0635\u0631\u0641 <code>Trace<\/code>, <code>Ok<\/code>, <code>Err<\/code>\u06cc\u06c1\u0627\u06ba \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0686\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2:<\/p>\n<table>\n<thead>\n<tr>\n<th\/>\n<th>\u0688\u0627\u0631\u0679 \u0627\u06cc\u06a9\u0633\u067e\u0679\u0631<\/th>\n<th>\u0688\u0627\u0631\u0679\u0633<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u0627\u0646\u062d\u0635\u0627\u0631<\/td>\n<td>\u0635\u0641\u0631<\/td>\n<td>\u0627\u06a9\u062b\u0631\u06cc\u062a<\/td>\n<\/tr>\n<tr>\n<td>\u0688\u0627\u0631\u0679\u0633 3 \u0645\u0642\u0627\u0645\u06cc<\/td>\n<td>\u06c1\u0627\u06ba<\/td>\n<td>\u0646\u06c1\u06cc\u06ba<\/td>\n<\/tr>\n<tr>\n<td>API \u0633\u0637\u062d<\/td>\n<td>4 \u0637\u0631\u06cc\u0642\u06d2<\/td>\n<td>\u0633\u0627\u0626\u0632 \u0645\u06cc\u06ba \u0628\u0691\u0627<\/td>\n<\/tr>\n<tr>\n<td>\u06c1\u0627\u0633\u06a9\u0644 \u062a\u0635\u0648\u0631\u0627\u062a \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/td>\n<td>\u0646\u06c1\u06cc\u06ba<\/td>\n<td>\u06c1\u0627\u06ba<\/td>\n<\/tr>\n<tr>\n<td>\u0633\u06cc\u0641 \u0686\u06cc\u0646 \u0679\u0627\u0626\u067e \u06a9\u0631\u06cc\u06ba (<code>bind<b\/><\/code>)<\/td>\n<td>\u06c1\u0627\u06ba<\/td>\n<td>\u06c1\u0627\u06ba (<code>flatMap<\/code>)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"heading-try-it-out\">\u0627\u0633\u06d2 \u0622\u0632\u0645\u0627\u0626\u06cc\u06ba<\/h2>\n<p>DartExceptor pub.dev \u067e\u0631 \u0634\u0627\u0626\u0639 \u06c1\u0648\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-dart\">dependencies:\n  dart_exceptor: ^1.1.2\n<\/code><\/pre>\n<p>\u067e\u06cc\u06a9\u06cc\u062c: pub.dev\/packages\/dart_justor \u0645\u0627\u062e\u0630: GitHub<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0645\u06cc\u0631\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0636\u0627\u0645\u06cc\u0646 \u067e\u0691\u06be\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u062e\u0648\u062f \u06c1\u06cc \u06a9\u0686\u06be \u0627\u06cc\u0633\u0627 \u0628\u0646\u0627\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0645\u06cc\u06ba \u0648\u0627\u0642\u0639\u06cc \u06cc\u06c1 \u0633\u0646\u0646\u0627 \u0686\u0627\u06c1\u0648\u06ba \u06af\u0627 \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u0648\u0631\u0698\u0646 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u06cc\u0633\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0648\u0631 DartExceptor \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u0622\u067e \u0627\u0633 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u067e\u06be\u0631 \u0633\u06d2 \u0644\u06a9\u06be\u06d2 \u0628\u063a\u06cc\u0631 GitHub \u067e\u0631 \u0627\u0633\u0679\u0627\u0631 \u0628\u0646 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u06d2 \u0641\u0644\u0679\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0645\u0639\u0646\u06cc \u062e\u06cc\u0632 \u0648\u0642\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0645 \u06a9\u06cc\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0646\u06d2 \u0634\u0627\u06cc\u062f \u06a9\u0686\u06be \u0627\u0633 \u0637\u0631\u062d \u0644\u06a9\u06be\u0627 \u06c1\u0648\u06af\u0627: try { final user = await repo.getUser(); print(user.name); } catch (e) { print(&#8216;Something went wrong: $e&#8217;); } \u06cc\u06c1 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u067e\u06c1\u0646\u0686\u0627 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0627\u0648\u0631 \u0686\u06be \u0645\u0627\u06c1 \u0628\u0639\u062f\u060c [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-25588","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/25588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=25588"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/25588\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=25588"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=25588"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=25588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}