Packages

🛂 Gleam Microsoft Authorization Library by @gleam-br

Current section

Files

Jump to
gbr_msal src gbr msal ffi_mjs.gleam
Raw

src/gbr/msal/ffi_mjs.gleam

////
//// Gleam MSAL FFI JS
////
import gleam/option.{type Option}
import gbr/msal/domain.{type Application, type Promise, type Try}
@external(javascript, "./ffi.mjs", "app")
pub fn app(config: a, controller: String) -> Promise(Application)
pub fn exec_sync(app: Application, method: String, req: a) -> Try(Option(b)) {
execute(app, "sync", method, req)
}
pub fn exec_async(app: Application, method: String, req: a) -> Promise(b) {
execute(app, "async", method, req)
}
@external(javascript, "./ffi.mjs", "newKeyValue")
pub fn new_key() -> a
pub fn not_empty(obj: a) -> Bool {
!empty_key(obj)
}
@external(javascript, "./ffi.mjs", "execute")
fn execute(app: Application, mode: String, method: String, req: a) -> b
@external(javascript, "./ffi.mjs", "emptyKeyValue")
fn empty_key(obj: a) -> Bool
@external(javascript, "./ffi.mjs", "setKey")
pub fn set_key(obj: a, key: String, value: b) -> a
@external(javascript, "./ffi.mjs", "setParentKey")
pub fn set_parent_key(obj: a, parent: String, key: String, value: b) -> a
@external(javascript, "./ffi.mjs", "getKey")
pub fn get_key(obj: a, key: String) -> Option(b)
@external(javascript, "./ffi.mjs", "getParentKey")
pub fn get_parent_key(obj: a, parent: String, key: String) -> Option(b)