Skip to content

Commit f12ad21

Browse files
authored
chore: improve example generation (#116)
* chore: improve example generation * chore: apply prettier to code example generation * fix: type inference through import
1 parent 7945804 commit f12ad21

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2800
-670
lines changed

Diff for: examples/arrays.md

+81-49
Original file line numberDiff line numberDiff line change
@@ -1,124 +1,156 @@
11

22
## serialize array
33
This example shows how to serialize and deserialize an array.
4-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBsZXQgbXlBcnJheSA9IGFzbC5zdGF0ZXMuYXJyYXkoMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTApIGFzIG51bWJlcltdOwogIGxldCBteVNlcmlhbGl6ZWRBcnJheSA9IGFzbC5zdGF0ZXMuanNvblRvU3RyaW5nKG15QXJyYXkpOwogIG15QXJyYXkgPSBhc2wuc3RhdGVzLnN0cmluZ1RvSnNvbihteVNlcmlhbGl6ZWRBcnJheSkgYXMgbnVtYmVyW107CiAgcmV0dXJuIG15QXJyYXk7Cn0pOw==)
4+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgbGV0IG15QXJyYXkgPSBhc2wuc3RhdGVzLmFycmF5KDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwKSBhcyBudW1iZXJbXTsKICBsZXQgbXlTZXJpYWxpemVkQXJyYXkgPSBhc2wuc3RhdGVzLmpzb25Ub1N0cmluZyhteUFycmF5KTsKICBteUFycmF5ID0gYXNsLnN0YXRlcy5zdHJpbmdUb0pzb24obXlTZXJpYWxpemVkQXJyYXkpIGFzIG51bWJlcltdOwogIHJldHVybiBteUFycmF5Owp9KTsK)
55

66
``` typescript
7-
export const main = asl.deploy.asStateMachine(async () =>
8-
{
7+
export const main = asl.deploy.asStateMachine(async () => {
98
let myArray = asl.states.array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) as number[];
109
let mySerializedArray = asl.states.jsonToString(myArray);
1110
myArray = asl.states.stringToJson(mySerializedArray) as number[];
1211
return myArray;
1312
});
13+
1414
```
1515

1616

1717
## map array
18-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBsZXQgbXlBcnJheSA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMF0KICByZXR1cm4gbXlBcnJheS5tYXAoeCA9PiB7CiAgICBpZiAoeCA9PT0gMSB8fCB4ID09PSAzIHx8IHggPT09IDUgfHwgeCA9PT0gNyB8fCB4ID09IDkpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBhZ2U6IHgsCiAgICAgICAgc3BlY2llczogImRvZyIsCiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgYWdlOiB4LAogICAgICAgIHNwZWNpZXM6ICJjYXQiLAogICAgICB9CiAgICB9CiAgfSk7Cn0pOw==)
18+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgbGV0IG15QXJyYXkgPSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTBdOwogIHJldHVybiBteUFycmF5Lm1hcCgoeCkgPT4gewogICAgaWYgKHggPT09IDEgfHwgeCA9PT0gMyB8fCB4ID09PSA1IHx8IHggPT09IDcgfHwgeCA9PSA5KSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgYWdlOiB4LAogICAgICAgIHNwZWNpZXM6ICJkb2ciLAogICAgICB9OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHsKICAgICAgICBhZ2U6IHgsCiAgICAgICAgc3BlY2llczogImNhdCIsCiAgICAgIH07CiAgICB9CiAgfSk7Cn0pOwo=)
1919

2020
``` typescript
21-
export const main = asl.deploy.asStateMachine(async () =>
22-
{
23-
let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
24-
return myArray.map(x => {
21+
export const main = asl.deploy.asStateMachine(async () => {
22+
let myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
23+
return myArray.map((x) => {
2524
if (x === 1 || x === 3 || x === 5 || x === 7 || x == 9) {
2625
return {
2726
age: x,
2827
species: "dog",
29-
}
28+
};
3029
} else {
3130
return {
3231
age: x,
3332
species: "cat",
34-
}
33+
};
3534
}
3635
});
3736
});
37+
3838
```
3939

4040

4141
## map array simple
42-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBtYXBwZWRBcnJheSA9IFt7IGFnZTogMSwgc3BlY2llczogImRvZyIgfSwgeyBhZ2U6IDIsIHNwZWNpZXM6ICJjYXQiIH0sIHsgYWdlOiAzLCBzcGVjaWVzOiAiZG9nIiB9LCB7IGFnZTogNCwgc3BlY2llczogImNhdCIgfSwgeyBhZ2U6IDExLCBzcGVjaWVzOiAiZG9nIiB9LCB7IGFnZTogMTIsIHNwZWNpZXM6ICJjYXIiIH0sIHsgYWdlOiAxMywgc3BlY2llczogImRvZyIgfSwgeyBhZ2U6IDE0LCBzcGVjaWVzOiAiY2F0IiB9XQogIGNvbnN0IGFnZXMgPSBtYXBwZWRBcnJheS5tYXAoeCA9PiB4LmFnZSk7CiAgY29uc3Qgc3BlY2llcyA9IG1hcHBlZEFycmF5Lm1hcCh4ID0+IHguc3BlY2llcyk7CiAgcmV0dXJuIHsKICAgIGFnZXMsIHNwZWNpZXMKICB9Cn0pOw==)
42+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3QgbWFwcGVkQXJyYXkgPSBbCiAgICB7IGFnZTogMSwgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAyLCBzcGVjaWVzOiAiY2F0IiB9LAogICAgeyBhZ2U6IDMsIHNwZWNpZXM6ICJkb2ciIH0sCiAgICB7IGFnZTogNCwgc3BlY2llczogImNhdCIgfSwKICAgIHsgYWdlOiAxMSwgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAxMiwgc3BlY2llczogImNhciIgfSwKICAgIHsgYWdlOiAxMywgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAxNCwgc3BlY2llczogImNhdCIgfSwKICBdOwogIGNvbnN0IGFnZXMgPSBtYXBwZWRBcnJheS5tYXAoKHgpID0+IHguYWdlKTsKICBjb25zdCBzcGVjaWVzID0gbWFwcGVkQXJyYXkubWFwKCh4KSA9PiB4LnNwZWNpZXMpOwogIHJldHVybiB7CiAgICBhZ2VzLAogICAgc3BlY2llcywKICB9Owp9KTsK)
4343

4444
``` typescript
45-
export const main = asl.deploy.asStateMachine(async () =>
46-
{
47-
const mappedArray = [{ age: 1, species: "dog" }, { age: 2, species: "cat" }, { age: 3, species: "dog" }, { age: 4, species: "cat" }, { age: 11, species: "dog" }, { age: 12, species: "car" }, { age: 13, species: "dog" }, { age: 14, species: "cat" }]
48-
const ages = mappedArray.map(x => x.age);
49-
const species = mappedArray.map(x => x.species);
45+
export const main = asl.deploy.asStateMachine(async () => {
46+
const mappedArray = [
47+
{ age: 1, species: "dog" },
48+
{ age: 2, species: "cat" },
49+
{ age: 3, species: "dog" },
50+
{ age: 4, species: "cat" },
51+
{ age: 11, species: "dog" },
52+
{ age: 12, species: "car" },
53+
{ age: 13, species: "dog" },
54+
{ age: 14, species: "cat" },
55+
];
56+
const ages = mappedArray.map((x) => x.age);
57+
const species = mappedArray.map((x) => x.species);
5058
return {
51-
ages, species
52-
}
59+
ages,
60+
species,
61+
};
5362
});
63+
5464
```
5565

5666

5767
## map array nested property access
58-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBzb3VyY2UgPSBbeyBvYmo6IHsgbnVtOiAyMywgc3RyOiAic3RyIiB9IH1dCiAgY29uc3QgbnVtID0gc291cmNlLm1hcCh4ID0+IHgub2JqLm51bSk7CiAgY29uc3Qgc3RyID0gc291cmNlLm1hcCh4ID0+IHgub2JqLnN0cik7CiAgcmV0dXJuIHsKICAgIG51bSwgc3RyCiAgfQp9KTs=)
68+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3Qgc291cmNlID0gW3sgb2JqOiB7IG51bTogMjMsIHN0cjogInN0ciIgfSB9XTsKICBjb25zdCBudW0gPSBzb3VyY2UubWFwKCh4KSA9PiB4Lm9iai5udW0pOwogIGNvbnN0IHN0ciA9IHNvdXJjZS5tYXAoKHgpID0+IHgub2JqLnN0cik7CiAgcmV0dXJuIHsKICAgIG51bSwKICAgIHN0ciwKICB9Owp9KTsK)
5969

6070
``` typescript
61-
export const main = asl.deploy.asStateMachine(async () =>
62-
{
63-
const source = [{ obj: { num: 23, str: "str" } }]
64-
const num = source.map(x => x.obj.num);
65-
const str = source.map(x => x.obj.str);
71+
export const main = asl.deploy.asStateMachine(async () => {
72+
const source = [{ obj: { num: 23, str: "str" } }];
73+
const num = source.map((x) => x.obj.num);
74+
const str = source.map((x) => x.obj.str);
6675
return {
67-
num, str
68-
}
76+
num,
77+
str,
78+
};
6979
});
80+
7081
```
7182

7283

7384
## filter array
74-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBtYXBwZWRBcnJheSA9IFt7IGFnZTogMSwgc3BlY2llczogImRvZyIgfSwgeyBhZ2U6IDIsIHNwZWNpZXM6ICJjYXQiIH0sIHsgYWdlOiAzLCBzcGVjaWVzOiAiZG9nIiB9LCB7IGFnZTogNCwgc3BlY2llczogImNhdCIgfSwgeyBhZ2U6IDExLCBzcGVjaWVzOiAiZG9nIiB9LCB7IGFnZTogMTIsIHNwZWNpZXM6ICJjYXIiIH0sIHsgYWdlOiAxMywgc3BlY2llczogImRvZyIgfSwgeyBhZ2U6IDE0LCBzcGVjaWVzOiAiY2F0IiB9XQogIGNvbnN0IGZpbHRlckFycmF5ID0gewogICAgY2F0czogewogICAgICB5b3VuZzogbWFwcGVkQXJyYXkuZmlsdGVyKHggPT4geC5zcGVjaWVzID09PSAiY2F0IiAmJiB4LmFnZSA8IDUpLAogICAgICBvbGQ6IG1hcHBlZEFycmF5LmZpbHRlcih4ID0+IHguc3BlY2llcyA9PT0gImNhdCIgJiYgeC5hZ2UgPj0gNSksCiAgICB9LAogICAgZG9nczogewogICAgICB5b3VuZzogbWFwcGVkQXJyYXkuZmlsdGVyKHggPT4geC5zcGVjaWVzID09PSAiZG9nIiAmJiB4LmFnZSA8IDUpLAogICAgICBvbGQ6IG1hcHBlZEFycmF5LmZpbHRlcih4ID0+IHguc3BlY2llcyA9PT0gImRvZyIgJiYgeC5hZ2UgPj0gNSksCiAgICB9CiAgfQogIHJldHVybiBmaWx0ZXJBcnJheTsKfSk7)
85+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3QgbWFwcGVkQXJyYXkgPSBbCiAgICB7IGFnZTogMSwgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAyLCBzcGVjaWVzOiAiY2F0IiB9LAogICAgeyBhZ2U6IDMsIHNwZWNpZXM6ICJkb2ciIH0sCiAgICB7IGFnZTogNCwgc3BlY2llczogImNhdCIgfSwKICAgIHsgYWdlOiAxMSwgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAxMiwgc3BlY2llczogImNhciIgfSwKICAgIHsgYWdlOiAxMywgc3BlY2llczogImRvZyIgfSwKICAgIHsgYWdlOiAxNCwgc3BlY2llczogImNhdCIgfSwKICBdOwogIGNvbnN0IGZpbHRlckFycmF5ID0gewogICAgY2F0czogewogICAgICB5b3VuZzogbWFwcGVkQXJyYXkuZmlsdGVyKCh4KSA9PiB4LnNwZWNpZXMgPT09ICJjYXQiICYmIHguYWdlIDwgNSksCiAgICAgIG9sZDogbWFwcGVkQXJyYXkuZmlsdGVyKCh4KSA9PiB4LnNwZWNpZXMgPT09ICJjYXQiICYmIHguYWdlID49IDUpLAogICAgfSwKICAgIGRvZ3M6IHsKICAgICAgeW91bmc6IG1hcHBlZEFycmF5LmZpbHRlcigoeCkgPT4geC5zcGVjaWVzID09PSAiZG9nIiAmJiB4LmFnZSA8IDUpLAogICAgICBvbGQ6IG1hcHBlZEFycmF5LmZpbHRlcigoeCkgPT4geC5zcGVjaWVzID09PSAiZG9nIiAmJiB4LmFnZSA+PSA1KSwKICAgIH0sCiAgfTsKICByZXR1cm4gZmlsdGVyQXJyYXk7Cn0pOwo=)
7586

7687
``` typescript
77-
export const main = asl.deploy.asStateMachine(async () =>
78-
{
79-
const mappedArray = [{ age: 1, species: "dog" }, { age: 2, species: "cat" }, { age: 3, species: "dog" }, { age: 4, species: "cat" }, { age: 11, species: "dog" }, { age: 12, species: "car" }, { age: 13, species: "dog" }, { age: 14, species: "cat" }]
88+
export const main = asl.deploy.asStateMachine(async () => {
89+
const mappedArray = [
90+
{ age: 1, species: "dog" },
91+
{ age: 2, species: "cat" },
92+
{ age: 3, species: "dog" },
93+
{ age: 4, species: "cat" },
94+
{ age: 11, species: "dog" },
95+
{ age: 12, species: "car" },
96+
{ age: 13, species: "dog" },
97+
{ age: 14, species: "cat" },
98+
];
8099
const filterArray = {
81100
cats: {
82-
young: mappedArray.filter(x => x.species === "cat" && x.age < 5),
83-
old: mappedArray.filter(x => x.species === "cat" && x.age >= 5),
101+
young: mappedArray.filter((x) => x.species === "cat" && x.age < 5),
102+
old: mappedArray.filter((x) => x.species === "cat" && x.age >= 5),
84103
},
85104
dogs: {
86-
young: mappedArray.filter(x => x.species === "dog" && x.age < 5),
87-
old: mappedArray.filter(x => x.species === "dog" && x.age >= 5),
88-
}
89-
}
105+
young: mappedArray.filter((x) => x.species === "dog" && x.age < 5),
106+
old: mappedArray.filter((x) => x.species === "dog" && x.age >= 5),
107+
},
108+
};
90109
return filterArray;
91110
});
111+
92112
```
93113

94114

95115
## json path expressions
96-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBmaWx0ZXJBcnJheSA9IHsKICAgIGNhdHM6IHsKICAgICAgeW91bmc6IFt7IGFnZTogMiwgc3BlY2llczogImNhdCIgfSwgeyBhZ2U6IDQsIHNwZWNpZXM6ICJjYXQiIH1dLAogICAgICBvbGQ6IFt7IGFnZTogMTIsIHNwZWNpZXM6ICJjYXQiIH0sIHsgYWdlOiAxNCwgc3BlY2llczogImNhdCIgfV0sCiAgICB9LAogICAgZG9nczogewogICAgICB5b3VuZzogW3sgYWdlOiAxLCBzcGVjaWVzOiAiZG9nIiB9LCB7IGFnZTogMywgc3BlY2llczogImRvZyIgfV0sCiAgICAgIG9sZDogW3sgYWdlOiAxMSwgc3BlY2llczogImRvZyIgfSwgeyBhZ2U6IDEzLCBzcGVjaWVzOiAiZG9nIiB9XQogICAgfQogIH0KICAvL0FkZCBhcnJheSBvZiB1bmlxdWUgYWdlcyB1c2luZyBKU09OUGF0aCBFeHByZXNzaW9uCiAgbGV0IGFnZXMgPSBhc2wuanNvblBhdGhFeHByZXNzaW9uKGZpbHRlckFycmF5LCAiLi5hZ2UiKTsKICBsZXQgZmxhdHRlbmVkUGV0cyA9IGFzbC5qc29uUGF0aEV4cHJlc3Npb24oZmlsdGVyQXJyYXksICJbKl1bKl1bKl0iKQogIGxldCBzbGljZWRBcnIgPSBhc2wuanNvblBhdGhTbGljZShmaWx0ZXJBcnJheS5jYXRzLnlvdW5nLCAxLCAxKQoKICByZXR1cm4gewogICAgYWdlcywKICAgIGZsYXR0ZW5lZFBldHMsCiAgICBzbGljZWRBcnIKICB9Cn0pOw==)
116+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3QgZmlsdGVyQXJyYXkgPSB7CiAgICBjYXRzOiB7CiAgICAgIHlvdW5nOiBbCiAgICAgICAgeyBhZ2U6IDIsIHNwZWNpZXM6ICJjYXQiIH0sCiAgICAgICAgeyBhZ2U6IDQsIHNwZWNpZXM6ICJjYXQiIH0sCiAgICAgIF0sCiAgICAgIG9sZDogWwogICAgICAgIHsgYWdlOiAxMiwgc3BlY2llczogImNhdCIgfSwKICAgICAgICB7IGFnZTogMTQsIHNwZWNpZXM6ICJjYXQiIH0sCiAgICAgIF0sCiAgICB9LAogICAgZG9nczogewogICAgICB5b3VuZzogWwogICAgICAgIHsgYWdlOiAxLCBzcGVjaWVzOiAiZG9nIiB9LAogICAgICAgIHsgYWdlOiAzLCBzcGVjaWVzOiAiZG9nIiB9LAogICAgICBdLAogICAgICBvbGQ6IFsKICAgICAgICB7IGFnZTogMTEsIHNwZWNpZXM6ICJkb2ciIH0sCiAgICAgICAgeyBhZ2U6IDEzLCBzcGVjaWVzOiAiZG9nIiB9LAogICAgICBdLAogICAgfSwKICB9OwogIC8vQWRkIGFycmF5IG9mIHVuaXF1ZSBhZ2VzIHVzaW5nIEpTT05QYXRoIEV4cHJlc3Npb24KICBsZXQgYWdlcyA9IGFzbC5qc29uUGF0aEV4cHJlc3Npb24oZmlsdGVyQXJyYXksICIuLmFnZSIpOwogIGxldCBmbGF0dGVuZWRQZXRzID0gYXNsLmpzb25QYXRoRXhwcmVzc2lvbihmaWx0ZXJBcnJheSwgIlsqXVsqXVsqXSIpOwogIGxldCBzbGljZWRBcnIgPSBhc2wuanNvblBhdGhTbGljZShmaWx0ZXJBcnJheS5jYXRzLnlvdW5nLCAxLCAxKTsKCiAgcmV0dXJuIHsKICAgIGFnZXMsCiAgICBmbGF0dGVuZWRQZXRzLAogICAgc2xpY2VkQXJyLAogIH07Cn0pOwo=)
97117

98118
``` typescript
99-
export const main = asl.deploy.asStateMachine(async () =>
100-
{
119+
export const main = asl.deploy.asStateMachine(async () => {
101120
const filterArray = {
102121
cats: {
103-
young: [{ age: 2, species: "cat" }, { age: 4, species: "cat" }],
104-
old: [{ age: 12, species: "cat" }, { age: 14, species: "cat" }],
122+
young: [
123+
{ age: 2, species: "cat" },
124+
{ age: 4, species: "cat" },
125+
],
126+
old: [
127+
{ age: 12, species: "cat" },
128+
{ age: 14, species: "cat" },
129+
],
105130
},
106131
dogs: {
107-
young: [{ age: 1, species: "dog" }, { age: 3, species: "dog" }],
108-
old: [{ age: 11, species: "dog" }, { age: 13, species: "dog" }]
109-
}
110-
}
132+
young: [
133+
{ age: 1, species: "dog" },
134+
{ age: 3, species: "dog" },
135+
],
136+
old: [
137+
{ age: 11, species: "dog" },
138+
{ age: 13, species: "dog" },
139+
],
140+
},
141+
};
111142
//Add array of unique ages using JSONPath Expression
112143
let ages = asl.jsonPathExpression(filterArray, "..age");
113-
let flattenedPets = asl.jsonPathExpression(filterArray, "[*][*][*]")
114-
let slicedArr = asl.jsonPathSlice(filterArray.cats.young, 1, 1)
144+
let flattenedPets = asl.jsonPathExpression(filterArray, "[*][*][*]");
145+
let slicedArr = asl.jsonPathSlice(filterArray.cats.young, 1, 1);
115146

116147
return {
117148
ages,
118149
flattenedPets,
119-
slicedArr
120-
}
150+
slicedArr,
151+
};
121152
});
153+
122154
```
123155

124156

Diff for: examples/boolean-evalation.md

+21-9
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11

22
## main
3-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBkYXRhID0gewogICAgbnVtOiA0MiwKICAgIHRleHQ6ICJ0ZXh0IiwKICAgIHVuZGVmaW5lZDogdW5kZWZpbmVkLAogICAgbnVsbDogbnVsbCwKICAgIHRpbWVzdGFtcDogIjIwMTYtMDMtMTRUMDE6NTk6MDBaIgogIH07CgogIGlmICh0eXBlb2YgZGF0YS5udW0gIT09ICJudW1iZXIiKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJudW0gZXhwZWN0ZWQgdG8gYmUgbnVtYmVyIik7CiAgfQoKICBpZiAoZGF0YS5udW0gIT09IDQyKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJudW0gZXhwZWN0ZWQgdG8gYmUgNDIiKTsKICB9CgogIGlmICh0eXBlb2YgZGF0YS50ZXh0ICE9PSAic3RyaW5nIikgewogICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcigidGV4dCBleHBlY3RlZCB0byBiZSBzdHJpbmciKTsKICB9CgogIGlmIChkYXRhLnRleHQgIT09ICJ0ZXh0IikgewogICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcigidGV4dCBleHBlY3RlZCB0byBiZSAndGV4dCciKTsKICB9CgogIGlmIChkYXRhLnVuZGVmaW5lZCkgewogICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcigidW5kZWZpbmVkIGV4cGVjdGVkIHRvIGJlIG5vbi10cnV0aHknIik7CiAgfQoKICBpZiAoZGF0YS5udWxsKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJudWxsIGV4cGVjdGVkIHRvIGJlIG5vbi10cnV0aHknIik7CiAgfQoKICBpZiAodHlwZW9mIGRhdGEudGltZXN0YW1wICE9PSAic3RyaW5nIikgewogICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcigidGltZXN0YW1wIGV4cGVjdGVkIHRvIGJlIHN0cmluZyciKTsKICB9CiAgcmV0dXJuICJzdWNjZXNzIjsKfSk7)
3+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3QgZGF0YSA9IHsKICAgIG51bTogNDIsCiAgICB0ZXh0OiAidGV4dCIsCiAgICB1bmRlZmluZWQ6IHVuZGVmaW5lZCwKICAgIG51bGw6IG51bGwsCiAgICB0aW1lc3RhbXA6ICIyMDE2LTAzLTE0VDAxOjU5OjAwWiIsCiAgfTsKCiAgaWYgKHR5cGVvZiBkYXRhLm51bSAhPT0gIm51bWJlciIpIHsKICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoIm51bSBleHBlY3RlZCB0byBiZSBudW1iZXIiKTsKICB9CgogIGlmIChkYXRhLm51bSAhPT0gNDIpIHsKICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoIm51bSBleHBlY3RlZCB0byBiZSA0MiIpOwogIH0KCiAgaWYgKHR5cGVvZiBkYXRhLnRleHQgIT09ICJzdHJpbmciKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJ0ZXh0IGV4cGVjdGVkIHRvIGJlIHN0cmluZyIpOwogIH0KCiAgaWYgKGRhdGEudGV4dCAhPT0gInRleHQiKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJ0ZXh0IGV4cGVjdGVkIHRvIGJlICd0ZXh0JyIpOwogIH0KCiAgaWYgKGRhdGEudW5kZWZpbmVkKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJ1bmRlZmluZWQgZXhwZWN0ZWQgdG8gYmUgbm9uLXRydXRoeSciKTsKICB9CgogIGlmIChkYXRhLm51bGwpIHsKICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoIm51bGwgZXhwZWN0ZWQgdG8gYmUgbm9uLXRydXRoeSciKTsKICB9CgogIGlmICh0eXBlb2YgZGF0YS50aW1lc3RhbXAgIT09ICJzdHJpbmciKSB7CiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCJ0aW1lc3RhbXAgZXhwZWN0ZWQgdG8gYmUgc3RyaW5nJyIpOwogIH0KICByZXR1cm4gInN1Y2Nlc3MiOwp9KTsKCmNsYXNzIFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHsKICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHsKICAgIHN1cGVyKG1lc3NhZ2UpOwogIH0KfQo=)
44

55
``` typescript
6-
export const main = asl.deploy.asStateMachine(async () =>
7-
{
6+
export const main = asl.deploy.asStateMachine(async () => {
87
const data = {
98
num: 42,
109
text: "text",
1110
undefined: undefined,
1211
null: null,
13-
timestamp: "2016-03-14T01:59:00Z"
12+
timestamp: "2016-03-14T01:59:00Z",
1413
};
1514

1615
if (typeof data.num !== "number") {
@@ -42,26 +41,39 @@ export const main = asl.deploy.asStateMachine(async () =>
4241
}
4342
return "success";
4443
});
44+
45+
class ValidationError extends Error {
46+
constructor(message: string) {
47+
super(message);
48+
}
49+
}
50+
4551
```
4652

4753

4854
## numeric comparison
49-
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiAKIHsKICBjb25zdCBjb25kaXRpb24gPSA0MjsKICBjb25zdCBpdGVtcyA9IFsyLCA0MiwgM107CiAgY29uc3QgbGlzdFdpdGhSZXR1cm5lZCA9IGl0ZW1zLm1hcChpdGVtID0+IHsKICAgIGlmIChpdGVtID09PSBjb25kaXRpb24pIHsKICAgICAgcmV0dXJuIHsgcmV0dXJuZWQ6IGl0ZW0gfTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9KTsKICBjb25zdCBpdGVtID0gbGlzdFdpdGhSZXR1cm5lZC5maWx0ZXIoeCA9PiB4LnJldHVybmVkKTsKICByZXR1cm4gaXRlbTsKfSk7)
55+
[Open in playground](https://asl-editor-spike-ts-stedi.vercel.app/?aW1wb3J0ICogYXMgYXNsIGZyb20gIkB0czJhc2wvYXNsLWxpYiIKCmV4cG9ydCBjb25zdCBtYWluID0gYXNsLmRlcGxveS5hc1N0YXRlTWFjaGluZShhc3luYyAoKSA9PiB7CiAgY29uc3QgY29uZGl0aW9uID0gNDI7CiAgY29uc3QgaXRlbXMgPSBbMiwgNDIsIDNdOwogIGNvbnN0IGxpc3RXaXRoUmV0dXJuZWQgPSBpdGVtcy5tYXAoKGl0ZW0pID0+IHsKICAgIGlmIChpdGVtID09PSBjb25kaXRpb24pIHsKICAgICAgcmV0dXJuIHsgcmV0dXJuZWQ6IGl0ZW0gfTsKICAgIH0KICAgIHJldHVybiB7fTsKICB9KTsKICBjb25zdCBpdGVtID0gbGlzdFdpdGhSZXR1cm5lZC5maWx0ZXIoKHgpID0+IHgucmV0dXJuZWQpOwogIHJldHVybiBpdGVtOwp9KTsKCmNsYXNzIFZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHsKICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHsKICAgIHN1cGVyKG1lc3NhZ2UpOwogIH0KfQo=)
5056

5157
``` typescript
52-
export const main = asl.deploy.asStateMachine(async () =>
53-
{
58+
export const main = asl.deploy.asStateMachine(async () => {
5459
const condition = 42;
5560
const items = [2, 42, 3];
56-
const listWithReturned = items.map(item => {
61+
const listWithReturned = items.map((item) => {
5762
if (item === condition) {
5863
return { returned: item };
5964
}
6065
return {};
6166
});
62-
const item = listWithReturned.filter(x => x.returned);
67+
const item = listWithReturned.filter((x) => x.returned);
6368
return item;
6469
});
70+
71+
class ValidationError extends Error {
72+
constructor(message: string) {
73+
super(message);
74+
}
75+
}
76+
6577
```
6678

6779

0 commit comments

Comments
 (0)