Skip to main content

API Reference

Resources

Api

Functionality shared between all Api implementations.

Initializers

bring cloud;

new cloud.Api(props?: ApiProps)
NameTypeDescription
propsApiPropsNo description.

propsOptional

Methods

NameDescription
connectAdd a inflight handler to the api for CONNECT requests on the given route.
deleteAdd a inflight handler to the api for DELETE requests on the given route.
getAdd a inflight handler to the api for GET requests on the given route.
headAdd a inflight handler to the api for HEAD requests on the given route.
optionsAdd a inflight handler to the api for OPTIONS requests on the given route.
patchAdd a inflight handler to the api for PATCH requests on the given route.
postAdd a inflight handler to the api for POST requests on the given route.
putAdd a inflight handler to the api for PUT requests on the given route.

connect
connect(route: str, inflight: IApiEndpointHandler, props?: ApiConnectProps): void

Add a inflight handler to the api for CONNECT requests on the given route.

routeRequired
  • Type: str

The route to handle CONNECT requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


delete
delete(route: str, inflight: IApiEndpointHandler, props?: ApiDeleteProps): void

Add a inflight handler to the api for DELETE requests on the given route.

routeRequired
  • Type: str

The route to handle DELETE requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


get
get(route: str, inflight: IApiEndpointHandler, props?: ApiGetProps): void

Add a inflight handler to the api for GET requests on the given route.

routeRequired
  • Type: str

The route to handle GET requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


head
head(route: str, inflight: IApiEndpointHandler, props?: ApiHeadProps): void

Add a inflight handler to the api for HEAD requests on the given route.

routeRequired
  • Type: str

The route to handle HEAD requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


options
options(route: str, inflight: IApiEndpointHandler, props?: ApiOptionsProps): void

Add a inflight handler to the api for OPTIONS requests on the given route.

routeRequired
  • Type: str

The route to handle OPTIONS requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


patch
patch(route: str, inflight: IApiEndpointHandler, props?: ApiPatchProps): void

Add a inflight handler to the api for PATCH requests on the given route.

routeRequired
  • Type: str

The route to handle PATCH requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


post
post(route: str, inflight: IApiEndpointHandler, props?: ApiPostProps): void

Add a inflight handler to the api for POST requests on the given route.

routeRequired
  • Type: str

The route to handle POST requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


put
put(route: str, inflight: IApiEndpointHandler, props?: ApiPutProps): void

Add a inflight handler to the api for PUT requests on the given route.

routeRequired
  • Type: str

The route to handle PUT requests for.


inflightRequired

The function to handle the request.


propsOptional

Options for the route.


Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Bucket

Inflight client: @winglang/sdk.cloud.IBucketClient

Represents a cloud object store.

Initializers

bring cloud;

new cloud.Bucket(props?: BucketProps)
NameTypeDescription
propsBucketPropsNo description.

propsOptional

Methods

NameDescription
add_objectAdd a file to the bucket that is uploaded when the app is deployed.

add_object
add_object(key: str, body: str): void

Add a file to the bucket that is uploaded when the app is deployed.

TODO: In the future this will support uploading any Blob type or referencing a file from the local filesystem.

keyRequired
  • Type: str

bodyRequired
  • Type: str

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Counter

Inflight client: @winglang/sdk.cloud.ICounterClient

Represents a distributed atomic counter.

Initializers

bring cloud;

new cloud.Counter(props?: CounterProps)
NameTypeDescription
propsCounterPropsNo description.

propsOptional

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.
initialnumThe initial value of the counter.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


initialRequired
initial: num;
  • Type: num

The initial value of the counter.


Function

Inflight client: @winglang/sdk.cloud.IFunctionClient

Represents a function.

Initializers

bring cloud;

new cloud.Function(inflight: IFunctionHandler, props?: FunctionProps)
NameTypeDescription
inflightIFunctionHandlerNo description.
propsFunctionPropsNo description.

inflightRequired

propsOptional

Methods

NameDescription
add_environmentAdd an environment variable to the function.

add_environment
add_environment(name: str, value: str): void

Add an environment variable to the function.

nameRequired
  • Type: str

valueRequired
  • Type: str

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.
envMutMap<str>Returns the set of environment variables for this function.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


envRequired
env: MutMap<str>;
  • Type: MutMap<str>

Returns the set of environment variables for this function.


Logger

Inflight client: @winglang/sdk.cloud.ILoggerClient

A cloud logging facility.

Initializers

bring cloud;

new cloud.Logger()
NameTypeDescription

Static Functions

NameDescription
registerCreate a logger and register it to the given scope.

register
bring cloud;

cloud.Logger.register()

Create a logger and register it to the given scope.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Queue

Inflight client: @winglang/sdk.cloud.IQueueClient

Represents a queue.

Initializers

bring cloud;

new cloud.Queue(props?: QueueProps)
NameTypeDescription
propsQueuePropsNo description.

propsOptional

Methods

NameDescription
on_messageCreate a function to consume messages from this queue.

on_message
on_message(handler: IQueueOnMessageHandler, props?: QueueOnMessageProps): Function

Create a function to consume messages from this queue.

handlerRequired

propsOptional

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Schedule

Inflight client: @winglang/sdk.cloud.IScheduleClient

Represents a schedule.

Initializers

bring cloud;

new cloud.Schedule(props?: ScheduleProps)
NameTypeDescription
propsSchedulePropsNo description.

propsOptional

Methods

NameDescription
on_tickCreate a function that runs when receiving the scheduled event.

on_tick
on_tick(inflight: IScheduleOnTickHandler, props?: ScheduleOnTickProps): Function

Create a function that runs when receiving the scheduled event.

inflightRequired

propsOptional

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Table

Inflight client: @winglang/sdk.cloud.ITableClient

Represents a NoSQL database table that can be used to store and query data.

Initializers

bring cloud;

new cloud.Table(props: TableProps)
NameTypeDescription
propsTablePropsNo description.

propsRequired

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.
columnsMutMap<ColumnType>Table columns.
namestrTable name.
primary_keystrTable primary key name.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


columnsRequired
columns: MutMap<ColumnType>;

Table columns.


nameRequired
name: str;
  • Type: str

Table name.


primary_keyRequired
primary_key: str;
  • Type: str

Table primary key name.


Topic

Inflight client: @winglang/sdk.cloud.ITopicClient

Represents a topic.

Initializers

bring cloud;

new cloud.Topic(props?: TopicProps)
NameTypeDescription
propsTopicPropsNo description.

propsOptional

Methods

NameDescription
on_messageRun an inflight whenever an message is published to the topic.

on_message
on_message(inflight: ITopicOnMessageHandler, props?: TopicOnMessageProps): Function

Run an inflight whenever an message is published to the topic.

inflightRequired

propsOptional

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.
statefulboolWhether a resource is stateful, i.e. it stores information that is not defined by your application.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


statefulRequired
stateful: bool;
  • Type: bool

Whether a resource is stateful, i.e. it stores information that is not defined by your application.

A non-stateful resource does not remember information about past transactions or events, and can typically be replaced by a cloud provider with a fresh copy without any consequences.


Structs

ApiConnectProps

Options for Api patch endpoint.

Initializer

bring cloud;

let api_connect_props = cloud.ApiConnectProps{ ... }

ApiDeleteProps

Options for Api put endpoint.

Initializer

bring cloud;

let api_delete_props = cloud.ApiDeleteProps{ ... }

ApiGetProps

Options for Api get endpoint.

Initializer

bring cloud;

let api_get_props = cloud.ApiGetProps{ ... }

ApiHeadProps

Options for Api patch endpoint.

Initializer

bring cloud;

let api_head_props = cloud.ApiHeadProps{ ... }

ApiOptionsProps

Options for Api patch endpoint.

Initializer

bring cloud;

let api_options_props = cloud.ApiOptionsProps{ ... }

ApiPatchProps

Options for Api patch endpoint.

Initializer

bring cloud;

let api_patch_props = cloud.ApiPatchProps{ ... }

ApiPostProps

Options for Api post endpoint.

Initializer

bring cloud;

let api_post_props = cloud.ApiPostProps{ ... }

ApiProps

Properties for Api.

Initializer

bring cloud;

let api_props = cloud.ApiProps{ ... }

ApiPutProps

Options for Api put endpoint.

Initializer

bring cloud;

let api_put_props = cloud.ApiPutProps{ ... }

ApiRequest

Shape of a request to an inflight handler.

Initializer

bring cloud;

let api_request = cloud.ApiRequest{ ... }

Properties

NameTypeDescription
methodHttpMethodThe request's HTTP method.
pathstrThe request's path.
queryMutMap<str>The request's query string values.
bodyjsonThe request's body.
headersMutMap<str>The request's headers.
varsMutMap<str>The path variables.

methodRequired
method: HttpMethod;

The request's HTTP method.


pathRequired
path: str;
  • Type: str

The request's path.


queryRequired
query: MutMap<str>;
  • Type: MutMap<str>

The request's query string values.


bodyOptional
body: json;
  • Type: json

The request's body.


headersOptional
headers: MutMap<str>;
  • Type: MutMap<str>

The request's headers.


varsOptional
vars: MutMap<str>;
  • Type: MutMap<str>

The path variables.


ApiResponse

Shape of a response from a inflight handler.

Initializer

bring cloud;

let api_response = cloud.ApiResponse{ ... }

Properties

NameTypeDescription
statusnumThe response's status code.
bodyjsonThe response's body.
headersMutMap<str>The response's headers.

statusRequired
status: num;
  • Type: num

The response's status code.


bodyOptional
body: json;
  • Type: json

The response's body.


headersOptional
headers: MutMap<str>;
  • Type: MutMap<str>

The response's headers.


BucketDeleteOptions

Interface for delete method inside Bucket.

Initializer

bring cloud;

let bucket_delete_options = cloud.BucketDeleteOptions{ ... }

Properties

NameTypeDescription
must_existboolCheck failures on the method and retrieve errors if any.

must_existOptional
must_exist: bool;
  • Type: bool
  • Default: false

Check failures on the method and retrieve errors if any.


BucketProps

Properties for Bucket.

Initializer

bring cloud;

let bucket_props = cloud.BucketProps{ ... }

Properties

NameTypeDescription
publicboolWhether the bucket's objects should be publicly accessible.

publicOptional
public: bool;
  • Type: bool
  • Default: false

Whether the bucket's objects should be publicly accessible.


CounterProps

Properties for Counter.

Initializer

bring cloud;

let counter_props = cloud.CounterProps{ ... }

Properties

NameTypeDescription
initialnumThe initial value of the counter.

initialOptional
initial: num;
  • Type: num
  • Default: 0

The initial value of the counter.


FunctionProps

Properties for Function.

This is the type users see when constructing a cloud.Function instance.

Initializer

bring cloud;

let function_props = cloud.FunctionProps{ ... }

Properties

NameTypeDescription
envMutMap<str>Environment variables to pass to the function.
memorynumThe amount of memory to allocate to the function, in MB.
timeoutDurationThe maximum amount of time the function can run.

envOptional
env: MutMap<str>;
  • Type: MutMap<str>
  • Default: No environment variables.

Environment variables to pass to the function.


memoryOptional
memory: num;
  • Type: num
  • Default: 128

The amount of memory to allocate to the function, in MB.


timeoutOptional
timeout: Duration;

The maximum amount of time the function can run.


QueueOnMessageProps

Options for Queue.onMessage.

Initializer

bring cloud;

let queue_on_message_props = cloud.QueueOnMessageProps{ ... }

Properties

NameTypeDescription
envMutMap<str>Environment variables to pass to the function.
memorynumThe amount of memory to allocate to the function, in MB.
timeoutDurationThe maximum amount of time the function can run.
batch_sizenumThe maximum number of messages to send to subscribers at once.

envOptional
env: MutMap<str>;
  • Type: MutMap<str>
  • Default: No environment variables.

Environment variables to pass to the function.


memoryOptional
memory: num;
  • Type: num
  • Default: 128

The amount of memory to allocate to the function, in MB.


timeoutOptional
timeout: Duration;

The maximum amount of time the function can run.


batch_sizeOptional
batch_size: num;
  • Type: num
  • Default: 1

The maximum number of messages to send to subscribers at once.


QueueProps

Properties for Queue.

Initializer

bring cloud;

let queue_props = cloud.QueueProps{ ... }

Properties

NameTypeDescription
initial_messagesMutArray<str>Initialize the queue with a set of messages.
timeoutDurationHow long a queue's consumers have to process a message.

initial_messagesOptional
initial_messages: MutArray<str>;
  • Type: MutArray<str>
  • Default: []

Initialize the queue with a set of messages.


timeoutOptional
timeout: Duration;
  • Type: Duration
  • Default: Duration.fromSeconds(10)

How long a queue's consumers have to process a message.


ScheduleOnTickProps

Options for Schedule.onTick.

Initializer

bring cloud;

let schedule_on_tick_props = cloud.ScheduleOnTickProps{ ... }

Properties

NameTypeDescription
envMutMap<str>Environment variables to pass to the function.
memorynumThe amount of memory to allocate to the function, in MB.
timeoutDurationThe maximum amount of time the function can run.

envOptional
env: MutMap<str>;
  • Type: MutMap<str>
  • Default: No environment variables.

Environment variables to pass to the function.


memoryOptional
memory: num;
  • Type: num
  • Default: 128

The amount of memory to allocate to the function, in MB.


timeoutOptional
timeout: Duration;

The maximum amount of time the function can run.


ScheduleProps

Properties for Schedule.

Initializer

bring cloud;

let schedule_props = cloud.ScheduleProps{ ... }

Properties

NameTypeDescription
cronstrTrigger events according to a cron schedule using the UNIX cron format.
rateDurationTrigger events at a periodic rate.

cronOptional
cron: str;
  • Type: str
  • Default: undefined

Trigger events according to a cron schedule using the UNIX cron format.

[minute][hour] [day of month][month] [day of week]


Example

"0/1 * ? * *"
rateOptional
rate: Duration;

Trigger events at a periodic rate.


Example

1m

TableProps

Properties for Table.

Initializer

bring cloud;

let table_props = cloud.TableProps{ ... }

Properties

NameTypeDescription
columnsMutMap<ColumnType>The table's columns.
namestrThe table's name.
primary_keystrThe table's primary key.

columnsOptional
columns: MutMap<ColumnType>;

The table's columns.


nameOptional
name: str;
  • Type: str
  • Default: undefined

The table's name.


primary_keyOptional
primary_key: str;
  • Type: str
  • Default: undefined

The table's primary key.

No two rows can have the same value for the primary key.


TopicOnMessageProps

Options for Topic.onMessage.

Initializer

bring cloud;

let topic_on_message_props = cloud.TopicOnMessageProps{ ... }

TopicProps

Properties for Topic.

Initializer

bring cloud;

let topic_props = cloud.TopicProps{ ... }

Classes

Boolean

Boolean.

Initializers

bring std;

new std.Boolean()
NameTypeDescription

Static Functions

NameDescription
from_jsonParse a boolean from Json.

from_json
bring std;

std.Boolean.from_json(json: Json)

Parse a boolean from Json.

jsonRequired

to parse boolean from.


CounterClientBase

Functionality shared between all CounterClient implementations regardless of the target.

Initializers

bring cloud;

new cloud.CounterClientBase()
NameTypeDescription

Methods

NameDescription
decDecrement the counter, returning the previous value.
incIncrements the counter atomically by a certain amount and returns the previous value.
peekGet the current value of the counter.
resetReset a counter to a given value.

dec
dec(amount?: num): num

Decrement the counter, returning the previous value.

amountOptional
  • Type: num

inc
inc(amount?: num): num

Increments the counter atomically by a certain amount and returns the previous value.

amountOptional
  • Type: num

peek
peek(): num

Get the current value of the counter.

Using this API may introduce race conditions since the value can change between the time it is read and the time it is used in your code.

reset
reset(value?: num): void

Reset a counter to a given value.

valueOptional
  • Type: num

Duration

Represents a length of time.

Static Functions

NameDescription
from_hoursCreate a Duration representing an amount of hours.
from_minutesCreate a Duration representing an amount of minutes.
from_secondsCreate a Duration representing an amount of seconds.

from_hours
bring std;

std.Duration.from_hours(amount: num)

Create a Duration representing an amount of hours.

amountRequired
  • Type: num

the amount of Hours the Duration will represent.


from_minutes
bring std;

std.Duration.from_minutes(amount: num)

Create a Duration representing an amount of minutes.

amountRequired
  • Type: num

the amount of Minutes the Duration will represent.


from_seconds
bring std;

std.Duration.from_seconds(amount: num)

Create a Duration representing an amount of seconds.

amountRequired
  • Type: num

the amount of Seconds the Duration will represent.


Properties

NameTypeDescription
hoursnumReturn the total number of hours in this Duration.
minutesnumReturn the total number of minutes in this Duration.
secondsnumReturn the total number of seconds in this Duration.

hoursRequired
hours: num;
  • Type: num

Return the total number of hours in this Duration.


minutesRequired
minutes: num;
  • Type: num

Return the total number of minutes in this Duration.


secondsRequired
seconds: num;
  • Type: num

Return the total number of seconds in this Duration.


ImmutableArray

Immutable Array.

Initializers

bring std;

new std.ImmutableArray()
NameTypeDescription

Methods

NameDescription
atGet the value at the given index.
concatMerge arr to the end of this array.
containsChecks if this array includes searchElement.
copy_mutCreate a mutable shallow copy of this array.
index_ofReturns the index of the first occurrence of searchElement found.
joinReturns a new string containing the concatenated values in this array, separated by commas or a specified separator string.
last_index_ofReturns the index of the last occurrence of searchElement found.

at
at(index: num): T1

Get the value at the given index.

indexRequired
  • Type: num

index of the value to get.


concat
concat(arr: ImmutableArray): ImmutableArray

Merge arr to the end of this array.

arrRequired

array to merge.


contains
contains(search_element: T1): bool

Checks if this array includes searchElement.

search_elementRequired

to search for.


copy_mut
copy_mut(): MutableArray

Create a mutable shallow copy of this array.

index_of
index_of(search_element: T1): num

Returns the index of the first occurrence of searchElement found.

search_elementRequired

to search for.


join
join(separator?: str): str

Returns a new string containing the concatenated values in this array, separated by commas or a specified separator string.

If the array has only one item, then that item will be returned without using the separator.

separatorOptional
  • Type: str

last_index_of
last_index_of(search_element: T1): num

Returns the index of the last occurrence of searchElement found.

search_elementRequired

to search for.


Properties

NameTypeDescription
lengthnumThe length of the array.

lengthRequired
length: num;
  • Type: num

The length of the array.


ImmutableMap

Immutable Map.

Initializers

bring std;

new std.ImmutableMap()
NameTypeDescription

Methods

NameDescription
copy_mutCreate a mutable shallow copy of this map.
getReturns a specified element from the map.
hasReturns a boolean indicating whether an element with the specified key exists or not.
sizeReturns the number of elements in the map.

copy_mut
copy_mut(): MutableMap

Create a mutable shallow copy of this map.

get
get(key: str): T1

Returns a specified element from the map.

If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the map.

keyRequired
  • Type: str

The key of the element to return.


has
has(key: str): bool

Returns a boolean indicating whether an element with the specified key exists or not.

keyRequired
  • Type: str

The key of the element to test for presence.


size
size(): num

Returns the number of elements in the map.

TODO: For now this has to be a method rather than a getter as macros only work on methods https://github.com/winglang/wing/issues/1658

ImmutableSet

Immutable Set.

Initializers

bring std;

new std.ImmutableSet()
NameTypeDescription

Methods

NameDescription
copy_mutCreate a mutable shallow copy of this set.
hasReturns a boolean indicating whether an element with the specified value exists in the set.

copy_mut
copy_mut(): MutableSet

Create a mutable shallow copy of this set.

has
has(value: T1): bool

Returns a boolean indicating whether an element with the specified value exists in the set.

valueRequired

The value to test for presence in the Set object.


Properties

NameTypeDescription
sizenumThe length of the set.

sizeRequired
size: num;
  • Type: num

The length of the set.


Json

Immutable Json.

Initializers

bring std;

new std.Json()
NameTypeDescription

Methods

NameDescription
getReturns a specified element from the Json.
get_atReturns a specified element at a given index from Json Array.

get
get(key: str): Json

Returns a specified element from the Json.

keyRequired
  • Type: str

The key of the element to return.


get_at
get_at(index: num): Json

Returns a specified element at a given index from Json Array.

indexRequired
  • Type: num

The index of the element in the Json Array to return.


Static Functions

NameDescription
cloneCreates a immutable deep clone of the Json.
clone_mutCreates a mutable deep clone of the Json.
deleteDeletes a key in a given Json.
keysReturns the keys from the Json object.
parseParse a string into a Json.
stringifyFormats Json as string.
valuesReturns the values from the Json.

clone
bring std;

std.Json.clone(json: Json)

Creates a immutable deep clone of the Json.

jsonRequired

to clone.


clone_mut
bring std;

std.Json.clone_mut(json: Json)

Creates a mutable deep clone of the Json.

jsonRequired

to clone.


delete
bring std;

std.Json.delete(json: Json, key: str)

Deletes a key in a given Json.

jsonRequired

to delete key from.


keyRequired
  • Type: str

the key to delete.


keys
bring std;

std.Json.keys(json: Json)

Returns the keys from the Json object.

jsonRequired

to get keys from.


parse
bring std;

std.Json.parse(str: str)

Parse a string into a Json.

strRequired
  • Type: str

to parse as Json.


stringify
bring std;

std.Json.stringify(json: Json, indent?: num)

Formats Json as string.

(JSON.stringify($args$))

jsonRequired

to format as string.


indentOptional
  • Type: num

values
bring std;

std.Json.values(json: Json)

Returns the values from the Json.

jsonRequired

to get values from.


MutableArray

Mutable Array.

Initializers

bring std;

new std.MutableArray()
NameTypeDescription

Methods

NameDescription
atGet the value at the given index.
concatMerge arr to the end of this array.
containsChecks if this array includes searchElement.
copyCreate an immutable shallow copy of this array.
index_ofReturns the index of the first occurrence of searchElement found.
joinReturns a new string containing the concatenated values in this array, separated by commas or a specified separator string.
last_index_ofReturns the index of the last occurrence of searchElement found.
popRemove value from end of array.
pushAdd value to end of array.

at
at(index: num): T1

Get the value at the given index.

indexRequired
  • Type: num

index of the value to get.


concat
concat(arr: MutableArray): MutableArray

Merge arr to the end of this array.

arrRequired

array to merge.


contains
contains(search_element: T1): bool

Checks if this array includes searchElement.

search_elementRequired

to search for.


copy
copy(): ImmutableArray

Create an immutable shallow copy of this array.

index_of
index_of(search_element: T1): num

Returns the index of the first occurrence of searchElement found.

search_elementRequired

to search for.


join
join(separator?: str): str

Returns a new string containing the concatenated values in this array, separated by commas or a specified separator string.

If the array has only one item, then that item will be returned without using the separator.

separatorOptional
  • Type: str

last_index_of
last_index_of(search_element: T1): num

Returns the index of the last occurrence of searchElement found.

search_elementRequired

to search for.


pop
pop(): T1

Remove value from end of array.

push
push(value: T1): void

Add value to end of array.

valueRequired

value to add.


Properties

NameTypeDescription
lengthnumThe length of the array.

lengthRequired
length: num;
  • Type: num

The length of the array.


MutableMap

Mutable Map.

Initializers

bring std;

new std.MutableMap()
NameTypeDescription

Methods

NameDescription
clearRemoves all elements.
copyCreate an immutable shallow copy of this map.
deleteRemoves the specified element from a map.
getReturns a specified element from the map.
hasReturns a boolean indicating whether an element with the specified key exists or not.
setAdds or updates an entry in a Map object with a specified key and a value.
sizeReturns the number of elements in the map.

clear
clear(): void

Removes all elements.

copy
copy(): ImmutableMap

Create an immutable shallow copy of this map.

delete
delete(key: str): bool

Removes the specified element from a map.

keyRequired
  • Type: str

The key.


get
get(key: str): T1

Returns a specified element from the map.

If the value that is associated to the provided key is an object, then you will get a reference to that object and any change made to that object will effectively modify it inside the map.

keyRequired
  • Type: str

The key of the element to return.


has
has(key: str): bool

Returns a boolean indicating whether an element with the specified key exists or not.

keyRequired
  • Type: str

The key of the element to test for presence.


set
set(key: str, value: T1): void

Adds or updates an entry in a Map object with a specified key and a value.

TODO: revisit this macro after we support indexed args https://github.com/winglang/wing/issues/1659

keyRequired
  • Type: str

The key of the element to add.


valueRequired

The value of the element to add.


size
size(): num

Returns the number of elements in the map.

TODO: For now this has to be a method rather than a getter as macros only work on methods https://github.com/winglang/wing/issues/1658

MutableSet

Mutable Set.

Initializers

bring std;

new std.MutableSet()
NameTypeDescription

Methods

NameDescription
addAdd value to set.
clearThe clear() method removes all elements from a set.
copyCreate an immutable shallow copy of this set.
deleteRemoves a specified value from a set, if it is in the set.
hasReturns a boolean indicating whether an element with the specified value exists in the set.

add
add(value: T1): MutableSet

Add value to set.

valueRequired

value to add.


clear
clear(): void

The clear() method removes all elements from a set.

copy
copy(): ImmutableSet

Create an immutable shallow copy of this set.

delete
delete(value: T1): bool

Removes a specified value from a set, if it is in the set.

valueRequired

The value to remove from the set.


has
has(value: T1): bool

Returns a boolean indicating whether an element with the specified value exists in the set.

valueRequired

The value to test for presence in the Set object.


Properties

NameTypeDescription
sizenumThe length of the set.

sizeRequired
size: num;
  • Type: num

The length of the set.


MutJson

Mutable Json.

Initializers

bring std;

new std.MutJson()
NameTypeDescription

Methods

NameDescription
getReturns a specified element from the Json.
get_atReturns a specified element at a given index from MutJson Array.
setAdds or updates an element in MutJson with a specific key and value.
set_atSet element in MutJson Array with a specific key and value.

get
get(key: str): MutJson

Returns a specified element from the Json.

keyRequired
  • Type: str

The key of the element to return.


get_at
get_at(index: num): MutJson

Returns a specified element at a given index from MutJson Array.

indexRequired
  • Type: num

The index of the element in the MutJson Array to return.


set
set(key: str, value: any): void

Adds or updates an element in MutJson with a specific key and value.

keyRequired
  • Type: str

The key of the element to add.


valueRequired
  • Type: any

The value of the element to add.


set_at
set_at(index: num, value: any): void

Set element in MutJson Array with a specific key and value.

indexRequired
  • Type: num

valueRequired
  • Type: any

The value of the element to set.


Number

Number.

Initializers

bring std;

new std.Number()
NameTypeDescription

Static Functions

NameDescription
from_jsonParse a number from Json.

from_json
bring std;

std.Number.from_json(json: Json)

Parse a number from Json.

jsonRequired

to parse number from.


String

String.

Initializers

bring std;

new std.String()
NameTypeDescription

Methods

NameDescription
atReturns the character at the specified index.
concatCombines the text of two (or more) strings and returns a new string.
containsChecks if string includes substring.
endsDoes this string end with the given searchString?
index_ofReturns the index of the first occurrence of searchString found.
lowercaseReturns this string in lower case.
splitSplits string by separator.
startsDoes this string start with the given searchString?
substringReturns a string between indexStart, indexEnd.
trimRemoves white spaces from start and end of this string.
uppercaseReturns this string in upper case.

at
at(index: num): str

Returns the character at the specified index.

indexRequired
  • Type: num

position of the character.


concat
concat(str_n: str): str

Combines the text of two (or more) strings and returns a new string.

str_nRequired
  • Type: str

one or more strings to concatenate to this string.


contains
contains(search_string: str): bool

Checks if string includes substring.

search_stringRequired
  • Type: str

substring to search for.


ends
ends(search_string: str): bool

Does this string end with the given searchString?

search_stringRequired
  • Type: str

substring to search for.


index_of
index_of(search_string: str): num

Returns the index of the first occurrence of searchString found.

search_stringRequired
  • Type: str

substring to search for.


lowercase
lowercase(): str

Returns this string in lower case.

split
split(separator: str): MutArray<str>

Splits string by separator.

separatorRequired
  • Type: str

separator to split by.


starts
starts(search_string: str): bool

Does this string start with the given searchString?

search_stringRequired
  • Type: str

substring to search for.


substring
substring(index_start: num, index_end?: num): str

Returns a string between indexStart, indexEnd.

index_startRequired
  • Type: num

index of the character we slice at.


index_endOptional
  • Type: num

optional - index of the character we end slicing at.


trim
trim(): str

Removes white spaces from start and end of this string.

uppercase
uppercase(): str

Returns this string in upper case.

Static Functions

NameDescription
from_jsonParse string from Json.

from_json
bring std;

std.String.from_json(json: Json)

Parse string from Json.

jsonRequired

to create string from.


Properties

NameTypeDescription
lengthnumThe length of the string.

lengthRequired
length: num;
  • Type: num

The length of the string.


T1

Generic type argument.

This type is replaced at compile time.

Initializers

bring std;

new std.T1()
NameTypeDescription

Protocols

IApiClient

Inflight methods and members of cloud.Api.

IApiEndpointHandler

Inflight client: @winglang/sdk.cloud.IApiEndpointHandlerClient

Represents a resource with an inflight "handle" method that can be passed to one of the Api request preflight methods.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


IApiEndpointHandlerClient

Inflight client for IApiEndpointHandler.

Methods

NameDescription
handleInflight that will be called when a request is made to the endpoint.

handle
handle(request: ApiRequest): ApiResponse

Inflight client: true

Inflight that will be called when a request is made to the endpoint.

requestRequired

IBucketClient

Inflight interface for Bucket.

Methods

NameDescription
deleteDelete an existing object using a key from the bucket.
getRetrieve an object from the bucket.
get_jsonRetrieve a Json object from the bucket.
listRetrieve existing objects keys from the bucket.
public_urlReturns a url to the given file.
putPut an object in the bucket.
put_jsonPut a Json object in the bucket.

delete
delete(key: str, opts?: BucketDeleteOptions): void

Inflight client: true

Delete an existing object using a key from the bucket.

keyRequired
  • Type: str

Key of the object.


optsOptional

Options available for delete an item from a bucket.


get
get(key: str): str

Inflight client: true

Retrieve an object from the bucket.

keyRequired
  • Type: str

Key of the object.


get_json
get_json(key: str): Json

Inflight client: true

Retrieve a Json object from the bucket.

keyRequired
  • Type: str

Key of the object.


list
list(prefix?: str): MutArray<str>

Inflight client: true

Retrieve existing objects keys from the bucket.

prefixOptional
  • Type: str

Limits the response to keys that begin with the specified prefix.


public_url
public_url(key: str): str

Inflight client: true

Returns a url to the given file.

keyRequired
  • Type: str

put
put(key: str, body: str): void

Inflight client: true

Put an object in the bucket.

keyRequired
  • Type: str

Key of the object.


bodyRequired
  • Type: str

Content of the object we want to store into the bucket.


put_json
put_json(key: str, body: Json): void

Inflight client: true

Put a Json object in the bucket.

keyRequired
  • Type: str

Key of the object.


bodyRequired

Json object that we want to store into the bucket.


ICounterClient

Inflight interface for Counter.

Methods

NameDescription
decDecrement the counter, returning the previous value.
incIncrements the counter atomically by a certain amount and returns the previous value.
peekGet the current value of the counter.
resetReset a counter to a given value.

dec
dec(amount?: num): num

Inflight client: true

Decrement the counter, returning the previous value.

amountOptional
  • Type: num

amount to decrement (default is 1).


inc
inc(amount?: num): num

Inflight client: true

Increments the counter atomically by a certain amount and returns the previous value.

amountOptional
  • Type: num

amount to increment (default is 1).


peek
peek(): num

Inflight client: true

Get the current value of the counter.

Using this API may introduce race conditions since the value can change between the time it is read and the time it is used in your code.

reset
reset(value?: num): void

Inflight client: true

Reset a counter to a given value.

valueOptional
  • Type: num

value to reset (default is 0).


IFunctionClient

Inflight interface for Function.

Methods

NameDescription
invokeInvoke the function asynchronously with a given payload.

invoke
invoke(payload: str): str

Inflight client: true

Invoke the function asynchronously with a given payload.

payloadRequired
  • Type: str

IFunctionHandler

Inflight client: @winglang/sdk.cloud.IFunctionHandlerClient

Represents a resource with an inflight "handle" method that can be used to create a cloud.Function.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


IFunctionHandlerClient

Inflight client for IFunctionHandler.

Methods

NameDescription
handleEntrypoint function that will be called when the cloud function is invoked.

handle
handle(event: str): void

Inflight client: true

Entrypoint function that will be called when the cloud function is invoked.

eventRequired
  • Type: str

ILoggerClient

Inflight interface for Logger.

Methods

NameDescription
printLogs a message. The log will be associated with whichever resource is running the inflight code.

print(message: str): void

Inflight client: true

Logs a message. The log will be associated with whichever resource is running the inflight code.

NOTICE: this is not an async function because it is wrapped by console.log().

messageRequired
  • Type: str

The message to print.


IQueueClient

Inflight interface for Queue.

Methods

NameDescription
approx_sizeRetrieve the approximate number of messages in the queue.
purgePurge all of the messages in the queue.
pushPush a message to the queue.

approx_size
approx_size(): num

Inflight client: true

Retrieve the approximate number of messages in the queue.

purge
purge(): void

Inflight client: true

Purge all of the messages in the queue.

push
push(message: str): void

Inflight client: true

Push a message to the queue.

messageRequired
  • Type: str

Payload to send to the queue.


IQueueOnMessageHandler

Inflight client: @winglang/sdk.cloud.IQueueOnMessageHandlerClient

Represents a resource with an inflight "handle" method that can be passed to Queue.on_message.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


IQueueOnMessageHandlerClient

Inflight client for IQueueOnMessageHandler.

Methods

NameDescription
handleFunction that will be called when a message is received from the queue.

handle
handle(message: str): void

Inflight client: true

Function that will be called when a message is received from the queue.

messageRequired
  • Type: str

IScheduleOnTickHandler

Inflight client: @winglang/sdk.cloud.IScheduleOnTickHandlerClient

Represents a resource with an inflight "handle" method that can be passed to Schedule.on_tick.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


IScheduleOnTickHandlerClient

Inflight client for IScheduleOnTickHandler.

Methods

NameDescription
handleFunction that will be called when a message is received from the schedule.

handle
handle(): void

Inflight client: true

Function that will be called when a message is received from the schedule.

ITableClient

Inflight interface for Table.

Methods

NameDescription
deleteDelete a row from the table, by primary key.
getGet a row from the table, by primary key.
insertInsert a row into the table.
listList all rows in the table.
updateUpdate a row in the table.

delete
delete(key: str): void

Inflight client: true

Delete a row from the table, by primary key.

keyRequired
  • Type: str

primary key to delete the row.


get
get(key: str): any

Inflight client: true

Get a row from the table, by primary key.

keyRequired
  • Type: str

primary key to search.


insert
insert(row: Json): void

Inflight client: true

Insert a row into the table.

rowRequired

data to be inserted.


list
list(): any

Inflight client: true

List all rows in the table.

update
update(row: Json): void

Inflight client: true

Update a row in the table.

rowRequired

data to be updated.


ITopicClient

Inflight interface for Topic.

Methods

NameDescription
publishPublish message to topic.

publish
publish(message: str): void

Inflight client: true

Publish message to topic.

messageRequired
  • Type: str

Payload to publish to Topic.


ITopicOnMessageHandler

Inflight client: @winglang/sdk.cloud.ITopicOnMessageHandlerClient

Represents a resource with an inflight "handle" method that can be passed to Topic.on_message.

Properties

NameTypeDescription
nodeconstructs.NodeThe tree node.
displayDisplayInformation on how to display a resource in the UI.

nodeRequired
node: Node;
  • Type: constructs.Node

The tree node.


displayRequired
display: Display;

Information on how to display a resource in the UI.


ITopicOnMessageHandlerClient

Inflight client for ITopicOnMessageHandler.

Methods

NameDescription
handleFunction that will be called when a message is received from the topic.

handle
handle(event: str): void

Inflight client: true

Function that will be called when a message is received from the topic.

eventRequired
  • Type: str

Enums

ColumnType

Table column types.

Members

NameDescription
STRINGstring type.
NUMBERnumber type.
BOOLEANbool type.
DATEdate type.
JSONjson type.

STRING

string type.


NUMBER

number type.


BOOLEAN

bool type.


DATE

date type.


JSON

json type.


HttpMethod

Allowed HTTP methods for a endpoint.

Members

NameDescription
GETGet.
HEADHead.
POSTPost.
PUTPut.
DELETEDelete.
CONNECTConnect.
OPTIONSOptions.
PATCHPatch.

GET

Get.


HEAD

Head.


POST

Post.


PUT

Put.


DELETE

Delete.


CONNECT

Connect.


OPTIONS

Options.


PATCH

Patch.