Skip to content

Instantly share code, notes, and snippets.

@thantos
Created September 10, 2022 18:43
Show Gist options
  • Save thantos/10e68ff77ed258a41980f5f3a2c552a0 to your computer and use it in GitHub Desktop.
Save thantos/10e68ff77ed258a41980f5f3a2c552a0 to your computer and use it in GitHub Desktop.
Functionless (0.22.13): StepFunctions Number()
{
"StartAt": "Initialize Functionless Context",
"States": {
"Initialize Functionless Context": {
"Type": "Pass",
"Parameters": {
"fnl_context": {
"null": null
},
"event.$": "$$.Execution.Input"
},
"ResultPath": "$",
"Next": "return Number(event.n)"
},
"return Number(event.n)": {
"Type": "Choice",
"Choices": [
{
"IsPresent": false,
"Variable": "$.event.n",
"Next": "null__return Number(event.n)"
},
{
"And": [
{
"IsString": true,
"Variable": "$.event.n"
},
{
"And": [
{
"IsString": true,
"Variable": "$.event.n"
},
{
"StringEquals": "",
"Variable": "$.event.n"
}
]
}
],
"Next": "zero__return Number(event.n)"
},
{
"IsNull": true,
"Variable": "$.event.n",
"Next": "zero__return Number(event.n)"
},
{
"IsString": true,
"Variable": "$.event.n",
"Next": "format__return Number(event.n)"
},
{
"IsNumeric": true,
"Variable": "$.event.n",
"Next": "assign__return Number(event.n)"
},
{
"And": [
{
"IsBoolean": true,
"Variable": "$.event.n"
},
{
"BooleanEquals": true,
"Variable": "$.event.n"
}
],
"Next": "one__return Number(event.n)"
},
{
"And": [
{
"IsBoolean": true,
"Variable": "$.event.n"
},
{
"BooleanEquals": false,
"Variable": "$.event.n"
}
],
"Next": "zero__return Number(event.n)"
}
],
"Default": "null__return Number(event.n)"
},
"null__return Number(event.n)": {
"Type": "Pass",
"Next": "1__return Number(event.n)",
"ResultPath": "$.heap0.num",
"InputPath": "$.fnl_context.null"
},
"1__return Number(event.n)": {
"Type": "Pass",
"End": true,
"ResultPath": "$",
"InputPath": "$.heap0.num"
},
"zero__return Number(event.n)": {
"Type": "Pass",
"Next": "1__return Number(event.n)",
"ResultPath": "$.heap0.num",
"Result": 0
},
"format__return Number(event.n)": {
"Type": "Pass",
"Parameters": {
"num.$": "States.StringToJson($.event.n)"
},
"ResultPath": "$.heap0",
"Next": "checkStringOutput__return Number(event.n)"
},
"checkStringOutput__return Number(event.n)": {
"Type": "Choice",
"Choices": [
{
"IsNumeric": true,
"Variable": "$.heap0.num",
"Next": "1__return Number(event.n)"
}
],
"Default": "null__return Number(event.n)"
},
"assign__return Number(event.n)": {
"Type": "Pass",
"Next": "1__return Number(event.n)",
"ResultPath": "$.heap0.num",
"InputPath": "$.event.n"
},
"one__return Number(event.n)": {
"Type": "Pass",
"Next": "1__return Number(event.n)",
"ResultPath": "$.heap0.num",
"Result": 1
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment