mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 16:44:33 +00:00
59 lines
2.2 KiB
Text
59 lines
2.2 KiB
Text
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)}
|
|
"""
|