///|
/// Worker Loader binding used to run isolated, dynamically supplied code.
#external
pub type WorkerLoader
///|
pub fn WorkerLoader::as_any(self : WorkerLoader) -> @core.Any = "%identity"
///|
pub fn CloudflareEnv::get_worker_loader(
self : CloudflareEnv,
key : String,
) -> WorkerLoader? {
match self.get(key) {
Some(value) => Some(value.cast())
None => None
}
}
///|
#external
pub type DynamicWorkerStub
///|
pub fn DynamicWorkerStub::as_any(self : DynamicWorkerStub) -> @core.Any = "%identity"
///|
/// The callback supplies WorkerCode on a cache miss. Use a versioned ID.
pub fn WorkerLoader::get(
self : WorkerLoader,
id : String,
code : () -> @core.Any,
) -> DynamicWorkerStub {
self.as_any()._call("get", [@core.any(id), @core.any(code)]).cast()
}
///|
pub fn DynamicWorkerStub::get_durable_object_class(
self : DynamicWorkerStub,
name : String,
) -> @core.Any {
self.as_any()._call("getDurableObjectClass", [@core.any(name)])
}
///|
#external
pub type DurableObjectFacets
///|
pub fn DurableObjectFacets::as_any(self : DurableObjectFacets) -> @core.Any = "%identity"
///|
pub fn DurableObjectState::facets(
self : DurableObjectState,
) -> DurableObjectFacets {
self.as_any()["facets"].cast()
}
///|
#external
pub type FacetStub
///|
pub fn FacetStub::as_any(self : FacetStub) -> @core.Any = "%identity"
///|
/// The callback returns FacetStartupOptions with a `class` field.
pub fn DurableObjectFacets::get(
self : DurableObjectFacets,
name : String,
startup : () -> @core.Any,
) -> FacetStub {
self.as_any()._call("get", [@core.any(name), @core.any(startup)]).cast()
}
///|
pub fn DurableObjectFacets::abort(
self : DurableObjectFacets,
name : String,
reason : @core.Any,
) -> Unit {
self.as_any()._call("abort", [@core.any(name), reason]) |> ignore
}
///|
pub fn DurableObjectFacets::delete(
self : DurableObjectFacets,
name : String,
) -> Unit {
self.as_any()._call("delete", [@core.any(name)]) |> ignore
}
///|
pub async fn FacetStub::fetch(
self : FacetStub,
request : @core.Any,
) -> @core.Any {
let promise : @core.Promise[@core.Any] = self
.as_any()
._call("fetch", [request])
.cast()
promise.wait()
}