app [main] { pf: platform "../test-platform-simple-zig/main.roc", } import Api { app_id: "one", protocol: https } as App1 import Api { app_id: "two", protocol: http } as App2 import Api { app_id: "prod_1", protocol: http } as Prod https = \url -> "https://${url}" http = \url -> "http://${url}" users_app1 = # pass top-level fn in a module with params List.map([1, 2, 3], App1.get_user) main = app3_id = "three" import Api { app_id: app3_id, protocol: https } as App3 get_user_app3_nested = \user_id -> # use captured params def App3.get_user(user_id) users_app3_passed = # pass top-level fn in a nested def List.map([1, 2, 3], App3.get_user) """ App1.baseUrl: ${App1.base_url} App2.baseUrl: ${App2.base_url} App3.baseUrl: ${App3.base_url} App1.getUser 1: ${App1.get_user(1)} App2.getUser 2: ${App2.get_user(2)} App3.getUser 3: ${App3.get_user(3)} App1.getPost 1: ${App1.get_post(1)} App2.getPost 2: ${App2.get_post(2)} App3.getPost 3: ${App3.get_post(3)} App1.getPosts [1, 2]: ${Inspect.to_str(App1.get_posts([1, 2]))} App2.getPosts [3, 4]: ${Inspect.to_str(App2.get_posts([3, 4]))} App2.getPosts [5, 6]: ${Inspect.to_str(App2.get_posts([5, 6]))} App1.getPostComments 1: ${App1.get_post_comments(1)} App2.getPostComments 2: ${App2.get_post_comments(2)} App2.getPostComments 3: ${App2.get_post_comments(3)} App1.getCompanies [1, 2]: ${Inspect.to_str(App1.get_companies([1, 2]))} App2.getCompanies [3, 4]: ${Inspect.to_str(App2.get_companies([3, 4]))} App2.getCompanies [5, 6]: ${Inspect.to_str(App2.get_companies([5, 6]))} App1.getPostAliased 1: ${App1.get_post_aliased(1)} App2.getPostAliased 2: ${App2.get_post_aliased(2)} App3.getPostAliased 3: ${App3.get_post_aliased(3)} App1.baseUrlAliased: ${App1.base_url_aliased} App2.baseUrlAliased: ${App2.base_url_aliased} App3.baseUrlAliased: ${App3.base_url_aliased} App1.getUserSafe 1: ${App1.get_user_safe(1)} Prod.getUserSafe 2: ${Prod.get_user_safe(2)} usersApp1: ${Inspect.to_str(users_app1)} getUserApp3Nested 3: ${get_user_app3_nested(3)} usersApp3Passed: ${Inspect.to_str(users_app3_passed)} """