diff --git a/fjs/edag/todo/a1.md b/fjs/edag/todo/a1.md new file mode 100644 index 000000000..379219244 --- /dev/null +++ b/fjs/edag/todo/a1.md @@ -0,0 +1,30 @@ +```ts +// a(b) +type Call = ['()', Exp, Exp] + +// a.bc +type Dot = ['.', Exp, Index, PropertyLambda] + +// a?.bc +type OptionDot = ['?.', Exp, Index, OptionPropertyLambda] + +// a?(b)c +type OptionCall = ['?.()', Exp, Exp, OptionLambda] + +type PropertyLambda = + | null + | ['()', Exp] + | ['?.()', Exp, OptionLambda] + +type OptionLambda = + | null + | ['()', Exp, OptionLambda] + | ['.', Index, OptionPropertyLambda] + +type OptionPropertyLambda = + | null + | ['()', Exp, OptionLambda] + | ['.', Index, OptionPropertyLambda] + | ['?.()', Exp, OptionLambda] + | ['!()', Exp] +```