miniflare
Types
A fetcher is the class that is a worker
This type signature cannot be represented in Gleam
The best effort might be to assume fetch
, connect
, queue
and scheduled
And additionally offer a to dynamic or rpc interface
https://workers-types.pages.dev/experimental/#Fetcher
pub type Fetcher
pub type LogLevel {
NONE
ERROR
WARN
INFO
DEBUG
VERBOSE
}
Constructors
-
NONE
-
ERROR
-
WARN
-
INFO
-
DEBUG
-
VERBOSE
pub type Miniflare {
Miniflare(opts: MiniflareOptions)
}
Constructors
-
Miniflare(opts: MiniflareOptions)
pub type MiniflareOptions {
MiniflareOptions(
shared_options: SharedOptions,
worker_options: List(WorkerOptions),
)
}
Constructors
-
MiniflareOptions( shared_options: SharedOptions, worker_options: List(WorkerOptions), )
pub type ModuleDefinition {
ModuleDefinition(
type_: ModuleRuleType,
path: String,
contents: option.Option(String),
)
}
Constructors
-
ModuleDefinition( type_: ModuleRuleType, path: String, contents: option.Option(String), )
pub type ModuleRule {
ModuleRule(
type_: ModuleRuleType,
include: List(String),
fallthrough: option.Option(Bool),
)
}
Constructors
-
ModuleRule( type_: ModuleRuleType, include: List(String), fallthrough: option.Option(Bool), )
pub type ModuleRuleType {
ESModule
CommonJS
Text
Data
CompiledWasm
}
Constructors
-
ESModule
-
CommonJS
-
Text
-
Data
-
CompiledWasm
pub type Modules {
ESModules
ServiceWorkerFormat
}
Constructors
-
ESModules
-
ServiceWorkerFormat
pub type Persistence {
PersistenceBool(Bool)
PersistenceString(String)
PersistenceUndefined
}
Constructors
-
PersistenceBool(Bool)
-
PersistenceString(String)
-
PersistenceUndefined
pub type QueueConsumerOptions {
QueueConsumerOptions(
max_batch_size: option.Option(Int),
max_batch_timeout: option.Option(Int),
max_retries: option.Option(Int),
dead_letter_queue: option.Option(String),
retry_delay: option.Option(Int),
)
}
Constructors
-
QueueConsumerOptions( max_batch_size: option.Option(Int), max_batch_timeout: option.Option(Int), max_retries: option.Option(Int), dead_letter_queue: option.Option(String), retry_delay: option.Option(Int), )
pub type QueueProducerOptions {
QueueProducerOptions(
queue_name: String,
delivery_delay: option.Option(Int),
)
}
Constructors
-
QueueProducerOptions( queue_name: String, delivery_delay: option.Option(Int), )
pub type SharedOptions {
SharedOptions(
root_path: option.Option(String),
host: option.Option(String),
port: option.Option(Int),
https: option.Option(Bool),
https_key: option.Option(String),
https_key_path: option.Option(String),
https_cert: option.Option(String),
https_cert_path: option.Option(String),
inspector_port: option.Option(Int),
verbose: option.Option(Bool),
log: option.Option(Log),
upstream: option.Option(String),
live_reload: option.Option(Bool),
cache_persist: option.Option(Persistence),
durable_objects_persist: option.Option(Persistence),
kv_persist: option.Option(Persistence),
r2_persist: option.Option(Persistence),
d1_persist: option.Option(Persistence),
workflows_persist: option.Option(Persistence),
)
}
Constructors
-
SharedOptions( root_path: option.Option(String), host: option.Option(String), port: option.Option(Int), https: option.Option(Bool), https_key: option.Option(String), https_key_path: option.Option(String), https_cert: option.Option(String), https_cert_path: option.Option(String), inspector_port: option.Option(Int), verbose: option.Option(Bool), log: option.Option(Log), upstream: option.Option(String), live_reload: option.Option(Bool), cache_persist: option.Option(Persistence), durable_objects_persist: option.Option(Persistence), kv_persist: option.Option(Persistence), r2_persist: option.Option(Persistence), d1_persist: option.Option(Persistence), workflows_persist: option.Option(Persistence), )
Arguments
- root_path
-
Path against which all other path options for this instance are resolved relative to. Defaults to the current working directory.
pub type WorkerOptions {
WorkerOptions(
name: option.Option(String),
root_path: option.Option(String),
script: option.Option(String),
script_path: option.Option(String),
modules: Modules,
modules_root: option.Option(String),
compatibility_date: option.Option(String),
bindings: dict.Dict(String, json.Json),
durable_objects: dict.Dict(String, String),
r2_buckets: dict.Dict(String, String),
queue_producers: dict.Dict(String, QueueProducerOptions),
queue_consumers: dict.Dict(String, QueueConsumerOptions),
)
}
Constructors
-
WorkerOptions( name: option.Option(String), root_path: option.Option(String), script: option.Option(String), script_path: option.Option(String), modules: Modules, modules_root: option.Option(String), compatibility_date: option.Option(String), bindings: dict.Dict(String, json.Json), durable_objects: dict.Dict(String, String), r2_buckets: dict.Dict(String, String), queue_producers: dict.Dict(String, QueueProducerOptions), queue_consumers: dict.Dict(String, QueueConsumerOptions), )
Values
pub fn default() -> SharedOptions
pub fn dispatch_fetch_raw(
miniflare: Miniflare,
request: fetch.FetchRequest,
) -> promise.Promise(
Result(fetch.FetchResponse, fetch.FetchError),
)
Takes a request as defined by undici. https://github.com/cloudflare/workers-sdk/blob/c7de92e8702da59fd0858147192c2a70abfb35e9/packages/miniflare/src/http/request.ts#L1-L5
undici fetch implement Web fetch https://github.com/nodejs/undici?tab=readme-ov-file#undicifetchinput-init-promise
pub fn es(
compatibility_date: String,
path: String,
) -> WorkerOptions
pub fn fetch(
miniflare: Miniflare,
request: request.Request(String),
) -> promise.Promise(
Result(response.Response(String), fetch.FetchError),
)
pub fn get_bindings(
miniflare: Miniflare,
worker_name: option.Option(String),
) -> promise.Promise(dynamic.Dynamic)
pub fn get_d1_database(
miniflare: Miniflare,
binding_name: String,
worker_name: option.Option(String),
) -> promise.Promise(d1.Database)
pub fn get_durable_object_namespace(
miniflare: Miniflare,
binding_name: String,
worker_name: option.Option(String),
) -> promise.Promise(durable_object.Namespace)
pub fn get_r2_bucket(
miniflare: Miniflare,
binding_name: String,
worker_name: option.Option(String),
) -> promise.Promise(r2.Bucket)
pub fn get_worker(
miniflare: Miniflare,
worker_name: option.Option(String),
) -> promise.Promise(Fetcher)
pub fn log(
level: LogLevel,
prefix: option.Option(String),
suffix: option.Option(String),
) -> Log
pub fn new(
shared_options: SharedOptions,
worker_options: List(WorkerOptions),
) -> Miniflare
pub fn ready(miniflare: Miniflare) -> promise.Promise(String)
pub fn set_options(
miniflare: Miniflare,
opts: MiniflareOptions,
) -> Nil
pub fn unsafe_to_json(any: a) -> json.Json