{"analyzer":{"code_digest":"edbace27f90336e94afe0f85404ebc4cada570f8e23fa18000d21312a072a2ae","name":"archkeel-dart-analyzer","version":"0.74.0"},"bindings":[],"calls":[["DARTCALL-0834a277eafb1c40","FACT","source","call","Order(id, List.unmodifiable(lines))",["$68"],["EVD-ada09eed9250401f"],[],[],[],[1,false,{"candidates_truncated":false,"reason":"$0","status":"resolved","targets":["$65"]},"Order(id, List.unmodifiable(lines))","$1","$3","$40","$64","$68","resolved",["$65"]]],["DARTCALL-0be612e473296753","FACT","source","call","Uri.parse('https://shop.example/api/')",["$56"],["EVD-76fa55cf3fc59ee5"],[],[],[],[0,false,"$m","Uri.parse('https://shop.example/api/')","$89","$4","$39","$54","$56","$90",[]]],["DARTCALL-0c1c1e8e4ad50641","FACT","source","call","http.Client()",["$53"],["EVD-a909c3af2e129e07"],[],[],[],[0,false,"$m","http.Client()","$89","DARTDEF-c55182f84e9c08ed","$38","$52","$53","$90",[]]],["DARTCALL-203868c0727bab87","FACT","source","call","$34",["$57"],["EVD-5ca660ee6b5a6efd"],[],[],[],[0,false,"$m","$34","$89","$6","$39","$54","$57","$90",[]]],["DARTCALL-277c6e5e0f7d8479","FACT","source","call","IOClient(HttpClient()..connectionTimeout = const Duration(seconds:10))",["$51"],["EVD-e3ec41d1a6249b47"],[],[],[],[0,false,"$m","IOClient(HttpClient()..connectionTimeout = const Duration(seconds:10))","$89","$9","$37","$50","$51","$90",[]]],["DARTCALL-2baf6176440b2fa9","FACT","source","call","runApp(MaterialApp(home:order_page.OrderPage(repository:HttpOrderRepository.remote())))",["shop.main.main"],["EVD-d00023d047050770"],[],[],[],[0,false,"$m","runApp(MaterialApp(home:order_page.OrderPage(repository:HttpOrderRepository.remote())))","$89","$8","$42","shop.main","shop.main.main","$90",[]]],["DARTCALL-2bfb94c702bd0161","FACT","source","call",".initState()",["$81"],["EVD-b33a1fb6609cb8bb"],[],[],[],[1,false,"$m",".initState()","$1","$2","$44","$75","$81","resolved",["$81"]]],["DARTCALL-394a95e742869778","FACT","source","call","$91",["$81"],["EVD-cdf3c3ce8f747f9b"],[],[],[],[0,false,"$m","$91","$89","$2","$44","$75","$81","$90",[]]],["DARTCALL-43301b41321c6e55","FACT","source","call","_base.resolve('customers/$customerId/orders')",["$58"],["EVD-edc08a934b88c327"],[],[],[],[0,false,"$m","_base.resolve('customers/$customerId/orders')","$89","$11","$39","$54","$58","$90",[]]],["DARTCALL-45c7706a3fd13fb0","FACT","source","call","setState(() => _orders = orders)",["$81"],["EVD-c167bc8883cfd281"],[],[],[],[0,false,"$m","setState(() => _orders = orders)","$89","$2","$44","$75","$81","$90",[]]],["DARTCALL-52a83031ead5a535","FACT","source","call",".cast<Map<String, dynamic>>()",["$58"],["EVD-24925d024c38b52a"],[],[],[],[0,false,"$m",".cast<Map<String, dynamic>>()","$89","$11","$39","$54","$58","$90",[]]],["DARTCALL-532cffc81f2baa6f","FACT","source","call","const Duration(seconds:10)",["$51"],["EVD-67c0e7217aa3610d"],[],[],[],[0,false,{"candidates_truncated":false,"reason":"no source class binding","status":"$90","targets":[]},"const Duration(seconds:10)","$89","$9","$37","$50","$51","$90",[]]],["DARTCALL-5d77251b1d3bff1e","FACT","source","call","lines.fold(0,(sum, line) => sum + line.quantity * line.unitCents)",["$66"],["EVD-e200f54db6fee516"],[],[],[],[0,false,"$m","lines.fold(0,(sum, line) => sum + line.quantity * line.unitCents)","$89","$7","$40","$64","$66","$90",[]]],["DARTCALL-704256c5e952a50f","FACT","source","call","jsonDecode(response.body)",["$58"],["EVD-3f88a4e4fa3f25d6"],[],[],[],[0,false,"$m","jsonDecode(response.body)","$89","$11","$39","$54","$58","$90",[]]],["DARTCALL-7fc93649348bf6cf","FACT","source","call","name[0].toUpperCase()",["$88"],["EVD-5b34c5ec3dd69e38"],[],[],[],[0,false,"$m","name[0].toUpperCase()","$89","DARTDEF-fb3036cce6411aaa","$46","$86","$88","$90",[]]],["DARTCALL-80507d037174c532","FACT","source","call","OrderLine(line['description'] as String, line['quantity'] as int, line['unit_cents'] as int)",["$57"],["EVD-c6e7308d8859780c"],[],[],[],[0,false,"$m","OrderLine(line['description'] as String, line['quantity'] as int, line['unit_cents'] as int)","$89","$6","$39","$54","$57","$90",[]]],["DARTCALL-8b1ec43c91234703","FACT","source","call","jsonEncode({'id':order.id})",["$61"],["EVD-60d632b9fd78493f"],[],[],[],[0,false,"$m","jsonEncode({'id':order.id})","$89","$12","$39","$54","$61","$90",[]]],["DARTCALL-8c474f2c756017a2","FACT","source","call",".cast<Map<String, dynamic>>()",["$57"],["EVD-58c372da06e903b1"],[],[],[],[0,false,"$m",".cast<Map<String, dynamic>>()","$89","$6","$39","$54","$57","$90",[]]],["DARTCALL-8e3b75e308ad3d3f","FACT","source","call","order_page.loadLibrary()",["shop.main.main"],["EVD-ae431e060fe59421"],[],[],[],[0,false,"$m","order_page.loadLibrary()","$89","$8","$42","shop.main","shop.main.main","$90",[]]],["DARTCALL-99f063b9e2298a16","FACT","source","call","_base.resolve('orders/${order.id}')",["$61"],["EVD-d83dd6c5b04fd0c1"],[],[],[],[0,false,"$m","_base.resolve('orders/${order.id}')","$89","$12","$39","$54","$61","$90",[]]],["DARTCALL-9a0986c32d68c168","FACT","source","call","createClient()",["$56"],["EVD-31191d66b8c6f4c5"],[],[],[],[0,false,"$m","createClient()","$89","$4","$39","$54","$56","$90",[]]],["DARTCALL-a1fce58a838e2175","FACT","source","call","List.unmodifiable(lines)",["$68"],["EVD-29fdd726035dde3d"],[],[],[],[0,false,"$m","List.unmodifiable(lines)","$89","$3","$40","$64","$68","$90",[]]],["DARTCALL-aaa4f8b11b86f445","FACT","source","call","ListView(children:[for(final order in _orders) OrderTile(order:order)])",["$80"],["EVD-155daf692d3b8592"],[],[],[],[0,false,"$m","ListView(children:[for(final order in _orders) OrderTile(order:order)])","$89","$10","$44","$75","$80","$90",[]]],["DARTCALL-aed439fe0437dcc4","FACT","source","call","OrderTile(order:order)",["$80"],["EVD-78db4b92c4f55cb4"],[],[],[],[1,false,{"candidates_truncated":false,"reason":"$0","status":"resolved","targets":["$83"]},"OrderTile(order:order)","$1","$10","$44","$75","$80","resolved",["$83"]]],["DARTCALL-bfcc366f72582ece","FACT","source","call","$23",["$56"],["EVD-cd100e808e944f4a"],[],[],[],[0,false,"$m","$23","$89","$4","$39","$54","$56","$90",[]]],["DARTCALL-c2eaeccde15f768e","FACT","source","call","_client.put(_base.resolve('orders/${order.id}'), body:jsonEncode({'id':order.id}))",["$61"],["EVD-ac7e4380afe8f8a5"],[],[],[],[0,false,"$m","_client.put(_base.resolve('orders/${order.id}'), body:jsonEncode({'id':order.id}))","$89","$12","$39","$54","$61","$90",[]]],["DARTCALL-d4a98734e3d2d373","FACT","source","call","MaterialApp(home:order_page.OrderPage(repository:HttpOrderRepository.remote()))",["shop.main.main"],["EVD-afade4c7a5273bce"],[],[],[],[0,false,"$m","MaterialApp(home:order_page.OrderPage(repository:HttpOrderRepository.remote()))","$89","$8","$42","shop.main","shop.main.main","$90",[]]],["DARTCALL-deb60fe9f8b8023d","FACT","source","call","Text('${order.id}: ${order.totalCents} ct')",["$85"],["EVD-bf9bce29aef3a611"],[],[],[],[0,false,"$m","Text('${order.id}: ${order.totalCents} ct')","$89","$5","$45","$82","$85","$90",[]]],["DARTCALL-e0ce6b2292df8052","FACT","source","call","order_page.OrderPage(repository:HttpOrderRepository.remote())",["shop.main.main"],["EVD-6ee300ce676c67c3"],[],[],[],[1,false,{"candidates_truncated":false,"reason":"$0","status":"resolved","targets":["$76"]},"order_page.OrderPage(repository:HttpOrderRepository.remote())","$1","$8","$42","shop.main","shop.main.main","resolved",["$76"]]],["DARTCALL-e2604cd018d433fa","FACT","source","call","HttpClient()",["$51"],["EVD-e2e361facf4b1302"],[],[],[],[0,false,"$m","HttpClient()","$89","$9","$37","$50","$51","$90",[]]],["DARTCALL-e4383b57daff4219","FACT","source","call","_client.get(_base.resolve('customers/$customerId/orders'))",["$58"],["EVD-7e5bc82e912b07fd"],[],[],[],[0,false,"$m","_client.get(_base.resolve('customers/$customerId/orders'))","$89","$11","$39","$54","$58","$90",[]]],["DARTCALL-ed50de1a19121020","FACT","source","call","_OrderPageState()",["$78"],["EVD-d2363979706c536d"],[],[],[],[1,false,{"candidates_truncated":false,"reason":"$0","status":"resolved","targets":["$79"]},"_OrderPageState()","$1","DARTDEF-e19f42e0d56392c5","$43","$75","$78","resolved",["$79"]]],["DARTCALL-f51e058bac6b7844","FACT","source","call","widget.repository.ordersOf('demo')",["$81"],["EVD-cdf3c3ce8f747f9b"],[],[],[],[0,false,"$m","widget.repository.ordersOf('demo')","$89","$2","$44","$75","$81","$90",[]]],["DARTCALL-f91be9b49625a9e4","FACT","source","call","HttpOrderRepository.remote()",["shop.main.main"],["EVD-d6d9d621a8edc57d"],[],[],[],[1,false,{"candidates_truncated":false,"reason":"factory construction does not prove a local instance target","status":"partially_resolved","targets":["$55"]},"HttpOrderRepository.remote()","$1","$8","$42","shop.main","shop.main.main","resolved",["$55"]]],["DARTCALL-ff07cc5aa2b2703f","FACT","source","call","_order(item)",["$58"],["EVD-6d0ccee02b430609"],[],[],[],[0,false,"$m","_order(item)","$89","$11","$39","$54","$58","$90",[]]]],"constructs":null,"context_evidence":[],"contexts":[],"contract":{"digest":"8db24706687c01e08b15bc562b2d9be402e3d4195b726dbcf7acee3cb8851e4e","path":"architecture-contract.json","schema_version":"2.1.0"},"coverage":{"ast_coverage_percent":100.0,"call_resolution_percent":17.14,"calls_analyzed":35,"calls_partially_resolved":0,"calls_resolved":6,"calls_unresolved":29,"failures":[],"files_discovered":11,"files_parsed":11,"files_read":11,"rules":"PASS","status":"PASS"},"cycles":[["SCC-387510c021b763a5","FACT","cycles","package_scc","Package cycle with 3 members",["shop.data","$62","$74"],[],[],["EDGE-026feb6a3c2ebdce","EDGE-6a27978a3da93e40","EDGE-789afa4b27a8b2b6","EDGE-78e87a40844cfe5e"],[],[["SCC-42bb3a7d191f575a"],["EDGE-78e87a40844cfe5e","EDGE-6a27978a3da93e40","EDGE-789afa4b27a8b2b6","EDGE-026feb6a3c2ebdce"],"package",["shop.data","$62","$74"]]],["SCC-42bb3a7d191f575a","FACT","cycles","module_scc","Module cycle with 5 members",["$54","$63","$70","$75","$82"],[],[],["EDGE-03043452b643740c","EDGE-0bdfaad2f898238e","EDGE-0f5989dbc086205f","EDGE-5de58e592fe17945","EDGE-7a07c279001c0469","EDGE-8f82bd9940bb0c3d","EDGE-f11b25fee8557c7a","EDGE-f9f1542538d146e7","EDGE-fe2cc1033015c262"],[],["$m",["EDGE-8f82bd9940bb0c3d","EDGE-0f5989dbc086205f","EDGE-f11b25fee8557c7a","EDGE-fe2cc1033015c262","EDGE-03043452b643740c","EDGE-7a07c279001c0469","EDGE-5de58e592fe17945","EDGE-0bdfaad2f898238e","EDGE-f9f1542538d146e7"],"module",["$54","$63","$70","$75","$82"]]]],"declarations":[["ASSIGNMENT-COMPLETE","DECLARED_RULE","components","complete_assignment","Every module in shop belongs to one component",["shop"],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","A library without one owning component escapes every boundary rule.","$m","$m","$m","$m","shop","$m"]],["COMP-APP","DECLARED_RULE","components","component_responsibility","app",["shop.main"],[],[],[],["$36"],["$m","$m","architect","$m","$m",["Order rules, persistence details and widget layout."],"$m","$m","$m","$m","$m","$m","$m","$m",[{"component":"data","decided_by":"architect","rationale":"The composition root chooses the repository implementation the screen is given.","through":[]},{"component":"presentation","decided_by":"architect","rationale":"The composition root starts the order screen.","through":[]}],["Composition root: wire the HTTP repository into the order screen and start the app."],"component","$m","$m","$m"]],["COMP-DATA","DECLARED_RULE","components","component_responsibility","data",["shop.data"],[],[],[],["$36"],["$m","$m","architect","$m","$m",["Widgets and order rules."],"$m","$m","$m","$m","$m",["$54"],"$m","$m",[{"component":"domain","decided_by":"architect","rationale":"The HTTP repository implements the domain's port and builds its entities.","through":[]}],["Load and save orders over HTTP."],"component","$m","$m","$m"]],["COMP-DOMAIN","DECLARED_RULE","components","component_responsibility","domain",["$62"],[],[],[],["$36"],["$m","$m","architect","$m","$m",["Widgets, platform I/O and any transport."],"$m","$m","$m","$m","$m",["$63","shop.domain.repository:OrderRepository"],"$m","$m",[],["Order entities and the repository port every implementation fulfils."],"component","$m","$m","$m"]],["COMP-PRESENTATION","DECLARED_RULE","components","component_responsibility","presentation",["$74"],[],[],[],["$36"],["$m","$m","architect","$m","$m",["HTTP, JSON and deciding what an order is."],"$m","$m","$m","$m","$m",["$75"],"$m","$m",[{"component":"domain","decided_by":"architect","rationale":"Widgets render the domain's orders and load them through its repository port.","through":[]}],["Pages and widgets that show orders."],"component","$m","$m","$m"]],["COMPONENT-NO-CYCLES","DECLARED_RULE","cycles","no_component_cycles","Component dependencies form no cycle",[],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","Components stay layered so each one can be reviewed and replaced in dependency order.","$m","$m","$m","$m","$m","$m"]],["DATA-PLATFORMS-ISOLATED","DECLARED_RULE","dependency_violations","sibling_isolation","2 peers must not import each other",["$50","$52"],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m",true,"$m","$m","$m","$m","$m","$m","The two platform clients are alternatives of one conditional import, so neither may depend on the other.","$m","$m","$m","$m","$m","$m"]],["DEP-DOMAIN-NO-DART-IO","DECLARED_RULE","dependency_violations","forbidden_dependency","shop.domain must not depend on dart.io",["dart.io","$62"],[],[],[],["$36"],["$m",[],"architect","$m","$m","$m",true,"$m","$m","$m","$m","$m","$m","The domain runs unchanged in a browser build, which has no dart:io.","$m","$m","$m","$m","$62","dart.io"]],["EXTERNAL-COMPLETE","DECLARED_RULE","$35","complete_external_scope","Every dependency shop imports is declared",["shop"],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","A package no rule names is a package nobody chose; the dart: core libraries are the standard library and need no rule.","$m","$m","$m","$m","shop","$m"]],["EXTERNAL-FLUTTER-UI","DECLARED_RULE","dependency_violations","external_dependency_scope","flutter is allowed only in shop.main, shop.presentation",["flutter","shop.main","$74"],[],[],[],["$36"],["$m",["shop.main","$74"],"architect","flutter","$m","$m","$m","$m","$m","$m","$m","$m","$m","Only the entry point and the widgets know Flutter, so order rules stay testable without a widget tree.","$m","$m","$m","$m","$m","$m"]],["EXTERNAL-HTTP-DATA","DECLARED_RULE","dependency_violations","external_dependency_scope","http is allowed only in shop.data",["http","shop.data"],[],[],[],["$36"],["$m",["shop.data"],"architect","http","$m","$m","$m","$m","$m","$m","$m","$m","$m","Only the data layer speaks HTTP; everything else sees the repository port.","$m","$m","$m","$m","$m","$m"]],["INTERFACE-BOUNDARY","DECLARED_RULE","api_surface","interface_boundary","Cross-component imports must reach the target's declared public interface",[],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m",true,"$m","$m","$m","$m","$m","$m","Components meet only at their declared libraries and names, so reaching past a facade requires a visible contract change.","$m","$m","$m","$m","$m","$m"]],["REQUIRES-COMPLETE","DECLARED_RULE","components","complete_requires","Every cross-component import is covered by the source's requires list",[],[],[],[],["$36"],["$m","$m","architect","$m","$m","$m",true,"$m","$m","$m","$m","$m","$m","A cross-component import nobody asked for is an accident, so each component names what it needs and absence refuses the rest.","$m","$m","$m","$m","$m","$m"]],["ROOT-LAYOUT","DECLARED_RULE","$48","root_layout","Immediate children below shop are explicitly allowed",["shop","shop.data","$62","shop.main","$74"],[],[],[],["$36"],[["shop.data","$62","shop.main","$74"],"$m","architect","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","lib/ holds only the entry point and the three declared layers.","$m","$m","$m","shop","$m","$m"]],["ARCHITECTURE-TARGET-a2e40c5592b1b06a","DECLARED_RULE","uml","architecture_target","Declared architecture target",[],[],[],[],["architecture-contract.json"],["$m","$m","$m","$m",["EXTERNAL-FLUTTER-UI","EXTERNAL-HTTP-DATA"],"$m","$m",[],["ROOT-LAYOUT"],[],["COMP-APP","COMP-PRESENTATION","COMP-DOMAIN","COMP-DATA"],"$m",[],"Existing declarations define graph intent; their rules retain evaluation ownership.","$m","$m","$m","$m","$m",{"entities":[],"relationships":[],"schema_version":"1.1.0","scopes":[]}]]],"dependency_edges":[["EDGE-026feb6a3c2ebdce","FACT","package_topology","package_dependency","shop.presentation → shop.domain",["$62","$74"],[],[],["$14","$16","$19","$20"],[],[false,4,"package",4,"$74",1,"$62",1,0]],["EDGE-03043452b643740c","FACT","$48","$47","shop.domain.repository → shop.data.http_order_repository",["$54","$70"],[],[],["$15"],[],[true,1,"module",1,"$70",1,"$54",1,0]],["EDGE-0bdfaad2f898238e","FACT","$48","$47","shop.presentation.order_tile → shop.domain.domain",["$63","$82"],[],[],["$14"],[],[false,1,"module",1,"$82",1,"$63",1,0]],["EDGE-0f5989dbc086205f","FACT","$48","$47","shop.data.http_order_repository → shop.domain.repository",["$54","$70"],[],[],["$17"],[],[true,1,"module",1,"$54",1,"$70",1,0]],["EDGE-151acb9df8a6c2cf","FACT","$48","$47","shop.data.http_order_repository → shop.data.client_stub",["$52","$54"],[],[],["DARTIMP-815d4275ce0eccc4"],[],[false,1,"module",1,"$54",1,"$52",2,0]],["EDGE-2b85ebd9f0b1c254","FACT","package_topology","package_dependency","shop → shop.presentation",["shop","$74"],[],[],["DARTIMP-e5677714540eae6d"],[],[false,1,"package",1,"shop",0,"$74",1,0]],["EDGE-3270fff11ba5935a","FACT","$48","$47","shop.main → shop.presentation.order_page",["shop.main","$75"],[],[],["DARTIMP-e5677714540eae6d"],[],[false,1,"module",1,"shop.main",0,"$75",1,0]],["EDGE-3a78bd419726c8af","FACT","$48","$47","shop.presentation.order_tile → shop.domain.entities",["$64","$82"],[],[],["$16"],[],[false,1,"module",1,"$82",1,"$64",2,0]],["EDGE-3c37e5f80ce3fac3","FACT","$48","$47","shop.domain.domain → shop.domain.entities",["$63","$64"],[],[],["DARTIMP-639534653121391f","DARTIMP-b44a445ea1fc9517"],[],[false,2,"module",2,"$63",1,"$64",2,0]],["EDGE-4db289a18cd4d5da","FACT","$48","$47","shop.main → shop.data.http_order_repository",["$54","shop.main"],[],[],["DARTIMP-ffcc6c7350a4ac68"],[],[false,1,"module",1,"shop.main",0,"$54",1,0]],["EDGE-5de58e592fe17945","FACT","$48","$47","shop.presentation.order_page → shop.presentation.order_tile",["$75","$82"],[],[],["DARTIMP-d05a07b7ba69d5c0"],[],[false,1,"module",1,"$75",1,"$82",1,0]],["EDGE-6a27978a3da93e40","FACT","package_topology","package_dependency","shop.data → shop.presentation",["shop.data","$74"],[],[],["$13"],[],[false,1,"package",1,"shop.data",1,"$74",1,0]],["EDGE-789afa4b27a8b2b6","FACT","package_topology","package_dependency","shop.domain → shop.data",["shop.data","$62"],[],[],["$15"],[],[true,1,"package",1,"$62",1,"shop.data",1,0]],["EDGE-78e87a40844cfe5e","FACT","package_topology","package_dependency","shop.data → shop.domain",["shop.data","$62"],[],[],["$17","$18","$21"],[],[true,3,"package",3,"shop.data",1,"$62",1,0]],["EDGE-7a07c279001c0469","FACT","$48","$47","shop.presentation.order_page → shop.domain.domain",["$63","$75"],[],[],["$20"],[],[false,1,"module",1,"$75",1,"$63",1,0]],["EDGE-81b3bbb870760a49","FACT","$48","$47","shop.data.http_order_repository → shop.data.client_io",["$50","$54"],[],[],["DARTIMP-ef5ecf2a341f1ffb"],[],[false,1,"module",1,"$54",1,"$50",2,0]],["EDGE-8f82bd9940bb0c3d","FACT","$48","$47","shop.data.http_order_repository → shop.domain.domain",["$54","$63"],[],[],["$18","$21"],[],[false,2,"module",2,"$54",1,"$63",1,0]],["EDGE-996ccbf5869b0976","FACT","package_topology","package_dependency","shop → shop.data",["shop","shop.data"],[],[],["DARTIMP-ffcc6c7350a4ac68"],[],[false,1,"package",1,"shop",0,"shop.data",1,0]],["EDGE-a356209856922f82","FACT","$48","$47","shop.domain.repository → shop.domain.entities",["$64","$70"],[],[],["DARTIMP-f5294caad40f8b6a"],[],[false,1,"module",1,"$70",1,"$64",2,0]],["EDGE-f11b25fee8557c7a","FACT","$48","$47","shop.data.http_order_repository → shop.presentation.order_page",["$54","$75"],[],[],["$13"],[],[false,1,"module",1,"$54",1,"$75",1,0]],["EDGE-f9f1542538d146e7","FACT","$48","$47","shop.presentation.order_tile → shop.domain.repository",["$70","$82"],[],[],["$19"],[],[false,1,"module",1,"$82",1,"$70",1,0]],["EDGE-fe2cc1033015c262","FACT","$48","$47","shop.domain.domain → shop.domain.repository",["$63","$70"],[],[],["DARTIMP-bf86de6c35949d36"],[],[false,1,"module",1,"$63",1,"$70",1,0]]],"encoding":{"escaped_literal":"additional leading $","evidence_fields":["id","file","line","end_line","column","excerpt"],"kind":"architecture-ir-columnar-v1","record_fields":["id","evidence_class","area","kind","title","subjects","evidence_ids","rule_ids","fact_ids","provenance","data"],"section_data_fields":{"bindings":[],"calls":["candidate_count","candidates_truncated","construction","expression","reason","source_definition_id","source_file","source_module","source_scope","status","targets"],"constructs":[],"context_evidence":[],"contexts":[],"cycles":["backed_by","internal_edges","level","members"],"declarations":["allowed_children","allowed_sources","decided_by","dependency","external_scope_ids","forbidden_responsibilities","include_type_checking","inside_levels","layout_rule_ids","module_target_ids","owner_ids","public","public_api_ids","rationale","requires","responsibilities","role","root","source","target"],"dependency_edges":["bidirectional","count","level","runtime_count","source","source_rank","target","target_rank","type_checking_count"],"imports":["binding","origin_definition","reexport","reexport_chain","relative_level","source_module","source_package","symbol","symbol_visibility","symbols_known","target_module","target_package","under_type_checking"],"metrics":["tab","value"],"modules":["all_exports","all_literal","compatibility_logic_free","fan_in","fan_out","file","package","qualified_name","rank","symbol_count"],"packages":["dependencies","fan_in","fan_out","module_count","qualified_name","rank"],"path_observations":[],"references":["candidate_count","candidates_truncated","expression","reason","source_definition_id","source_file","source_module","source_scope","status","targets","use"],"scope_observations":["component_id","coverage_complete","cycle_graph_components","cycle_scope_complete","cycle_scope_components","fan_out","file","files","module","module_count","modules","observed_module_count","outgoing_modules","outgoing_scopes","owner_count","owners","parent_id","partially_assigned","reason","scope","scope_module_counts","scopes"],"symbols":["accessor_kind","annotation","attribute_declarations","base_declarations","class_header_static","class_kind","decorators","definition_contexts","enum_members","initializer","lexical_parent_id","member_inventories","method_kind","mixin_capable","modifiers","module","name","overload_signature","package","parameters","parent","qualified_name","returns","signature_complete","source_binding_unique","source_file","source_member_binding_static","symbol_category","visibility_detail"],"transitive_paths":["level","path","source","target"],"typing_signals":[],"unknowns":["decided","positions","reason","undecided"],"violations":["allowed_children","child","dependency","members","module","root","source","source_component","source_module","symbol","target_component","target_module","under_type_checking"]},"string_reference":"$<index>"},"evidence":[["EVD-0008d07886df10ae","$40",16,16,15,"id"],["EVD-00dc764155e3faf3","$39",10,10,0,"import 'package:shop/presentation/order_page.dart';"],["EVD-01edc03c693170ff","$39",21,21,8,"http"],["EVD-036e1accaa1c78e9","$39",27,27,48,"List"],["EVD-057939a650233098","$41",5,5,0,"import 'dart:async';"],["EVD-078505fe8b4ef86d","$43",16,16,8,"OrderPage"],["EVD-078fa01d92317cd6","$40",27,27,14,"String"],["EVD-082969782697bd28","$40",10,10,8,"int"],["EVD-092bfb9afb543573","$45",17,17,48,"order.id"],["EVD-096a3af93f5188c1","$44",8,8,14,"_orders = const []"],["EVD-0a1339ba7cf6f4cc","$40",9,9,12,"quantity"],["EVD-0b0abe1156f1c10c","$39",36,36,65,"String"],["EVD-0b4a1f0fd22790c1","$45",5,5,0,"import 'package:flutter/widgets.dart';"],["EVD-0c00201b62a2ac6e","$39",28,28,45,"item"],["EVD-0d5be57505341e58","$40",17,17,13,"OrderLine"],["EVD-0d7334e36bc5eb38","$39",18,18,30,"remote"],["EVD-0d81becce220fb68","$39",15,44,0,"class HttpOrderRepository implements OrderRepository {\n  HttpOrderRepository(this._client, this._base);\n\n  factory HttpOrderRepository.remote() =>\n      HttpOrderRepository(createClient(), Uri.parse('https://shop.example/api/'));\n\n  final http.Client _client;\n  final Uri _base;\n\n  @override\n  Future<List<Order>> ordersOf(String customerId) async {\n    final response = await _client.get(_base.resol"],["EVD-0e32461f109bdb61","$39",37,37,65,"Map"],["EVD-10709a47c4e107d9","$41",12,12,9,"List"],["EVD-111e20ed6697c8da","$39",41,41,34,"int"],["EVD-13b5f7254b87b4e5","$39",25,25,9,"List"],["EVD-1430a9a1737982de","$44",17,17,15,"BuildContext"],["EVD-14a1aa161af62619","$45",9,9,0,"import 'package:shop/domain/repository.dart';"],["EVD-155daf692d3b8592","$44",17,19,40,"ListView(\n        children: [for (final order in _orders) OrderTile(order: order)],\n      )"],["EVD-187d8ee208a95410","$45",6,6,0,"import 'package:shop/domain/domain.dart' show Order;"],["EVD-1a5d44705a23e0c4","$40",16,16,8,"String"],["EVD-1c935d99f99e8768","$39",37,37,69,"String"],["EVD-2212a9fd75ca67e3","$44",13,13,81,"orders"],["EVD-2281cf63035ca9bf","$39",1,1,0,"// Archkeel"],["EVD-231fe2f142c36bca","$41",7,7,0,"import 'package:shop/data/http_order_repository.dart';"],["EVD-24925d024c38b52a","$39",27,27,62,".cast<Map<String, dynamic>>()"],["EVD-26b54a77e24bb468","$42",1,1,0,"// Archkeel"],["EVD-26b8fa44725bdbf4","$44",16,19,2,"@override\n  Widget build(BuildContext context) => ListView(\n        children: [for (final order in _orders) OrderTile(order: order)],\n      );"],["EVD-27453539d2a32c2e","$38",1,1,0,"// Archkeel"],["EVD-281d73fa7f851d6d","$39",8,8,0,"import 'package:shop/domain/domain.dart' show Order, OrderLine;"],["EVD-28a3a19c3c545b99","$42",6,6,0,"import 'package:shop/data/http_order_repository.dart';"],["EVD-293d9f6ea3b27890","$44",13,13,45,"orders"],["EVD-29fdd726035dde3d","$40",27,27,38,"List.unmodifiable(lines)"],["EVD-2aa834ecd7b32062","$42",15,15,6,"home"],["EVD-2c9dad5ffce7ba8b","$39",18,18,10,"HttpOrderRepository"],["EVD-2f702e38997458c8","$40",19,19,59,"line.quantity"],["EVD-310526d2d2bcd5c4","lib/domain/domain.dart",9,9,0,"export 'repository.dart' show OrderRepository;"],["EVD-31191d66b8c6f4c5","$39",19,19,26,"createClient()"],["EVD-328aa86d245f3315","$40",1,1,0,"// Archkeel"],["EVD-32ae7af565eb63bd","$43",1,1,0,"// Archkeel"],["EVD-331a7000532e7fd0","$40",13,20,0,"class Order {\n  const Order(this.id, this.lines);\n\n  final String id;\n  final List<OrderLine> lines;\n\n  int get totalCents => lines.fold(0, (sum, line) => sum + line.quantity * line.unitCents);\n}"],["$22","$46",1,1,0,"// Archkeel"],["EVD-35c622fe8b71bddc","$40",6,6,8,"OrderLine"],["EVD-385768fb95e15aad","$37",11,11,62,"seconds"],["EVD-3943d8f357e21c18","$43",21,21,2,"State"],["EVD-3a1ba40e8e09787c","lib/domain/domain.dart",8,8,0,"export 'entities.dart' show Order, OrderLine;"],["EVD-3b0df78d60929ff6","$40",8,8,8,"String"],["EVD-3b3cc8995d093386","$41",12,12,14,"Order"],["EVD-3d37768ffa15f98b","$40",27,27,56,"lines"],["EVD-3f88a4e4fa3f25d6","$39",27,27,19,"jsonDecode(response.body)"],["EVD-444e47bb7cd53a6a","$45",12,12,19,"Key"],["EVD-45a408aff4a9f9ba","$45",12,12,2,"const OrderTile({Key? key, required this.order}) : super(key: key)"],["EVD-474b29b296b0e63d","$40",19,19,39,"sum"],["EVD-47c8c57f6c8f07f3","$39",5,5,0,"import 'dart:convert';"],["EVD-4a89619fe76734f2","$44",7,20,0,"class _OrderPageState extends State<OrderPage> {\n  List<Order> _orders = const [];\n\n  @override\n  void initState() {\n    super.initState();\n    widget.repository.ordersOf('demo').then((orders) => setState(() => _orders = orders));\n  }\n\n  @override\n  Widget build(BuildContext context) => ListView(\n        children: [for (final order in _orders) OrderTile(order: order)],\n      );\n}"],["EVD-4acc5259d401fe73","$39",37,37,77,"dynamic"],["EVD-4c792fe8e34ea3cd","$39",33,33,46,"order.id"],["EVD-4e456dd65ee5666a","$39",31,34,2,"@override\n  Future<void> save(Order order) async {\n    await _client.put(_base.resolve('orders/${order.id}'), body: jsonEncode({'id': order.id}));\n  }"],["EVD-4fb0cf36c442145e","$39",36,36,19,"String"],["EVD-4fea7eb8cb4fe7d9","$37",11,11,27,"connectionTimeout"],["EVD-51aade0b22045527","$40",25,25,24,"lines = []"],["EVD-530823f1f6fe69a0","$39",37,37,28,"item"],["EVD-5509017ea352cfc9","$39",25,25,14,"Order"],["EVD-55f708659daea854","$39",27,27,30,"response.body"],["EVD-5693ead8650e57d7","$44",8,8,2,"List"],["EVD-5719dafb755267c7","$43",16,16,64,"key"],["EVD-58c372da06e903b1","$39",37,37,59,".cast<Map<String, dynamic>>()"],["EVD-59c20e9285a2a558","$43",18,18,24,"repository"],["EVD-5b34c5ec3dd69e38","$46",5,5,52,"name"],["EVD-5ca660ee6b5a6efd","$39",36,43,45,"Order(item['id'] as String, [\n        for (final line in (item['lines'] as List<dynamic>).cast<Map<String, dynamic>>())\n          OrderLine(\n            line['description'] as String,\n            line['quantity'] as int,\n            line['unit_cents'] as int,\n          ),\n      ])"],["EVD-5f923d55d81a2376","$41",1,1,0,"// Archkeel"],["EVD-5fd0b8da144cf7fa","$39",33,33,83,"order.id"],["EVD-60d632b9fd78493f","$39",33,33,65,"jsonEncode({'id': order.id})"],["EVD-615005a4fa68b25d","$44",8,8,7,"Order"],["EVD-6246511d5b2a6049","$39",37,37,45,"List"],["EVD-659fd15d72b65cf6","$40",19,19,53,"sum"],["EVD-674e866c0de604d2","$42",15,15,33,"repository"],["EVD-67c0e7217aa3610d","$37",11,11,47,"const Duration(seconds: 10)"],["EVD-68794d83f5303c43","$39",21,21,20,"_client"],["EVD-6a5640730d28694d","$44",17,17,2,"Widget"],["EVD-6d0ccee02b430609","$39",28,28,38,"_order(item)"],["EVD-6ee300ce676c67c3","$42",15,15,12,"order_page.OrderPage(repository: HttpOrderRepository.remote())"],["EVD-6f679136f36911f9","$45",16,17,2,"@override\n  Widget build(BuildContext context) => Text('${order.id}: ${order.totalCents} ct');"],["EVD-7167429d3916efc9","$42",5,5,0,"import 'package:flutter/material.dart';"],["EVD-757ef435e0a47262","$39",33,33,59,"body"],["EVD-767c3f54bc7f11b7","$39",36,36,15,"Map"],["EVD-76fa55cf3fc59ee5","$39",19,19,42,"Uri.parse('https://shop.example/api/')"],["EVD-77a937a9af615581","$43",20,21,2,"@override\n  State<OrderPage> createState() => _OrderPageState();"],["EVD-77e03f3ddd341b3b","$39",25,25,31,"String"],["EVD-78db4b92c4f55cb4","$44",18,18,48,"OrderTile(order: order)"],["EVD-7a9f5c99637da4ee","$43",16,16,19,"Key"],["EVD-7bddde2fe6208f95","$43",9,9,0,"import 'package:shop/domain/domain.dart';"],["EVD-7c508891487e8e0f","$45",11,18,0,"class OrderTile extends StatelessWidget {\n  const OrderTile({Key? key, required this.order}) : super(key: key);\n\n  final Order order;\n\n  @override\n  Widget build(BuildContext context) => Text('${order.id}: ${order.totalCents} ct');\n}"],["EVD-7d17448959d435ef","$40",14,14,8,"Order"],["EVD-7d7079ebf2a8949f","$41",6,6,0,"import 'dart:io';"],["EVD-7dcc2ac565a04972","$44",10,14,2,"@override\n  void initState() {\n    super.initState();\n    widget.repository.ordersOf('demo').then((orders) => setState(() => _orders = orders));\n  }"],["EVD-7e5bc82e912b07fd","$39",26,26,27,"_client"],["EVD-800657af6128cc84","$39",22,22,8,"Uri"],["EVD-80ae6c44e1c9bb7f","$45",12,12,59,"key"],["EVD-81bd7759b2b264ef","$40",27,27,2,"Order"],["EVD-830e68abf190c34f","$40",27,27,34,"id"],["EVD-849e8633c378a2d6","$39",37,37,50,"dynamic"],["EVD-858df58fbc367e46","$44",12,12,4,"super.initState();"],["EVD-888301d07fe47a32","$44",13,13,71,"_orders"],["EVD-896161ceffa52e72","$40",9,9,8,"int"],["EVD-897db2c4aadd767e","$39",39,39,35,"String"],["EVD-8f2ba4941df1be59","$41",12,12,2,"Future"],["EVD-908bbf75987a640a","$37",11,11,53,"Duration"],["EVD-9268d2946e9086bf","$39",27,27,53,"dynamic"],["EVD-94647e62bb30d632","$39",28,28,31,"items"],["EVD-9492b3687b9eab8c","$41",12,12,31,"String"],["EVD-94a87a8abfe0ff51","$45",14,14,14,"order"],["EVD-9535deff19439b9e","$40",19,19,75,"line.unitCents"],["EVD-969cb05838b12378","$37",8,8,0,"import 'package:http/io_client.dart';"],["EVD-96c717d1b6074042","$46",5,5,16,"String"],["EVD-987ef5e2047fd281","$39",25,25,2,"Future"],["EVD-9b115433a1e80493","$43",11,11,0,"import 'order_tile.dart';"],["EVD-9bd79b525821cb13","$38",7,7,0,"http"],["EVD-9d8584ea3d0232a0","$37",5,5,0,"import 'dart:io';"],["EVD-9fa7f050db220084","$46",5,5,32,"name"],["EVD-a0fbfd1393269989","$37",10,10,5,"Client"],["EVD-a1320e476f5f1e3e","$46",5,5,0,"String"],["EVD-a21aad7cd88dbd66","$37",1,1,0,"// Archkeel"],["EVD-a221c6d1476c1168","$44",18,18,8,"children"],["EVD-a3ee72befeeabe6a","$39",36,43,2,"Order _order(Map<String, dynamic> item) => Order(item['id'] as String, [\n        for (final line in (item['lines'] as List<dynamic>).cast<Map<String, dynamic>>())\n          OrderLine(\n            line['description'] as String,\n            line['quantity'] as int,\n            line['unit_cents'] as int,\n          ),\n      ]);"],["EVD-a44f7d76b705ba68","$39",36,36,51,"item"],["EVD-a64916cfd0ba7d21","$42",9,9,0,"import 'presentation/order_page.dart' deferred as order_page;"],["EVD-a66af5d95cd681ba","$40",6,6,2,"const OrderLine(this.description, this.quantity, this.unitCents)"],["EVD-a72d12e23c8e12c7","$43",8,8,0,"import 'package:flutter/material.dart';"],["EVD-a7a9b4175d92a132","$45",17,17,15,"BuildContext"],["EVD-a909c3af2e129e07","$38",7,7,30,"http.Client()"],["EVD-ac7e4380afe8f8a5","$39",33,33,10,"_client"],["EVD-ada09eed9250401f","$40",27,27,28,"Order(id, List.unmodifiable(lines))"],["EVD-ae431e060fe59421","$42",12,12,8,"order_page.loadLibrary()"],["EVD-ae60fdae1be25ed4","$39",36,36,27,"dynamic"],["EVD-afade4c7a5273bce","$42",14,16,4,"MaterialApp(\n      home: order_page.OrderPage(repository: HttpOrderRepository.remote()),\n    )"],["EVD-aff6e609158af6af","$37",7,7,0,"import 'package:http/http.dart' as http;"],["EVD-b03b487113ac220a","$40",17,17,24,"lines"],["EVD-b33a1fb6609cb8bb","$44",12,12,9,".initState()"],["EVD-b4dad6aec2560942","$40",19,19,44,"line"],["EVD-b6100e0f119541ae","$39",22,22,12,"_base"],["EVD-b6a8687fd45c5a39","$45",8,8,0,"import 'package:shop/domain/entities.dart' show OrderDraft;"],["EVD-b72d04b29932382e","$45",12,12,64,"key"],["EVD-b7aeb1283504c2c5","$40",25,25,8,"List"],["EVD-b9e1f8e1e55f793b","$39",40,40,32,"int"],["EVD-bce2c34c4eb1a3d5","$38",5,5,0,"import 'package:http/http.dart' as http;"],["EVD-bdd66e945d8ca6d1","$44",18,18,65,"order"],["EVD-bf9bce29aef3a611","$45",17,17,40,"Text('${order.id}: ${order.totalCents} ct')"],["EVD-bff58c17613d8fa9","$39",18,19,2,"factory HttpOrderRepository.remote() =>\n      HttpOrderRepository(createClient(), Uri.parse('https://shop.example/api/'));"],["EVD-c0d8096eee841c94","$40",24,28,0,"class OrderDraft {\n  final List<OrderLine> lines = [];\n\n  Order place(String id) => Order(id, List.unmodifiable(lines));\n}"],["EVD-c14d98171a51c618","$40",25,25,13,"OrderLine"],["EVD-c167bc8883cfd281","$44",13,13,56,"setState(() => _orders = orders)"],["EVD-c340ca38a4f3cacb","$43",18,18,8,"OrderRepository"],["EVD-c36b8dd540804d2e","$43",16,16,69,"key"],["EVD-c408bc33aa9bed66","$41",11,15,0,"abstract interface class OrderRepository {\n  Future<List<Order>> ordersOf(String customerId);\n\n  FutureOr<void> save(Order order);\n}"],["EVD-c424ecb7c8d14e56","$38",7,7,5,"Client"],["EVD-c5240edef1ed9137","$40",8,8,15,"description"],["EVD-c63afad641f97046","$39",21,21,13,"Client"],["EVD-c66424829f560ca4","$39",9,9,0,"import 'package:shop/domain/repository.dart' show OrderRepository;"],["EVD-c6e7308d8859780c","$39",38,42,10,"OrderLine(\n            line['description'] as String,\n            line['quantity'] as int,\n            line['unit_cents'] as int,\n          )"],["EVD-c82452238c7a4df6","$40",10,10,12,"unitCents"],["EVD-cbc1e4c87603a4d8","$41",14,14,2,"FutureOr"],["EVD-cc3c2bed73768b5e","$43",15,22,0,"class OrderPage extends StatefulWidget {\n  const OrderPage({Key? key, required this.repository}) : super(key: key);\n\n  final OrderRepository repository;\n\n  @override\n  State<OrderPage> createState() => _OrderPageState();\n}"],["EVD-cd100e808e944f4a","$39",19,19,6,"$23"],["EVD-cdb58343cee142be","$45",12,12,8,"OrderTile"],["EVD-cdf2c97c0b6df20a","$43",21,21,8,"OrderPage"],["EVD-cdf3a5c784f284de","$39",13,13,0,"import 'client_stub.dart' if (dart.library.io) 'client_io.dart';"],["EVD-cdf3c3ce8f747f9b","$44",13,13,4,"$91"],["EVD-cfc60e2d40d116f6","$39",27,27,80,"dynamic"],["EVD-d00023d047050770","$42",13,17,2,"runApp(\n    MaterialApp(\n      home: order_page.OrderPage(repository: HttpOrderRepository.remote()),\n    ),\n  )"],["EVD-d02d4a76001a7b5f","$45",1,1,0,"// Archkeel"],["EVD-d2363979706c536d","$43",21,21,36,"_OrderPageState()"],["EVD-d2685460eb7f508e","$39",26,26,4,"final response = await _client.get(_base.resolve('customers/$customerId/orders'))"],["EVD-d2b7e3e24bf85a76","$41",14,14,22,"Order"],["EVD-d31ea89dee178263","$39",32,32,20,"Order"],["EVD-d3c1a6b337bc36ad","$39",16,16,2,"HttpOrderRepository(this._client, this._base)"],["EVD-d638cb3e0fe38dc4","$45",14,14,8,"Order"],["EVD-d6d9d621a8edc57d","$42",15,15,45,"HttpOrderRepository.remote()"],["EVD-d83dd6c5b04fd0c1","$39",33,33,22,"_base"],["EVD-da1658b64fcd6b35","$39",36,36,2,"Order"],["EVD-da939cc04accc0b8","$45",17,17,61,"order.totalCents"],["EVD-db16457e9e84d563","$45",17,17,2,"Widget"],["EVD-db704e9b0c66abd3","$44",18,18,39,"_orders"],["EVD-db8e2c22ea9e7790","$39",27,27,68,"Map"],["EVD-ddb440168ff441bb","lib/domain/domain.dart",1,1,0,"// Archkeel"],["EVD-e0d850aacdd6c73e","$39",24,29,2,"@override\n  Future<List<Order>> ordersOf(String customerId) async {\n    final response = await _client.get(_base.resolve('customers/$customerId/orders'));\n    final items = (jsonDecode(response.body) as List<dynamic>).cast<Map<String, dynamic>>();\n    return [for (final item in items) _order(item)];\n  }"],["EVD-e200f54db6fee516","$40",19,19,24,"lines"],["EVD-e20486f278d8fbc0","$37",10,10,0,"http"],["EVD-e2e361facf4b1302","$37",11,11,13,"HttpClient()"],["EVD-e32103b8b1ee8adf","$40",17,17,8,"List"],["EVD-e3ec41d1a6249b47","$37",11,11,4,"IOClient(HttpClient()..connectionTimeout = const Duration(seconds: 10))"],["EVD-e4e857c1b3c81bd6","$40",14,14,2,"const Order(this.id, this.lines)"],["EVD-e7dc0b58e3b41d59","$45",7,7,0,"import 'package:http/http.dart' as http;"],["EVD-e9dc8e674ec285bc","$43",16,16,2,"const OrderPage({Key? key, required this.repository}) : super(key: key)"],["EVD-eab7b82b611e8063","$40",5,11,0,"class OrderLine {\n  const OrderLine(this.description, this.quantity, this.unitCents);\n\n  final String description;\n  final int quantity;\n  final int unitCents;\n}"],["EVD-eb75bc055f58a14d","$39",27,27,72,"String"],["EVD-eb9bd9fa4717a832","$41",9,9,0,"import 'entities.dart';"],["EVD-edc08a934b88c327","$39",26,26,39,"_base"],["EVD-f06a0d7ac16d739e","$40",19,19,2,"int"],["EVD-f0a57ffd81725b75","$39",7,7,0,"import 'package:http/http.dart' as http;"],["EVD-f27bf9ba4d5c221f","$44",18,18,58,"order"],["EVD-f2b1c2c117ebf29d","$39",27,27,4,"final items = (jsonDecode(response.body) as List<dynamic>).cast<Map<String, dynamic>>()"],["EVD-f75eac066dab7e2b","$39",32,32,2,"Future"],["EVD-fa0dd4650e0a22aa","$42",11,11,0,"Future"]],"imports":[["DARTIMP-1e0776c507174e1e","FACT","$35","import","shop.presentation.order_page imports package:flutter/material.dart",["flutter.material","$75"],["EVD-a72d12e23c8e12c7"],[],[],[],[null,null,false,[],0,"$75","$74",null,null,false,"flutter.material","flutter",false]],["DARTIMP-30819ba0ec1ed912","FACT","$35","import","shop.main imports package:flutter/material.dart",["flutter.material","shop.main"],["EVD-7167429d3916efc9"],[],[],[],[null,null,false,[],0,"shop.main","shop",null,null,false,"flutter.material","flutter",false]],["$13","FACT","$35","import","shop.data.http_order_repository imports package:shop/presentation/order_page.dart",["$54","$75"],["EVD-00dc764155e3faf3"],[],[],[],[null,null,false,[],0,"$54","shop.data",null,null,false,"$75","$74",false]],["$14","FACT","$35","import","shop.presentation.order_tile imports package:shop/domain/domain.dart",["$63","$82"],["EVD-187d8ee208a95410"],[],[],[],["Order","shop.domain.domain.Order",false,["shop.domain.domain.Order"],0,"$82","$74","Order","public_name",true,"$63","$62",false]],["DARTIMP-48bac822b1abf106","FACT","$35","import","shop.data.http_order_repository imports dart:convert",["dart.convert","$54"],["EVD-47c8c57f6c8f07f3"],[],[],[],[null,null,false,[],0,"$54","shop.data",null,null,false,"dart.convert","dart",false]],["$15","FACT","$35","import","shop.domain.repository imports package:shop/data/http_order_repository.dart",["$54","$70"],["EVD-231fe2f142c36bca"],[],[],[],[null,null,false,[],0,"$70","$62",null,null,false,"$54","shop.data",false]],["DARTIMP-59242159f649b75d","FACT","$35","import","shop.presentation.order_tile imports package:http/http.dart",["http.http","$82"],["EVD-e7dc0b58e3b41d59"],[],[],[],["http",null,false,[],0,"$82","$74",null,null,false,"http.http","http",false]],["DARTIMP-639534653121391f","FACT","$35","import","shop.domain.domain imports entities.dart",["$63","$64"],["EVD-3a1ba40e8e09787c"],[],[],[],["Order","$65",true,["$65"],0,"$63","$62","Order","public_name",true,"$64","$62",false]],["DARTIMP-735c444d4391bd23","FACT","$35","import","shop.data.client_io imports package:http/io_client.dart",["http.io_client","$50"],["EVD-969cb05838b12378"],[],[],[],[null,null,false,[],0,"$50","shop.data",null,null,false,"http.io_client","http",false]],["DARTIMP-7933e7e87eeb41ae","FACT","$35","import","shop.data.client_io imports package:http/http.dart",["http.http","$50"],["EVD-aff6e609158af6af"],[],[],[],["http",null,false,[],0,"$50","shop.data",null,null,false,"http.http","http",false]],["DARTIMP-815d4275ce0eccc4","FACT","$35","import","shop.data.http_order_repository imports client_stub.dart",["$52","$54"],["EVD-cdf3a5c784f284de"],[],[],[],[null,null,false,[],0,"$54","shop.data",null,null,false,"$52","shop.data",false]],["DARTIMP-8364e9dbb980d1b1","FACT","$35","import","shop.data.http_order_repository imports package:http/http.dart",["http.http","$54"],["EVD-f0a57ffd81725b75"],[],[],[],["http",null,false,[],0,"$54","shop.data",null,null,false,"http.http","http",false]],["DARTIMP-882b3adfdd5987c7","FACT","$35","import","shop.presentation.order_tile imports package:flutter/widgets.dart",["flutter.widgets","$82"],["EVD-0b4a1f0fd22790c1"],[],[],[],[null,null,false,[],0,"$82","$74",null,null,false,"flutter.widgets","flutter",false]],["DARTIMP-8bd7df93e395a32d","FACT","$35","import","shop.data.client_io imports dart:io",["dart.io","$50"],["EVD-9d8584ea3d0232a0"],[],[],[],[null,null,false,[],0,"$50","shop.data",null,null,false,"dart.io","dart",false]],["DARTIMP-8f7831d95fa2735d","FACT","$35","import","shop.domain.repository imports dart:io",["dart.io","$70"],["EVD-7d7079ebf2a8949f"],[],[],[],[null,null,false,[],0,"$70","$62",null,null,false,"dart.io","dart",false]],["DARTIMP-b2b9f122296db074","FACT","$35","import","shop.data.client_stub imports package:http/http.dart",["http.http","$52"],["EVD-bce2c34c4eb1a3d5"],[],[],[],["http",null,false,[],0,"$52","shop.data",null,null,false,"http.http","http",false]],["DARTIMP-b44a445ea1fc9517","FACT","$35","import","shop.domain.domain imports entities.dart",["$63","$64"],["EVD-3a1ba40e8e09787c"],[],[],[],["OrderLine","$69",true,["$69"],0,"$63","$62","OrderLine","public_name",true,"$64","$62",false]],["$16","FACT","$35","import","shop.presentation.order_tile imports package:shop/domain/entities.dart",["$64","$82"],["EVD-b6a8687fd45c5a39"],[],[],[],["OrderDraft","$67",false,["$67"],0,"$82","$74","OrderDraft","public_name",true,"$64","$62",false]],["$17","FACT","$35","import","shop.data.http_order_repository imports package:shop/domain/repository.dart",["$54","$70"],["EVD-c66424829f560ca4"],[],[],[],["OrderRepository","$71",false,["$71"],0,"$54","shop.data","OrderRepository","public_name",true,"$70","$62",false]],["DARTIMP-bf86de6c35949d36","FACT","$35","import","shop.domain.domain imports repository.dart",["$63","$70"],["EVD-310526d2d2bcd5c4"],[],[],[],["OrderRepository","$71",true,["$71"],0,"$63","$62","OrderRepository","public_name",true,"$70","$62",false]],["$18","FACT","$35","import","shop.data.http_order_repository imports package:shop/domain/domain.dart",["$54","$63"],["EVD-281d73fa7f851d6d"],[],[],[],["OrderLine","shop.domain.domain.OrderLine",false,["shop.domain.domain.OrderLine"],0,"$54","shop.data","OrderLine","public_name",true,"$63","$62",false]],["$19","FACT","$35","import","shop.presentation.order_tile imports package:shop/domain/repository.dart",["$70","$82"],["EVD-14a1aa161af62619"],[],[],[],[null,null,false,[],0,"$82","$74",null,null,false,"$70","$62",false]],["$20","FACT","$35","import","shop.presentation.order_page imports package:shop/domain/domain.dart",["$63","$75"],["EVD-7bddde2fe6208f95"],[],[],[],[null,null,false,[],0,"$75","$74",null,null,false,"$63","$62",false]],["$21","FACT","$35","import","shop.data.http_order_repository imports package:shop/domain/domain.dart",["$54","$63"],["EVD-281d73fa7f851d6d"],[],[],[],["Order","shop.domain.domain.Order",false,["shop.domain.domain.Order"],0,"$54","shop.data","Order","public_name",true,"$63","$62",false]],["DARTIMP-d05a07b7ba69d5c0","FACT","$35","import","shop.presentation.order_page imports order_tile.dart",["$75","$82"],["EVD-9b115433a1e80493"],[],[],[],[null,null,false,[],0,"$75","$74",null,null,false,"$82","$74",false]],["DARTIMP-d81508adde93244d","FACT","$35","import","shop.domain.repository imports dart:async",["dart.async","$70"],["EVD-057939a650233098"],[],[],[],[null,null,false,[],0,"$70","$62",null,null,false,"dart.async","dart",false]],["DARTIMP-e5677714540eae6d","FACT","$35","import","shop.main imports presentation/order_page.dart",["shop.main","$75"],["EVD-a64916cfd0ba7d21"],[],[],[],["order_page",null,false,[],0,"shop.main","shop",null,null,false,"$75","$74",false]],["DARTIMP-ef5ecf2a341f1ffb","FACT","$35","import","shop.data.http_order_repository imports client_io.dart",["$50","$54"],["EVD-cdf3a5c784f284de"],[],[],[],[null,null,false,[],0,"$54","shop.data",null,null,false,"$50","shop.data",false]],["DARTIMP-f5294caad40f8b6a","FACT","$35","import","shop.domain.repository imports entities.dart",["$64","$70"],["EVD-eb9bd9fa4717a832"],[],[],[],[null,null,false,[],0,"$70","$62",null,null,false,"$64","$62",false]],["DARTIMP-ffcc6c7350a4ac68","FACT","$35","import","shop.main imports package:shop/data/http_order_repository.dart",["$54","shop.main"],["EVD-28a3a19c3c545b99"],[],[],[],[null,null,false,[],0,"shop.main","shop",null,null,false,"$54","shop.data",false]]],"metrics":[["METRIC-0477b10f3aa518a5","FACT","overview","interface_surface","Interface surface",[],[],[],["$13","$14","$15","$16","$17","$18","$19","$20","$21","DARTIMP-e5677714540eae6d","DARTIMP-ffcc6c7350a4ac68"],[],["api",8]],["METRIC-115ac1d218349491","FACT","overview","forbidden_package_edges","Forbidden package edges",[],[],[],[],[],["violations",1]],["METRIC-130e9ec98394803f","FACT","overview","private_crossings","Confirmed private symbol crossings",[],[],[],[],[],["api",null]],["METRIC-1ea50a8caf608504","FACT","overview","symbols","Symbols",[],[],[],["DARTBIND-24a545e36bab803f","DARTBIND-b46e20c47ae95087","$2","DARTDEF-20af729b373396ff","DARTDEF-33896b7ed7e56c62","DARTDEF-4a88b3b5f29a3316","DARTDEF-4ee8adaece761370","$3","$4","DARTDEF-5ed16fb9945a52cf","DARTDEF-5eecffdaf6b4bd39","$5","DARTDEF-69c0a3856a2901a6","DARTDEF-7088267b2b7229a1","$6","$7","DARTDEF-88172be219cedeaf","$8","$9","$10","$11","DARTDEF-b0b90f895aa71cf7","DARTDEF-bfad3dbf9f427385","DARTDEF-c55182f84e9c08ed","$12","DARTDEF-d936ef19353a9f61","DARTDEF-da05c44399cb7859","DARTDEF-e19f42e0d56392c5","DARTDEF-fa35bb591f3e17a2","DARTDEF-fb3036cce6411aaa","DARTDEF-fe89b3f442f08197"],[],["components",31]],["METRIC-45b586bf31456c32","FACT","overview","violating_import_sites","Violating import sites",[],[],[],["$13","$14","$15","DARTIMP-59242159f649b75d","DARTIMP-8f7831d95fa2735d","$16","$17","$18","$19","$20","$21","$26"],[],["violations",1]],["METRIC-5610c365b3e34d3d","FACT","overview","typing_signals","Typing & dynamic signals",[],[],[],[],[],["types",null]],["METRIC-58f9e6977954a47e","FACT","overview","module_cycles","Module cycles",[],[],[],["SCC-42bb3a7d191f575a"],[],["cycles",1]],["METRIC-5e1b38214272f111","FACT","overview","untyped_private_accesses","Private attribute accesses through untyped or Any parameters",[],[],[],[],[],["api",null]],["METRIC-9a8bf9ba32aac4c3","FACT","overview","ast_coverage","AST coverage",[],[],[],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["coverage","100.0%"]],["METRIC-a4770d56d0e45bc8","FACT","overview","affected_violation_modules","Affected source modules",[],[],[],["$27"],[],["violations",1]],["METRIC-af8a12e31cd6b969","FACT","overview","package_cycles","Package cycles",[],[],[],["SCC-387510c021b763a5"],[],["cycles",1]],["METRIC-b28b1ed9821f38c6","FACT","overview","packages","Packages",[],[],[],["PKG-06b6223d182b172f","PKG-869e0abdab4754ee","PKG-8d9001d32c6a703d","PKG-bbe08bf4ae93e0ad","PKG-d439a77171613db4"],[],["package",5]],["METRIC-b2983be8c3741e5b","FACT","overview","source_files","Source files",[],[],[],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["coverage",11]],["METRIC-b5246b04f97b5e43","FACT","overview","call_resolution","Uniquely resolved calls",[],[],[],["DARTCALL-0834a277eafb1c40","DARTCALL-2bfb94c702bd0161","DARTCALL-aed439fe0437dcc4","DARTCALL-e0ce6b2292df8052","DARTCALL-ed50de1a19121020","DARTCALL-f91be9b49625a9e4"],[],["calls","17.14%"]],["METRIC-c6ba710e0c094515","FACT","overview","violations","Contract violations",[],[],[],["$13","$14","$15","DARTIMP-59242159f649b75d","DARTIMP-8f7831d95fa2735d","$16","$17","$18","$19","$20","$21","$26"],[],["violations",8]],["METRIC-cd26a4b22ffceb0b","FACT","overview","unresolved_calls","Unresolved calls",[],[],[],["DARTCALL-0be612e473296753","DARTCALL-0c1c1e8e4ad50641","DARTCALL-203868c0727bab87","DARTCALL-277c6e5e0f7d8479","DARTCALL-2baf6176440b2fa9","DARTCALL-394a95e742869778","DARTCALL-43301b41321c6e55","DARTCALL-45c7706a3fd13fb0","DARTCALL-52a83031ead5a535","DARTCALL-532cffc81f2baa6f","DARTCALL-5d77251b1d3bff1e","DARTCALL-704256c5e952a50f","DARTCALL-7fc93649348bf6cf","DARTCALL-80507d037174c532","DARTCALL-8b1ec43c91234703","DARTCALL-8c474f2c756017a2","DARTCALL-8e3b75e308ad3d3f","DARTCALL-99f063b9e2298a16","DARTCALL-9a0986c32d68c168","DARTCALL-a1fce58a838e2175","DARTCALL-aaa4f8b11b86f445","DARTCALL-bfcc366f72582ece","DARTCALL-c2eaeccde15f768e","DARTCALL-d4a98734e3d2d373","DARTCALL-deb60fe9f8b8023d","DARTCALL-e2604cd018d433fa","DARTCALL-e4383b57daff4219","DARTCALL-f51e058bac6b7844","DARTCALL-ff07cc5aa2b2703f"],[],["calls",29]],["METRIC-f96ad8a9b8498c26","FACT","overview","rollup_only_package_cycles","Package cycles no module cycle crosses",[],[],[],[],[],["cycles",0]],["METRIC-fbc6c1d4c3b6db8f","FACT","overview","modules","Modules",[],[],[],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["module",10]]],"modules":[["$24","FACT","$48","module","$54",["shop.data","$54"],["EVD-2281cf63035ca9bf"],[],[],[],[[],false,false,2,5,"$39","shop.data","$54",1,8]],["$25","FACT","$48","module","$52",["shop.data","$52"],["EVD-27453539d2a32c2e"],[],[],[],[[],false,false,1,0,"$38","shop.data","$52",2,1]],["$26","FACT","$48","module","$86",["shop.util","$86"],["$22"],[],[],[],[[],false,false,0,0,"$46","shop.util","$86",0,1]],["$27","FACT","$48","module","$70",["$62","$70"],["EVD-5f923d55d81a2376"],[],[],[],[[],false,false,3,2,"$41","$62","$70",1,3]],["$28","FACT","$48","module","$64",["$62","$64"],["EVD-328aa86d245f3315"],[],[],[],[[],false,false,3,0,"$40","$62","$64",2,7]],["$29","FACT","$48","module","shop.main",["shop","shop.main"],["EVD-26b54a77e24bb468"],[],[],[],[[],false,false,0,2,"$42","shop","shop.main",0,1]],["$30","FACT","$48","module","$75",["$74","$75"],["EVD-32ae7af565eb63bd"],[],[],[],[[],false,false,2,2,"$43","$74","$75",1,6]],["$31","FACT","$48","module","$63",["$62","$63"],["EVD-ddb440168ff441bb"],[],[],[],[[],false,false,3,2,"lib/domain/domain.dart","$62","$63",1,0]],["$32","FACT","$48","module","$82",["$74","$82"],["EVD-d02d4a76001a7b5f"],[],[],[],[[],false,false,1,3,"$45","$74","$82",1,3]],["$33","FACT","$48","module","$50",["shop.data","$50"],["EVD-a21aad7cd88dbd66"],[],[],[],[[],false,false,1,0,"$37","shop.data","$50",2,1]]],"packages":[["PKG-06b6223d182b172f","FACT","package_topology","package","shop.data",["shop.data"],[],[],["$24","$25","$33"],[],[["$62","$74"],2,2,3,"shop.data",1]],["PKG-869e0abdab4754ee","FACT","package_topology","package","$62",["$62"],[],[],["$27","$28","$31"],[],[["shop.data"],2,1,3,"$62",1]],["PKG-8d9001d32c6a703d","FACT","package_topology","package","shop",["shop"],[],[],["$29"],[],[["shop.data","$74"],0,2,1,"shop",0]],["PKG-bbe08bf4ae93e0ad","FACT","package_topology","package","$74",["$74"],[],[],["$30","$32"],[],[["$62"],2,1,2,"$74",1]],["PKG-d439a77171613db4","FACT","package_topology","package","shop.util",["shop.util"],[],[],["$26"],[],[[],0,0,1,"shop.util",0]]],"path_observations":[],"producer":{"code_digest":"3fe56e514f73ae8fa41c480ff2c3b5975a5301c6284ad80a801c2c9da4d24a43","name":"archkeel-dart-analyzer","version":"2.0.0"},"references":[["DARTREF-005af6d4f24bb2a7","FACT","source","$49","item",["$58"],["EVD-0c00201b62a2ac6e"],[],[],[],[0,false,"item","$89","$11","$39","$54","$58","$90",[],"read"]],["DARTREF-0200bfa67bb7d681","FACT","source","$49","Order",["$68"],["EVD-81bd7759b2b264ef"],[],[],[],[1,false,"Order","$1","$3","$40","$64","$68","resolved",["$65"],"type"]],["DARTREF-0256c1b0a6ee3917","FACT","source","$49","int",["$64"],["EVD-082969782697bd28"],[],[],[],[0,false,"int","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-07eaca555ba20754","FACT","source","$49","List",["$64"],["EVD-b7aeb1283504c2c5"],[],[],[],[0,false,"List","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-09f2bee9c27835d8","FACT","source","$49","orders",["$81"],["EVD-293d9f6ea3b27890"],[],[],[],[0,false,"orders","$89","$2","$44","$75","$81","$90",[],"read"]],["DARTREF-0fc5fc84a21e3e6b","FACT","source","$49","dynamic",["$58"],["EVD-9268d2946e9086bf"],[],[],[],[0,false,"dynamic","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-169e225eda4b54a9","FACT","source","$49","BuildContext",["$85"],["EVD-a7a9b4175d92a132"],[],[],[],[0,false,"BuildContext","$89","$5","$45","$82","$85","$90",[],"type"]],["DARTREF-1a7f52ec5e8c07e5","FACT","source","$49","order",["$85"],["EVD-da939cc04accc0b8"],[],[],[],[1,false,"order","$1","$5","$45","$82","$85","resolved",["shop.presentation.order_tile.OrderTile.order"],"read"]],["DARTREF-1c919edd0393a810","FACT","source","$49","State",["$78"],["EVD-3943d8f357e21c18"],[],[],[],[0,false,"State","$89","DARTDEF-e19f42e0d56392c5","$43","$75","$78","$90",[],"type"]],["DARTREF-1cddd328a1e34f77","FACT","source","$49","lines",["$66"],["EVD-e200f54db6fee516"],[],[],[],[1,false,"lines","$1","$7","$40","$64","$66","resolved",["shop.domain.entities.Order.lines"],"read"]],["DARTREF-1f9c66b28b81787d","FACT","source","$49","key",["$77"],["EVD-c36b8dd540804d2e"],[],[],[],[0,false,"key","$89","DARTDEF-fa35bb591f3e17a2","$43","$75","$77","$90",[],"read"]],["DARTREF-20087a31aa32e2eb","FACT","source","$49","repository",["shop.main.main"],["EVD-674e866c0de604d2"],[],[],[],[0,false,"repository","$89","$8","$42","shop.main","shop.main.main","$90",[],"read"]],["DARTREF-20693e144ac0260e","FACT","source","$49","http",["$51"],["EVD-e20486f278d8fbc0"],[],[],[],[0,false,"http","$89","$9","$37","$50","$51","$90",[],"type"]],["DARTREF-218d04facf4aeb9f","FACT","source","$49","OrderLine",["$64"],["EVD-c14d98171a51c618"],[],[],[],[1,false,"OrderLine","$1","$m","$40","$64","$64","resolved",["$69"],"type"]],["DARTREF-29469863f18d4b3b","FACT","source","$49","Key",["$77"],["EVD-7a9f5c99637da4ee"],[],[],[],[0,false,"Key","$89","DARTDEF-fa35bb591f3e17a2","$43","$75","$77","$90",[],"type"]],["DARTREF-2b951fa2415a71e9","FACT","source","$49","order",["$80"],["EVD-bdd66e945d8ca6d1"],[],[],[],[0,false,"order","$89","$10","$44","$75","$80","$90",[],"read"]],["DARTREF-2bd09ce1f32f1b7a","FACT","source","$49","String",["$57"],["EVD-897db2c4aadd767e"],[],[],[],[0,false,"String","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-321e296e91910e1d","FACT","source","$49","line",["$66"],["EVD-b4dad6aec2560942"],[],[],[],[0,false,"line","$89","$7","$40","$64","$66","$90",[],"read"]],["DARTREF-342ce7f5dd3221ad","FACT","source","$49","line.quantity",["$66"],["EVD-2f702e38997458c8"],[],[],[],[1,false,"line.quantity","$1","$7","$40","$64","$66","resolved",["shop.domain.entities.OrderLine.quantity"],"read"]],["DARTREF-3507803584b77c1f","FACT","source","$49","id",["$68"],["EVD-830e68abf190c34f"],[],[],[],[1,false,"id","$1","$3","$40","$64","$68","resolved",["shop.domain.entities.id"],"read"]],["DARTREF-35dd7c11eed114d4","FACT","source","$49","OrderLine",["shop.domain.entities.OrderLine.OrderLine"],["EVD-35c622fe8b71bddc"],[],[],[],[1,false,"OrderLine","$1","DARTDEF-fe89b3f442f08197","$40","$64","shop.domain.entities.OrderLine.OrderLine","resolved",["$69"],"read"]],["DARTREF-37a202303f345480","FACT","source","$49","OrderRepository",["$75"],["EVD-c340ca38a4f3cacb"],[],[],[],[1,false,"OrderRepository","$1","$m","$43","$75","$75","resolved",["$71"],"type"]],["DARTREF-39e31602ee2748e3","FACT","source","$49","_base",["$60"],["EVD-edc08a934b88c327"],[],[],[],[0,false,"_base","$89","DARTBIND-24a545e36bab803f","$39","$54","$60","$90",[],"read"]],["DARTREF-3c5da77245ff9c76","FACT","source","$49","Key",["$84"],["EVD-444e47bb7cd53a6a"],[],[],[],[0,false,"Key","$89","DARTDEF-da05c44399cb7859","$45","$82","$84","$90",[],"type"]],["DARTREF-3f4b4426dc51fcfd","FACT","source","$49","response.body",["$59"],["EVD-55f708659daea854"],[],[],[],[0,false,"response.body","$89","DARTBIND-b46e20c47ae95087","$39","$54","$59","$90",[],"read"]],["DARTREF-3f856a97b10c2f52","FACT","source","$49","List",["$75"],["EVD-5693ead8650e57d7"],[],[],[],[0,false,"List","$89","$m","$44","$75","$75","$90",[],"type"]],["DARTREF-41765828e62b5d1d","FACT","source","$49","item",["$57"],["EVD-530823f1f6fe69a0"],[],[],[],[0,false,"item","$89","$6","$39","$54","$57","$90",[],"read"]],["DARTREF-44413d482e31c33a","FACT","source","$49","Map",["$57"],["EVD-767c3f54bc7f11b7"],[],[],[],[0,false,"Map","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-461e3a15df865268","FACT","source","$49","dynamic",["$57"],["EVD-4acc5259d401fe73"],[],[],[],[0,false,"dynamic","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-47ad764e199bafaf","FACT","source","$49","Widget",["$80"],["EVD-6a5640730d28694d"],[],[],[],[0,false,"Widget","$89","$10","$44","$75","$80","$90",[],"type"]],["DARTREF-480b09b1865bc11f","FACT","source","$49","OrderPage",["$77"],["EVD-078505fe8b4ef86d"],[],[],[],[1,false,"OrderPage","$1","DARTDEF-fa35bb591f3e17a2","$43","$75","$77","resolved",["$76"],"read"]],["DARTREF-48be824278074f8b","FACT","source","$49","Uri",["$56"],["EVD-800657af6128cc84"],[],[],[],[0,false,"Uri","$89","$4","$39","$54","$56","$90",[],"type"]],["DARTREF-4a147bf8eb74ff0f","FACT","source","$49","Map",["$57"],["EVD-0e32461f109bdb61"],[],[],[],[0,false,"Map","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-4bfb5db341fad8f2","FACT","source","$49","home",["shop.main.main"],["EVD-2aa834ecd7b32062"],[],[],[],[0,false,"home","$89","$8","$42","shop.main","shop.main.main","$90",[],"read"]],["DARTREF-4e7cbc439bed77b4","FACT","source","$49","Client",["$53"],["EVD-c424ecb7c8d14e56"],[],[],[],[0,false,"Client","$89","DARTDEF-c55182f84e9c08ed","$38","$52","$53","$90",[],"type"]],["DARTREF-4e8b6a00114c0a19","FACT","source","$49","int",["$66"],["EVD-f06a0d7ac16d739e"],[],[],[],[0,false,"int","$89","$7","$40","$64","$66","$90",[],"type"]],["DARTREF-53950444134b8806","FACT","source","$49","order.totalCents",["$85"],["EVD-da939cc04accc0b8"],[],[],[],[1,false,"order.totalCents","$1","$5","$45","$82","$85","resolved",["$66"],"read"]],["DARTREF-55b1fe46e50bef12","FACT","source","$49","String",["$64"],["EVD-3b0df78d60929ff6"],[],[],[],[0,false,"String","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-55ceae9ab778b3b4","FACT","source","$49","HttpOrderRepository",["$56"],["EVD-2c9dad5ffce7ba8b"],[],[],[],[0,false,"HttpOrderRepository","$89","$4","$39","$54","$56","$90",[],"read"]],["DARTREF-562830808f1e67c0","FACT","source","$49","key",["$77"],["EVD-5719dafb755267c7"],[],[],[],[0,false,"key","$89","DARTDEF-fa35bb591f3e17a2","$43","$75","$77","$90",[],"read"]],["DARTREF-569abaf6bb0a0f10","FACT","source","$49","http",["$56"],["EVD-01edc03c693170ff"],[],[],[],[0,false,"http","$89","$4","$39","$54","$56","$90",[],"type"]],["DARTREF-5dfcfeae85bf5228","FACT","source","$49","List",["$64"],["EVD-e32103b8b1ee8adf"],[],[],[],[0,false,"List","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-5e7c95888e46a6ec","FACT","source","$49","_client",["$60"],["EVD-7e5bc82e912b07fd"],[],[],[],[0,false,"_client","$89","DARTBIND-24a545e36bab803f","$39","$54","$60","$90",[],"read"]],["DARTREF-5ece5f160433376c","FACT","source","$49","OrderTile",["$84"],["EVD-cdb58343cee142be"],[],[],[],[1,false,"OrderTile","$1","DARTDEF-da05c44399cb7859","$45","$82","$84","resolved",["$83"],"read"]],["DARTREF-616c4b7fdbf6eabb","FACT","source","$49","name",["$88"],["EVD-5b34c5ec3dd69e38"],[],[],[],[1,false,"name","$1","DARTDEF-fb3036cce6411aaa","$46","$86","$88","resolved",["shop.util.strings.name"],"read"]],["DARTREF-67f40c0b303d2988","FACT","source","$49","order",["$61"],["EVD-4c792fe8e34ea3cd"],[],[],[],[0,false,"order","$89","$12","$39","$54","$61","$90",[],"read"]],["DARTREF-6955251d16e0211d","FACT","source","$49","order.id",["$61"],["EVD-5fd0b8da144cf7fa"],[],[],[],[1,false,"order.id","$1","$12","$39","$54","$61","resolved",["shop.domain.entities.Order.id"],"read"]],["DARTREF-6adc25e2b95405ae","FACT","source","$49","Order",["$82"],["EVD-d638cb3e0fe38dc4"],[],[],[],[1,false,"Order","$1","$m","$45","$82","$82","resolved",["$65"],"type"]],["DARTREF-6c4e6005c5aba6ca","FACT","source","$49","orders",["$81"],["EVD-2212a9fd75ca67e3"],[],[],[],[1,false,"orders","$1","$2","$44","$75","$81","resolved",["shop.presentation.order_page.orders"],"read"]],["DARTREF-70643a15c419e29e","FACT","source","$49","String",["$88"],["EVD-96c717d1b6074042"],[],[],[],[0,false,"String","$89","DARTDEF-fb3036cce6411aaa","$46","$86","$88","$90",[],"type"]],["DARTREF-7315c7c743feffaa","FACT","source","$49","Future",["shop.main.main"],["EVD-fa0dd4650e0a22aa"],[],[],[],[0,false,"Future","$89","$8","$42","shop.main","shop.main.main","$90",[],"type"]],["DARTREF-739c8f9bacad34fa","FACT","source","$49","BuildContext",["$80"],["EVD-1430a9a1737982de"],[],[],[],[0,false,"BuildContext","$89","$10","$44","$75","$80","$90",[],"type"]],["DARTREF-7426b3e82cd762ea","FACT","source","$49","String",["$57"],["EVD-0b0abe1156f1c10c"],[],[],[],[0,false,"String","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-77059ff9a0ef393f","FACT","source","$49","_orders",["$80"],["EVD-db704e9b0c66abd3"],[],[],[],[1,false,"_orders","$1","$10","$44","$75","$80","resolved",["shop.presentation.order_page._OrderPageState._orders"],"read"]],["DARTREF-7857f9859148f9f1","FACT","source","$49","_base",["$61"],["EVD-d83dd6c5b04fd0c1"],[],[],[],[0,false,"_base","$89","$12","$39","$54","$61","$90",[],"read"]],["DARTREF-7c094075b1670750","FACT","source","$49","Future",["$72"],["EVD-8f2ba4941df1be59"],[],[],[],[0,false,"Future","$89","DARTDEF-33896b7ed7e56c62","$41","$70","$72","$90",[],"type"]],["DARTREF-7e738181618424cb","FACT","source","$49","String",["$58"],["EVD-77e03f3ddd341b3b"],[],[],[],[0,false,"String","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-7e92b84662336857","FACT","source","$49","items",["$58"],["EVD-94647e62bb30d632"],[],[],[],[0,false,"items","$89","$11","$39","$54","$58","$90",[],"read"]],["DARTREF-7ebbf6355b61ba70","FACT","source","$49","Client",["$51"],["EVD-a0fbfd1393269989"],[],[],[],[0,false,"Client","$89","$9","$37","$50","$51","$90",[],"type"]],["DARTREF-7ffa333004de629f","FACT","source","$49","String",["$64"],["EVD-1a5d44705a23e0c4"],[],[],[],[0,false,"String","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-810ec94b986b0f29","FACT","source","$49","int",["$57"],["EVD-b9e1f8e1e55f793b"],[],[],[],[0,false,"int","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-812739674a22837f","FACT","source","$49","int",["$64"],["EVD-896161ceffa52e72"],[],[],[],[0,false,"int","$89","$m","$40","$64","$64","$90",[],"type"]],["DARTREF-84cf555311ff5b67","FACT","source","$49","order.id",["$61"],["EVD-4c792fe8e34ea3cd"],[],[],[],[1,false,"order.id","$1","$12","$39","$54","$61","resolved",["shop.domain.entities.Order.id"],"read"]],["DARTREF-874c0c8f296a147d","FACT","source","$49","OrderLine",["$64"],["EVD-0d5be57505341e58"],[],[],[],[1,false,"OrderLine","$1","$m","$40","$64","$64","resolved",["$69"],"type"]],["DARTREF-889ae21e0bc0d7e9","FACT","source","$49","super.initState();",["$81"],["EVD-858df58fbc367e46"],[],[],[],[1,false,"super.initState();","$1","$2","$44","$75","$81","resolved",["$81"],"read"]],["DARTREF-8967a6d8455e27ac","FACT","source","$49","Future",["$58"],["EVD-987ef5e2047fd281"],[],[],[],[0,false,"Future","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-8a04ee10c2ddf9ae","FACT","source","$49","name",["$88"],["EVD-9fa7f050db220084"],[],[],[],[1,false,"name","$1","DARTDEF-fb3036cce6411aaa","$46","$86","$88","resolved",["shop.util.strings.name"],"read"]],["DARTREF-8b33101def76a2db","FACT","source","$49","String",["$57"],["EVD-1c935d99f99e8768"],[],[],[],[0,false,"String","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-8da809fa72e63fab","FACT","source","$49","sum",["$66"],["EVD-474b29b296b0e63d"],[],[],[],[0,false,"sum","$89","$7","$40","$64","$66","$90",[],"read"]],["DARTREF-95010d6d6fcb4a20","FACT","source","$49","order",["$61"],["EVD-5fd0b8da144cf7fa"],[],[],[],[0,false,"order","$89","$12","$39","$54","$61","$90",[],"read"]],["DARTREF-966458fdc520eb7f","FACT","source","$49","String",["$72"],["EVD-9492b3687b9eab8c"],[],[],[],[0,false,"String","$89","DARTDEF-33896b7ed7e56c62","$41","$70","$72","$90",[],"type"]],["DARTREF-983ee4e5a875b65b","FACT","source","$49","FutureOr",["$73"],["EVD-cbc1e4c87603a4d8"],[],[],[],[0,false,"FutureOr","$89","DARTDEF-4ee8adaece761370","$41","$70","$73","$90",[],"type"]],["DARTREF-9bbc7d8af3c679ab","FACT","source","$49","_orders",["$81"],["EVD-888301d07fe47a32"],[],[],[],[1,false,"_orders","$1","$2","$44","$75","$81","resolved",["shop.presentation.order_page._OrderPageState._orders"],"write"]],["DARTREF-9df3768c33c956dc","FACT","source","$49","dynamic",["$57"],["EVD-849e8633c378a2d6"],[],[],[],[0,false,"dynamic","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-a035acc91ad79b27","FACT","source","$49","order",["$85"],["EVD-092bfb9afb543573"],[],[],[],[1,false,"order","$1","$5","$45","$82","$85","resolved",["shop.presentation.order_tile.OrderTile.order"],"read"]],["DARTREF-a207f979ad6b9c75","FACT","source","$49","dynamic",["$57"],["EVD-ae60fdae1be25ed4"],[],[],[],[0,false,"dynamic","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-a3bba3e3835af914","FACT","source","$49","Order",["$58"],["EVD-5509017ea352cfc9"],[],[],[],[0,false,"Order","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-a72bffb5bbfb4061","FACT","source","$49","_client",["$61"],["EVD-ac7e4380afe8f8a5"],[],[],[],[0,false,"_client","$89","$12","$39","$54","$61","$90",[],"read"]],["DARTREF-a75c6fcf87f6da89","FACT","source","$49","Order",["$73"],["EVD-d2b7e3e24bf85a76"],[],[],[],[1,false,"Order","$1","DARTDEF-4ee8adaece761370","$41","$70","$73","resolved",["$65"],"type"]],["DARTREF-a7a9eb4d41c290cc","FACT","source","$49","String",["$57"],["EVD-4fb0cf36c442145e"],[],[],[],[0,false,"String","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-aa43ee1651c63cc0","FACT","source","$49","List",["$58"],["EVD-036e1accaa1c78e9"],[],[],[],[0,false,"List","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-ac8575839529d77a","FACT","source","$49","Future",["$61"],["EVD-f75eac066dab7e2b"],[],[],[],[0,false,"Future","$89","$12","$39","$54","$61","$90",[],"type"]],["DARTREF-addb21c4408017fc","FACT","source","$49","List",["$58"],["EVD-13b5f7254b87b4e5"],[],[],[],[0,false,"List","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-b0e12326aaac988a","FACT","source","$49","Map",["$58"],["EVD-db8e2c22ea9e7790"],[],[],[],[0,false,"Map","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-b248cbb518d1d52f","FACT","source","$49","key",["$84"],["EVD-80ae6c44e1c9bb7f"],[],[],[],[0,false,"key","$89","DARTDEF-da05c44399cb7859","$45","$82","$84","$90",[],"read"]],["DARTREF-b58e1f3b9692c7ee","FACT","source","$49","Widget",["$85"],["EVD-db16457e9e84d563"],[],[],[],[0,false,"Widget","$89","$5","$45","$82","$85","$90",[],"type"]],["DARTREF-bfd6d06600718582","FACT","source","$49","sum",["$66"],["EVD-659fd15d72b65cf6"],[],[],[],[1,false,"sum","$1","$7","$40","$64","$66","resolved",["shop.domain.entities.sum"],"read"]],["DARTREF-c1c1cac8d9cf968d","FACT","source","$49","String",["$58"],["EVD-eb75bc055f58a14d"],[],[],[],[0,false,"String","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-c56ac21fc387cb68","FACT","source","$49","dynamic",["$58"],["EVD-cfc60e2d40d116f6"],[],[],[],[0,false,"dynamic","$89","$11","$39","$54","$58","$90",[],"type"]],["DARTREF-c593e6c3105436cc","FACT","source","$49","order",["$80"],["EVD-f27bf9ba4d5c221f"],[],[],[],[0,false,"order","$89","$10","$44","$75","$80","$90",[],"read"]],["DARTREF-c9dd94f905c61d70","FACT","source","$49","Duration",["$51"],["EVD-908bbf75987a640a"],[],[],[],[0,false,"Duration","$89","$9","$37","$50","$51","$90",[],"type"]],["DARTREF-ccc113219121b66d","FACT","source","$49","children",["$80"],["EVD-a221c6d1476c1168"],[],[],[],[0,false,"children","$89","$10","$44","$75","$80","$90",[],"read"]],["DARTREF-cd9996389606ad31","FACT","source","$49","Order",["$57"],["EVD-da1658b64fcd6b35"],[],[],[],[0,false,"Order","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-cec2904ce5b814f6","FACT","source","$49","Order",["$75"],["EVD-615005a4fa68b25d"],[],[],[],[1,false,"Order","$1","$m","$44","$75","$75","resolved",["$65"],"type"]],["DARTREF-d1134d04cffa1434","FACT","source","$49","seconds",["$51"],["EVD-385768fb95e15aad"],[],[],[],[0,false,"seconds","$89","$9","$37","$50","$51","$90",[],"read"]],["DARTREF-d2907ad470b57bcd","FACT","source","$49","String",["$88"],["EVD-a1320e476f5f1e3e"],[],[],[],[0,false,"String","$89","DARTDEF-fb3036cce6411aaa","$46","$86","$88","$90",[],"type"]],["DARTREF-d4cfb26645a31526","FACT","source","$49","connectionTimeout",["$51"],["EVD-4fea7eb8cb4fe7d9"],[],[],[],[0,false,"connectionTimeout","$89","$9","$37","$50","$51","$90",[],"read"]],["DARTREF-d502ff95eefaf64e","FACT","source","$49","body",["$61"],["EVD-757ef435e0a47262"],[],[],[],[0,false,"body","$89","$12","$39","$54","$61","$90",[],"read"]],["DARTREF-d89b53bf1ca1edae","FACT","source","$49","item",["$57"],["EVD-a44f7d76b705ba68"],[],[],[],[0,false,"item","$89","$6","$39","$54","$57","$90",[],"read"]],["DARTREF-dab6b7f104208b34","FACT","source","$49","Order",["$61"],["EVD-d31ea89dee178263"],[],[],[],[0,false,"Order","$89","$12","$39","$54","$61","$90",[],"type"]],["DARTREF-dc833eae246ba5d2","FACT","source","$49","List",["$72"],["EVD-10709a47c4e107d9"],[],[],[],[0,false,"List","$89","DARTDEF-33896b7ed7e56c62","$41","$70","$72","$90",[],"type"]],["DARTREF-dce6e59d55781803","FACT","source","$49","line.unitCents",["$66"],["EVD-9535deff19439b9e"],[],[],[],[1,false,"line.unitCents","$1","$7","$40","$64","$66","resolved",["shop.domain.entities.OrderLine.unitCents"],"read"]],["DARTREF-dd13e0f45055a543","FACT","source","$49","order.id",["$85"],["EVD-092bfb9afb543573"],[],[],[],[1,false,"order.id","$1","$5","$45","$82","$85","resolved",["shop.domain.entities.Order.id"],"read"]],["DARTREF-e18ff1d94d31310b","FACT","source","$49","remote",["$56"],["EVD-0d7334e36bc5eb38"],[],[],[],[0,false,"remote","$89","$4","$39","$54","$56","$90",[],"read"]],["DARTREF-e24d6b138e849577","FACT","source","$49","String",["$68"],["EVD-078fa01d92317cd6"],[],[],[],[0,false,"String","$89","$3","$40","$64","$68","$90",[],"type"]],["DARTREF-e2a1401cb94ef2e5","FACT","source","$49","List",["$57"],["EVD-6246511d5b2a6049"],[],[],[],[0,false,"List","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-e72f88a7d27645f5","FACT","source","$49","http",["$53"],["EVD-9bd79b525821cb13"],[],[],[],[0,false,"http","$89","DARTDEF-c55182f84e9c08ed","$38","$52","$53","$90",[],"type"]],["DARTREF-eb80e630e522d515","FACT","source","$49","key",["$84"],["EVD-b72d04b29932382e"],[],[],[],[0,false,"key","$89","DARTDEF-da05c44399cb7859","$45","$82","$84","$90",[],"read"]],["DARTREF-f1d06029a734a3a8","FACT","source","$49","Order",["shop.domain.entities.Order.Order"],["EVD-7d17448959d435ef"],[],[],[],[1,false,"Order","$1","DARTDEF-d936ef19353a9f61","$40","$64","shop.domain.entities.Order.Order","resolved",["$65"],"read"]],["DARTREF-f2ec27e7b402eda9","FACT","source","$49","OrderPage",["$78"],["EVD-cdf2c97c0b6df20a"],[],[],[],[1,false,"OrderPage","$1","DARTDEF-e19f42e0d56392c5","$43","$75","$78","resolved",["$76"],"type"]],["DARTREF-f8014f1aca72de10","FACT","source","$49","int",["$57"],["EVD-111e20ed6697c8da"],[],[],[],[0,false,"int","$89","$6","$39","$54","$57","$90",[],"type"]],["DARTREF-fb772014bdd306d2","FACT","source","$49","lines",["$68"],["EVD-3d37768ffa15f98b"],[],[],[],[1,false,"lines","$1","$3","$40","$64","$68","resolved",["shop.domain.entities.OrderDraft.lines"],"read"]],["DARTREF-fb7cb26bf9c306db","FACT","source","$49","Order",["$72"],["EVD-3b3cc8995d093386"],[],[],[],[1,false,"Order","$1","DARTDEF-33896b7ed7e56c62","$41","$70","$72","resolved",["$65"],"type"]],["DARTREF-ff8c1724ff55fd8a","FACT","source","$49","Client",["$56"],["EVD-c63afad641f97046"],[],[],[],[0,false,"Client","$89","$4","$39","$54","$56","$90",[],"type"]]],"runtime":{"name":"python","required":">=3.11","version":"3.11.12"},"schema_version":"2.0.0","scope_observations":[["INSIDE-REQUIRES-EVALUATION-e89f495d393969e7","FACT","components","inside_rule_evaluation","REQUIRES-COMPLETE evaluated its scoped imports",["$54","$54","$54","$54","$54","$54","$63","$63","$63","$63","$64","$70","$70","$70","shop.main","shop.main","$75","$75","$75","$82","$82","$82"],["EVD-00dc764155e3faf3","EVD-14a1aa161af62619","EVD-187d8ee208a95410","EVD-231fe2f142c36bca","EVD-281d73fa7f851d6d","EVD-281d73fa7f851d6d","EVD-28a3a19c3c545b99","EVD-7bddde2fe6208f95","EVD-a64916cfd0ba7d21","EVD-b6a8687fd45c5a39","EVD-c66424829f560ca4"],["REQUIRES-COMPLETE"],["$13","$14","$15","$16","$17","$18","$19","$20","$21","DARTIMP-e5677714540eae6d","DARTIMP-ffcc6c7350a4ac68"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m","$m","$m","$m"]],["RULE-EVALUATION-02e2a16085f8541c","FACT","rules","rule_evaluation","COMPONENT-NO-CYCLES evaluator completed",["app","data","domain","presentation"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["COMPONENT-NO-CYCLES"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m",[],false,["app","data","domain","presentation"],"$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-22b72e54d5876e2a","FACT","rules","rule_evaluation","DEP-DOMAIN-NO-DART-IO evaluator completed",["$63","$64","$70"],["EVD-328aa86d245f3315","EVD-5f923d55d81a2376","EVD-ddb440168ff441bb"],["DEP-DOMAIN-NO-DART-IO"],["$27","$28","$31"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-3f968779a701e731","FACT","rules","rule_evaluation","EXTERNAL-FLUTTER-UI evaluator completed",["$50","$52","$54","$63","$64","$70","shop.main","$75","$82","$86"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["EXTERNAL-FLUTTER-UI"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-451901b74e17e608","FACT","rules","rule_evaluation","ROOT-LAYOUT evaluator completed",["$50","$52","$54","$63","$64","$70","shop.main","$75","$82","$86"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["ROOT-LAYOUT"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-5a419eab23faca55","FACT","rules","rule_evaluation","EXTERNAL-HTTP-DATA evaluator completed",["$50","$52","$54","$63","$64","$70","shop.main","$75","$82","$86"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["EXTERNAL-HTTP-DATA"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-5a9077e1eb227fb2","FACT","rules","rule_evaluation","DATA-PLATFORMS-ISOLATED evaluator completed",["$50","$52"],["EVD-27453539d2a32c2e","EVD-a21aad7cd88dbd66"],["DATA-PLATFORMS-ISOLATED"],["$25","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-759e577f2e2fbbc9","FACT","rules","rule_evaluation","EXTERNAL-COMPLETE evaluator completed",["$50","$52","$54","$63","$64","$70","shop.main","$75","$82","$86"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["EXTERNAL-COMPLETE"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-EVALUATION-8d65305b0ed80807","FACT","rules","rule_evaluation","ASSIGNMENT-COMPLETE evaluator completed",["$50","$52","$54","$63","$64","$70","shop.main","$75","$82","$86"],["EVD-2281cf63035ca9bf","EVD-26b54a77e24bb468","EVD-27453539d2a32c2e","EVD-328aa86d245f3315","EVD-32ae7af565eb63bd","$22","EVD-5f923d55d81a2376","EVD-a21aad7cd88dbd66","EVD-d02d4a76001a7b5f","EVD-ddb440168ff441bb"],["ASSIGNMENT-COMPLETE"],["$24","$25","$26","$27","$28","$29","$30","$31","$32","$33"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","$m","root","$m","$m"]],["RULE-OWNERSHIP-BLOCKER-4d1bda66115e151e","FACT","rules","rule_ownership_blocker","$87",["$86"],["$22"],["INTERFACE-BOUNDARY"],["$26"],[],["$m","$m","$m","$m","$m","$m","$46","$m","$86","$m","$m","$m","$m","$m",0,[],"$m","$m","$87","root","$m","$m"]],["RULE-OWNERSHIP-BLOCKER-e00c5c906a1ca37c","FACT","rules","rule_ownership_blocker","$87",["$86"],["$22"],["REQUIRES-COMPLETE"],["$26"],[],["$m","$m","$m","$m","$m","$m","$46","$m","$86","$m","$m","$m","$m","$m",0,[],"$m","$m","$87","root","$m","$m"]],["SCOPE-4824390c78bd833c","FACT","components","declared_component_scope_observation","Observed source scope for app",["shop.main"],["EVD-26b54a77e24bb468"],["COMP-APP"],["EDGE-3270fff11ba5935a","EDGE-4db289a18cd4d5da","$29"],[],["COMP-APP",true,"$m","$m","$m",2,"$m",["$42"],"$m",1,["shop.main"],1,["$54","$75"],["shop.data","$74"],"$m","$m","$m","$m","$m","$m",[{"kind":"package","observed_module_count":1,"scope":"shop.main"}],["shop.main"]]],["SCOPE-59258e856c746a1d","FACT","components","declared_component_scope_observation","Observed source scope for data",["shop.data"],["EVD-2281cf63035ca9bf","EVD-27453539d2a32c2e","EVD-a21aad7cd88dbd66"],["COMP-DATA"],["EDGE-0f5989dbc086205f","EDGE-8f82bd9940bb0c3d","EDGE-f11b25fee8557c7a","$24","$25","$33"],[],["COMP-DATA",true,"$m","$m","$m",2,"$m",["$37","$38","$39"],"$m",3,["$50","$52","$54"],3,["$63","$70","$75"],["$62","$74"],"$m","$m","$m","$m","$m","$m",[{"kind":"package","observed_module_count":3,"scope":"shop.data"}],["shop.data"]]],["SCOPE-f16e085a9ec8fc42","FACT","components","declared_component_scope_observation","Observed source scope for presentation",["$74"],["EVD-32ae7af565eb63bd","EVD-d02d4a76001a7b5f"],["COMP-PRESENTATION"],["EDGE-0bdfaad2f898238e","EDGE-3a78bd419726c8af","EDGE-7a07c279001c0469","EDGE-f9f1542538d146e7","$30","$32"],[],["COMP-PRESENTATION",true,"$m","$m","$m",1,"$m",["$43","$45"],"$m",2,["$75","$82"],2,["$63","$64","$70"],["$62"],"$m","$m","$m","$m","$m","$m",[{"kind":"package","observed_module_count":2,"scope":"$74"}],["$74"]]],["SCOPE-f93f9d59a8cf5768","FACT","components","declared_component_scope_observation","Observed source scope for domain",["$62"],["EVD-328aa86d245f3315","EVD-5f923d55d81a2376","EVD-ddb440168ff441bb"],["COMP-DOMAIN"],["EDGE-03043452b643740c","$27","$28","$31"],[],["COMP-DOMAIN",true,"$m","$m","$m",1,"$m",["lib/domain/domain.dart","$40","$41"],"$m",3,["$63","$64","$70"],3,["$54"],["shop.data"],"$m","$m","$m","$m","$m","$m",[{"kind":"package","observed_module_count":3,"scope":"$62"}],["$62"]]],["UNKNOWN-SCOPE-d439a77171613db4","UNKNOWN","components","unassigned_component_scope","Accepted component ownership is undecided for shop.util",["shop.util","$86"],["$22"],[],["$26"],[],["$m","$m","$m","$m","$m","$m","$m",["$46"],"$m",1,["$86"],"$m","$m","$m","$m","$m","$m",false,"No accepted component declaration covers these observed modules","shop.util","$m","$m"]]],"source":{"dirty":true,"git_head":"b904414f33006a1b5c31eae4d9461f9731654fe7","scope":["lib/**/*.dart"],"source_digest":"d138b66639cf20ff92030c5ad6539e9b9f240625b91a3e7b8fa143de4f92af64"},"string_table":["Analyzer resolved a local generative constructor","Analyzer resolved the source element","DARTDEF-06cc533fe5836d4e","DARTDEF-5288401c8c3df9d6","DARTDEF-5c1f51bddf7f9612","DARTDEF-6654c1c8259fec04","DARTDEF-7b2444f40f187e4f","DARTDEF-84082b187ce7d668","DARTDEF-93ade6de2e859347","DARTDEF-a15d97ad95f221f3","DARTDEF-a32e2e9926072672","DARTDEF-acb8a0ad9442de1a","DARTDEF-cb425ee16c344ebe","DARTIMP-33281234e2012bb7","DARTIMP-37f6da361b185e6c","DARTIMP-57988213fb5f5394","DARTIMP-b8e70f9af9ed45b2","DARTIMP-bef82b199fdfbc9c","DARTIMP-c6374edab68a9ea7","DARTIMP-c74ac1c2fc992a06","DARTIMP-c9967bb3883bd5b7","DARTIMP-cc08bcaf9af1b8b4","EVD-34c298198cec0061","HttpOrderRepository(createClient(), Uri.parse('https://shop.example/api/'))","MOD-33c41a7a8e6f891c","MOD-48c88b887df0fce1","MOD-5df5a775c144c975","MOD-6d2285ed8cd10a9b","MOD-7632ee4486608119","MOD-99806c14551d2b90","MOD-a1faf65954a115f5","MOD-b660d77e3cc5b588","MOD-b6b06931ceb31a55","MOD-e88a3fc8b76991c4","Order(item['id'] as String,[for(final line in(item['lines'] as List<dynamic>).cast<Map<String, dynamic>>()) OrderLine(line['description'] as String, line['quantity'] as int, line['unit_cents'] as int)])","dependencies","docs/architecture/shop.md","lib/data/client_io.dart","lib/data/client_stub.dart","lib/data/http_order_repository.dart","lib/domain/entities.dart","lib/domain/repository.dart","lib/main.dart","lib/presentation/order_page.dart","lib/presentation/order_page_state.dart","lib/presentation/order_tile.dart","lib/util/strings.dart","module_dependency","module_topology","reference","shop.data.client_io","shop.data.client_io.createClient","shop.data.client_stub","shop.data.client_stub.createClient","shop.data.http_order_repository","shop.data.http_order_repository.HttpOrderRepository","shop.data.http_order_repository.HttpOrderRepository.HttpOrderRepository.remote","shop.data.http_order_repository.HttpOrderRepository._order","shop.data.http_order_repository.HttpOrderRepository.ordersOf","shop.data.http_order_repository.HttpOrderRepository.ordersOf.items","shop.data.http_order_repository.HttpOrderRepository.ordersOf.response","shop.data.http_order_repository.HttpOrderRepository.save","shop.domain","shop.domain.domain","shop.domain.entities","shop.domain.entities.Order","shop.domain.entities.Order.totalCents::getter","shop.domain.entities.OrderDraft","shop.domain.entities.OrderDraft.place","shop.domain.entities.OrderLine","shop.domain.repository","shop.domain.repository.OrderRepository","shop.domain.repository.OrderRepository.ordersOf","shop.domain.repository.OrderRepository.save","shop.presentation","shop.presentation.order_page","shop.presentation.order_page.OrderPage","shop.presentation.order_page.OrderPage.OrderPage","shop.presentation.order_page.OrderPage.createState","shop.presentation.order_page._OrderPageState","shop.presentation.order_page._OrderPageState.build","shop.presentation.order_page._OrderPageState.initState","shop.presentation.order_tile","shop.presentation.order_tile.OrderTile","shop.presentation.order_tile.OrderTile.OrderTile","shop.presentation.order_tile.OrderTile.build","shop.util.strings","shop.util.strings (lib/util/strings.dart) has no owner in scope root. Assign it to one existing component using exact_modules: [\"shop.util.strings\"].","shop.util.strings.initials","target is external, dynamic, or unresolved","unresolved","widget.repository.ordersOf('demo').then((orders) => setState(() => _orders = orders))"],"symbols":[["DARTBIND-24a545e36bab803f","FACT","source","binding","shop.data.http_order_repository.HttpOrderRepository.ordersOf.response declaration",["$60"],["EVD-d2685460eb7f508e"],[],[],[],["$m",null,"$m","$m",true,"$m",[],[],"$m","await _client.get(_base.resolve('customers/$customerId/orders'))","$11","$m","$m","$m","$m","$54","response",false,"shop.data","$m","$58","$60","$m",true,true,"$39",true,"dynamic_binding",{"basis":"language","kind":"public","spelling":"response"}]],["DARTBIND-b46e20c47ae95087","FACT","source","binding","shop.data.http_order_repository.HttpOrderRepository.ordersOf.items declaration",["$59"],["EVD-f2b1c2c117ebf29d"],[],[],[],["$m",null,"$m","$m",true,"$m",[],[],"$m","(jsonDecode(response.body) as List<dynamic>).cast<Map<String, dynamic>>()","$11","$m","$m","$m","$m","$54","items",false,"shop.data","$m","$58","$59","$m",true,true,"$39",true,"dynamic_binding",{"basis":"language","kind":"public","spelling":"items"}]],["$2","FACT","source","method","shop.presentation.order_page._OrderPageState.initState declaration",["$81"],["EVD-7dcc2ac565a04972"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-bfad3dbf9f427385","$m","instance","$m","$m","$75","initState",false,"$74",[],"$79","$81","void",true,true,"$44",true,"method",{"basis":"language","kind":"public","spelling":"initState"}]],["DARTDEF-20af729b373396ff","FACT","source","class","shop.domain.entities.OrderLine declaration",["$69"],["EVD-eab7b82b611e8063"],[],[],[],["$m","$m",[{"annotation":"String","constant":null,"definition_id":"DARTATTR-5566a6edd5d7e056","evidence_ids":["EVD-c5240edef1ed9137"],"name":"description","static":false,"visibility":{"basis":"language","kind":"public","spelling":"description"}},{"annotation":"int","constant":null,"definition_id":"DARTATTR-4821213862fa423a","evidence_ids":["EVD-0a1339ba7cf6f4cc"],"name":"quantity","static":false,"visibility":{"basis":"language","kind":"public","spelling":"quantity"}},{"annotation":"int","constant":null,"definition_id":"DARTATTR-e560b0489d60d15a","evidence_ids":["EVD-c82452238c7a4df6"],"name":"unitCents","static":false,"visibility":{"basis":"language","kind":"public","spelling":"unitCents"}}],[],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-5566a6edd5d7e056","DARTATTR-4821213862fa423a","DARTATTR-e560b0489d60d15a"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-fe89b3f442f08197"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$64","OrderLine",false,"$62","$m",null,"$69","$m",true,true,"$40",true,"class",{"basis":"language","kind":"public","spelling":"OrderLine"}]],["DARTDEF-33896b7ed7e56c62","FACT","source","method","shop.domain.repository.OrderRepository.ordersOf declaration",["$72"],["EVD-8f2ba4941df1be59"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-7088267b2b7229a1","$m","instance","$m","$m","$70","ordersOf",false,"$62",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"customerId"}],"$71","$72","Future<List<Order>>",true,true,"$41",true,"method",{"basis":"language","kind":"public","spelling":"ordersOf"}]],["DARTDEF-4a88b3b5f29a3316","FACT","source","class","shop.presentation.order_tile.OrderTile declaration",["$83"],["EVD-7c508891487e8e0f"],[],[],[],["$m","$m",[{"annotation":"Order","constant":null,"definition_id":"DARTATTR-b18b90c7dda3a3d1","evidence_ids":["EVD-94a87a8abfe0ff51"],"name":"order","static":false,"visibility":{"basis":"language","kind":"public","spelling":"order"}}],[{"candidate_count":0,"candidates_truncated":false,"evidence_ids":["EVD-7c508891487e8e0f"],"expression":"StatelessWidget","id":"DARTBASE-a415bfecea14a33a","reason":"base type is external or unresolved","relationship_kind":"inherits","status":"$90","targets":[]}],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-b18b90c7dda3a3d1"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-da05c44399cb7859","$5"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$82","OrderTile",false,"$74","$m",null,"$83","$m",true,true,"$45",true,"class",{"basis":"language","kind":"public","spelling":"OrderTile"}]],["DARTDEF-4ee8adaece761370","FACT","source","method","shop.domain.repository.OrderRepository.save declaration",["$73"],["EVD-cbc1e4c87603a4d8"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-7088267b2b7229a1","$m","instance","$m","$m","$70","save",false,"$62",[{"annotation":"Order","default":null,"default_known":true,"kind":"positional","name":"order"}],"$71","$73","FutureOr<void>",true,true,"$41",true,"method",{"basis":"language","kind":"public","spelling":"save"}]],["$3","FACT","source","method","shop.domain.entities.OrderDraft.place declaration",["$68"],["EVD-81bd7759b2b264ef"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-88172be219cedeaf","$m","instance","$m","$m","$64","place",false,"$62",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"id"}],"$67","$68","Order",true,true,"$40",true,"method",{"basis":"language","kind":"public","spelling":"place"}]],["$4","FACT","source","method","shop.data.http_order_repository.HttpOrderRepository.HttpOrderRepository.remote declaration",["$56"],["EVD-bff58c17613d8fa9"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-5eecffdaf6b4bd39","$m","factory","$m","$m","$54","HttpOrderRepository.remote",false,"shop.data",[],"$55","$56","HttpOrderRepository",true,true,"$39",true,"method",{"basis":"language","kind":"public","spelling":"remote"}]],["DARTDEF-5ed16fb9945a52cf","FACT","source","method","shop.data.http_order_repository.HttpOrderRepository.HttpOrderRepository declaration",["shop.data.http_order_repository.HttpOrderRepository.HttpOrderRepository"],["EVD-d3c1a6b337bc36ad"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-5eecffdaf6b4bd39","$m","constructor","$m","$m","$54","HttpOrderRepository",false,"shop.data",[{"annotation":"http.Client","default":null,"default_known":true,"kind":"positional","name":"_client"},{"annotation":"Uri","default":null,"default_known":true,"kind":"positional","name":"_base"}],"$55","shop.data.http_order_repository.HttpOrderRepository.HttpOrderRepository","HttpOrderRepository",true,true,"$39",true,"method",{"basis":"language","kind":"public","spelling":"HttpOrderRepository"}]],["DARTDEF-5eecffdaf6b4bd39","FACT","source","class","shop.data.http_order_repository.HttpOrderRepository declaration",["$55"],["EVD-0d81becce220fb68"],[],[],[],["$m","$m",[{"annotation":"http.Client","constant":null,"definition_id":"DARTATTR-88eb5bdb86a2aa65","evidence_ids":["EVD-68794d83f5303c43"],"name":"_client","static":false,"visibility":{"basis":"language","kind":"private","spelling":"_client"}},{"annotation":"Uri","constant":null,"definition_id":"DARTATTR-fbbe6acf0dbe876d","evidence_ids":["EVD-b6100e0f119541ae"],"name":"_base","static":false,"visibility":{"basis":"language","kind":"private","spelling":"_base"}}],[{"candidate_count":1,"candidates_truncated":false,"evidence_ids":["EVD-0d81becce220fb68"],"expression":"OrderRepository","id":"DARTBASE-dc5578fcda4cefb0","reason":"Analyzer resolved local declared type","relationship_kind":"realizes","status":"resolved","targets":["$71"]}],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-88eb5bdb86a2aa65","DARTATTR-fbbe6acf0dbe876d"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-5ed16fb9945a52cf","$4","$11","$12","$6"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$54","HttpOrderRepository",false,"shop.data","$m",null,"$55","$m",true,true,"$39",true,"class",{"basis":"language","kind":"public","spelling":"HttpOrderRepository"}]],["$5","FACT","source","method","shop.presentation.order_tile.OrderTile.build declaration",["$85"],["EVD-6f679136f36911f9"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-4a88b3b5f29a3316","$m","instance","$m","$m","$82","build",false,"$74",[{"annotation":"BuildContext","default":null,"default_known":true,"kind":"positional","name":"context"}],"$83","$85","Widget",true,true,"$45",true,"method",{"basis":"language","kind":"public","spelling":"build"}]],["DARTDEF-69c0a3856a2901a6","FACT","source","class","shop.presentation.order_page.OrderPage declaration",["$76"],["EVD-cc3c2bed73768b5e"],[],[],[],["$m","$m",[{"annotation":"OrderRepository","constant":null,"definition_id":"DARTATTR-1e6ddc282732681e","evidence_ids":["EVD-59c20e9285a2a558"],"name":"repository","static":false,"visibility":{"basis":"language","kind":"public","spelling":"repository"}}],[{"candidate_count":0,"candidates_truncated":false,"evidence_ids":["EVD-cc3c2bed73768b5e"],"expression":"StatefulWidget","id":"DARTBASE-4bf8b40a9798befb","reason":"base type is external or unresolved","relationship_kind":"inherits","status":"$90","targets":[]}],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-1e6ddc282732681e"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-fa35bb591f3e17a2","DARTDEF-e19f42e0d56392c5"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$75","OrderPage",false,"$74","$m",null,"$76","$m",true,true,"$43",true,"class",{"basis":"language","kind":"public","spelling":"OrderPage"}]],["DARTDEF-7088267b2b7229a1","FACT","source","class","shop.domain.repository.OrderRepository declaration",["$71"],["EVD-c408bc33aa9bed66"],[],[],[],["$m","$m",[],[],true,"protocol",[],"$m",[],"$m",null,[{"definition_ids":[],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-33896b7ed7e56c62","DARTDEF-4ee8adaece761370"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m","$m",["abstract","interface"],"$70","OrderRepository",false,"$62","$m",null,"$71","$m",true,true,"$41",true,"class",{"basis":"language","kind":"public","spelling":"OrderRepository"}]],["$6","FACT","source","method","shop.data.http_order_repository.HttpOrderRepository._order declaration",["$57"],["EVD-a3ee72befeeabe6a"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-5eecffdaf6b4bd39","$m","instance","$m","$m","$54","_order",false,"shop.data",[{"annotation":"Map<String, dynamic>","default":null,"default_known":true,"kind":"positional","name":"item"}],"$55","$57","Order",true,true,"$39",true,"method",{"basis":"language","kind":"private","spelling":"_order"}]],["$7","FACT","source","method","shop.domain.entities.Order.totalCents::getter declaration",["$66"],["EVD-f06a0d7ac16d739e"],[],[],[],["getter",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-b0b90f895aa71cf7","$m","instance","$m","$m","$64","totalCents",false,"$62",[],"$65","$66","int",true,true,"$40",true,"method",{"basis":"language","kind":"public","spelling":"totalCents"}]],["DARTDEF-88172be219cedeaf","FACT","source","class","shop.domain.entities.OrderDraft declaration",["$67"],["EVD-c0d8096eee841c94"],[],[],[],["$m","$m",[{"annotation":"List<OrderLine>","constant":null,"definition_id":"DARTATTR-83f30d669e576f36","evidence_ids":["EVD-51aade0b22045527"],"name":"lines","static":false,"visibility":{"basis":"language","kind":"public","spelling":"lines"}}],[],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-83f30d669e576f36"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["$3"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$64","OrderDraft",false,"$62","$m",null,"$67","$m",true,true,"$40",true,"class",{"basis":"language","kind":"public","spelling":"OrderDraft"}]],["$8","FACT","source","function","shop.main.main declaration",["shop.main.main"],["EVD-fa0dd4650e0a22aa"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m",null,"$m","static","$m",[],"shop.main","main",false,"shop",[],null,"shop.main.main","Future<void>",true,true,"$42",true,"function",{"basis":"language","kind":"public","spelling":"main"}]],["$9","FACT","source","function","shop.data.client_io.createClient declaration",["$51"],["EVD-e20486f278d8fbc0"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m",null,"$m","static","$m",[],"$50","createClient",false,"shop.data",[],null,"$51","http.Client",true,true,"$37",true,"function",{"basis":"language","kind":"public","spelling":"createClient"}]],["$10","FACT","source","method","shop.presentation.order_page._OrderPageState.build declaration",["$80"],["EVD-26b8fa44725bdbf4"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-bfad3dbf9f427385","$m","instance","$m","$m","$75","build",false,"$74",[{"annotation":"BuildContext","default":null,"default_known":true,"kind":"positional","name":"context"}],"$79","$80","Widget",true,true,"$44",true,"method",{"basis":"language","kind":"public","spelling":"build"}]],["$11","FACT","source","method","shop.data.http_order_repository.HttpOrderRepository.ordersOf declaration",["$58"],["EVD-e0d850aacdd6c73e"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-5eecffdaf6b4bd39","$m","instance","$m","$m","$54","ordersOf",false,"shop.data",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"customerId"}],"$55","$58","Future<List<Order>>",true,true,"$39",true,"method",{"basis":"language","kind":"public","spelling":"ordersOf"}]],["DARTDEF-b0b90f895aa71cf7","FACT","source","class","shop.domain.entities.Order declaration",["$65"],["EVD-331a7000532e7fd0"],[],[],[],["$m","$m",[{"annotation":"String","constant":null,"definition_id":"DARTATTR-e09537716172bb24","evidence_ids":["EVD-0008d07886df10ae"],"name":"id","static":false,"visibility":{"basis":"language","kind":"public","spelling":"id"}},{"annotation":"List<OrderLine>","constant":null,"definition_id":"DARTATTR-c6d0bf80913e943b","evidence_ids":["EVD-b03b487113ac220a"],"name":"lines","static":false,"visibility":{"basis":"language","kind":"public","spelling":"lines"}}],[],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-e09537716172bb24","DARTATTR-c6d0bf80913e943b"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["DARTDEF-d936ef19353a9f61","$7"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$64","Order",false,"$62","$m",null,"$65","$m",true,true,"$40",true,"class",{"basis":"language","kind":"public","spelling":"Order"}]],["DARTDEF-bfad3dbf9f427385","FACT","source","class","shop.presentation.order_page._OrderPageState declaration",["$79"],["EVD-4a89619fe76734f2"],[],[],[],["$m","$m",[{"annotation":"List<Order>","constant":"const []","definition_id":"DARTATTR-1d946ee36aacdbb2","evidence_ids":["EVD-096a3af93f5188c1"],"name":"_orders","static":false,"visibility":{"basis":"language","kind":"private","spelling":"_orders"}}],[{"candidate_count":0,"candidates_truncated":false,"evidence_ids":["EVD-4a89619fe76734f2"],"expression":"State<OrderPage>","id":"DARTBASE-8c08bce4a3a1ff8f","reason":"base type is external or unresolved","relationship_kind":"inherits","status":"$90","targets":[]}],true,"class",[],"$m",[],"$m",null,[{"definition_ids":["DARTATTR-1d946ee36aacdbb2"],"kind":"attribute","reason":null,"schema_version":"1.0.0","status":"complete"},{"definition_ids":["$2","$10"],"kind":"method","reason":null,"schema_version":"1.0.0","status":"complete"}],"$m",false,[],"$75","_OrderPageState",false,"$74","$m",null,"$79","$m",true,true,"$44",true,"class",{"basis":"language","kind":"private","spelling":"_OrderPageState"}]],["DARTDEF-c55182f84e9c08ed","FACT","source","function","shop.data.client_stub.createClient declaration",["$53"],["EVD-9bd79b525821cb13"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m",null,"$m","static","$m",[],"$52","createClient",false,"shop.data",[],null,"$53","http.Client",true,true,"$38",true,"function",{"basis":"language","kind":"public","spelling":"createClient"}]],["$12","FACT","source","method","shop.data.http_order_repository.HttpOrderRepository.save declaration",["$61"],["EVD-4e456dd65ee5666a"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-5eecffdaf6b4bd39","$m","instance","$m","$m","$54","save",false,"shop.data",[{"annotation":"Order","default":null,"default_known":true,"kind":"positional","name":"order"}],"$55","$61","Future<void>",true,true,"$39",true,"method",{"basis":"language","kind":"public","spelling":"save"}]],["DARTDEF-d936ef19353a9f61","FACT","source","method","shop.domain.entities.Order.Order declaration",["shop.domain.entities.Order.Order"],["EVD-e4e857c1b3c81bd6"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-b0b90f895aa71cf7","$m","constructor","$m","$m","$64","Order",false,"$62",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"id"},{"annotation":"List<OrderLine>","default":null,"default_known":true,"kind":"positional","name":"lines"}],"$65","shop.domain.entities.Order.Order","Order",true,true,"$40",true,"method",{"basis":"language","kind":"public","spelling":"Order"}]],["DARTDEF-da05c44399cb7859","FACT","source","method","shop.presentation.order_tile.OrderTile.OrderTile declaration",["$84"],["EVD-45a408aff4a9f9ba"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-4a88b3b5f29a3316","$m","constructor","$m","$m","$82","OrderTile",false,"$74",[{"annotation":"Key?","default":"null","default_known":true,"kind":"keyword_only","name":"key"},{"annotation":"Order","default":null,"default_known":true,"kind":"keyword_only","name":"order"}],"$83","$84","OrderTile",true,true,"$45",true,"method",{"basis":"language","kind":"public","spelling":"OrderTile"}]],["DARTDEF-e19f42e0d56392c5","FACT","source","method","shop.presentation.order_page.OrderPage.createState declaration",["$78"],["EVD-77a937a9af615581"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-69c0a3856a2901a6","$m","instance","$m","$m","$75","createState",false,"$74",[],"$76","$78","State<OrderPage>",true,true,"$43",true,"method",{"basis":"language","kind":"public","spelling":"createState"}]],["DARTDEF-fa35bb591f3e17a2","FACT","source","method","shop.presentation.order_page.OrderPage.OrderPage declaration",["$77"],["EVD-e9dc8e674ec285bc"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-69c0a3856a2901a6","$m","constructor","$m","$m","$75","OrderPage",false,"$74",[{"annotation":"Key?","default":"null","default_known":true,"kind":"keyword_only","name":"key"},{"annotation":"OrderRepository","default":null,"default_known":true,"kind":"keyword_only","name":"repository"}],"$76","$77","OrderPage",true,true,"$43",true,"method",{"basis":"language","kind":"public","spelling":"OrderPage"}]],["DARTDEF-fb3036cce6411aaa","FACT","source","function","shop.util.strings.initials declaration",["$88"],["EVD-a1320e476f5f1e3e"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m",null,"$m","static","$m",[],"$86","initials",false,"shop.util",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"name"}],null,"$88","String",true,true,"$46",true,"function",{"basis":"language","kind":"public","spelling":"initials"}]],["DARTDEF-fe89b3f442f08197","FACT","source","method","shop.domain.entities.OrderLine.OrderLine declaration",["shop.domain.entities.OrderLine.OrderLine"],["EVD-a66af5d95cd681ba"],[],[],[],["$m",null,"$m","$m",true,"$m",[],"$m","$m","$m","DARTDEF-20af729b373396ff","$m","constructor","$m","$m","$64","OrderLine",false,"$62",[{"annotation":"String","default":null,"default_known":true,"kind":"positional","name":"description"},{"annotation":"int","default":null,"default_known":true,"kind":"positional","name":"quantity"},{"annotation":"int","default":null,"default_known":true,"kind":"positional","name":"unitCents"}],"$69","shop.domain.entities.OrderLine.OrderLine","OrderLine",true,true,"$40",true,"method",{"basis":"language","kind":"public","spelling":"OrderLine"}]]],"transitive_paths":[["PATH-114301fc71fb7cb2","FACT","package_topology","transitive_package_dependency","shop.presentation → shop.domain → shop.data",["shop.data","$62","$74"],[],[],["EDGE-026feb6a3c2ebdce","EDGE-789afa4b27a8b2b6"],[],["package",["$74","$62","shop.data"],"$74","shop.data"]],["PATH-8706963f85ba713f","FACT","package_topology","transitive_package_dependency","shop.domain → shop.data → shop.presentation",["shop.data","$62","$74"],[],[],["EDGE-6a27978a3da93e40","EDGE-789afa4b27a8b2b6"],[],["package",["$62","shop.data","$74"],"$62","$74"]],["PATH-8af9decc9ee24d1f","FACT","package_topology","transitive_package_dependency","shop → shop.data → shop.domain",["shop","shop.data","$62"],[],[],["EDGE-78e87a40844cfe5e","EDGE-996ccbf5869b0976"],[],["package",["shop","shop.data","$62"],"shop","$62"]]],"typing_signals":null,"unknowns":[["UNKNOWN-SYMBOLS-d4a72f4f01f5f167","UNKNOWN","dependency_violations","interface_symbol_limit","INTERFACE-BOUNDARY decided 10 of 11 imports whose used names it depends on",["$82"],["EVD-14a1aa161af62619"],["INTERFACE-BOUNDARY"],["$19"],[],[10,11,"The import's used names or publication route are unproven.",1]]],"violations":[["VIO-247bf4e1e3136f2d","VIOLATION","cycles","no_component_cycles","Component cycle: data ↔ domain ↔ presentation",["data","domain","presentation"],["EVD-00dc764155e3faf3","EVD-14a1aa161af62619","EVD-187d8ee208a95410","EVD-231fe2f142c36bca","EVD-281d73fa7f851d6d","EVD-281d73fa7f851d6d","EVD-7bddde2fe6208f95","EVD-b6a8687fd45c5a39","EVD-c66424829f560ca4"],["COMPONENT-NO-CYCLES"],["$13","$14","$15","$16","$17","$18","$19","$20","$21"],[],["$m","$m","$m",["data","domain","presentation"],"$m","$m","$m","$m","$m","$m","$m","$m","$m"]],["VIO-3a2eff95919c04be","VIOLATION","api_surface","interface_boundary","shop.presentation.order_tile reaches shop.domain.entities.OrderDraft outside its declared interface",["$67","$82"],["EVD-b6a8687fd45c5a39"],["INTERFACE-BOUNDARY"],["$16"],[],["$m","$m","$m","$m","$m","$m","$m","presentation","$82","OrderDraft","domain","$64","$m"]],["VIO-4de1a34def8ce39a","VIOLATION","components","complete_assignment","shop.util.strings is not owned by exactly one component",["$86"],["$22"],["ASSIGNMENT-COMPLETE"],["$26"],[],["$m","$m","$m","$m","$86","$m","shop","$m","$m","$m","$m","$m","$m"]],["VIO-6a492a16eb58e7de","VIOLATION","dependency_violations","complete_requires","domain imports data without requiring it",["$54","$70"],["EVD-231fe2f142c36bca"],["REQUIRES-COMPLETE"],["$15"],[],["$m","$m","$m","$m","$m","$m","$m","domain","$70","$m","data","$54","$m"]],["VIO-7035b2f7ef6e4adb","VIOLATION","dependency_violations","forbidden_dependency","shop.domain.repository imports forbidden dart.io",["dart.io","$70"],["EVD-7d7079ebf2a8949f"],["DEP-DOMAIN-NO-DART-IO"],["DARTIMP-8f7831d95fa2735d"],[],["$m","$m","$m","$m","$m","$m","$m","$m","$70",null,"$m","dart.io",false]],["VIO-79ba685c324012f2","VIOLATION","$48","root_layout","shop.util is not an allowed child of shop",["shop.util"],["$22"],["ROOT-LAYOUT"],["$26"],[],[["shop.data","$62","shop.main","$74"],"shop.util","$m","$m","$m","shop","$m","$m","$m","$m","$m","$m","$m"]],["VIO-a1ea7391848737ea","VIOLATION","dependency_violations","external_dependency_scope","shop.presentation.order_tile imports http outside its allowed scope",["http.http","$82"],["EVD-e7dc0b58e3b41d59"],["EXTERNAL-HTTP-DATA"],["DARTIMP-59242159f649b75d"],[],["$m","$m","http","$m","$m","$m","$m","$m","$82","$m","$m","http.http","$m"]],["VIO-f495ca89887069e7","VIOLATION","dependency_violations","complete_requires","data imports presentation without requiring it",["$54","$75"],["EVD-00dc764155e3faf3"],["REQUIRES-COMPLETE"],["$13"],[],["$m","$m","$m","$m","$m","$m","$m","data","$54","$m","presentation","$75","$m"]]]}
