├── .editorconfig
├── .eslintrc.json
├── .github
└── actions
│ └── fast-follow
│ ├── README.md
│ └── action.yml
├── .gitignore
├── .husky
├── .gitignore
└── pre-commit
├── .prettierignore
├── .prettierrc
├── .stylua.toml
├── .vscode
└── extensions.json
├── LICENCE.graphqljs
├── LICENSE.txt
├── README.md
├── apps
├── convert-js-to-lua
│ ├── .eslintrc.json
│ ├── conformance-tests
│ │ ├── conformance-tests.ts
│ │ ├── conformance.config.ts
│ │ ├── conformance_m1.spec.ts
│ │ ├── conformance_m2.spec.ts
│ │ ├── conformance_m3.spec.ts
│ │ ├── conformance_m4.spec.ts
│ │ ├── conformance_m5.spec.ts
│ │ ├── conformance_m6.spec.ts
│ │ ├── conformance_m7.spec.ts
│ │ ├── conformance_m8.spec.ts
│ │ ├── conformance_rest.spec.ts
│ │ └── test-utils.ts
│ ├── jest-conformance.config.ts
│ ├── jest.config.ts
│ ├── package.json
│ ├── project.json
│ ├── src
│ │ ├── app
│ │ │ ├── .gitkeep
│ │ │ ├── convert-files.ts
│ │ │ ├── convert.ts
│ │ │ ├── get-args.ts
│ │ │ ├── get-files.ts
│ │ │ └── transform.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── fixtures
│ │ │ ├── Declarations
│ │ │ │ ├── expected.lua
│ │ │ │ └── sample.ts
│ │ │ ├── Primitive
│ │ │ │ ├── expected.lua
│ │ │ │ └── sample.ts
│ │ │ └── Structural
│ │ │ │ ├── expected.lua
│ │ │ │ └── sample.ts
│ │ ├── index.js
│ │ └── main.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── fast-follow
│ ├── .eslintrc.json
│ ├── jest.config.ts
│ ├── package.json
│ ├── project.json
│ ├── src
│ │ ├── app
│ │ │ ├── .gitkeep
│ │ │ └── get-args.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── index.js
│ │ └── main.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
└── playground
│ ├── .eslintrc.json
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ ├── app
│ │ └── .gitkeep
│ ├── assets
│ │ └── .gitkeep
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── main.spec.ts
│ ├── main.ts
│ └── run.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ └── tsconfig.spec.json
├── babel-flow-transform-react.config.json
├── babel-flow.config.json
├── babel-transform-react.config.json
├── babel-ts.config.json
├── conformance-tests
├── base-types
│ ├── array
│ │ ├── array-literal-with-comments_m5.js
│ │ └── array-literal-with-comments_m5.lua
│ ├── booleans
│ │ ├── boolean-typed_m1.lua
│ │ ├── boolean-typed_m1.ts
│ │ ├── boolean_m1.js
│ │ └── boolean_m1.lua
│ ├── never
│ │ ├── never-typed-throw-error_m5.lua
│ │ ├── never-typed-throw-error_m5.ts
│ │ ├── never-typed-while-true_m5.lua
│ │ └── never-typed-while-true_m5.ts
│ ├── null
│ │ ├── null-typed_m5.lua
│ │ └── null-typed_m5.ts
│ ├── numbers
│ │ ├── NaN.js
│ │ ├── NaN.lua
│ │ ├── binary.js
│ │ ├── binary.lua
│ │ ├── exponent.js
│ │ ├── exponent.lua
│ │ ├── hexadecimal.js
│ │ ├── hexadecimal.lua
│ │ ├── infinity.js
│ │ ├── infinity.lua
│ │ ├── integer-typed.lua
│ │ ├── integer-typed.ts
│ │ ├── integer-with-separator.js
│ │ ├── integer-with-separator.lua
│ │ ├── leading-zero-decimal.js
│ │ ├── leading-zero-decimal.lua
│ │ ├── octal.js
│ │ └── octal.lua
│ ├── object
│ │ ├── object-literal-with-comments_m5.js
│ │ └── object-literal-with-comments_m5.lua
│ ├── strings
│ │ ├── escape-normal-character.js
│ │ ├── escape-normal-character.lua
│ │ ├── escape-sequences.js
│ │ ├── escape-sequences.lua
│ │ ├── hex-escape-sequences.js
│ │ ├── hex-escape-sequences.lua
│ │ ├── line-continuation.js
│ │ ├── line-continuation.lua
│ │ ├── multiline-template-first-line-empty.js
│ │ ├── multiline-template-first-line-empty.lua
│ │ ├── multiline-template-with-backticks.js
│ │ ├── multiline-template-with-backticks.lua
│ │ ├── multiline-template-with-closing-bracket-at-the-end.js
│ │ ├── multiline-template-with-closing-bracket-at-the-end.lua
│ │ ├── multiline-template-with-double-brackets.js
│ │ ├── multiline-template-with-double-brackets.lua
│ │ ├── multiline-template-with-long-double-brackets.js
│ │ ├── multiline-template-with-long-double-brackets.lua
│ │ ├── multiline-template.js
│ │ ├── multiline-template.lua
│ │ ├── octal-escape-sequence-follow-by-8.js
│ │ ├── octal-escape-sequence-follow-by-8.lua
│ │ ├── octal-escape-sequences.js
│ │ ├── octal-escape-sequences.lua
│ │ ├── simple-typed.lua
│ │ ├── simple-typed.ts
│ │ ├── simple.js
│ │ ├── simple.lua
│ │ ├── template-escape-new-line.js
│ │ ├── template-escape-new-line.lua
│ │ ├── unicode-escape-chars_m5.js
│ │ └── unicode-escape-chars_m5.lua
│ ├── template-literals
│ │ ├── multi-line-template-with-expressions-and-format-patterns_m5.js
│ │ ├── multi-line-template-with-expressions-and-format-patterns_m5.lua
│ │ ├── multi-line-template-with-expressions-escaped-chars-and-format-patterns_m5.js
│ │ ├── multi-line-template-with-expressions-escaped-chars-and-format-patterns_m5.lua
│ │ ├── multiline-escape-sequences-new-lines-after_m5.js
│ │ ├── multiline-escape-sequences-new-lines-after_m5.lua
│ │ ├── multiline-escape-sequences-with-expressions-new-lines-after_m5.js
│ │ ├── multiline-escape-sequences-with-expressions-new-lines-after_m5.lua
│ │ ├── multiline-escape-sequences-with-expressions_m5.js
│ │ ├── multiline-escape-sequences-with-expressions_m5.lua
│ │ ├── multiline-escape-sequences_m5.js
│ │ ├── multiline-escape-sequences_m5.lua
│ │ ├── single-line-template-literal-with-escaped-chars_m5.js
│ │ ├── single-line-template-literal-with-escaped-chars_m5.lua
│ │ ├── single-line-template-with-expressions-and-format-patterns_m5.js
│ │ └── single-line-template-with-expressions-and-format-patterns_m5.lua
│ └── unknown
│ │ ├── unknown-typed-multiple_m5.lua
│ │ ├── unknown-typed-multiple_m5.ts
│ │ ├── unknown-typed_m5.lua
│ │ └── unknown-typed_m5.ts
├── comments
│ ├── class-declaration-with-comments_m5.js
│ ├── class-declaration-with-comments_m5.lua
│ ├── class-methods-with-comments_m5.js
│ ├── class-methods-with-comments_m5.lua
│ ├── class-properties-with-comments_m5.js
│ ├── class-properties-with-comments_m5.lua
│ ├── copyright
│ │ ├── copyright-text
│ │ │ ├── copyright-with-export_m5.js
│ │ │ ├── copyright-with-export_m5.lua
│ │ │ ├── copyright-with-import_m5.js
│ │ │ ├── copyright-with-import_m5.lua
│ │ │ ├── copyright-with-polyfills_m5.js
│ │ │ ├── copyright-with-polyfills_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.ts
│ │ │ ├── copyright-with-void-type-polyfill_m5.lua
│ │ │ └── copyright-with-void-type-polyfill_m5.ts
│ │ └── jsdoc
│ │ │ ├── copyright-tag
│ │ │ ├── copyright-with-export_m5.js
│ │ │ ├── copyright-with-export_m5.lua
│ │ │ ├── copyright-with-import_m5.js
│ │ │ ├── copyright-with-import_m5.lua
│ │ │ ├── copyright-with-polyfills_m5.js
│ │ │ ├── copyright-with-polyfills_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.ts
│ │ │ ├── copyright-with-void-type-polyfill_m5.lua
│ │ │ └── copyright-with-void-type-polyfill_m5.ts
│ │ │ └── license-tag
│ │ │ ├── copyright-with-export_m5.js
│ │ │ ├── copyright-with-export_m5.lua
│ │ │ ├── copyright-with-import_m5.js
│ │ │ ├── copyright-with-import_m5.lua
│ │ │ ├── copyright-with-polyfills_m5.js
│ │ │ ├── copyright-with-polyfills_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.lua
│ │ │ ├── copyright-with-qualified-name-import_m5.ts
│ │ │ ├── copyright-with-void-type-polyfill_m5.lua
│ │ │ └── copyright-with-void-type-polyfill_m5.ts
│ ├── export-declaration-with-comments_m5.lua
│ ├── export-declaration-with-comments_m5.ts
│ ├── function-declaration-inner-comment-line_m5.js
│ ├── function-declaration-inner-comment-line_m5.lua
│ ├── function-params-with-comments_m5.lua
│ ├── function-params-with-comments_m5.ts
│ ├── generic-type-leading_m5.lua
│ ├── generic-type-leading_m5.ts
│ ├── generic-type-trailing_m5.lua
│ ├── generic-type-trailing_m5.ts
│ ├── if-statement-inner-comment-line_m5.js
│ ├── if-statement-inner-comment-line_m5.lua
│ ├── if-statement-with-condition-comment_m5.js
│ ├── if-statement-with-condition-comment_m5.lua
│ ├── leading-and-trailing-comment-complex_m5.lua
│ ├── leading-and-trailing-comment-complex_m5.ts
│ ├── leading-and-trailing-comment_m5.js
│ ├── leading-and-trailing-comment_m5.lua
│ ├── member-expression-with-comments_m5.js
│ ├── member-expression-with-comments_m5.lua
│ ├── mixed-leading-trailing-comments_m5.js
│ ├── mixed-leading-trailing-comments_m5.lua
│ ├── program-inner-comment-block_m5.js
│ ├── program-inner-comment-block_m5.lua
│ ├── program-inner-comment-line_m5.js
│ ├── program-inner-comment-line_m5.lua
│ ├── type-alias-inline_m5.lua
│ ├── type-alias-inline_m5.ts
│ ├── type-alias-mixed-blocks_m5.lua
│ ├── type-alias-mixed-blocks_m5.ts
│ ├── unhandled-statement-with-comments_m5.js
│ ├── unhandled-statement-with-comments_m5.lua
│ ├── variable-declaration-with-object-expression-and-multiple-comments_m5.lua
│ └── variable-declaration-with-object-expression-and-multiple-comments_m5.ts
├── complex
│ ├── ReactHooks-test.internal_m5.js
│ ├── ReactHooks-test.internal_m5.lua
│ ├── ReactUpdates-test_m5.jsx
│ ├── ReactUpdates-test_m5.lua
│ ├── apollo-client-test-switch-break_m5.lua
│ ├── apollo-client-test-switch-break_m5.ts
│ ├── expand-range_m5.js
│ ├── expand-range_m5.lua
│ ├── graph-ql-lexer-test.lua
│ ├── graph-ql-lexer-test.ts
│ ├── graph-ql-printer-add-description_m5.lua
│ ├── graph-ql-printer-add-description_m5.ts
│ ├── graphql-parser-parse-variable-definition_m5.lua
│ ├── graphql-parser-parse-variable-definition_m5.ts
│ ├── graphql-type-info-switch-break.lua
│ ├── graphql-type-info-switch-break.ts
│ ├── increment-decrement-within-function-call_m2.js
│ ├── increment-decrement-within-function-call_m2.lua
│ ├── jest-config-resolve-config-path-test_m5.lua
│ ├── jest-config-resolve-config-path-test_m5.ts
│ ├── jest-config-resolve-config-path_m5.lua
│ ├── jest-config-resolve-config-path_m5.ts
│ ├── jest-fake-timers-type_m5.lua
│ ├── jest-fake-timers-type_m5.ts
│ ├── jest-reporters-stream-fns_m5.lua
│ ├── jest-reporters-stream-fns_m5.ts
│ ├── mixed-try-switch_m4.js
│ ├── mixed-try-switch_m4.lua
│ ├── pretty-format-with-cast-operator.lua
│ ├── pretty-format-with-cast-operator.ts
│ ├── query-data-ref_spec_m4.js
│ ├── query-data-ref_spec_m4.lua
│ ├── query-hoc-example_m5.lua
│ ├── query-hoc-example_m5.ts
│ ├── react-create-react-noop-try-catch_m4.lua
│ ├── react-create-react-noop-try-catch_m4.ts
│ ├── react-hooks-with-noop-renderer-multiple-strings-concat.js
│ ├── react-hooks-with-noop-renderer-multiple-strings-concat.lua
│ ├── react-scheduler-try-catch_m4.js
│ ├── react-scheduler-try-catch_m4.lua
│ ├── simple-react-component_m2.js
│ ├── simple-react-component_m2.lua
│ ├── variable-declaration-with-complex-object-expression_m5.js
│ ├── variable-declaration-with-complex-object-expression_m5.lua
│ ├── yoga-config_m5.lua
│ └── yoga-config_m5.ts
├── directives
│ ├── directive-with-comment-block-auto-import-copyright_m5.js
│ ├── directive-with-comment-block-auto-import-copyright_m5.lua
│ ├── directive-with-comment-block-auto-import_m5.js
│ ├── directive-with-comment-block-auto-import_m5.lua
│ ├── directive-with-comment-block_m5.js
│ ├── directive-with-comment-block_m5.lua
│ ├── directive-with-comment-line_m5.js
│ └── directive-with-comment-line_m5.lua
├── expressions
│ ├── await
│ │ ├── await-identifier_m5.js
│ │ ├── await-identifier_m5.lua
│ │ ├── await-promise_m5.js
│ │ └── await-promise_m5.lua
│ ├── call
│ │ ├── bind.js
│ │ ├── bind.lua
│ │ ├── date
│ │ │ ├── date-now-with-comments_m5.js
│ │ │ ├── date-now-with-comments_m5.lua
│ │ │ ├── date-now_m5.js
│ │ │ └── date-now_m5.lua
│ │ ├── iife-async_m5.js
│ │ ├── iife-async_m5.lua
│ │ ├── iife-with-body-and-default-params-async_m5.js
│ │ ├── iife-with-body-and-default-params-async_m5.lua
│ │ ├── iife-with-body-async_m5.js
│ │ ├── iife-with-body-async_m5.lua
│ │ ├── iife_m2.js
│ │ ├── iife_m2.lua
│ │ ├── known-array-methods
│ │ │ ├── definitely-array
│ │ │ │ ├── chained-apply_m5.js
│ │ │ │ ├── chained-apply_m5.lua
│ │ │ │ ├── chained-call_m5.js
│ │ │ │ ├── chained-call_m5.lua
│ │ │ │ ├── filter-apply_m5.js
│ │ │ │ ├── filter-apply_m5.lua
│ │ │ │ ├── filter-call_m5.js
│ │ │ │ ├── filter-call_m5.lua
│ │ │ │ ├── filter_m5.js
│ │ │ │ ├── filter_m5.lua
│ │ │ │ ├── map-apply_m5.js
│ │ │ │ ├── map-apply_m5.lua
│ │ │ │ ├── map-call_m5.js
│ │ │ │ ├── map-call_m5.lua
│ │ │ │ ├── map_m5.js
│ │ │ │ ├── map_m5.lua
│ │ │ │ ├── pop-apply_m5.js
│ │ │ │ ├── pop-apply_m5.lua
│ │ │ │ ├── pop-call_m5.js
│ │ │ │ ├── pop-call_m5.lua
│ │ │ │ ├── pop_m5.js
│ │ │ │ ├── pop_m5.lua
│ │ │ │ ├── push-identifier-apply_m5.js
│ │ │ │ ├── push-identifier-apply_m5.lua
│ │ │ │ ├── push-multiple-apply_m5.js
│ │ │ │ ├── push-multiple-apply_m5.lua
│ │ │ │ ├── push-multiple-call_m5.js
│ │ │ │ ├── push-multiple-call_m5.lua
│ │ │ │ ├── push-multiple_m5.js
│ │ │ │ ├── push-multiple_m5.lua
│ │ │ │ ├── push-single-apply_m5.js
│ │ │ │ ├── push-single-apply_m5.lua
│ │ │ │ ├── push-single-call_m5.js
│ │ │ │ ├── push-single-call_m5.lua
│ │ │ │ ├── push-single_m5.js
│ │ │ │ ├── push-single_m5.lua
│ │ │ │ ├── reduce-apply_m5.js
│ │ │ │ ├── reduce-apply_m5.lua
│ │ │ │ ├── reduce-call_m5.js
│ │ │ │ ├── reduce-call_m5.lua
│ │ │ │ ├── reduce-with-init-value-call_m5.js
│ │ │ │ ├── reduce-with-init-value-call_m5.lua
│ │ │ │ ├── reduce-with-init-value_m5.js
│ │ │ │ ├── reduce-with-init-value_m5.lua
│ │ │ │ ├── reduce_m5.js
│ │ │ │ ├── reduce_m5.lua
│ │ │ │ ├── shift-apply_m5.js
│ │ │ │ ├── shift-apply_m5.lua
│ │ │ │ ├── shift-call_m5.js
│ │ │ │ ├── shift-call_m5.lua
│ │ │ │ ├── shift_m5.js
│ │ │ │ ├── shift_m5.lua
│ │ │ │ ├── unshift-identifier-apply_m5.js
│ │ │ │ ├── unshift-identifier-apply_m5.lua
│ │ │ │ ├── unshift-multiple-apply_m5.js
│ │ │ │ ├── unshift-multiple-apply_m5.lua
│ │ │ │ ├── unshift-multiple-call_m5.js
│ │ │ │ ├── unshift-multiple-call_m5.lua
│ │ │ │ ├── unshift-multiple_m5.js
│ │ │ │ ├── unshift-multiple_m5.lua
│ │ │ │ ├── unshift-single-apply_m5.js
│ │ │ │ ├── unshift-single-apply_m5.lua
│ │ │ │ ├── unshift-single-call_m5.js
│ │ │ │ ├── unshift-single-call_m5.lua
│ │ │ │ ├── unshift-single_m5.js
│ │ │ │ └── unshift-single_m5.lua
│ │ │ └── maybe-array
│ │ │ │ ├── chained-apply_m5.js
│ │ │ │ ├── chained-apply_m5.lua
│ │ │ │ ├── chained-call_m5.js
│ │ │ │ ├── chained-call_m5.lua
│ │ │ │ ├── chained_m5.js
│ │ │ │ ├── chained_m5.lua
│ │ │ │ ├── filter-apply_m5.js
│ │ │ │ ├── filter-apply_m5.lua
│ │ │ │ ├── filter-call_m5.js
│ │ │ │ ├── filter-call_m5.lua
│ │ │ │ ├── filter_m5.js
│ │ │ │ ├── filter_m5.lua
│ │ │ │ ├── map-apply_m5.js
│ │ │ │ ├── map-apply_m5.lua
│ │ │ │ ├── map-call_m5.js
│ │ │ │ ├── map-call_m5.lua
│ │ │ │ ├── map_m5.js
│ │ │ │ ├── map_m5.lua
│ │ │ │ ├── pop-apply_m5.js
│ │ │ │ ├── pop-apply_m5.lua
│ │ │ │ ├── pop-call_m5.js
│ │ │ │ ├── pop-call_m5.lua
│ │ │ │ ├── pop_m5.js
│ │ │ │ ├── pop_m5.lua
│ │ │ │ ├── push-identifier-apply_m5.js
│ │ │ │ ├── push-identifier-apply_m5.lua
│ │ │ │ ├── push-multiple-apply_m5.js
│ │ │ │ ├── push-multiple-apply_m5.lua
│ │ │ │ ├── push-multiple-call_m5.js
│ │ │ │ ├── push-multiple-call_m5.lua
│ │ │ │ ├── push-multiple_m5.js
│ │ │ │ ├── push-multiple_m5.lua
│ │ │ │ ├── push-single-apply_m5.js
│ │ │ │ ├── push-single-apply_m5.lua
│ │ │ │ ├── push-single-call_m5.js
│ │ │ │ ├── push-single-call_m5.lua
│ │ │ │ ├── push-single_m5.js
│ │ │ │ ├── push-single_m5.lua
│ │ │ │ ├── reduce-apply_m5.js
│ │ │ │ ├── reduce-apply_m5.lua
│ │ │ │ ├── reduce-call_m5.js
│ │ │ │ ├── reduce-call_m5.lua
│ │ │ │ ├── reduce-with-init-value-call_m5.js
│ │ │ │ ├── reduce-with-init-value-call_m5.lua
│ │ │ │ ├── reduce-with-init-value_m5.js
│ │ │ │ ├── reduce-with-init-value_m5.lua
│ │ │ │ ├── reduce_m5.js
│ │ │ │ ├── reduce_m5.lua
│ │ │ │ ├── shift-apply_m5.js
│ │ │ │ ├── shift-apply_m5.lua
│ │ │ │ ├── shift-call_m5.js
│ │ │ │ ├── shift-call_m5.lua
│ │ │ │ ├── shift_m5.js
│ │ │ │ ├── shift_m5.lua
│ │ │ │ ├── unshift-identifier-apply_m5.js
│ │ │ │ ├── unshift-identifier-apply_m5.lua
│ │ │ │ ├── unshift-multiple-apply_m5.js
│ │ │ │ ├── unshift-multiple-apply_m5.lua
│ │ │ │ ├── unshift-multiple-call_m5.js
│ │ │ │ ├── unshift-multiple-call_m5.lua
│ │ │ │ ├── unshift-multiple_m5.js
│ │ │ │ ├── unshift-multiple_m5.lua
│ │ │ │ ├── unshift-single-apply_m5.js
│ │ │ │ ├── unshift-single-apply_m5.lua
│ │ │ │ ├── unshift-single-call_m5.js
│ │ │ │ ├── unshift-single-call_m5.lua
│ │ │ │ ├── unshift-single_m5.js
│ │ │ │ └── unshift-single_m5.lua
│ │ ├── known-math-methods
│ │ │ ├── invalid-math-methods_m5.js
│ │ │ ├── invalid-math-methods_m5.lua
│ │ │ ├── mapped-math-methods_m5.js
│ │ │ ├── mapped-math-methods_m5.lua
│ │ │ ├── math-methods-index-expression_m5.js
│ │ │ ├── math-methods-index-expression_m5.lua
│ │ │ ├── valid-none-polyfilled-math-methods_m5.js
│ │ │ └── valid-none-polyfilled-math-methods_m5.lua
│ │ ├── method-apply_m5.js
│ │ ├── method-apply_m5.lua
│ │ ├── method-call_m5.js
│ │ ├── method-call_m5.lua
│ │ ├── method-expression-string_m2.js
│ │ ├── method-expression-string_m2.lua
│ │ ├── method-expression_m2.js
│ │ ├── method-expression_m2.lua
│ │ ├── method-multi-params-apply_m5.js
│ │ ├── method-multi-params-apply_m5.lua
│ │ ├── method-nested_m2.js
│ │ ├── method-nested_m2.lua
│ │ ├── method-react-create-div-element_m2.js
│ │ ├── method-react-create-div-element_m2.lua
│ │ ├── method-react-is_m5.js
│ │ ├── method-react-is_m5.lua
│ │ ├── method-react-test-renderer_m5.js
│ │ ├── method-react-test-renderer_m5.lua
│ │ ├── method-to-string-nested_m2.js
│ │ ├── method-to-string-nested_m2.lua
│ │ ├── method-to-string_m2.js
│ │ ├── method-to-string_m2.lua
│ │ ├── method_m2.js
│ │ ├── method_m2.lua
│ │ ├── multi-params-apply_m5.js
│ │ ├── multi-params-apply_m5.lua
│ │ ├── nested-call_m2.js
│ │ ├── nested-call_m2.lua
│ │ ├── new
│ │ │ ├── new-date-with-comments_m5.js
│ │ │ ├── new-date-with-comments_m5.lua
│ │ │ ├── new-date_m5.js
│ │ │ └── new-date_m5.lua
│ │ ├── no-param_m2.js
│ │ ├── no-param_m2.lua
│ │ ├── simple-params-apply_m5.js
│ │ ├── simple-params-apply_m5.lua
│ │ ├── simple-params-call_m5.js
│ │ ├── simple-params-call_m5.lua
│ │ ├── simple-params_m2.js
│ │ ├── simple-params_m2.lua
│ │ ├── special-cases
│ │ │ ├── chalk-call-add-string_m5.js
│ │ │ ├── chalk-call-add-string_m5.lua
│ │ │ ├── chalk-call-chained-add-string_m5.js
│ │ │ ├── chalk-call-chained-add-string_m5.lua
│ │ │ ├── chalk-call-chained_m5.js
│ │ │ ├── chalk-call-chained_m5.lua
│ │ │ ├── chalk-call_m5.js
│ │ │ ├── chalk-call_m5.lua
│ │ │ ├── expect-methods_m5.js
│ │ │ ├── expect-methods_m5.lua
│ │ │ ├── jest-expect-methods_m5.js
│ │ │ ├── jest-expect-methods_m5.lua
│ │ │ ├── json-call_m5.js
│ │ │ ├── json-call_m5.lua
│ │ │ ├── parse-int-with-base_m5.js
│ │ │ ├── parse-int-with-base_m5.lua
│ │ │ ├── parse-int_m5.js
│ │ │ ├── parse-int_m5.lua
│ │ │ ├── path-call_m5.js
│ │ │ ├── path-call_m5.lua
│ │ │ ├── string-repeat_m5.js
│ │ │ ├── string-repeat_m5.lua
│ │ │ ├── symbol-create_m5.js
│ │ │ ├── symbol-create_m5.lua
│ │ │ ├── symbol-methods_m5.js
│ │ │ └── symbol-methods_m5.lua
│ │ └── spread-params
│ │ │ ├── spread-first-of-multiple-params_m5.js
│ │ │ ├── spread-first-of-multiple-params_m5.lua
│ │ │ ├── spread-last-of-multiple-params_m5.js
│ │ │ ├── spread-last-of-multiple-params_m5.lua
│ │ │ ├── spread-middle-of-multiple-params_m5.js
│ │ │ ├── spread-middle-of-multiple-params_m5.lua
│ │ │ ├── spread-multiple-params_m5.js
│ │ │ ├── spread-multiple-params_m5.lua
│ │ │ ├── spread-one-param_m5.js
│ │ │ └── spread-one-param_m5.lua
│ ├── flow-type-cast
│ │ ├── simple-type-cast_m6.js
│ │ ├── simple-type-cast_m6.lua
│ │ ├── type-cast-in-function-call_m6.js
│ │ ├── type-cast-in-function-call_m6.lua
│ │ ├── type-cast-in-function-return_m6.js
│ │ ├── type-cast-in-function-return_m6.lua
│ │ ├── type-cast-with-comments_m6.js
│ │ └── type-cast-with-comments_m6.lua
│ ├── identifier
│ │ ├── global-identifiers_m5.js
│ │ ├── global-identifiers_m5.lua
│ │ ├── keyword-identifiers_m5.js
│ │ └── keyword-identifiers_m5.lua
│ ├── jsx
│ │ ├── simple-expression-ts_m5.lua
│ │ ├── simple-expression-ts_m5.tsx
│ │ ├── simple-expression_m5.js
│ │ └── simple-expression_m5.lua
│ ├── member
│ │ ├── basic-with-unsupported-id_m5.js
│ │ ├── basic-with-unsupported-id_m5.lua
│ │ ├── basic_m2.js
│ │ ├── basic_m2.lua
│ │ ├── computed-basic_m2.js
│ │ ├── computed-basic_m2.lua
│ │ ├── computed-boolean_m2.js
│ │ ├── computed-boolean_m2.lua
│ │ ├── computed-expression_m2.js
│ │ ├── computed-expression_m2.lua
│ │ ├── computed-identifier_m2.js
│ │ ├── computed-identifier_m2.lua
│ │ ├── computed-numeric_m2.js
│ │ ├── computed-numeric_m2.lua
│ │ ├── computed-octal_m2.js
│ │ ├── computed-octal_m2.lua
│ │ ├── computed-with-as-cast_m5.lua
│ │ ├── computed-with-as-cast_m5.ts
│ │ ├── known-math-methods
│ │ │ ├── invalid-math-properties_m5.js
│ │ │ ├── invalid-math-properties_m5.lua
│ │ │ ├── mapped-math-properties_m5.js
│ │ │ ├── mapped-math-properties_m5.lua
│ │ │ ├── math-properties-index-expression_m5.js
│ │ │ └── math-properties-index-expression_m5.lua
│ │ ├── known-number-methods
│ │ │ ├── invalid-properties_m5.js
│ │ │ ├── invalid-properties_m5.lua
│ │ │ ├── mapped-properties_m5.js
│ │ │ ├── mapped-properties_m5.lua
│ │ │ ├── valid-properties-index-expression_m5.js
│ │ │ ├── valid-properties-index-expression_m5.lua
│ │ │ ├── valid-properties_m5.js
│ │ │ └── valid-properties_m5.lua
│ │ ├── unsupported-id-with-cast_m5.lua
│ │ ├── unsupported-id-with-cast_m5.ts
│ │ ├── with-as-cast_m5.lua
│ │ ├── with-as-cast_m5.ts
│ │ ├── with-flow-built-ins-as-key-computed_m6.js
│ │ ├── with-flow-built-ins-as-key-computed_m6.lua
│ │ ├── with-flow-built-ins-as-key_m6.js
│ │ ├── with-flow-built-ins-as-key_m6.lua
│ │ ├── with-lua-globals-as-key_m5.js
│ │ ├── with-lua-globals-as-key_m5.lua
│ │ ├── with-lua-reserved-word-as-key_m5.js
│ │ └── with-lua-reserved-word-as-key_m5.lua
│ ├── optional-call
│ │ ├── basic-multiple-optional-statements_m5.js
│ │ ├── basic-multiple-optional-statements_m5.lua
│ │ ├── basic-optional-statement_m5.js
│ │ ├── basic-optional-statement_m5.lua
│ │ ├── basic-optional_m5.js
│ │ ├── basic-optional_m5.lua
│ │ ├── basic-single-optional-statement_m5.js
│ │ ├── basic-single-optional-statement_m5.lua
│ │ ├── basic-with-unsupported-id_m5.js
│ │ ├── basic-with-unsupported-id_m5.lua
│ │ ├── computed-basic-optional_m5.js
│ │ ├── computed-basic-optional_m5.lua
│ │ ├── computed-with-as-cast_m5.lua
│ │ ├── computed-with-as-cast_m5.ts
│ │ ├── multiple-optional-with-function-call_m5.js
│ │ ├── multiple-optional-with-function-call_m5.lua
│ │ ├── multiple-optional_m5.js
│ │ ├── multiple-optional_m5.lua
│ │ ├── unsupported-id-with-cast_m5.lua
│ │ ├── unsupported-id-with-cast_m5.ts
│ │ ├── with-as-cast_m5.lua
│ │ └── with-as-cast_m5.ts
│ ├── optional-member
│ │ ├── basic-optional_m5.js
│ │ ├── basic-optional_m5.lua
│ │ ├── basic-with-unsupported-id_m5.js
│ │ ├── basic-with-unsupported-id_m5.lua
│ │ ├── computed-basic-optional_m5.js
│ │ ├── computed-basic-optional_m5.lua
│ │ ├── computed-with-as-cast_m5.lua
│ │ ├── computed-with-as-cast_m5.ts
│ │ ├── unsupported-id-with-cast_m5.lua
│ │ ├── unsupported-id-with-cast_m5.ts
│ │ ├── with-as-cast_m5.lua
│ │ ├── with-as-cast_m5.ts
│ │ ├── with-lua-globals-as-key_m5.js
│ │ ├── with-lua-globals-as-key_m5.lua
│ │ ├── with-lua-reserved-word-as-key_m5.js
│ │ └── with-lua-reserved-word-as-key_m5.lua
│ ├── regexp
│ │ ├── regexp-literals_m5.js
│ │ └── regexp-literals_m5.lua
│ ├── sequence
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ └── 4_m4.lua
│ └── tagged-template
│ │ ├── simple_m5.js
│ │ └── simple_m5.lua
├── flow-types
│ ├── auto-imports
│ │ ├── array_m6.js
│ │ ├── array_m6.lua
│ │ ├── error_m6.js
│ │ ├── error_m6.lua
│ │ ├── map_m6.js
│ │ ├── map_m6.lua
│ │ ├── mixed-types_m6.js
│ │ ├── mixed-types_m6.lua
│ │ ├── object_m6.js
│ │ ├── object_m6.lua
│ │ ├── promise_m6.js
│ │ ├── promise_m6.lua
│ │ ├── set_m6.js
│ │ ├── set_m6.lua
│ │ ├── weakmap_m6.js
│ │ └── weakmap_m6.lua
│ ├── function
│ │ ├── recursive-with-generic-params_m6.js
│ │ ├── recursive-with-generic-params_m6.lua
│ │ ├── recursive_m6.js
│ │ ├── recursive_m6.lua
│ │ ├── with-params-and-known-rest-element-with-generic-params_m6.js
│ │ ├── with-params-and-known-rest-element-with-generic-params_m6.lua
│ │ ├── with-params-and-known-rest-element_m6.js
│ │ ├── with-params-and-known-rest-element_m6.lua
│ │ ├── with-params-and-unknown-rest-element-with-generic-params_m6.js
│ │ ├── with-params-and-unknown-rest-element-with-generic-params_m6.lua
│ │ ├── with-params-and-unknown-rest-element_m6.js
│ │ ├── with-params-and-unknown-rest-element_m6.lua
│ │ ├── with-params-with-generic-params-and-type-constraints-and-variance-sigils_m6.js
│ │ ├── with-params-with-generic-params-and-type-constraints-and-variance-sigils_m6.lua
│ │ ├── with-params-with-generic-params-and-type-constraints_m6.js
│ │ ├── with-params-with-generic-params-and-type-constraints_m6.lua
│ │ ├── with-params-with-generic-params-and-variance-sigils_m6.js
│ │ ├── with-params-with-generic-params-and-variance-sigils_m6.lua
│ │ ├── with-params-with-generic-params_m6.js
│ │ ├── with-params-with-generic-params_m6.lua
│ │ ├── with-params_m6.js
│ │ ├── with-params_m6.lua
│ │ ├── without-params-with-generic-params_m6.js
│ │ ├── without-params-with-generic-params_m6.lua
│ │ ├── without-params_m6.js
│ │ └── without-params_m6.lua
│ ├── generic-type-annotation
│ │ ├── generic-type-annotation-multiple-params2_m6.js
│ │ ├── generic-type-annotation-multiple-params2_m6.lua
│ │ ├── generic-type-annotation-multiple-params_m6.js
│ │ ├── generic-type-annotation-multiple-params_m6.lua
│ │ ├── generic-type-annotation-qualified-identifer-nested_m6.js
│ │ ├── generic-type-annotation-qualified-identifer-nested_m6.lua
│ │ ├── generic-type-annotation-qualified-identifer-simple_m6.js
│ │ ├── generic-type-annotation-qualified-identifer-simple_m6.lua
│ │ ├── generic-type-annotation-qualified-identifer-with-comments_m6.js
│ │ ├── generic-type-annotation-qualified-identifer-with-comments_m6.lua
│ │ ├── generic-type-annotation-simple_m6.js
│ │ ├── generic-type-annotation-simple_m6.lua
│ │ ├── generic-type-annotation-single-param_m6.js
│ │ ├── generic-type-annotation-single-param_m6.lua
│ │ ├── generic-type-annotation-with-comments_m6.js
│ │ └── generic-type-annotation-with-comments_m6.lua
│ ├── interface-declaration
│ │ ├── empty_m6.js
│ │ ├── empty_m6.lua
│ │ ├── extends_m6.js
│ │ ├── extends_m6.lua
│ │ ├── generic-extends_m6.js
│ │ ├── generic-extends_m6.lua
│ │ ├── generic_m6.js
│ │ ├── generic_m6.lua
│ │ ├── indexer_m6.js
│ │ ├── indexer_m6.lua
│ │ ├── nested_m6.js
│ │ ├── nested_m6.lua
│ │ ├── object-call-property-multiple_m6.js
│ │ ├── object-call-property-multiple_m6.lua
│ │ ├── object-call-property_m6.js
│ │ ├── object-call-property_m6.lua
│ │ ├── object-internal-slot_m6.js
│ │ ├── object-internal-slot_m6.lua
│ │ ├── optional-props_m6.js
│ │ ├── optional-props_m6.lua
│ │ ├── optional-string-props_m6.js
│ │ ├── optional-string-props_m6.lua
│ │ ├── simple-props_m6.js
│ │ ├── simple-props_m6.lua
│ │ ├── string-props_m6.js
│ │ └── string-props_m6.lua
│ ├── mixed-type
│ │ ├── mixed-type-annotation-function-argument_m6.js
│ │ ├── mixed-type-annotation-function-argument_m6.lua
│ │ ├── mixed-type-annotation-object-property_m6.js
│ │ ├── mixed-type-annotation-object-property_m6.lua
│ │ ├── mixed-type-annotation-type-alias-declaration_m6.js
│ │ ├── mixed-type-annotation-type-alias-declaration_m6.lua
│ │ ├── mixed-type-annotation-variable-declaration_m6.js
│ │ └── mixed-type-annotation-variable-declaration_m6.lua
│ ├── null-literal-type-annotation-function-argument_m6.js
│ ├── null-literal-type-annotation-function-argument_m6.lua
│ ├── null-literal-type-annotation-object-property_m6.js
│ ├── null-literal-type-annotation-object-property_m6.lua
│ ├── null-literal-type-annotation-type-alias-declaration_m6.js
│ ├── null-literal-type-annotation-type-alias-declaration_m6.lua
│ ├── null-literal-type-annotation-variable-declaration_m6.js
│ ├── null-literal-type-annotation-variable-declaration_m6.lua
│ ├── nullable-type-annotation
│ │ ├── function-with-nullable-type-annotation-param_m6.js
│ │ ├── function-with-nullable-type-annotation-param_m6.lua
│ │ ├── type-alias-with-nullable-type-annotation_m6.js
│ │ └── type-alias-with-nullable-type-annotation_m6.lua
│ ├── number-literal-type-annotation_m6.js
│ ├── number-literal-type-annotation_m6.lua
│ ├── object-type-annotation
│ │ ├── empty_m6.js
│ │ ├── empty_m6.lua
│ │ ├── indexer_m6.js
│ │ ├── indexer_m6.lua
│ │ ├── luau-globals-index-keys_m6.js
│ │ ├── luau-globals-index-keys_m6.lua
│ │ ├── luau-globals-keys_m6.js
│ │ ├── luau-globals-keys_m6.lua
│ │ ├── luau-globals-single-index-key_m6.js
│ │ ├── luau-globals-single-index-key_m6.lua
│ │ ├── luau-globals-string-keys_m6.js
│ │ ├── luau-globals-string-keys_m6.lua
│ │ ├── mixed_m6.js
│ │ ├── mixed_m6.lua
│ │ ├── nested_m6.js
│ │ ├── nested_m6.lua
│ │ ├── object-call-property-multiple_m6.js
│ │ ├── object-call-property-multiple_m6.lua
│ │ ├── object-call-property_m6.js
│ │ ├── object-call-property_m6.lua
│ │ ├── object-internal-slot_m6.js
│ │ ├── object-internal-slot_m6.lua
│ │ ├── optional-props_m6.js
│ │ ├── optional-props_m6.lua
│ │ ├── optional-string-props_m6.js
│ │ ├── optional-string-props_m6.lua
│ │ ├── reserved-keyword-index-keys_m6.js
│ │ ├── reserved-keyword-index-keys_m6.lua
│ │ ├── reserved-keyword-keys_m6.js
│ │ ├── reserved-keyword-keys_m6.lua
│ │ ├── reserved-keyword-single-index-key_m6.js
│ │ ├── reserved-keyword-single-index-key_m6.lua
│ │ ├── reserved-keyword-string-keys_m6.js
│ │ ├── reserved-keyword-string-keys_m6.lua
│ │ ├── simple-props-exact_m6.js
│ │ ├── simple-props-exact_m6.lua
│ │ ├── simple-props-inexact_m6.js
│ │ ├── simple-props-inexact_m6.lua
│ │ ├── simple-props_m6.js
│ │ ├── simple-props_m6.lua
│ │ ├── spread-simple_m6.js
│ │ ├── spread-simple_m6.lua
│ │ ├── spread-with-props_m6.js
│ │ ├── spread-with-props_m6.lua
│ │ ├── string-props_m6.js
│ │ └── string-props_m6.lua
│ ├── qualified-name-mixed-multiple-with-import-type_m6.lua
│ ├── qualified-name-mixed-multiple-with-import-type_m6.ts
│ ├── qualified-name-nested-with-import-type_m6.lua
│ ├── qualified-name-nested-with-import-type_m6.ts
│ ├── qualified-name-reexport-mixed-multiple-with-import-type_m6.lua
│ ├── qualified-name-reexport-mixed-multiple-with-import-type_m6.ts
│ ├── qualified-name-simple-multiple-with-import-type_m6.lua
│ ├── qualified-name-simple-multiple-with-import-type_m6.ts
│ ├── qualified-name-simple-with-import-type_m6.lua
│ ├── qualified-name-simple-with-import-type_m6.ts
│ ├── string-literal-type-annotation
│ │ ├── function-argument_m6.js
│ │ ├── function-argument_m6.lua
│ │ ├── generic_m6.js
│ │ ├── generic_m6.lua
│ │ ├── object-property_m6.js
│ │ ├── object-property_m6.lua
│ │ ├── type-alias-declaration_m6.js
│ │ ├── type-alias-declaration_m6.lua
│ │ ├── variable-declaration_m6.js
│ │ └── variable-declaration_m6.lua
│ ├── tuple
│ │ ├── complex_m6.js
│ │ ├── complex_m6.lua
│ │ ├── duplicate-params_m6.js
│ │ ├── duplicate-params_m6.lua
│ │ ├── empty-param_m6.js
│ │ ├── empty-param_m6.lua
│ │ ├── multiple-params_m6.js
│ │ ├── multiple-params_m6.lua
│ │ ├── single-param_m6.js
│ │ └── single-param_m6.lua
│ ├── type-alias-simple_m6.js
│ ├── type-alias-simple_m6.lua
│ ├── type-alias-with-multiple-generics-and-defaults_m6.js
│ ├── type-alias-with-multiple-generics-and-defaults_m6.lua
│ ├── type-alias-with-multiple-generics_m6.js
│ ├── type-alias-with-multiple-generics_m6.lua
│ ├── type-alias-with-single-generic-and-default_m6.js
│ ├── type-alias-with-single-generic-and-default_m6.lua
│ ├── type-alias-with-single-generic_m6.js
│ ├── type-alias-with-single-generic_m6.lua
│ ├── type-reference-builtins_m6.js
│ ├── type-reference-builtins_m6.lua
│ ├── typeof
│ │ ├── typeof-type-annotation-function-argument_m6.js
│ │ ├── typeof-type-annotation-function-argument_m6.lua
│ │ ├── typeof-type-annotation-object-property_m6.js
│ │ ├── typeof-type-annotation-object-property_m6.lua
│ │ ├── typeof-type-annotation-type-alias-declaration_m6.js
│ │ ├── typeof-type-annotation-type-alias-declaration_m6.lua
│ │ ├── typeof-type-annotation-variable-declaration_m6.js
│ │ └── typeof-type-annotation-variable-declaration_m6.lua
│ ├── union
│ │ ├── union-type-annotation-complex_m6.js
│ │ ├── union-type-annotation-complex_m6.lua
│ │ ├── union-type-annotation-multiple-number-literals-with-comments_m6.js
│ │ ├── union-type-annotation-multiple-number-literals-with-comments_m6.lua
│ │ ├── union-type-annotation-multiple-number-literals_m6.js
│ │ ├── union-type-annotation-multiple-number-literals_m6.lua
│ │ ├── union-type-annotation-simple_m6.js
│ │ └── union-type-annotation-simple_m6.lua
│ └── void-type-annotation
│ │ ├── export-default-return-type_m6.js
│ │ ├── export-default-return-type_m6.lua
│ │ ├── export-named-args_m6.js
│ │ ├── export-named-args_m6.lua
│ │ ├── function-return-type-generic_m6.js
│ │ ├── function-return-type-generic_m6.lua
│ │ ├── function-return-type_m6.js
│ │ └── function-return-type_m6.lua
├── jest-globals
│ ├── explicit-globals-imported
│ │ ├── jest-test-with-expect-and-jest-fn_m7.js
│ │ ├── jest-test-with-expect-and-jest-fn_m7.lua
│ │ ├── jest-test-with-expect_m7.js
│ │ ├── jest-test-with-expect_m7.lua
│ │ ├── jest-test-with-hooks-multiple_m7.js
│ │ ├── jest-test-with-hooks-multiple_m7.lua
│ │ ├── jest-test-with-hooks_m7.js
│ │ ├── jest-test-with-hooks_m7.lua
│ │ ├── jest-test_m7.js
│ │ └── jest-test_m7.lua
│ └── implicit-globals
│ │ ├── jest-test-implicit-globals-with-copyright_m7.js
│ │ ├── jest-test-implicit-globals-with-copyright_m7.lua
│ │ ├── jest-test-implicit-globals-with-hooks-multiple_m7.js
│ │ ├── jest-test-implicit-globals-with-hooks-multiple_m7.lua
│ │ ├── jest-test-implicit-globals-with-hooks-partial-explicit-import_m7.js
│ │ ├── jest-test-implicit-globals-with-hooks-partial-explicit-import_m7.lua
│ │ ├── jest-test-implicit-globals-with-hooks_m7.js
│ │ ├── jest-test-implicit-globals-with-hooks_m7.lua
│ │ ├── jest-test-implicit-globals-with-variants_m7.js
│ │ ├── jest-test-implicit-globals-with-variants_m7.lua
│ │ ├── jest-test-implicit-globals_m7.js
│ │ ├── jest-test-implicit-globals_m7.lua
│ │ ├── jest-test-with-expect-and-jest-fn_m7.js
│ │ ├── jest-test-with-expect-and-jest-fn_m7.lua
│ │ ├── jest-test-with-expect_m7.js
│ │ └── jest-test-with-expect_m7.lua
├── known-imports
│ ├── graphql-known-imports_m8.js
│ ├── graphql-known-imports_m8.lua
│ ├── jest-known-imports_m8.js
│ ├── jest-known-imports_m8.lua
│ ├── react-known-imports_m8.js
│ ├── react-known-imports_m8.lua
│ ├── testing-library-known-imports_m8.js
│ └── testing-library-known-imports_m8.lua
├── not-yet-handled
│ ├── ts-call-signature-declaration_m5.lua
│ └── ts-call-signature-declaration_m5.ts
├── operators
│ ├── arithmetic
│ │ ├── add-multiple-template-literals_m5.js
│ │ ├── add-multiple-template-literals_m5.lua
│ │ ├── add-repeated-strings_m5.js
│ │ ├── add-repeated-strings_m5.lua
│ │ ├── add-strings-with-ternary-operators_m5.js
│ │ ├── add-strings-with-ternary-operators_m5.lua
│ │ ├── add-with-multiple-string-literals.js
│ │ ├── add-with-multiple-string-literals.lua
│ │ ├── add-with-string-literals.js
│ │ ├── add-with-string-literals.lua
│ │ ├── add-with-ternary-operators_m5.js
│ │ ├── add-with-ternary-operators_m5.lua
│ │ ├── add.js
│ │ ├── add.lua
│ │ ├── division.js
│ │ ├── division.lua
│ │ ├── exponential.js
│ │ ├── exponential.lua
│ │ ├── multiplication.js
│ │ ├── multiplication.lua
│ │ ├── remainder.js
│ │ ├── remainder.lua
│ │ ├── subtract.js
│ │ └── subtract.lua
│ ├── assignment-addition
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4x.js
│ │ ├── 2_m4x.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── assignment-bitwise-and
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ └── 1_m4.lua
│ ├── assignment-bitwise-or
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ └── 1_m4.lua
│ ├── assignment-bitwise-xor
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ └── 1_m4.lua
│ ├── assignment-division
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── assignment-multiplication
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── assignment-remainder
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── assignment-shift-left
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ └── 1_m4.lua
│ ├── assignment-shift-right-unsigned
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ └── 2_m4.lua
│ ├── assignment-shift-right
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ └── 1_m4.lua
│ ├── assignment-subtraction
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── assignment
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── assignment-with-fallback_m5.js
│ │ ├── assignment-with-fallback_m5.lua
│ │ ├── destructure-array-identifier_m4.js
│ │ ├── destructure-array-identifier_m4.lua
│ │ ├── destructure-array_m4.js
│ │ ├── destructure-array_m4.lua
│ │ ├── destructure-multiple-obj_m4.js
│ │ ├── destructure-multiple-obj_m4.lua
│ │ ├── destructure-obj-expression-with-alias_m4.js
│ │ ├── destructure-obj-expression-with-alias_m4.lua
│ │ ├── destructure-obj-expression_m4.js
│ │ ├── destructure-obj-expression_m4.lua
│ │ ├── destructure-obj-identifier-with-alias_m4.js
│ │ ├── destructure-obj-identifier-with-alias_m4.lua
│ │ ├── destructure-obj-identifier_m4.js
│ │ ├── destructure-obj-identifier_m4.lua
│ │ ├── destructure-obj-with-alias_m4.js
│ │ ├── destructure-obj-with-alias_m4.lua
│ │ ├── destructure-obj_m4.js
│ │ └── destructure-obj_m4.lua
│ ├── bitwise
│ │ ├── and
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ └── 5_m3.lua
│ │ ├── or
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ └── 5_m3.lua
│ │ ├── shift-left
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ └── 4_m3.lua
│ │ ├── shift-right-unsigned
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ └── 5_m3.lua
│ │ ├── shift-right
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ └── 4_m3.lua
│ │ └── xor
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ └── 5_m3.lua
│ ├── instanceof
│ │ ├── instanceof-operator-in-if-statement_m5.js
│ │ ├── instanceof-operator-in-if-statement_m5.lua
│ │ ├── instanceof-operator_m5.js
│ │ └── instanceof-operator_m5.lua
│ ├── logical
│ │ ├── and
│ │ │ ├── as-expression-statement-with-call-on-right-nested_m5.js
│ │ │ ├── as-expression-statement-with-call-on-right-nested_m5.lua
│ │ │ ├── as-expression-statement-with-call-on-right_m5.js
│ │ │ ├── as-expression-statement-with-call-on-right_m5.lua
│ │ │ ├── as-expression-statement-with-identifier-on-right-nested_m5.js
│ │ │ ├── as-expression-statement-with-identifier-on-right-nested_m5.lua
│ │ │ ├── as-expression-statement-with-identifier-on-right_m5.js
│ │ │ ├── as-expression-statement-with-identifier-on-right_m5.lua
│ │ │ ├── right-side-falsy-0_m3.js
│ │ │ ├── right-side-falsy-0_m3.lua
│ │ │ ├── right-side-falsy-1_m3.js
│ │ │ ├── right-side-falsy-1_m3.lua
│ │ │ ├── right-side-falsy-2_m3.js
│ │ │ ├── right-side-falsy-2_m3.lua
│ │ │ ├── right-side-falsy-3_m3.js
│ │ │ ├── right-side-falsy-3_m3.lua
│ │ │ ├── right-side-falsy-4_m3.js
│ │ │ ├── right-side-falsy-4_m3.lua
│ │ │ ├── right-side-falsy-5_m3.js
│ │ │ ├── right-side-falsy-5_m3.lua
│ │ │ ├── right-side-side-effect_m5.js
│ │ │ ├── right-side-side-effect_m5.lua
│ │ │ ├── right-side-truthy-0_m3.js
│ │ │ ├── right-side-truthy-0_m3.lua
│ │ │ ├── right-side-truthy-1_m3.js
│ │ │ ├── right-side-truthy-1_m3.lua
│ │ │ ├── right-side-truthy-2_m3.js
│ │ │ ├── right-side-truthy-2_m3.lua
│ │ │ ├── right-side-truthy-3_m3.js
│ │ │ ├── right-side-truthy-3_m3.lua
│ │ │ ├── right-side-truthy-4_m3.js
│ │ │ ├── right-side-truthy-4_m3.lua
│ │ │ ├── right-side-unknown-0_m3.js
│ │ │ ├── right-side-unknown-0_m3.lua
│ │ │ ├── right-side-unknown-10_m3.js
│ │ │ ├── right-side-unknown-10_m3.lua
│ │ │ ├── right-side-unknown-11_m3.js
│ │ │ ├── right-side-unknown-11_m3.lua
│ │ │ ├── right-side-unknown-12_m3.js
│ │ │ ├── right-side-unknown-12_m3.lua
│ │ │ ├── right-side-unknown-13_m3.js
│ │ │ ├── right-side-unknown-13_m3.lua
│ │ │ ├── right-side-unknown-14_m3.js
│ │ │ ├── right-side-unknown-14_m3.lua
│ │ │ ├── right-side-unknown-15_m3.js
│ │ │ ├── right-side-unknown-15_m3.lua
│ │ │ ├── right-side-unknown-16_m3.js
│ │ │ ├── right-side-unknown-16_m3.lua
│ │ │ ├── right-side-unknown-17_m3.js
│ │ │ ├── right-side-unknown-17_m3.lua
│ │ │ ├── right-side-unknown-18_m3.js
│ │ │ ├── right-side-unknown-18_m3.lua
│ │ │ ├── right-side-unknown-19_m3.js
│ │ │ ├── right-side-unknown-19_m3.lua
│ │ │ ├── right-side-unknown-1_m3.js
│ │ │ ├── right-side-unknown-1_m3.lua
│ │ │ ├── right-side-unknown-20_m3.js
│ │ │ ├── right-side-unknown-20_m3.lua
│ │ │ ├── right-side-unknown-21_m3.js
│ │ │ ├── right-side-unknown-21_m3.lua
│ │ │ ├── right-side-unknown-2_m3.js
│ │ │ ├── right-side-unknown-2_m3.lua
│ │ │ ├── right-side-unknown-3_m3.js
│ │ │ ├── right-side-unknown-3_m3.lua
│ │ │ ├── right-side-unknown-4_m3.js
│ │ │ ├── right-side-unknown-4_m3.lua
│ │ │ ├── right-side-unknown-5_m3.js
│ │ │ ├── right-side-unknown-5_m3.lua
│ │ │ ├── right-side-unknown-6_m3.js
│ │ │ ├── right-side-unknown-6_m3.lua
│ │ │ ├── right-side-unknown-7_m3.js
│ │ │ ├── right-side-unknown-7_m3.lua
│ │ │ ├── right-side-unknown-8_m3.js
│ │ │ ├── right-side-unknown-8_m3.lua
│ │ │ ├── right-side-unknown-9_m3.js
│ │ │ ├── right-side-unknown-9_m3.lua
│ │ │ ├── ygstyle-example1_5.lua
│ │ │ └── ygstyle-example1_5.ts
│ │ ├── nullish-coalescing
│ │ │ ├── right-side-side-effect_m5.js
│ │ │ ├── right-side-side-effect_m5.lua
│ │ │ ├── simple-nullish-coalescing_m5.js
│ │ │ └── simple-nullish-coalescing_m5.lua
│ │ └── or
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 11_m3.js
│ │ │ ├── 11_m3.lua
│ │ │ ├── 12_m3.js
│ │ │ ├── 12_m3.lua
│ │ │ ├── 13_m3.js
│ │ │ ├── 13_m3.lua
│ │ │ ├── 14_m3.js
│ │ │ ├── 14_m3.lua
│ │ │ ├── 15_m3.js
│ │ │ ├── 15_m3.lua
│ │ │ ├── 16_m3.js
│ │ │ ├── 16_m3.lua
│ │ │ ├── 17_m3.js
│ │ │ ├── 17_m3.lua
│ │ │ ├── 18_m3.js
│ │ │ ├── 18_m3.lua
│ │ │ ├── 19_m3.js
│ │ │ ├── 19_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 20_m3.js
│ │ │ ├── 20_m3.lua
│ │ │ ├── 21_m3.js
│ │ │ ├── 21_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ ├── 5_m3.lua
│ │ │ ├── 6_m3.js
│ │ │ ├── 6_m3.lua
│ │ │ ├── 7_m3.js
│ │ │ ├── 7_m3.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ ├── 9_m3.lua
│ │ │ ├── as-expression-statement-with-call-on-right-nested_m5.js
│ │ │ ├── as-expression-statement-with-call-on-right-nested_m5.lua
│ │ │ ├── as-expression-statement-with-call-on-right_m5.js
│ │ │ ├── as-expression-statement-with-call-on-right_m5.lua
│ │ │ ├── as-expression-statement-with-identifier-on-right-nested_m5.js
│ │ │ ├── as-expression-statement-with-identifier-on-right-nested_m5.lua
│ │ │ ├── as-expression-statement-with-identifier-on-right_m5.js
│ │ │ ├── as-expression-statement-with-identifier-on-right_m5.lua
│ │ │ ├── right-side-side-effect_m5.js
│ │ │ ├── right-side-side-effect_m5.lua
│ │ │ ├── ygstyle-example1_5.lua
│ │ │ └── ygstyle-example1_5.ts
│ ├── precedence-double-binary-expression_m5.js
│ ├── precedence-double-binary-expression_m5.lua
│ ├── precedence_m4.js
│ ├── precedence_m4.lua
│ ├── relational
│ │ ├── equality
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ ├── 5_m3.lua
│ │ │ ├── 6_m3.js
│ │ │ ├── 6_m3.lua
│ │ │ ├── 7_m3.js
│ │ │ ├── 7_m3.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ ├── 9_m3.lua
│ │ │ ├── object_m3.js
│ │ │ ├── object_m3.lua
│ │ │ ├── typeof-table-with-comments_m5.js
│ │ │ ├── typeof-table-with-comments_m5.lua
│ │ │ ├── typeof-table_m5.js
│ │ │ └── typeof-table_m5.lua
│ │ ├── greater-equal-than
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 11_m3x.js
│ │ │ ├── 11_m3x.lua
│ │ │ ├── 12_m3x.js
│ │ │ ├── 12_m3x.lua
│ │ │ ├── 13_m3x.js
│ │ │ ├── 13_m3x.lua
│ │ │ ├── 14_m3x.js
│ │ │ ├── 14_m3x.lua
│ │ │ ├── 15_m3x.js
│ │ │ ├── 15_m3x.lua
│ │ │ ├── 16_m3x.js
│ │ │ ├── 16_m3x.lua
│ │ │ ├── 17_m3x.js
│ │ │ ├── 17_m3x.lua
│ │ │ ├── 18_m3x.js
│ │ │ ├── 18_m3x.lua
│ │ │ ├── 19_m3x.js
│ │ │ ├── 19_m3x.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 20_m3.js
│ │ │ ├── 20_m3.lua
│ │ │ ├── 21_m3.js
│ │ │ ├── 21_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3x.js
│ │ │ ├── 3_m3x.lua
│ │ │ ├── 4_m3x.js
│ │ │ ├── 4_m3x.lua
│ │ │ ├── 5_m3x.js
│ │ │ ├── 5_m3x.lua
│ │ │ ├── 6_m3x.js
│ │ │ ├── 6_m3x.lua
│ │ │ ├── 7_m3x.js
│ │ │ ├── 7_m3x.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ └── 9_m3.lua
│ │ ├── greater-than
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 11_m3.js
│ │ │ ├── 11_m3.lua
│ │ │ ├── 12_m3.js
│ │ │ ├── 12_m3.lua
│ │ │ ├── 13_m3x.js
│ │ │ ├── 13_m3x.lua
│ │ │ ├── 14_m3x.js
│ │ │ ├── 14_m3x.lua
│ │ │ ├── 15_m3x.js
│ │ │ ├── 15_m3x.lua
│ │ │ ├── 16_m3x.js
│ │ │ ├── 16_m3x.lua
│ │ │ ├── 17_m3x.js
│ │ │ ├── 17_m3x.lua
│ │ │ ├── 18_m3x.js
│ │ │ ├── 18_m3x.lua
│ │ │ ├── 19_m3x.js
│ │ │ ├── 19_m3x.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 20_m3x.js
│ │ │ ├── 20_m3x.lua
│ │ │ ├── 21_m3.js
│ │ │ ├── 21_m3.lua
│ │ │ ├── 22_m3.js
│ │ │ ├── 22_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3x.js
│ │ │ ├── 3_m3x.lua
│ │ │ ├── 4_m3x.js
│ │ │ ├── 4_m3x.lua
│ │ │ ├── 5_m3x.js
│ │ │ ├── 5_m3x.lua
│ │ │ ├── 6_m3x.js
│ │ │ ├── 6_m3x.lua
│ │ │ ├── 7_m3x.js
│ │ │ ├── 7_m3x.lua
│ │ │ ├── 8_m3x.js
│ │ │ ├── 8_m3x.lua
│ │ │ ├── 9_m3x.js
│ │ │ └── 9_m3x.lua
│ │ ├── in
│ │ │ ├── object-prop_m3.js
│ │ │ ├── object-prop_m3.lua
│ │ │ ├── object_boolean-literal_m3.js
│ │ │ ├── object_boolean-literal_m3.lua
│ │ │ ├── object_numeric-literal_m3.js
│ │ │ ├── object_numeric-literal_m3.lua
│ │ │ ├── object_string-literal_m3.js
│ │ │ ├── object_string-literal_m3.lua
│ │ │ ├── string-key_m4.js
│ │ │ ├── string-key_m4.lua
│ │ │ ├── string_m4.js
│ │ │ └── string_m4.lua
│ │ ├── inequality
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ ├── 5_m3.lua
│ │ │ ├── 6_m3.js
│ │ │ ├── 6_m3.lua
│ │ │ ├── 7_m3.js
│ │ │ ├── 7_m3.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ ├── 9_m3.lua
│ │ │ ├── object_m3.js
│ │ │ ├── object_m3.lua
│ │ │ ├── typeof-table-with-comments_m5.js
│ │ │ ├── typeof-table-with-comments_m5.lua
│ │ │ ├── typeof-table_m5.js
│ │ │ └── typeof-table_m5.lua
│ │ ├── less-equal-than
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 11_m3x.js
│ │ │ ├── 11_m3x.lua
│ │ │ ├── 12_m3x.js
│ │ │ ├── 12_m3x.lua
│ │ │ ├── 13_m3x.js
│ │ │ ├── 13_m3x.lua
│ │ │ ├── 14_m3x.js
│ │ │ ├── 14_m3x.lua
│ │ │ ├── 15_m3x.js
│ │ │ ├── 15_m3x.lua
│ │ │ ├── 16_m3x.js
│ │ │ ├── 16_m3x.lua
│ │ │ ├── 17_m3x.js
│ │ │ ├── 17_m3x.lua
│ │ │ ├── 18_m3x.js
│ │ │ ├── 18_m3x.lua
│ │ │ ├── 19_m3x.js
│ │ │ ├── 19_m3x.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 20_m3.js
│ │ │ ├── 20_m3.lua
│ │ │ ├── 21_m3.js
│ │ │ ├── 21_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3x.js
│ │ │ ├── 3_m3x.lua
│ │ │ ├── 4_m3x.js
│ │ │ ├── 4_m3x.lua
│ │ │ ├── 5_m3x.js
│ │ │ ├── 5_m3x.lua
│ │ │ ├── 6_m3x.js
│ │ │ ├── 6_m3x.lua
│ │ │ ├── 7_m3x.js
│ │ │ ├── 7_m3x.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ └── 9_m3.lua
│ │ ├── less-than
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 11_m3.js
│ │ │ ├── 11_m3.lua
│ │ │ ├── 12_m3.js
│ │ │ ├── 12_m3.lua
│ │ │ ├── 13_m3x.js
│ │ │ ├── 13_m3x.lua
│ │ │ ├── 14_m3x.js
│ │ │ ├── 14_m3x.lua
│ │ │ ├── 15_m3x.js
│ │ │ ├── 15_m3x.lua
│ │ │ ├── 16_m3x.js
│ │ │ ├── 16_m3x.lua
│ │ │ ├── 17_m3x.js
│ │ │ ├── 17_m3x.lua
│ │ │ ├── 18_m3x.js
│ │ │ ├── 18_m3x.lua
│ │ │ ├── 19_m3x.js
│ │ │ ├── 19_m3x.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 20_m3x.js
│ │ │ ├── 20_m3x.lua
│ │ │ ├── 21_m3.js
│ │ │ ├── 21_m3.lua
│ │ │ ├── 22_m3.js
│ │ │ ├── 22_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3x.js
│ │ │ ├── 3_m3x.lua
│ │ │ ├── 4_m3x.js
│ │ │ ├── 4_m3x.lua
│ │ │ ├── 5_m3x.js
│ │ │ ├── 5_m3x.lua
│ │ │ ├── 6_m3x.js
│ │ │ ├── 6_m3x.lua
│ │ │ ├── 7_m3x.js
│ │ │ ├── 7_m3x.lua
│ │ │ ├── 8_m3x.js
│ │ │ ├── 8_m3x.lua
│ │ │ ├── 9_m3x.js
│ │ │ └── 9_m3x.lua
│ │ ├── strict-equality
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ ├── 5_m3.lua
│ │ │ ├── 6_m3.js
│ │ │ ├── 6_m3.lua
│ │ │ ├── 7_m3.js
│ │ │ ├── 7_m3.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ ├── 9_m3.lua
│ │ │ ├── typeof-table-with-comments_m5.js
│ │ │ ├── typeof-table-with-comments_m5.lua
│ │ │ ├── typeof-table_m5.js
│ │ │ └── typeof-table_m5.lua
│ │ └── strict-inequality
│ │ │ ├── 0_m3.js
│ │ │ ├── 0_m3.lua
│ │ │ ├── 10_m3.js
│ │ │ ├── 10_m3.lua
│ │ │ ├── 1_m3.js
│ │ │ ├── 1_m3.lua
│ │ │ ├── 2_m3.js
│ │ │ ├── 2_m3.lua
│ │ │ ├── 3_m3.js
│ │ │ ├── 3_m3.lua
│ │ │ ├── 4_m3.js
│ │ │ ├── 4_m3.lua
│ │ │ ├── 5_m3.js
│ │ │ ├── 5_m3.lua
│ │ │ ├── 6_m3.js
│ │ │ ├── 6_m3.lua
│ │ │ ├── 7_m3.js
│ │ │ ├── 7_m3.lua
│ │ │ ├── 8_m3.js
│ │ │ ├── 8_m3.lua
│ │ │ ├── 9_m3.js
│ │ │ ├── 9_m3.lua
│ │ │ ├── typeof-table-with-comments_m5.js
│ │ │ ├── typeof-table-with-comments_m5.lua
│ │ │ ├── typeof-table_m5.js
│ │ │ └── typeof-table_m5.lua
│ ├── ternary
│ │ ├── 0_m4.js
│ │ ├── 0_m4.lua
│ │ ├── 1_m4.js
│ │ ├── 1_m4.lua
│ │ ├── 2_m4.js
│ │ ├── 2_m4.lua
│ │ ├── 3_m4.js
│ │ ├── 3_m4.lua
│ │ ├── 4_m4.js
│ │ ├── 4_m4.lua
│ │ ├── 5_m4.js
│ │ ├── 5_m4.lua
│ │ ├── 6_m4.js
│ │ └── 6_m4.lua
│ ├── unary
│ │ ├── binary-negation
│ │ │ ├── negative-numeric_m2.js
│ │ │ ├── negative-numeric_m2.lua
│ │ │ ├── positive-numeric_m2.js
│ │ │ ├── positive-numeric_m2.lua
│ │ │ ├── variable_m2.js
│ │ │ └── variable_m2.lua
│ │ ├── decrement
│ │ │ ├── prefix-identifier_m2.js
│ │ │ ├── prefix-identifier_m2.lua
│ │ │ ├── suffix-identifier-result_m2.js
│ │ │ ├── suffix-identifier-result_m2.lua
│ │ │ ├── suffix-identifier_m2.js
│ │ │ └── suffix-identifier_m2.lua
│ │ ├── delete
│ │ │ ├── basic_m2.js
│ │ │ ├── basic_m2.lua
│ │ │ ├── computed-basic_m2.js
│ │ │ ├── computed-basic_m2.lua
│ │ │ ├── computed-boolean_m2.js
│ │ │ ├── computed-boolean_m2.lua
│ │ │ ├── computed-expression_m2.js
│ │ │ ├── computed-expression_m2.lua
│ │ │ ├── computed-identifier_m2.js
│ │ │ ├── computed-identifier_m2.lua
│ │ │ ├── computed-numeric_m2.js
│ │ │ ├── computed-numeric_m2.lua
│ │ │ ├── computed-octal_m2.js
│ │ │ └── computed-octal_m2.lua
│ │ ├── increment
│ │ │ ├── prefix-identifier_m2.js
│ │ │ ├── prefix-identifier_m2.lua
│ │ │ ├── suffix-identifier-result_m2.js
│ │ │ ├── suffix-identifier-result_m2.lua
│ │ │ ├── suffix-identifier_m2.js
│ │ │ └── suffix-identifier_m2.lua
│ │ ├── minus-expression_m2.js
│ │ ├── minus-expression_m2.lua
│ │ ├── minus-identifier_m2.js
│ │ ├── minus-identifier_m2.lua
│ │ ├── negation-double_m2.js
│ │ ├── negation-double_m2.lua
│ │ ├── negation-expression_m2.js
│ │ ├── negation-expression_m2.lua
│ │ ├── negation-falsy-boolean-literal_m2.js
│ │ ├── negation-falsy-boolean-literal_m2.lua
│ │ ├── negation-falsy-number-literal_m2.js
│ │ ├── negation-falsy-number-literal_m2.lua
│ │ ├── negation-falsy-string-literal_m2.js
│ │ ├── negation-falsy-string-literal_m2.lua
│ │ ├── negation-null_m2.js
│ │ ├── negation-null_m2.lua
│ │ ├── negation-truthy-boolean-literal_m2.js
│ │ ├── negation-truthy-boolean-literal_m2.lua
│ │ ├── negation-truthy-number-literal_m2.js
│ │ ├── negation-truthy-number-literal_m2.lua
│ │ ├── negation-truthy-string-literal_m2.js
│ │ ├── negation-truthy-string-literal_m2.lua
│ │ ├── negation-undefined_m2.js
│ │ ├── negation-undefined_m2.lua
│ │ ├── plus-expression_m2.js
│ │ ├── plus-expression_m2.lua
│ │ ├── plus_m2.js
│ │ ├── plus_m2.lua
│ │ ├── typeof-expression_m2.js
│ │ ├── typeof-expression_m2.lua
│ │ ├── typeof_m2.js
│ │ ├── typeof_m2.lua
│ │ ├── void-literals_m5.js
│ │ ├── void-literals_m5.lua
│ │ ├── void_m2.js
│ │ └── void_m2.lua
│ ├── unhandled-assignment_m5.js
│ └── unhandled-assignment_m5.lua
├── statements
│ ├── assignments
│ │ └── array-destructuring
│ │ │ ├── destructure-array-missing-values_m4.js
│ │ │ └── destructure-array-missing-values_m4.lua
│ ├── blocks
│ │ ├── empty.js
│ │ ├── empty.lua
│ │ ├── nested.js
│ │ ├── nested.lua
│ │ ├── single-variable.js
│ │ └── single-variable.lua
│ ├── conditional
│ │ ├── if-else
│ │ │ ├── 0_m4.js
│ │ │ ├── 0_m4.lua
│ │ │ ├── 1_m4.js
│ │ │ ├── 1_m4.lua
│ │ │ ├── 2_m4.js
│ │ │ ├── 2_m4.lua
│ │ │ ├── multiple_statements_m4.js
│ │ │ └── multiple_statements_m4.lua
│ │ └── switch
│ │ │ ├── all-cases-and-default-breaks_m4.js
│ │ │ ├── all-cases-and-default-breaks_m4.lua
│ │ │ ├── all-cases-and-default-conditionally-breaks_m4.js
│ │ │ ├── all-cases-and-default-conditionally-breaks_m4.lua
│ │ │ ├── all-cases-break-default-conditionally-breaks_m4.js
│ │ │ ├── all-cases-break-default-conditionally-breaks_m4.lua
│ │ │ ├── all-cases-break-with-default-no-break_m4.js
│ │ │ ├── all-cases-break-with-default-no-break_m4.lua
│ │ │ ├── all-cases-breaks-no-default_m4.js
│ │ │ ├── all-cases-breaks-no-default_m4.lua
│ │ │ ├── all-cases-no-breaks_m4.js
│ │ │ ├── all-cases-no-breaks_m4.lua
│ │ │ ├── all-cases-one-break-with-default_m4.js
│ │ │ ├── all-cases-one-break-with-default_m4.lua
│ │ │ ├── all-cases-return-break-or-continue_m5.js
│ │ │ ├── all-cases-return-break-or-continue_m5.lua
│ │ │ ├── multiple-fall-through-cases-one-break_m4.js
│ │ │ ├── multiple-fall-through-cases-one-break_m4.lua
│ │ │ ├── multiple-fall-through-cases_m5.js
│ │ │ ├── multiple-fall-through-cases_m5.lua
│ │ │ ├── one-case-without-break_m4.js
│ │ │ ├── one-case-without-break_m4.lua
│ │ │ ├── one-fall-through-case-with-breaks_m4.js
│ │ │ └── one-fall-through-case-with-breaks_m4.lua
│ ├── continue
│ │ ├── continue-with-comments.lua
│ │ ├── continue-with-comments.ts
│ │ ├── continue.lua
│ │ └── continue.ts
│ ├── declarations
│ │ ├── class
│ │ │ ├── class-abstract-methods.lua
│ │ │ ├── class-abstract-methods.ts
│ │ │ ├── class-declaration-access-private-member_m5.lua
│ │ │ ├── class-declaration-access-private-member_m5.ts
│ │ │ ├── class-declaration-generic-flow_m6.js
│ │ │ ├── class-declaration-generic-flow_m6.lua
│ │ │ ├── class-declaration-generic-ts_m5.lua
│ │ │ ├── class-declaration-generic-ts_m5.ts
│ │ │ ├── class-declaration.js
│ │ │ ├── class-declaration.lua
│ │ │ ├── class-empty-method-with-comment_m5.lua
│ │ │ ├── class-empty-method-with-comment_m5.ts
│ │ │ ├── class-method-with-rest-args_entity-store_m5.lua
│ │ │ ├── class-method-with-rest-args_entity-store_m5.ts
│ │ │ ├── class-method-with-rest-args_flow_m6.js
│ │ │ ├── class-method-with-rest-args_flow_m6.lua
│ │ │ ├── class-method-with-rest-args_jest-console_m5.lua
│ │ │ ├── class-method-with-rest-args_jest-console_m5.ts
│ │ │ ├── class-methods.js
│ │ │ ├── class-methods.lua
│ │ │ ├── class-properties-mixed-with-comments.lua
│ │ │ ├── class-properties-mixed-with-comments.ts
│ │ │ ├── class-properties-mixed.lua
│ │ │ ├── class-properties-mixed.ts
│ │ │ ├── class-properties-private.lua
│ │ │ ├── class-properties-private.ts
│ │ │ ├── class-properties-protected.lua
│ │ │ ├── class-properties-protected.ts
│ │ │ ├── class-properties.js
│ │ │ ├── class-properties.lua
│ │ │ ├── class-with-constructor-params.lua
│ │ │ ├── class-with-constructor-params.ts
│ │ │ ├── class-with-constructor.js
│ │ │ └── class-with-constructor.lua
│ │ ├── react-component-extended-class
│ │ │ ├── pure_m6.js
│ │ │ ├── pure_m6.lua
│ │ │ ├── with-constructor-and-super_m6.js
│ │ │ ├── with-constructor-and-super_m6.lua
│ │ │ ├── with-custom-method_m6.js
│ │ │ ├── with-custom-method_m6.lua
│ │ │ ├── with-lifecycle-hooks_m6.js
│ │ │ ├── with-lifecycle-hooks_m6.lua
│ │ │ ├── with-static-method_m6.js
│ │ │ ├── with-static-method_m6.lua
│ │ │ ├── with-static-prop_m6.js
│ │ │ └── with-static-prop_m6.lua
│ │ ├── ts-module
│ │ │ ├── empty_m5.lua
│ │ │ ├── empty_m5.ts
│ │ │ ├── exported
│ │ │ │ ├── exported-empty_m5.lua
│ │ │ │ ├── exported-empty_m5.ts
│ │ │ │ ├── exported-nested-with-class-declaration-exported_m5.lua
│ │ │ │ ├── exported-nested-with-class-declaration-exported_m5.ts
│ │ │ │ ├── exported-nested-with-type-declaration-exported_m5.lua
│ │ │ │ ├── exported-nested-with-type-declaration-exported_m5.ts
│ │ │ │ ├── exported-with-class-declaration-exported_m5.lua
│ │ │ │ ├── exported-with-class-declaration-exported_m5.ts
│ │ │ │ ├── exported-with-class-declaration_m5.lua
│ │ │ │ ├── exported-with-class-declaration_m5.ts
│ │ │ │ ├── exported-with-function-declaration-exported_m5.lua
│ │ │ │ ├── exported-with-function-declaration-exported_m5.ts
│ │ │ │ ├── exported-with-function-declaration_m5.lua
│ │ │ │ ├── exported-with-function-declaration_m5.ts
│ │ │ │ ├── exported-with-type-exported_m5.lua
│ │ │ │ ├── exported-with-type-exported_m5.ts
│ │ │ │ ├── exported-with-type_m5.lua
│ │ │ │ ├── exported-with-type_m5.ts
│ │ │ │ ├── exported-with-variable-declaration-exported_m5.lua
│ │ │ │ ├── exported-with-variable-declaration-exported_m5.ts
│ │ │ │ ├── exported-with-variable-declaration_m5.lua
│ │ │ │ └── exported-with-variable-declaration_m5.ts
│ │ │ ├── with-class-declaration-exported_m5.lua
│ │ │ ├── with-class-declaration-exported_m5.ts
│ │ │ ├── with-class-declaration_m5.lua
│ │ │ ├── with-class-declaration_m5.ts
│ │ │ ├── with-function-declaration-exported_m5.lua
│ │ │ ├── with-function-declaration-exported_m5.ts
│ │ │ ├── with-function-declaration_m5.lua
│ │ │ ├── with-function-declaration_m5.ts
│ │ │ ├── with-type-exported_m5.lua
│ │ │ ├── with-type-exported_m5.ts
│ │ │ ├── with-type_m5.lua
│ │ │ ├── with-type_m5.ts
│ │ │ ├── with-variable-declaration-exported_m5.lua
│ │ │ ├── with-variable-declaration-exported_m5.ts
│ │ │ ├── with-variable-declaration_m5.lua
│ │ │ └── with-variable-declaration_m5.ts
│ │ └── variable
│ │ │ ├── array-destructuring
│ │ │ ├── destructure-array-identifier-rest_m4.js
│ │ │ ├── destructure-array-identifier-rest_m4.lua
│ │ │ ├── destructure-array-identifier_m4.js
│ │ │ ├── destructure-array-identifier_m4.lua
│ │ │ ├── destructure-array-missing-values-large_m4.js
│ │ │ ├── destructure-array-missing-values-large_m4.lua
│ │ │ ├── destructure-array-missing-values_m4.js
│ │ │ ├── destructure-array-missing-values_m4.lua
│ │ │ ├── destructure-array-nested-array_m4.js
│ │ │ ├── destructure-array-nested-array_m4.lua
│ │ │ ├── destructure-array_m4.js
│ │ │ └── destructure-array_m4.lua
│ │ │ ├── const-with-lua-keyword.js
│ │ │ ├── const-with-lua-keyword.lua
│ │ │ ├── const.js
│ │ │ ├── const.lua
│ │ │ ├── declaration-with-fallback_m5.js
│ │ │ ├── declaration-with-fallback_m5.lua
│ │ │ ├── declaration-with-ts-qualified-name_m5.lua
│ │ │ ├── declaration-with-ts-qualified-name_m5.ts
│ │ │ ├── function-declaration-empty-with-comment_m5.lua
│ │ │ ├── function-declaration-empty-with-comment_m5.ts
│ │ │ ├── function-declaration-with-default-values-param-reserved-words_m5.js
│ │ │ ├── function-declaration-with-default-values-param-reserved-words_m5.lua
│ │ │ ├── function-declaration-with-known-rest-type_m5.lua
│ │ │ ├── function-declaration-with-known-rest-type_m5.ts
│ │ │ ├── function-declaration-with-known-rest-type_m6.js
│ │ │ ├── function-declaration-with-known-rest-type_m6.lua
│ │ │ ├── function-declaration-with-typed-variable-flow_m6.js
│ │ │ ├── function-declaration-with-typed-variable-flow_m6.lua
│ │ │ ├── function-declaration-with-typed-variable_m5.lua
│ │ │ ├── function-declaration-with-typed-variable_m5.ts
│ │ │ ├── function-expression-different-name_m5.js
│ │ │ ├── function-expression-different-name_m5.lua
│ │ │ ├── function-expression-mixed_m5.js
│ │ │ ├── function-expression-mixed_m5.lua
│ │ │ ├── function-expression-same-name_m5.js
│ │ │ ├── function-expression-same-name_m5.lua
│ │ │ ├── function-return-type-with-comments_m5.lua
│ │ │ ├── function-return-type-with-comments_m5.ts
│ │ │ ├── identifiers-object-and-array-patterns_m4.js
│ │ │ ├── identifiers-object-and-array-patterns_m4.lua
│ │ │ ├── object-destructuring
│ │ │ ├── destructure-call-expression-single-identifier_m5.js
│ │ │ ├── destructure-call-expression-single-identifier_m5.lua
│ │ │ ├── destructure-call-expression_m5.js
│ │ │ ├── destructure-call-expression_m5.lua
│ │ │ ├── destructure-member-expression-single-identifier_m5.js
│ │ │ ├── destructure-member-expression-single-identifier_m5.lua
│ │ │ ├── destructure-member-expression_m5.js
│ │ │ ├── destructure-member-expression_m5.lua
│ │ │ ├── destructure-multiple-obj_m4.js
│ │ │ ├── destructure-multiple-obj_m4.lua
│ │ │ ├── destructure-obj-expression-single-identifier_m5.js
│ │ │ ├── destructure-obj-expression-single-identifier_m5.lua
│ │ │ ├── destructure-obj-expression-with-alias-single-identifier_m5.js
│ │ │ ├── destructure-obj-expression-with-alias-single-identifier_m5.lua
│ │ │ ├── destructure-obj-expression-with-alias_m4.js
│ │ │ ├── destructure-obj-expression-with-alias_m4.lua
│ │ │ ├── destructure-obj-expression_m4.js
│ │ │ ├── destructure-obj-expression_m4.lua
│ │ │ ├── destructure-obj-identifier-with-alias_m4.js
│ │ │ ├── destructure-obj-identifier-with-alias_m4.lua
│ │ │ ├── destructure-obj-identifier_m4.js
│ │ │ ├── destructure-obj-identifier_m4.lua
│ │ │ ├── destructure-obj-nested-obj_m4.js
│ │ │ ├── destructure-obj-nested-obj_m4.lua
│ │ │ ├── destructure-obj-with-alias_m4.js
│ │ │ ├── destructure-obj-with-alias_m4.lua
│ │ │ ├── destructure-obj-with-rest-element_m4.js
│ │ │ ├── destructure-obj-with-rest-element_m4.lua
│ │ │ ├── destructure-obj_m4.js
│ │ │ ├── destructure-obj_m4.lua
│ │ │ ├── destructure-with-assignment-pattern_m5.js
│ │ │ ├── destructure-with-assignment-pattern_m5.lua
│ │ │ └── reserved-keywords
│ │ │ │ ├── destructure-call-expression-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-call-expression-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-member-expression-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-member-expression-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-expression-with-alias-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-expression-with-alias-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-expression-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-expression-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-identifier-with-alias-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-identifier-with-alias-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-identifier-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-identifier-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-nested-obj-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-nested-obj-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-with-alias-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-with-alias-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-with-reserved-keywords_m5.js
│ │ │ │ ├── destructure-obj-with-reserved-keywords_m5.lua
│ │ │ │ ├── destructure-obj-with-rest-element-with-reserved-keywords_m5.js
│ │ │ │ └── destructure-obj-with-rest-element-with-reserved-keywords_m5.lua
│ │ │ ├── single-let-no-value.js
│ │ │ ├── single-let-no-value.lua
│ │ │ ├── single-let.js
│ │ │ ├── single-let.lua
│ │ │ ├── three-variables-with-a-function.js
│ │ │ ├── three-variables-with-a-function.lua
│ │ │ ├── two-variables-let-only-first-value.js
│ │ │ ├── two-variables-let-only-first-value.lua
│ │ │ ├── two-variables-let-only-second-value.js
│ │ │ ├── two-variables-let-only-second-value.lua
│ │ │ ├── two-variables-let-two-values.js
│ │ │ └── two-variables-let-two-values.lua
│ ├── do-while
│ │ ├── do-while-nested_m5.js
│ │ ├── do-while-nested_m5.lua
│ │ ├── do-while-simple_m5.js
│ │ ├── do-while-simple_m5.lua
│ │ ├── do-while-with-boolean-inferrable-condition_m5.js
│ │ ├── do-while-with-boolean-inferrable-condition_m5.lua
│ │ ├── do-while-with-unknown-condition_m5.js
│ │ └── do-while-with-unknown-condition_m5.lua
│ ├── error-handling
│ │ ├── throw
│ │ │ ├── 0_m4x.js
│ │ │ ├── 0_m4x.lua
│ │ │ ├── 1_m4x.js
│ │ │ ├── 1_m4x.lua
│ │ │ ├── 2_m4x.js
│ │ │ └── 2_m4x.lua
│ │ └── try-catch
│ │ │ ├── 0_m4.js
│ │ │ ├── 0_m4.lua
│ │ │ ├── 1_m4.js
│ │ │ ├── 1_m4.lua
│ │ │ ├── 2_m4.js
│ │ │ ├── 2_m4.lua
│ │ │ ├── 3_m4.js
│ │ │ ├── 3_m4.lua
│ │ │ ├── 4_m4.js
│ │ │ ├── 4_m4.lua
│ │ │ ├── 5_m4.js
│ │ │ ├── 5_m4.lua
│ │ │ ├── 6_m4.js
│ │ │ ├── 6_m4.lua
│ │ │ ├── with-error-array-desctructuring_m5.js
│ │ │ ├── with-error-array-desctructuring_m5.lua
│ │ │ ├── with-error-object-desctructuring_m5.js
│ │ │ └── with-error-object-desctructuring_m5.lua
│ ├── export
│ │ ├── default-arrow-expression_m5.js
│ │ ├── default-arrow-expression_m5.lua
│ │ ├── default-call-expression_m5.js
│ │ ├── default-call-expression_m5.lua
│ │ ├── default-class_m5.lua
│ │ ├── default-class_m5.ts
│ │ ├── default-complex-expression_m5.js
│ │ ├── default-complex-expression_m5.lua
│ │ ├── default-direct-named-function_m4.js
│ │ ├── default-direct-named-function_m4.lua
│ │ ├── default-direct-unnamed-function_m4.js
│ │ ├── default-direct-unnamed-function_m4.lua
│ │ ├── default-direct_m4.js
│ │ ├── default-direct_m4.lua
│ │ ├── default-predeclared_m4.js
│ │ ├── default-predeclared_m4.lua
│ │ ├── multiple-named_m4.js
│ │ ├── multiple-named_m4.lua
│ │ ├── named-and-default_m4.js
│ │ ├── named-and-default_m4.lua
│ │ ├── named-class_m5.lua
│ │ ├── named-class_m5.ts
│ │ ├── named-list-with-aliases_m4.js
│ │ ├── named-list-with-aliases_m4.lua
│ │ ├── named-list_m4.js
│ │ ├── named-list_m4.lua
│ │ ├── named-with-type-annotation-arrow-function_m5.lua
│ │ ├── named-with-type-annotation-arrow-function_m5.ts
│ │ ├── named-with-type-annotation-function_m5.lua
│ │ ├── named-with-type-annotation-function_m5.ts
│ │ ├── named-with-type-annotation-variable_m5.lua
│ │ ├── named-with-type-annotation-variable_m5.ts
│ │ ├── reexport-absolute
│ │ │ ├── all_m4.js
│ │ │ ├── all_m4.lua
│ │ │ ├── named-list-with-aliases_m4.js
│ │ │ ├── named-list-with-aliases_m4.lua
│ │ │ ├── named-list_m4.js
│ │ │ └── named-list_m4.lua
│ │ ├── reexport-relative
│ │ │ ├── all_m4.js
│ │ │ ├── all_m4.lua
│ │ │ ├── named-list-with-aliases_m4.js
│ │ │ ├── named-list-with-aliases_m4.lua
│ │ │ ├── named-list_m4.js
│ │ │ └── named-list_m4.lua
│ │ ├── single-named_m4.js
│ │ └── single-named_m4.lua
│ ├── for-in
│ │ ├── declaration-for-in-statement-with-array-pattern_m5.js
│ │ ├── declaration-for-in-statement-with-array-pattern_m5.lua
│ │ ├── declaration-for-in-statement-with-nested-array-pattern_m5.js
│ │ ├── declaration-for-in-statement-with-nested-array-pattern_m5.lua
│ │ ├── declaration-for-in-statement-with-nested-object-pattern_m5.js
│ │ ├── declaration-for-in-statement-with-nested-object-pattern_m5.lua
│ │ ├── declaration-for-in-statement-with-object-pattern_m5.js
│ │ ├── declaration-for-in-statement-with-object-pattern_m5.lua
│ │ ├── empty-for-in-statement_m5.js
│ │ ├── empty-for-in-statement_m5.lua
│ │ ├── nested-for-in-statement_m5.js
│ │ ├── nested-for-in-statement_m5.lua
│ │ ├── no-declaration-for-in-statement-with-array-pattern_m5.js
│ │ ├── no-declaration-for-in-statement-with-array-pattern_m5.lua
│ │ ├── no-declaration-for-in-statement-with-identifier_m5.js
│ │ ├── no-declaration-for-in-statement-with-identifier_m5.lua
│ │ ├── no-declaration-for-in-statement-with-nested-array-pattern_m5.js
│ │ ├── no-declaration-for-in-statement-with-nested-array-pattern_m5.lua
│ │ ├── no-declaration-for-in-statement-with-nested-object-pattern_m5.js
│ │ ├── no-declaration-for-in-statement-with-nested-object-pattern_m5.lua
│ │ ├── no-declaration-for-in-statement-with-object-pattern_m5.js
│ │ ├── no-declaration-for-in-statement-with-object-pattern_m5.lua
│ │ ├── simple-for-in-statement-definitely-array_m5.js
│ │ ├── simple-for-in-statement-definitely-array_m5.lua
│ │ ├── simple-for-in-statement_m5.js
│ │ └── simple-for-in-statement_m5.lua
│ ├── for-loops
│ │ ├── complex
│ │ │ ├── read-arr-index-only_m5.js
│ │ │ ├── read-arr-index-only_m5.lua
│ │ │ ├── with-directly-using-let-scoped-variable_m5.js
│ │ │ ├── with-directly-using-let-scoped-variable_m5.lua
│ │ │ ├── with-inner-function-not-using-let-scoped-variable_m5.js
│ │ │ ├── with-inner-function-not-using-let-scoped-variable_m5.lua
│ │ │ ├── with-inner-function-using-let-scoped-variable-multiple-identifiers_m5.js
│ │ │ ├── with-inner-function-using-let-scoped-variable-multiple-identifiers_m5.lua
│ │ │ ├── with-inner-function-using-let-scoped-variable_m5.js
│ │ │ ├── with-inner-function-using-let-scoped-variable_m5.lua
│ │ │ ├── write-arr-element-directly_m5.js
│ │ │ ├── write-arr-element-directly_m5.lua
│ │ │ ├── write-arr-element-property-and-use-index_m5.js
│ │ │ ├── write-arr-element-property-and-use-index_m5.lua
│ │ │ ├── write-arr-element-property_m5.js
│ │ │ └── write-arr-element-property_m5.lua
│ │ └── simple
│ │ │ ├── continue
│ │ │ ├── nested-for-loops-modifying-temp_m5.js
│ │ │ ├── nested-for-loops-modifying-temp_m5.lua
│ │ │ ├── nested-for-loops-modifying_m5.js
│ │ │ ├── nested-for-loops-modifying_m5.lua
│ │ │ ├── nested-for-loops_m5.js
│ │ │ ├── nested-for-loops_m5.lua
│ │ │ ├── single-for-loop-modifying-temp_m5.js
│ │ │ ├── single-for-loop-modifying-temp_m5.lua
│ │ │ ├── single-for-loop-modifying_m5.js
│ │ │ ├── single-for-loop-modifying_m5.lua
│ │ │ ├── single-for-loop_m5.js
│ │ │ └── single-for-loop_m5.lua
│ │ │ ├── nested-for-loops-modifying-temp_m5.js
│ │ │ ├── nested-for-loops-modifying-temp_m5.lua
│ │ │ ├── nested-for-loops-modifying_m5.js
│ │ │ ├── nested-for-loops-modifying_m5.lua
│ │ │ ├── nested-for-loops_m5.js
│ │ │ ├── nested-for-loops_m5.lua
│ │ │ ├── single-for-loop-modifying-temp_m5.js
│ │ │ ├── single-for-loop-modifying-temp_m5.lua
│ │ │ ├── single-for-loop-modifying_m5.js
│ │ │ ├── single-for-loop-modifying_m5.lua
│ │ │ ├── single-for-loop_m5.js
│ │ │ └── single-for-loop_m5.lua
│ ├── for-of
│ │ ├── declaration-for-of-statement-with-array-pattern-missing-values_m5.js
│ │ ├── declaration-for-of-statement-with-array-pattern-missing-values_m5.lua
│ │ ├── declaration-for-of-statement-with-array-pattern_m5.js
│ │ ├── declaration-for-of-statement-with-array-pattern_m5.lua
│ │ ├── declaration-for-of-statement-with-nested-array-pattern_m5.js
│ │ ├── declaration-for-of-statement-with-nested-array-pattern_m5.lua
│ │ ├── declaration-for-of-statement-with-nested-object-pattern_m5.js
│ │ ├── declaration-for-of-statement-with-nested-object-pattern_m5.lua
│ │ ├── declaration-for-of-statement-with-object-pattern_m5.js
│ │ ├── declaration-for-of-statement-with-object-pattern_m5.lua
│ │ ├── empty-for-of-statement_m5.js
│ │ ├── empty-for-of-statement_m5.lua
│ │ ├── nested-for-of-statement_m5.js
│ │ ├── nested-for-of-statement_m5.lua
│ │ ├── no-declaration-for-of-statement-with-array-pattern_m5.js
│ │ ├── no-declaration-for-of-statement-with-array-pattern_m5.lua
│ │ ├── no-declaration-for-of-statement-with-identifier_m5.js
│ │ ├── no-declaration-for-of-statement-with-identifier_m5.lua
│ │ ├── no-declaration-for-of-statement-with-nested-array-pattern_m5.js
│ │ ├── no-declaration-for-of-statement-with-nested-array-pattern_m5.lua
│ │ ├── no-declaration-for-of-statement-with-nested-object-pattern_m5.js
│ │ ├── no-declaration-for-of-statement-with-nested-object-pattern_m5.lua
│ │ ├── no-declaration-for-of-statement-with-object-pattern_m5.js
│ │ ├── no-declaration-for-of-statement-with-object-pattern_m5.lua
│ │ ├── simple-for-of-statement-definitely-array_m5.js
│ │ ├── simple-for-of-statement-definitely-array_m5.lua
│ │ ├── simple-for-of-statement_m5.js
│ │ └── simple-for-of-statement_m5.lua
│ ├── import
│ │ ├── absolute
│ │ │ ├── default-member-and-alias_m4x.js
│ │ │ ├── default-member-and-alias_m4x.lua
│ │ │ ├── default-type_m5.lua
│ │ │ ├── default-type_m5.ts
│ │ │ ├── default_m4x.js
│ │ │ ├── default_m4x.lua
│ │ │ ├── module_m4x.js
│ │ │ ├── module_m4x.lua
│ │ │ ├── multiple-imports_m4x.js
│ │ │ ├── multiple-imports_m4x.lua
│ │ │ ├── multiple-members_m4x.js
│ │ │ ├── multiple-members_m4x.lua
│ │ │ ├── multiple-named-with-dash-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-dash-in-imported-path_m5.lua
│ │ │ ├── multiple-named-with-dot-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-dot-in-imported-path_m5.lua
│ │ │ ├── multiple-named-with-mixed-dot-and-dash-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-mixed-dot-and-dash-in-imported-path_m5.lua
│ │ │ ├── single-member_m4x.js
│ │ │ ├── single-member_m4x.lua
│ │ │ ├── type-import_m4x.lua
│ │ │ └── type-import_m4x.ts
│ │ ├── index_m4x.js
│ │ ├── index_m4x.lua
│ │ ├── polyfill-auto
│ │ │ ├── call-expression
│ │ │ │ ├── array_m5.js
│ │ │ │ ├── array_m5.lua
│ │ │ │ ├── clearInterval_m5.js
│ │ │ │ ├── clearInterval_m5.lua
│ │ │ │ ├── clearTimeout_m5.js
│ │ │ │ ├── clearTimeout_m5.lua
│ │ │ │ ├── console_m5.js
│ │ │ │ ├── console_m5.lua
│ │ │ │ ├── object_m5.js
│ │ │ │ ├── object_m5.lua
│ │ │ │ ├── setInterval_m5.js
│ │ │ │ ├── setInterval_m5.lua
│ │ │ │ ├── setTimeout_m5.js
│ │ │ │ └── setTimeout_m5.lua
│ │ │ ├── new-expression
│ │ │ │ ├── new-error_m5.js
│ │ │ │ ├── new-error_m5.lua
│ │ │ │ ├── new-map_m5.js
│ │ │ │ ├── new-map_m5.lua
│ │ │ │ ├── new-set_m5.js
│ │ │ │ ├── new-set_m5.lua
│ │ │ │ ├── new-weakmap_m5.js
│ │ │ │ └── new-weakmap_m5.lua
│ │ │ └── types
│ │ │ │ ├── type-array-2_m5.lua
│ │ │ │ ├── type-array-2_m5.ts
│ │ │ │ ├── type-array_m5.lua
│ │ │ │ ├── type-array_m5.ts
│ │ │ │ ├── type-error_m5.lua
│ │ │ │ ├── type-error_m5.ts
│ │ │ │ ├── type-map_m5.lua
│ │ │ │ ├── type-map_m5.ts
│ │ │ │ ├── type-object_m5.lua
│ │ │ │ ├── type-object_m5.ts
│ │ │ │ ├── type-promise_m5.lua
│ │ │ │ ├── type-promise_m5.ts
│ │ │ │ ├── type-promiselike_m5.lua
│ │ │ │ ├── type-promiselike_m5.ts
│ │ │ │ ├── type-set_m5.lua
│ │ │ │ ├── type-set_m5.ts
│ │ │ │ ├── type-weakmap_m5.lua
│ │ │ │ └── type-weakmap_m5.ts
│ │ ├── relative
│ │ │ ├── default-deep-nested-folder_m4x.js
│ │ │ ├── default-deep-nested-folder_m4x.lua
│ │ │ ├── default-parent-folder_m4x.js
│ │ │ ├── default-parent-folder_m4x.lua
│ │ │ ├── default-same-folder_m4x.js
│ │ │ ├── default-same-folder_m4x.lua
│ │ │ ├── default-type-deep-nested-folder_m5.lua
│ │ │ ├── default-type-deep-nested-folder_m5.ts
│ │ │ ├── default-type-parent-folder_m5.lua
│ │ │ ├── default-type-parent-folder_m5.ts
│ │ │ ├── default-type-same-folder_m5.lua
│ │ │ ├── default-type-same-folder_m5.ts
│ │ │ ├── import-everything_m4x.js
│ │ │ ├── import-everything_m4x.lua
│ │ │ ├── module_m4x.js
│ │ │ ├── module_m4x.lua
│ │ │ ├── multiple-named-with-dash-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-dash-in-imported-path_m5.lua
│ │ │ ├── multiple-named-with-dot-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-dot-in-imported-path_m5.lua
│ │ │ ├── multiple-named-with-mixed-dot-and-dash-in-imported-path_m5.js
│ │ │ ├── multiple-named-with-mixed-dot-and-dash-in-imported-path_m5.lua
│ │ │ ├── multiple-named_m4x.js
│ │ │ ├── multiple-named_m4x.lua
│ │ │ ├── named-alias_m4x.js
│ │ │ ├── named-alias_m4x.lua
│ │ │ ├── type-import_m4x.lua
│ │ │ └── type-import_m4x.ts
│ │ └── ts-import-equals
│ │ │ ├── global-import-with-comments_m5.lua
│ │ │ ├── global-import-with-comments_m5.ts
│ │ │ ├── simple-global-import_m5.lua
│ │ │ ├── simple-global-import_m5.ts
│ │ │ ├── simple-relative-import_m5.lua
│ │ │ └── simple-relative-import_m5.ts
│ ├── return
│ │ ├── return-conditional-expression_m5.js
│ │ ├── return-conditional-expression_m5.lua
│ │ ├── return-identifier_m5.js
│ │ └── return-identifier_m5.lua
│ └── while
│ │ ├── while-nested_m5.js
│ │ ├── while-nested_m5.lua
│ │ ├── while-simple_m5.js
│ │ ├── while-simple_m5.lua
│ │ ├── while-with-boolean-inferrable-condition_m5.js
│ │ ├── while-with-boolean-inferrable-condition_m5.lua
│ │ ├── while-with-unknown-condition_m5.js
│ │ └── while-with-unknown-condition_m5.lua
├── structural-types
│ ├── array
│ │ ├── empty.js
│ │ ├── empty.lua
│ │ ├── mixed-with-three-elements.js
│ │ ├── mixed-with-three-elements.lua
│ │ ├── spread-multiple-arrays.js
│ │ ├── spread-multiple-arrays.lua
│ │ ├── spread-multiple-literals.js
│ │ ├── spread-multiple-literals.lua
│ │ ├── spread-multiple-strings.js
│ │ ├── spread-multiple-strings.lua
│ │ ├── spread-simple.js
│ │ ├── spread-simple.lua
│ │ ├── with-one-boolean.js
│ │ └── with-one-boolean.lua
│ ├── combined
│ │ ├── spread-object-and-array-combined-within-array.js
│ │ ├── spread-object-and-array-combined-within-array.lua
│ │ ├── spread-object-and-array-combined-within-object.js
│ │ └── spread-object-and-array-combined-within-object.lua
│ ├── functions
│ │ ├── arrow
│ │ │ ├── async
│ │ │ │ ├── with-default-value-and-body-async_m5.js
│ │ │ │ ├── with-default-value-and-body-async_m5.lua
│ │ │ │ ├── with-default-value-and-shorthand-body-async_m5.js
│ │ │ │ ├── with-default-value-and-shorthand-body-async_m5.lua
│ │ │ │ ├── with-default-value-async_m5.js
│ │ │ │ └── with-default-value-async_m5.lua
│ │ │ ├── double.js
│ │ │ ├── double.lua
│ │ │ ├── simple.js
│ │ │ ├── simple.lua
│ │ │ ├── with-default-value-array_m5.lua
│ │ │ ├── with-default-value-array_m5.ts
│ │ │ ├── with-default-value-boolean_m5.lua
│ │ │ ├── with-default-value-boolean_m5.ts
│ │ │ ├── with-default-value-numeric_m5.lua
│ │ │ ├── with-default-value-numeric_m5.ts
│ │ │ ├── with-default-value-object_m5.lua
│ │ │ ├── with-default-value-object_m5.ts
│ │ │ ├── with-default-value-string_m5.lua
│ │ │ ├── with-default-value-string_m5.ts
│ │ │ ├── with-default-value-typed_m5.lua
│ │ │ ├── with-default-value-typed_m5.ts
│ │ │ ├── with-default-values-param-reserved-words_m5.js
│ │ │ ├── with-default-values-param-reserved-words_m5.lua
│ │ │ ├── with-default-values-param.js
│ │ │ ├── with-default-values-param.lua
│ │ │ ├── with-destructured-arr-param-shorthand-typed_m5.lua
│ │ │ ├── with-destructured-arr-param-shorthand-typed_m5.ts
│ │ │ ├── with-destructured-arr-param-shorthand_m4.js
│ │ │ ├── with-destructured-arr-param-shorthand_m4.lua
│ │ │ ├── with-destructured-arr-param-typed_m5.lua
│ │ │ ├── with-destructured-arr-param-typed_m5.ts
│ │ │ ├── with-destructured-arr-param_m4.js
│ │ │ ├── with-destructured-arr-param_m4.lua
│ │ │ ├── with-destructured-obj-param-shorthand-typed_m5.lua
│ │ │ ├── with-destructured-obj-param-shorthand-typed_m5.ts
│ │ │ ├── with-destructured-obj-param-shorthand_m4.js
│ │ │ ├── with-destructured-obj-param-shorthand_m4.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.ts
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.js
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.lua
│ │ │ ├── with-destructured-obj-param_m4.js
│ │ │ ├── with-destructured-obj-param_m4.lua
│ │ │ ├── with-generics-multiple_m5.lua
│ │ │ ├── with-generics-multiple_m5.ts
│ │ │ ├── with-generics_m5.lua
│ │ │ ├── with-generics_m5.ts
│ │ │ ├── with-multiple-destructured-arr-param_m4.js
│ │ │ ├── with-multiple-destructured-arr-param_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.ts
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.js
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param_m4.js
│ │ │ ├── with-multiple-destructured-obj-param_m4.lua
│ │ │ ├── with-optional-params_m5.lua
│ │ │ ├── with-optional-params_m5.ts
│ │ │ ├── with-param.js
│ │ │ ├── with-param.lua
│ │ │ ├── with-type_m5.lua
│ │ │ └── with-type_m5.ts
│ │ ├── expressions
│ │ │ ├── async
│ │ │ │ ├── with-default-value-and-body-async_m5.js
│ │ │ │ ├── with-default-value-and-body-async_m5.lua
│ │ │ │ ├── with-default-value-and-body-infer_m5.js
│ │ │ │ ├── with-default-value-and-body-infer_m5.lua
│ │ │ │ ├── with-default-value-async_m5.js
│ │ │ │ └── with-default-value-async_m5.lua
│ │ │ ├── named.js
│ │ │ ├── named.lua
│ │ │ ├── no-name.js
│ │ │ ├── no-name.lua
│ │ │ ├── with-default-value-array_m5.lua
│ │ │ ├── with-default-value-array_m5.ts
│ │ │ ├── with-default-value-boolean_m5.lua
│ │ │ ├── with-default-value-boolean_m5.ts
│ │ │ ├── with-default-value-numeric_m5.lua
│ │ │ ├── with-default-value-numeric_m5.ts
│ │ │ ├── with-default-value-object_m5.lua
│ │ │ ├── with-default-value-object_m5.ts
│ │ │ ├── with-default-value-string_m5.lua
│ │ │ ├── with-default-value-string_m5.ts
│ │ │ ├── with-default-value-typed_m5.lua
│ │ │ ├── with-default-value-typed_m5.ts
│ │ │ ├── with-default-values-param-reserved-words_m5.js
│ │ │ ├── with-default-values-param-reserved-words_m5.lua
│ │ │ ├── with-destructured-arr-param-typed_m5.lua
│ │ │ ├── with-destructured-arr-param-typed_m5.ts
│ │ │ ├── with-destructured-arr-param_m4.js
│ │ │ ├── with-destructured-arr-param_m4.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.ts
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.js
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.lua
│ │ │ ├── with-destructured-obj-param_m4.js
│ │ │ ├── with-destructured-obj-param_m4.lua
│ │ │ ├── with-generics-multiple_m5.lua
│ │ │ ├── with-generics-multiple_m5.ts
│ │ │ ├── with-generics_m5.lua
│ │ │ ├── with-generics_m5.ts
│ │ │ ├── with-multiple-destructured-arr-param_m4.js
│ │ │ ├── with-multiple-destructured-arr-param_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.ts
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.js
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param_m4.js
│ │ │ ├── with-multiple-destructured-obj-param_m4.lua
│ │ │ ├── with-optional-params_m5.lua
│ │ │ ├── with-optional-params_m5.ts
│ │ │ ├── with-type_m5.lua
│ │ │ └── with-type_m5.ts
│ │ ├── named
│ │ │ ├── async
│ │ │ │ ├── with-default-value-and-body-async_m5.js
│ │ │ │ ├── with-default-value-and-body-async_m5.lua
│ │ │ │ ├── with-default-value-and-single-return-statement-async_m5.js
│ │ │ │ ├── with-default-value-and-single-return-statement-async_m5.lua
│ │ │ │ ├── with-default-value-async_m5.js
│ │ │ │ └── with-default-value-async_m5.lua
│ │ │ ├── empty-single-parameter.js
│ │ │ ├── empty-single-parameter.lua
│ │ │ ├── empty-single-typed-parameter.lua
│ │ │ ├── empty-single-typed-parameter.ts
│ │ │ ├── empty-typed-string-return-value.lua
│ │ │ ├── empty-typed-string-return-value.ts
│ │ │ ├── empty-typed-void-return-value.lua
│ │ │ ├── empty-typed-void-return-value.ts
│ │ │ ├── empty.js
│ │ │ ├── empty.lua
│ │ │ ├── with-default-value-array_m5.lua
│ │ │ ├── with-default-value-array_m5.ts
│ │ │ ├── with-default-value-boolean_m5.lua
│ │ │ ├── with-default-value-boolean_m5.ts
│ │ │ ├── with-default-value-numeric_m5.lua
│ │ │ ├── with-default-value-numeric_m5.ts
│ │ │ ├── with-default-value-object_m5.lua
│ │ │ ├── with-default-value-object_m5.ts
│ │ │ ├── with-default-value-string_m5.lua
│ │ │ ├── with-default-value-string_m5.ts
│ │ │ ├── with-default-value-typed_m5.lua
│ │ │ ├── with-default-value-typed_m5.ts
│ │ │ ├── with-destructured-arr-param-typed_m5.lua
│ │ │ ├── with-destructured-arr-param-typed_m5.ts
│ │ │ ├── with-destructured-arr-param_m4.js
│ │ │ ├── with-destructured-arr-param_m4.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.lua
│ │ │ ├── with-destructured-obj-param-typed_m5.ts
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.js
│ │ │ ├── with-destructured-obj-param-with-reserved-keywords_m5.lua
│ │ │ ├── with-destructured-obj-param_m4.js
│ │ │ ├── with-destructured-obj-param_m4.lua
│ │ │ ├── with-generics-multiple_m5.lua
│ │ │ ├── with-generics-multiple_m5.ts
│ │ │ ├── with-generics_m5.lua
│ │ │ ├── with-generics_m5.ts
│ │ │ ├── with-multiple-destructured-arr-param_m4.js
│ │ │ ├── with-multiple-destructured-arr-param_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.lua
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values-typed_m5.ts
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.js
│ │ │ ├── with-multiple-destructured-obj-param-and-default-values_m4.lua
│ │ │ ├── with-multiple-destructured-obj-param_m4.js
│ │ │ ├── with-multiple-destructured-obj-param_m4.lua
│ │ │ ├── with-optional-params_m5.lua
│ │ │ └── with-optional-params_m5.ts
│ │ └── recursive
│ │ │ ├── arrow_m2.js
│ │ │ ├── arrow_m2.lua
│ │ │ ├── expression_m2.js
│ │ │ ├── expression_m2.lua
│ │ │ ├── named.js
│ │ │ └── named.lua
│ └── object
│ │ ├── empty.js
│ │ ├── empty.lua
│ │ ├── method-expression-property-function-expression-with-args_m2.js
│ │ ├── method-expression-property-function-expression-with-args_m2.lua
│ │ ├── method-expression-property-function-expression_m2.js
│ │ ├── method-expression-property-function-expression_m2.lua
│ │ ├── method-expression-property-with-args_m2.js
│ │ ├── method-expression-property-with-args_m2.lua
│ │ ├── method-expression-property_m2.js
│ │ ├── method-expression-property_m2.lua
│ │ ├── method-function-expression-typed_m2.lua
│ │ ├── method-function-expression-typed_m2.ts
│ │ ├── method-function-expression-with-args-typed_m2.lua
│ │ ├── method-function-expression-with-args-typed_m2.ts
│ │ ├── method-function-expression-with-args_m2.js
│ │ ├── method-function-expression-with-args_m2.lua
│ │ ├── method-function-expression_m2.js
│ │ ├── method-function-expression_m2.lua
│ │ ├── method-simple-typed_m2.lua
│ │ ├── method-simple-typed_m2.ts
│ │ ├── method-simple-with-args-typed_m2.lua
│ │ ├── method-simple-with-args-typed_m2.ts
│ │ ├── method-simple-with-args_m2.js
│ │ ├── method-simple-with-args_m2.lua
│ │ ├── method-simple_m2.js
│ │ ├── method-simple_m2.lua
│ │ ├── method-with-lua-global-as-key_m5.js
│ │ ├── method-with-lua-global-as-key_m5.lua
│ │ ├── method-with-lua-reserved-keyword-as-key_m5.js
│ │ ├── method-with-lua-reserved-keyword-as-key_m5.lua
│ │ ├── object-method.js
│ │ ├── object-method.lua
│ │ ├── object-with-lua-global-as-key_m5.js
│ │ ├── object-with-lua-global-as-key_m5.lua
│ │ ├── object-with-lua-reserved-keyword-as-key_m5.js
│ │ ├── object-with-lua-reserved-keyword-as-key_m5.lua
│ │ ├── single-exponent-number-key-to-boolean.js
│ │ ├── single-exponent-number-key-to-boolean.lua
│ │ ├── single-false-key-to-boolean.js
│ │ ├── single-false-key-to-boolean.lua
│ │ ├── single-identifier-to-boolean.js
│ │ ├── single-identifier-to-boolean.lua
│ │ ├── single-number-key-to-boolean.js
│ │ ├── single-number-key-to-boolean.lua
│ │ ├── single-octal-number-key-to-boolean.js
│ │ ├── single-octal-number-key-to-boolean.lua
│ │ ├── spread-explicit-property-removal_m5.js
│ │ ├── spread-explicit-property-removal_m5.lua
│ │ ├── spread-multiple-literals.js
│ │ ├── spread-multiple-literals.lua
│ │ ├── spread-multiple-properties.js
│ │ ├── spread-multiple-properties.lua
│ │ ├── spread-simple.js
│ │ └── spread-simple.lua
└── ts-types
│ ├── array
│ ├── complex-array_m5.lua
│ ├── complex-array_m5.ts
│ ├── simple-array_m5.lua
│ └── simple-array_m5.ts
│ ├── as
│ ├── cast-with-ts-qualified-name_m5.lua
│ ├── cast-with-ts-qualified-name_m5.ts
│ ├── double-cast_m5.lua
│ ├── double-cast_m5.ts
│ ├── function-param_m5.lua
│ ├── function-param_m5.ts
│ ├── return-statement_m5.lua
│ ├── return-statement_m5.ts
│ ├── variable-declaration_m5.lua
│ └── variable-declaration_m5.ts
│ ├── enum
│ ├── autoincrement_m5.lua
│ ├── autoincrement_m5.ts
│ ├── empty_m5.lua
│ ├── empty_m5.ts
│ ├── simple_m5.lua
│ ├── simple_m5.ts
│ ├── unions_m5.lua
│ └── unions_m5.ts
│ ├── function
│ ├── recursive_m5.lua
│ ├── recursive_m5.ts
│ ├── with-default-type-params_m5.lua
│ ├── with-default-type-params_m5.ts
│ ├── with-params-and-known-rest-element_m5.lua
│ ├── with-params-and-known-rest-element_m5.ts
│ ├── with-params-and-unknown-rest-element_m5.lua
│ ├── with-params-and-unknown-rest-element_m5.ts
│ ├── with-params_m5.lua
│ ├── with-params_m5.ts
│ ├── with-type-params_m5.lua
│ ├── with-type-params_m5.ts
│ ├── without-params_m5.lua
│ └── without-params_m5.ts
│ ├── indexed-access-type
│ ├── with-keyof.lua
│ ├── with-keyof.ts
│ ├── with-number-keyword_m5.lua
│ ├── with-number-keyword_m5.ts
│ ├── with-string_m5.lua
│ ├── with-string_m5.ts
│ ├── with-type-reference_m5.lua
│ ├── with-type-reference_m5.ts
│ ├── with-type-union.lua
│ └── with-type-union.ts
│ ├── interface
│ ├── generic-extending-multiple_m5.lua
│ ├── generic-extending-multiple_m5.ts
│ ├── generic-extending_m5.lua
│ ├── generic-extending_m5.ts
│ ├── generic-with-default-and-comment_m5.lua
│ ├── generic-with-default-and-comment_m5.ts
│ ├── generic-with-default_m5.lua
│ ├── generic-with-default_m5.ts
│ ├── simple-extending_m5.lua
│ ├── simple-extending_m5.ts
│ ├── simple-generic_m5.lua
│ ├── simple-generic_m5.ts
│ ├── simple_m5.lua
│ └── simple_m5.ts
│ ├── intersection
│ ├── ts-intersection-type-multiple-mixed-union_m5.lua
│ ├── ts-intersection-type-multiple-mixed-union_m5.ts
│ ├── ts-intersection-type-multiple_m5.lua
│ ├── ts-intersection-type-multiple_m5.ts
│ ├── ts-intersection-type-simple_m5.lua
│ └── ts-intersection-type-simple_m5.ts
│ ├── literal-types-declaration_m5.lua
│ ├── literal-types-declaration_m5.ts
│ ├── literal-types-type-declaration_m5.lua
│ ├── literal-types-type-declaration_m5.ts
│ ├── luau-globals-index-keys_m5.lua
│ ├── luau-globals-index-keys_m5.ts
│ ├── luau-globals-keys_m5.lua
│ ├── luau-globals-keys_m5.ts
│ ├── luau-globals-string-keys_m5.lua
│ ├── luau-globals-string-keys_m5.ts
│ ├── non-null
│ ├── double_m5.lua
│ ├── double_m5.ts
│ ├── in-a-function-call_m5.lua
│ ├── in-a-function-call_m5.ts
│ ├── in-a-index-expression_m5.lua
│ ├── in-a-index-expression_m5.ts
│ ├── simple_m5.lua
│ ├── simple_m5.ts
│ ├── triple_m5.lua
│ └── triple_m5.ts
│ ├── object-keyword
│ ├── object-keyword-type-alias_m5.lua
│ ├── object-keyword-type-alias_m5.ts
│ ├── object-keyword-type-annotation_m5.lua
│ └── object-keyword-type-annotation_m5.ts
│ ├── reserved-keyword-index-keys_m5.lua
│ ├── reserved-keyword-index-keys_m5.ts
│ ├── reserved-keyword-keys_m5.lua
│ ├── reserved-keyword-keys_m5.ts
│ ├── reserved-keyword-string-keys_m5.lua
│ ├── reserved-keyword-string-keys_m5.ts
│ ├── ts-index-signature_m5.lua
│ ├── ts-index-signature_m5.ts
│ ├── ts-index-signature_multiple_m5.lua
│ ├── ts-index-signature_multiple_m5.ts
│ ├── ts-index-signature_multiple_with_property_signature_m5.lua
│ ├── ts-index-signature_multiple_with_property_signature_m5.ts
│ ├── ts-index-signature_with_property_signature_m5.lua
│ ├── ts-index-signature_with_property_signature_m5.ts
│ ├── ts-method-signature-inline-type-annotation_m5.lua
│ ├── ts-method-signature-inline-type-annotation_m5.ts
│ ├── ts-method-signature-simple_m5.lua
│ ├── ts-method-signature-simple_m5.ts
│ ├── ts-method-signature-with-params_m5.lua
│ ├── ts-method-signature-with-params_m5.ts
│ ├── ts-method-signature-with-rest-params_m5.lua
│ ├── ts-method-signature-with-rest-params_m5.ts
│ ├── ts-parenthesized-type_m5.lua
│ ├── ts-parenthesized-type_m5.ts
│ ├── ts-property-signature-with-identifier-key_m5.lua
│ ├── ts-property-signature-with-identifier-key_m5.ts
│ ├── ts-property-signature-with-string-literal-key_m5.lua
│ ├── ts-property-signature-with-string-literal-key_m5.ts
│ ├── ts-qualified-name-mixed-multiple-with-import-type_m5.lua
│ ├── ts-qualified-name-mixed-multiple-with-import-type_m5.ts
│ ├── ts-qualified-name-nested-with-import-type_m5.lua
│ ├── ts-qualified-name-nested-with-import-type_m5.ts
│ ├── ts-qualified-name-nested_m5.lua
│ ├── ts-qualified-name-nested_m5.ts
│ ├── ts-qualified-name-reexport-mixed-multiple-with-import-type_m5.lua
│ ├── ts-qualified-name-reexport-mixed-multiple-with-import-type_m5.ts
│ ├── ts-qualified-name-simple-multiple-with-import-type_m5.lua
│ ├── ts-qualified-name-simple-multiple-with-import-type_m5.ts
│ ├── ts-qualified-name-simple-with-import-type_m5.lua
│ ├── ts-qualified-name-simple-with-import-type_m5.ts
│ ├── ts-qualified-name-simple_m5.lua
│ ├── ts-qualified-name-simple_m5.ts
│ ├── ts-type-predicate
│ ├── function-return-type_m5.lua
│ └── function-return-type_m5.ts
│ ├── ts-type-query
│ ├── function-param_m5.lua
│ ├── function-param_m5.ts
│ ├── function-return-type_m5.lua
│ ├── function-return-type_m5.ts
│ ├── type-alias_m5.lua
│ └── type-alias_m5.ts
│ ├── ts-type-reference-builtins_m5.lua
│ ├── ts-type-reference-builtins_m5.ts
│ ├── tuple
│ ├── complex_m5.lua
│ ├── complex_m5.ts
│ ├── duplicate-params_m5.lua
│ ├── duplicate-params_m5.ts
│ ├── empty-param_m5.lua
│ ├── empty-param_m5.ts
│ ├── multiple-params_m5.lua
│ ├── multiple-params_m5.ts
│ ├── single-param_m5.lua
│ └── single-param_m5.ts
│ ├── type-alias-generic2_m5.lua
│ ├── type-alias-generic2_m5.ts
│ ├── type-alias-generic_m5.lua
│ ├── type-alias-generic_m5.ts
│ ├── type-alias-optionals_m5.lua
│ ├── type-alias-optionals_m5.ts
│ ├── type-literal-nested.lua
│ ├── type-literal-nested.ts
│ ├── type-literal-optionals_m5.lua
│ ├── type-literal-optionals_m5.ts
│ ├── type-literal-simple.lua
│ ├── type-literal-simple.ts
│ └── union
│ ├── ts-union-type-complex_m5.lua
│ ├── ts-union-type-complex_m5.ts
│ ├── ts-union-type-simple_m5.lua
│ └── ts-union-type-simple_m5.ts
├── custom-webpack.config.js
├── docs
└── JS-To-Lua.png
├── jest.config.ts
├── jest.preset.js
├── js-to-lua.config.json
├── libs
├── convert
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── config
│ │ │ ├── assigned-to.config.ts
│ │ │ └── no-shadow-identifiers.config.ts
│ │ │ ├── convert-program.ts
│ │ │ └── handlers
│ │ │ ├── declaration
│ │ │ ├── class
│ │ │ │ ├── cases
│ │ │ │ │ ├── class-declaration-methods.handler.ts
│ │ │ │ │ ├── class-declaration-static-properties.handler.ts
│ │ │ │ │ ├── default
│ │ │ │ │ │ ├── class-declaration-constructor.handler.ts
│ │ │ │ │ │ ├── class-declaration-default.handler.ts
│ │ │ │ │ │ ├── class-declaration-methods.handler.ts
│ │ │ │ │ │ ├── class-declaration-type-private.handler.ts
│ │ │ │ │ │ ├── class-declaration-type-statics.handler.ts
│ │ │ │ │ │ ├── class-declaration-type.handler.ts
│ │ │ │ │ │ └── class-declaration-variable-declaration.handler.ts
│ │ │ │ │ └── react
│ │ │ │ │ │ ├── react-class-declaration-constructor.handler.ts
│ │ │ │ │ │ ├── react-class-declaration-methods.handler.ts
│ │ │ │ │ │ ├── react-class-declaration-type-private.handler.ts
│ │ │ │ │ │ ├── react-class-declaration-type-statics.handler.ts
│ │ │ │ │ │ ├── react-class-declaration-type.handler.ts
│ │ │ │ │ │ ├── react-class-declaration-variable-declaration.handler.ts
│ │ │ │ │ │ ├── react-class-declaration.handler.ts
│ │ │ │ │ │ └── react.helpers.ts
│ │ │ │ ├── class-constructor-ts-parameter.handler.ts
│ │ │ │ ├── class-declaration.handler.spec.ts
│ │ │ │ ├── class-declaration.handler.ts
│ │ │ │ ├── class-declaration.utils.ts
│ │ │ │ ├── class-methods-properties.handler.ts
│ │ │ │ ├── class-static-property.handler.ts
│ │ │ │ ├── class-ts-parameter-property.handler.ts
│ │ │ │ ├── non-static-initialized-class-properties.handler.ts
│ │ │ │ └── ts-parameter-property.handler.ts
│ │ │ ├── convert-to-function-declaration.handler.ts
│ │ │ ├── declaration.handler.ts
│ │ │ ├── flow-interface-declaration.handler.spec.ts
│ │ │ ├── flow-interface-declaration.handler.ts
│ │ │ ├── function-declaration.handler.spec.ts
│ │ │ ├── function-declaration.handler.ts
│ │ │ ├── ts-enum-declaration.handler.ts
│ │ │ ├── ts-interface-declaration.handler.ts
│ │ │ ├── ts-module-block.handler.ts
│ │ │ ├── ts-module-declaration.handler.ts
│ │ │ ├── ts-module-declaration.helpers.ts
│ │ │ ├── type-alias-declaration.handler.ts
│ │ │ ├── variable-declaration.handler.spec.ts
│ │ │ └── variable-declaration.handler.ts
│ │ │ ├── expression-statement.handler.ts
│ │ │ ├── expression
│ │ │ ├── array-expression.handler.spec.ts
│ │ │ ├── array-expression.handler.ts
│ │ │ ├── arrow-expression.handler.ts
│ │ │ ├── await-expression.handler.spec.ts
│ │ │ ├── await-expression.handler.ts
│ │ │ ├── binary-expression
│ │ │ │ ├── add-operator-as-string.handler.ts
│ │ │ │ ├── add-operator.handler.ts
│ │ │ │ ├── arithmetic-operator.handler.ts
│ │ │ │ ├── binary-expression.handler.spec.ts
│ │ │ │ ├── binary-expression.handler.ts
│ │ │ │ ├── compare-operator.handler.ts
│ │ │ │ ├── loose-equals-operator.handler.ts
│ │ │ │ ├── loose-not-equals-operator.handler.ts
│ │ │ │ ├── operand-as-string.handler.ts
│ │ │ │ ├── power-operator.handler.ts
│ │ │ │ ├── strict-equals-operator.handler.ts
│ │ │ │ ├── strict-not-equals-operator.handler.ts
│ │ │ │ ├── type-of-object.handler.spec.ts
│ │ │ │ └── type-of-object.handler.ts
│ │ │ ├── call
│ │ │ │ ├── call-expression-arguments-as-statement.handler.ts
│ │ │ │ ├── call-expression-arguments.handler.ts
│ │ │ │ ├── call-expression-as-statement.handler.ts
│ │ │ │ ├── call-expression-default.handler.ts
│ │ │ │ ├── call-expression.handler.spec.ts
│ │ │ │ ├── call-expression.handler.ts
│ │ │ │ ├── callee-expression.handler.ts
│ │ │ │ ├── optional-call-expression.handler.spec.ts
│ │ │ │ ├── optional-call-expression.handler.ts
│ │ │ │ └── special-cases
│ │ │ │ │ ├── call-expression-apply-method.handlers.ts
│ │ │ │ │ ├── call-expression-bind.handler.ts
│ │ │ │ │ ├── call-expression-call-method.handlers.ts
│ │ │ │ │ ├── call-expression-chalk-method.handler.ts
│ │ │ │ │ ├── call-expression-computed-property.handler.ts
│ │ │ │ │ ├── call-expression-date-method.handler.ts
│ │ │ │ │ ├── call-expression-dot-notation.handler.ts
│ │ │ │ │ ├── call-expression-known-number-methods.handler.spec.ts
│ │ │ │ │ ├── call-expression-known-number-methods.handler.ts
│ │ │ │ │ ├── call-expression-parse-int.handler.ts
│ │ │ │ │ ├── call-expression-special-cases.handler.ts
│ │ │ │ │ ├── call-expression-string-repeat-method.handler.ts
│ │ │ │ │ ├── call-expression-symbol-methods.handlers.ts
│ │ │ │ │ ├── call-expression-to-string-method.handlers.ts
│ │ │ │ │ ├── chalk.utils.ts
│ │ │ │ │ ├── know-array-methods
│ │ │ │ │ ├── array-polyfilled-method-call.handler.ts
│ │ │ │ │ ├── array-pop-method-call.handler.ts
│ │ │ │ │ ├── array-push-method-call.handler.ts
│ │ │ │ │ ├── array-shift-method-call.handler.ts
│ │ │ │ │ ├── array-unshift-method-call.handler.ts
│ │ │ │ │ ├── call-expression-known-array-method.handler.spec.ts
│ │ │ │ │ ├── call-expression-known-array-method.handler.ts
│ │ │ │ │ ├── is-array-method.ts
│ │ │ │ │ ├── is-array-node.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── known-math-methods
│ │ │ │ │ ├── call-expression-known-math-methods.handler.spec.ts
│ │ │ │ │ └── call-expression-known-math-methods.handler.ts
│ │ │ │ │ └── utils.ts
│ │ │ ├── conditional-expression.handler.spec.ts
│ │ │ ├── conditional-expression.handler.ts
│ │ │ ├── expression.handler.ts
│ │ │ ├── flow-type-cast.handler.spec.ts
│ │ │ ├── flow-type-cast.handler.ts
│ │ │ ├── function-body.handler.ts
│ │ │ ├── function-expression.handler.ts
│ │ │ ├── handle-expression-as-numeric.ts
│ │ │ ├── identifier-global-lua.handler.ts
│ │ │ ├── identifier-handler-types.ts
│ │ │ ├── identifier-reserved-keyword.handler.ts
│ │ │ ├── identifier.handler.spec.ts
│ │ │ ├── identifier.handler.ts
│ │ │ ├── logical-expression
│ │ │ │ ├── logical-and-expression.handler.ts
│ │ │ │ ├── logical-expression.handler.spec.ts
│ │ │ │ ├── logical-expression.handler.ts
│ │ │ │ ├── logical-nullish-coalescing-expression.handler.ts
│ │ │ │ └── logical-or-expression.handler.ts
│ │ │ ├── member-expression.handler.spec.ts
│ │ │ ├── member-expression.handler.ts
│ │ │ ├── member
│ │ │ │ └── special-cases
│ │ │ │ │ ├── known-math-properties
│ │ │ │ │ ├── member-expression-known-math-properties.handler.spec.ts
│ │ │ │ │ └── member-expression-known-math-properties.handler.ts
│ │ │ │ │ ├── member-expression-known-number-properties.handler.spec.ts
│ │ │ │ │ ├── member-expression-known-number-properties.handler.ts
│ │ │ │ │ └── member-expression-special-cases.handler.ts
│ │ │ ├── new-expression-date.handler.ts
│ │ │ ├── new-expression.handler.spec.ts
│ │ │ ├── new-expression.handler.ts
│ │ │ ├── object-expression
│ │ │ │ ├── as-statement
│ │ │ │ │ ├── object-expression-as-statement.handler.spec.ts
│ │ │ │ │ ├── object-expression-as-statement.handler.ts
│ │ │ │ │ ├── object-expression-with-spread-as-statement.handler.ts
│ │ │ │ │ ├── object-expression-without-spread-as-statement.handler.ts
│ │ │ │ │ ├── object-field-as-statement.handler.ts
│ │ │ │ │ ├── object-method-as-statement.handler.ts
│ │ │ │ │ ├── object-property-as-statement.handler.ts
│ │ │ │ │ ├── object-property-value-as-statement.handler.ts
│ │ │ │ │ ├── object-value-function-as-statement.handler.ts
│ │ │ │ │ └── single-field-table-constructor-to-return.ts
│ │ │ │ ├── babel-assignment-pattern.ts
│ │ │ │ ├── object-expression-with-spread.handler.ts
│ │ │ │ ├── object-expression-without-spread.handler.ts
│ │ │ │ ├── object-expression.handler.spec.ts
│ │ │ │ ├── object-expression.handler.ts
│ │ │ │ ├── object-expression.types.ts
│ │ │ │ ├── object-field.handler.ts
│ │ │ │ ├── object-key-expression.handler.ts
│ │ │ │ ├── object-method.handler.ts
│ │ │ │ ├── object-property-identifier.handler.ts
│ │ │ │ ├── object-property-value.handler.ts
│ │ │ │ ├── object-property.handler.ts
│ │ │ │ └── object-value-function-expression.handler.ts
│ │ │ ├── optional-member-expression.handler.spec.ts
│ │ │ ├── optional-member-expression.handler.ts
│ │ │ ├── property-from-base.handler.ts
│ │ │ ├── react-function-body.handler.ts
│ │ │ ├── sequence-expression-as-statement.handler.ts
│ │ │ ├── sequence-expression.handler.spec.ts
│ │ │ ├── sequence-expression.handler.ts
│ │ │ ├── special-cases-helpers
│ │ │ │ ├── handler-map.ts
│ │ │ │ ├── is-math-method.ts
│ │ │ │ └── is-number-method.ts
│ │ │ ├── spread-element-properties.handler.spec.ts
│ │ │ ├── spread-element-properties.handler.ts
│ │ │ ├── tagged-template-expression.handler.spec.ts
│ │ │ ├── tagged-template-expression.handler.ts
│ │ │ ├── this-expression.handler.ts
│ │ │ ├── ts-as-expression.handler.spec.ts
│ │ │ ├── ts-as-expression.handler.ts
│ │ │ ├── ts-non-null-expression.handler.spec.ts
│ │ │ ├── ts-non-null-expression.handler.ts
│ │ │ ├── unary-expression.handler.spec.ts
│ │ │ ├── unary-expression.handler.ts
│ │ │ └── update-expression.handler.ts
│ │ │ ├── function-params-with-body.handler.ts
│ │ │ ├── function-params.types.ts
│ │ │ ├── function-return-type.handler.ts
│ │ │ ├── handle-as-boolean.ts
│ │ │ ├── inner-statement-body-handler.ts
│ │ │ ├── l-val.handler.ts
│ │ │ ├── param-ref-generator.ts
│ │ │ ├── pattern
│ │ │ ├── array-pattern-destructuring.handler.ts
│ │ │ └── object-pattern-destructuring.handler.ts
│ │ │ ├── primitives
│ │ │ ├── big-int.handler.spec.ts
│ │ │ ├── big-int.handler.ts
│ │ │ ├── boolean.handler.spec.ts
│ │ │ ├── boolean.handler.ts
│ │ │ ├── null.handler.spec.ts
│ │ │ ├── null.handler.ts
│ │ │ ├── numeric.handler.spec.ts
│ │ │ ├── numeric.handler.ts
│ │ │ ├── regexp.handler.spec.ts
│ │ │ ├── regexp.handler.ts
│ │ │ ├── split-string-by.spec.ts
│ │ │ ├── split-string-by.ts
│ │ │ ├── string.handler.spec.ts
│ │ │ ├── string.handler.ts
│ │ │ ├── template-literal.handler.spec.ts
│ │ │ └── template-literal.handler.ts
│ │ │ ├── program
│ │ │ ├── declaration
│ │ │ │ ├── program-class-declaration-react.handler.spec.ts
│ │ │ │ ├── program-class-declaration.handler.spec.ts
│ │ │ │ ├── program-function-declaration.spec.ts
│ │ │ │ ├── program-ts-enum-declaration.handler.spec.ts
│ │ │ │ ├── program-ts-interface-declaration.handler.spec.ts
│ │ │ │ ├── program-ts-module-declaration.spec.ts
│ │ │ │ ├── program-type-alias-declaration.spec.ts
│ │ │ │ └── program-variable-declaration.handler.spec.ts
│ │ │ ├── expression
│ │ │ │ ├── program-await-expression.handler.spec.ts
│ │ │ │ ├── program-call-expression.handler.spec.ts
│ │ │ │ ├── program-conditional-expression.handler.spec.ts
│ │ │ │ ├── program-flow-type-cast-expression.handler.spec.ts
│ │ │ │ ├── program-known-array-method-call.handler.spec.ts
│ │ │ │ ├── program-new-expression.handler.spec.ts
│ │ │ │ ├── program-optional-call-expression.handler.spec.ts
│ │ │ │ ├── program-optional-member-expression.handler.spec.ts
│ │ │ │ ├── program-sequence-expression.handler.spec.ts
│ │ │ │ ├── program-tagged-template-expression.handler.spec.ts
│ │ │ │ ├── program-ts-as-expression.handler.spec.ts
│ │ │ │ └── program-ts-non-null-expression.handler.spec.ts
│ │ │ ├── program-array-expression.handler.spec.ts
│ │ │ ├── program-arrow-function.spec.ts
│ │ │ ├── program-binary-expression.spec.ts
│ │ │ ├── program-block-statement.handler.spec.ts
│ │ │ ├── program-boolean.handler.spec.ts
│ │ │ ├── program-call-expression-known-math-methods.handler.spec.ts
│ │ │ ├── program-call-expression-known-number-methods.handler.spec.ts
│ │ │ ├── program-call-expression-known-number-properties.handler.spec.ts
│ │ │ ├── program-directive.handler.spec.ts
│ │ │ ├── program-function-expression.spec.ts
│ │ │ ├── program-logical-expression.spec.ts
│ │ │ ├── program-member-expression.handler.spec.ts
│ │ │ ├── program-method-call-expression.spec.ts
│ │ │ ├── program-numeric.handler.spec.ts
│ │ │ ├── program-object-expression.handler.spec.ts
│ │ │ ├── program-string.handler.spec.ts
│ │ │ ├── program-template-literal.handler.spec.ts
│ │ │ ├── program-type-annotations.handler.spec.ts
│ │ │ ├── program-unary-expression.handler.spec.ts
│ │ │ ├── program-update-expression.handler.spec.ts
│ │ │ ├── program.handler.ts
│ │ │ ├── program.spec.utils.ts
│ │ │ ├── statement
│ │ │ │ ├── export
│ │ │ │ │ ├── program-export-default.handler.spec.ts
│ │ │ │ │ ├── program-export-mixed.handler.spec.ts
│ │ │ │ │ └── program-export-named.handler.spec.ts
│ │ │ │ ├── import
│ │ │ │ │ └── program-import.handler.spec.ts
│ │ │ │ ├── program-assignment-expression.handler.spec.ts
│ │ │ │ ├── program-assignment-pattern.handler.spec.ts
│ │ │ │ ├── program-assignment-statement.handler.spec.ts
│ │ │ │ ├── program-do-while-statement-handler.spec.ts
│ │ │ │ ├── program-for-in-statement-handler.spec.ts
│ │ │ │ ├── program-for-of-statement-handler.spec.ts
│ │ │ │ ├── program-for-statement-handler.spec.ts
│ │ │ │ ├── program-if-statement-handler.spec.ts
│ │ │ │ ├── program-return-statement.handler.spec.ts
│ │ │ │ ├── program-switch-statement.handler.spec.ts
│ │ │ │ ├── program-throw-statement.handler.spec.ts
│ │ │ │ ├── program-try-statement.handler.spec.ts
│ │ │ │ ├── program-ts-import-equals-declaration-handler.spec.ts
│ │ │ │ └── program-while-statement-handler.spec.ts
│ │ │ └── type
│ │ │ │ ├── flow
│ │ │ │ ├── program-null-literal-type-annotation.handler.spec.ts
│ │ │ │ ├── program-nullable-type-annotation.handler.spec.ts
│ │ │ │ ├── program-object-type-annotation.handler.spec.ts
│ │ │ │ ├── program-qualified-type-identifier.handler.spec.ts
│ │ │ │ ├── program-string-literal-type-annotation.handler.spec.ts
│ │ │ │ └── program-tuple-type-annotation.handler.spec.ts
│ │ │ │ ├── program-ts-function-type-params.handler.spec.ts
│ │ │ │ ├── program-ts-method-signature.handler.spec.ts
│ │ │ │ ├── program-ts-tuple-type.handler.spec.ts
│ │ │ │ ├── program-ts-type-array.handler.spec.ts
│ │ │ │ └── ts
│ │ │ │ ├── program-ts-basic-types.handler.spec.ts
│ │ │ │ ├── program-ts-indexed-access-type.spec.ts
│ │ │ │ └── program-ts-qualified-name.handler.spec.ts
│ │ │ ├── rest-element.handler.ts
│ │ │ ├── statement
│ │ │ ├── assignment
│ │ │ │ ├── assignment-expression-as-statement.handler.spec.ts
│ │ │ │ ├── assignment-expression-as-statement.handler.ts
│ │ │ │ ├── assignment-expression.handler.spec.ts
│ │ │ │ ├── assignment-expression.handler.ts
│ │ │ │ ├── assignment-pattern.handler.spec.ts
│ │ │ │ ├── assignment-pattern.handler.ts
│ │ │ │ ├── assignment-statement-array-pattern-destructuring.handler.ts
│ │ │ │ ├── assignment-statement-get-operator.ts
│ │ │ │ └── assignment-statement-object-pattern-destructuring.handler.ts
│ │ │ ├── block-statement.handler.spec.ts
│ │ │ ├── block-statement.handler.ts
│ │ │ ├── break-statement.handler.spec.ts
│ │ │ ├── break-statement.handler.ts
│ │ │ ├── continue-statement-handler-config.ts
│ │ │ ├── continue-statement.handler.spec.ts
│ │ │ ├── continue-statement.handler.ts
│ │ │ ├── do-while-statement.handler.spec.ts
│ │ │ ├── do-while-statement.handler.ts
│ │ │ ├── export
│ │ │ │ ├── export-all.handler.ts
│ │ │ │ ├── export-default.handler.spec.ts
│ │ │ │ ├── export-default.handler.ts
│ │ │ │ ├── export-named-specifier.handler.ts
│ │ │ │ ├── export-named.handler.spec.ts
│ │ │ │ ├── export-named.handler.ts
│ │ │ │ ├── export-namespace-specifier.handler.ts
│ │ │ │ ├── export-specifier.handler.ts
│ │ │ │ ├── extract-declaration-metadata.ts
│ │ │ │ ├── index.spec.ts
│ │ │ │ └── index.ts
│ │ │ ├── expression-statement.handler.ts
│ │ │ ├── for-in-statement.handler.spec.ts
│ │ │ ├── for-in-statement.handler.ts
│ │ │ ├── for-of-statement-extract-statement.ts
│ │ │ ├── for-of-statement.handler.spec.ts
│ │ │ ├── for-of-statement.handler.ts
│ │ │ ├── for-statement-extract-declaration.ts
│ │ │ ├── for-statement
│ │ │ │ ├── for-statement-let-declaration.handler.ts
│ │ │ │ ├── for-statement.handler.spec.ts
│ │ │ │ ├── for-statement.handler.ts
│ │ │ │ ├── init-expression.handler.ts
│ │ │ │ └── update-expression.handler.ts
│ │ │ ├── if-statement.handler.spec.ts
│ │ │ ├── if-statement.handler.ts
│ │ │ ├── import
│ │ │ │ ├── import-declaration.handler.spec.ts
│ │ │ │ ├── import-declaration.handler.ts
│ │ │ │ ├── import-default-specifier.handler.spec.ts
│ │ │ │ ├── import-default-specifier.handler.ts
│ │ │ │ ├── import-expression.handler.ts
│ │ │ │ ├── import-module-declaration.handler.ts
│ │ │ │ ├── import-named-specifier.handler.spec.ts
│ │ │ │ ├── import-named-specifier.handler.ts
│ │ │ │ ├── import-namespace-specifier.handler.spec.ts
│ │ │ │ ├── import-namespace-specifier.handler.ts
│ │ │ │ ├── import-specifier.handler.ts
│ │ │ │ └── index.ts
│ │ │ ├── return-statement.handler.spec.ts
│ │ │ ├── return-statement.handler.ts
│ │ │ ├── statement.handler.ts
│ │ │ ├── switch-statement
│ │ │ │ ├── switch-statement-all-cases-returning-optional.handler.ts
│ │ │ │ ├── switch-statement-default.handler.ts
│ │ │ │ ├── switch-statement.handler.spec.ts
│ │ │ │ ├── switch-statement.handler.ts
│ │ │ │ └── utils.ts
│ │ │ ├── throw-statement.handler.spec.ts
│ │ │ ├── throw-statement.handler.ts
│ │ │ ├── try-statement.handler.spec.ts
│ │ │ ├── try-statement.handler.ts
│ │ │ ├── ts-import-equals-declaration.handler.spec.ts
│ │ │ ├── ts-import-equals-declaration.handler.ts
│ │ │ ├── while-statement.handler.spec.ts
│ │ │ └── while-statement.handler.ts
│ │ │ └── type
│ │ │ ├── flow
│ │ │ ├── any-type-annotation.handler.spec.ts
│ │ │ ├── any-type-annotation.handler.ts
│ │ │ ├── boolean-type-annotation.handler.spec.ts
│ │ │ ├── boolean-type-annotation.handler.ts
│ │ │ ├── flow-generic-type-annotation.handler.spec.ts
│ │ │ ├── flow-generic-type-annotation.handler.ts
│ │ │ ├── flow-generic-type-built-in-annotation.handler.spec.ts
│ │ │ ├── flow-generic-type-built-in-annotation.handler.ts
│ │ │ ├── flow-generic-type-special-cases.handler.ts
│ │ │ ├── flow-type-parameter-declaration.handler.ts
│ │ │ ├── flow-type.handler.ts
│ │ │ ├── function-type-annotation.handler.spec.ts
│ │ │ ├── function-type-annotation.handler.ts
│ │ │ ├── generic-type-annotation.handler.ts
│ │ │ ├── mixed-type-annotation.handler.spec.ts
│ │ │ ├── mixed-type-annotation.handler.ts
│ │ │ ├── null-literal-type-annotation.spec.ts
│ │ │ ├── null-literal-type-annotation.ts
│ │ │ ├── nullable-type-annotation.handler.spec.ts
│ │ │ ├── nullable-type-annotation.handler.ts
│ │ │ ├── number-literal-type-annotation.handler.spec.ts
│ │ │ ├── number-literal-type-annotation.handler.ts
│ │ │ ├── number-type-annotation.handler.spec.ts
│ │ │ ├── number-type-annotation.handler.ts
│ │ │ ├── object-type-annotation.handler.spec.ts
│ │ │ ├── object-type-annotation.handler.ts
│ │ │ ├── object-type-indexer.handler.ts
│ │ │ ├── object-type-property.handler.ts
│ │ │ ├── object-type-spread-property.handler.ts
│ │ │ ├── qualified-identifer.handler.ts
│ │ │ ├── string-literal-type-annotation.handler.spec.ts
│ │ │ ├── string-literal-type-annotation.handler.ts
│ │ │ ├── string-type-annotation.handler.spec.ts
│ │ │ ├── string-type-annotation.handler.ts
│ │ │ ├── tuple-type-annotation.handler.spec.ts
│ │ │ ├── tuple-type-annotation.handler.ts
│ │ │ ├── type-alias.handler.spec.ts
│ │ │ ├── type-alias.handler.ts
│ │ │ ├── type-annotation.handler.spec.ts
│ │ │ ├── type-annotation.handler.ts
│ │ │ ├── type-parameter-declaration.handler.spec.ts
│ │ │ ├── type-parameter.handler.spec.ts
│ │ │ ├── type-parameter.handler.ts
│ │ │ ├── typeof-type-annotation.handler.spec.ts
│ │ │ ├── typeof-type-annotation.handler.ts
│ │ │ ├── union-type-annotation.handler.spec.ts
│ │ │ ├── union-type-annotation.handler.ts
│ │ │ ├── void-type-annotation.handler.spec.ts
│ │ │ └── void-type-annotation.handler.ts
│ │ │ ├── infer-type.ts
│ │ │ ├── ts
│ │ │ ├── ts-any-keyword.handler.ts
│ │ │ ├── ts-array-type.handler.spec.ts
│ │ │ ├── ts-array-type.handler.ts
│ │ │ ├── ts-boolean-keyword.handler.ts
│ │ │ ├── ts-entity-name.handler.ts
│ │ │ ├── ts-function-method-type.handler.ts
│ │ │ ├── ts-function-type.handler.spec.ts
│ │ │ ├── ts-function-type.handler.ts
│ │ │ ├── ts-index-signature.handler.spec.ts
│ │ │ ├── ts-index-signature.handler.ts
│ │ │ ├── ts-indexed-access-type.spec.ts
│ │ │ ├── ts-indexed-access-type.ts
│ │ │ ├── ts-interface-body.handler.ts
│ │ │ ├── ts-literal-type.handler.spec.ts
│ │ │ ├── ts-literal-type.handler.ts
│ │ │ ├── ts-method-signature.handler.spec.ts
│ │ │ ├── ts-method-signature.handler.ts
│ │ │ ├── ts-never-keyword.handler.ts
│ │ │ ├── ts-null-keyword.handler.ts
│ │ │ ├── ts-number-keyword.handler.ts
│ │ │ ├── ts-object-keyword.handler.ts
│ │ │ ├── ts-parenthesized-type.handler.spec.ts
│ │ │ ├── ts-parenthesized-type.handler.ts
│ │ │ ├── ts-property-signature.handler.spec.ts
│ │ │ ├── ts-property-signature.handler.ts
│ │ │ ├── ts-qualified-name.handler.spec.ts
│ │ │ ├── ts-qualified-name.handler.ts
│ │ │ ├── ts-string-keyword.handler.ts
│ │ │ ├── ts-tuple-type.handler.spec.ts
│ │ │ ├── ts-tuple-type.handler.ts
│ │ │ ├── ts-type-alias-declaration.handler.ts
│ │ │ ├── ts-type-annotation.handler.ts
│ │ │ ├── ts-type-element.handler.ts
│ │ │ ├── ts-type-intersection.handler.ts
│ │ │ ├── ts-type-literal.handler.spec.ts
│ │ │ ├── ts-type-literal.handler.ts
│ │ │ ├── ts-type-parameter-declaration.handler.spec.ts
│ │ │ ├── ts-type-parameter-declaration.handler.ts
│ │ │ ├── ts-type-parameter.handler.ts
│ │ │ ├── ts-type-predicate.handler.ts
│ │ │ ├── ts-type-query.handler.ts
│ │ │ ├── ts-type-reference-built-in.handler.spec.ts
│ │ │ ├── ts-type-reference-built-in.handler.ts
│ │ │ ├── ts-type-reference-handler.spec.ts
│ │ │ ├── ts-type-reference-handler.ts
│ │ │ ├── ts-type-reference-special-cases.handler.ts
│ │ │ ├── ts-type-union.handler.ts
│ │ │ ├── ts-undefined-keyword.handler.ts
│ │ │ ├── ts-unknown-keyword.handler.ts
│ │ │ └── ts-void-keyword.handler.ts
│ │ │ ├── type-annotation.handler.ts
│ │ │ └── type-parameter-declaration.handler.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── diff-tool
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── attempt-fix-patch.spec.ts
│ │ │ ├── attempt-fix-patch.ts
│ │ │ ├── conflict
│ │ │ ├── auto-resolve-strategy.spec.ts
│ │ │ ├── auto-resolve-strategy.ts
│ │ │ ├── conflict-factory.spec.ts
│ │ │ ├── conflict-factory.ts
│ │ │ ├── conflict.spec.ts
│ │ │ ├── conflict.ts
│ │ │ ├── conflict.types.ts
│ │ │ ├── index.ts
│ │ │ ├── match-comments-strategy.spec.ts
│ │ │ ├── match-comments-strategy.ts
│ │ │ ├── upgrade-version-header-strategy.spec.ts
│ │ │ ├── upgrade-version-header-strategy.ts
│ │ │ ├── utilities.spec.ts
│ │ │ └── utilities.ts
│ │ │ ├── deviations.spec.ts
│ │ │ ├── deviations.ts
│ │ │ ├── diff-tool.spec.ts
│ │ │ ├── diff-tool.ts
│ │ │ ├── diff-tool.types.ts
│ │ │ ├── get-branch-file.ts
│ │ │ ├── js-to-lua.types.ts
│ │ │ ├── log-conflicts-summary.spec.ts
│ │ │ ├── log-conflicts-summary.ts
│ │ │ ├── minimize-conflicts.spec.ts
│ │ │ ├── minimize-conflicts.ts
│ │ │ ├── rename-files.spec.ts
│ │ │ └── rename-files.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── fast-follow-commands
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── index.js
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── commands
│ │ │ ├── apply-patch.ts
│ │ │ ├── compare.ts
│ │ │ ├── get-config.ts
│ │ │ ├── gh-utils.spec.ts
│ │ │ ├── gh-utils.ts
│ │ │ ├── pr-utils.ts
│ │ │ ├── scan-commits.ts
│ │ │ ├── scan-releases.ts
│ │ │ └── upgrade.ts
│ │ │ ├── generic-options.ts
│ │ │ ├── slack-notifications.spec.ts
│ │ │ └── slack-notifications.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── handler-utils
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── append-comments.ts
│ │ │ ├── as-statement
│ │ │ ├── as-statement-return-value.spec.ts
│ │ │ ├── base-node-handler.ts
│ │ │ ├── combine-as-statement-handlers.ts
│ │ │ ├── create-as-statement-handler-function.spec.ts
│ │ │ ├── create-as-statement-handler-function.ts
│ │ │ ├── handler-function.ts
│ │ │ ├── index.ts
│ │ │ ├── return-type-inline.ts
│ │ │ ├── return-type-standalone-or-inline.ts
│ │ │ ├── return-type-with-identifier.ts
│ │ │ └── return-type.ts
│ │ │ ├── combine-handlers.spec.ts
│ │ │ ├── combine-handlers.ts
│ │ │ ├── combine-optional-handlers.ts
│ │ │ ├── create-as-statement-handler.ts
│ │ │ ├── create-handler-function.spec.ts
│ │ │ ├── create-handler-function.ts
│ │ │ ├── create-handler.ts
│ │ │ ├── create-optional-handler-function.ts
│ │ │ ├── forward-handler-ref.ts
│ │ │ ├── handle-comments.spec.ts
│ │ │ ├── handle-comments.ts
│ │ │ ├── inner-types.ts
│ │ │ ├── prepend-comments.ts
│ │ │ ├── test-utils
│ │ │ ├── index.ts
│ │ │ ├── mock-node.ts
│ │ │ └── with-comments.ts
│ │ │ └── types.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── lua-conversion-utils
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── append-program.ts
│ │ │ ├── array-inferable.spec.ts
│ │ │ ├── array-inferable.ts
│ │ │ ├── as-statement-return-type-to-statement.ts
│ │ │ ├── babel
│ │ │ ├── date.ts
│ │ │ ├── index.ts
│ │ │ ├── object-string-literal.ts
│ │ │ └── typeof-expression.ts
│ │ │ ├── bit-32-method.ts
│ │ │ ├── boolean-inferable.spec.ts
│ │ │ ├── boolean-inferable.ts
│ │ │ ├── comment
│ │ │ ├── extract-with-comments.ts
│ │ │ ├── extract-with-commments.spec.ts
│ │ │ ├── has-any-comment.spec.ts
│ │ │ ├── has-any-comment.ts
│ │ │ ├── index.ts
│ │ │ ├── inner-comment.spec.ts
│ │ │ ├── inner-comment.ts
│ │ │ ├── leading-comment.spec.ts
│ │ │ ├── leading-comment.ts
│ │ │ ├── reassign-comments.ts
│ │ │ ├── section-comment.ts
│ │ │ ├── trailing-comment.spec.ts
│ │ │ ├── trailing-comment.ts
│ │ │ └── trim-values.ts
│ │ │ ├── common-identifiers.ts
│ │ │ ├── create-expression-statement.ts
│ │ │ ├── creators
│ │ │ ├── creators.ts
│ │ │ ├── date-time-creators.spec.ts
│ │ │ ├── date-time.creators.ts
│ │ │ ├── index.ts
│ │ │ ├── join-expressions-with.spec.ts
│ │ │ ├── join-expressions-with.ts
│ │ │ ├── join-multiline-string-literal.spec.ts
│ │ │ ├── join-multiline-string-literals.ts
│ │ │ ├── join-string-literals.spec.ts
│ │ │ ├── join-string-literals.ts
│ │ │ ├── math.creators.ts
│ │ │ ├── number.creators.ts
│ │ │ ├── table.creators.spec.ts
│ │ │ └── table.creators.ts
│ │ │ ├── escape-pattern.spec.ts
│ │ │ ├── escape-pattern.ts
│ │ │ ├── extras
│ │ │ ├── extras.ts
│ │ │ ├── index.ts
│ │ │ ├── with-alternative-identifier-expression-extras.spec.ts
│ │ │ ├── with-alternative-identifier-expression-extras.ts
│ │ │ ├── with-class-declaration-extra.spec.ts
│ │ │ ├── with-class-declaration-extra.ts
│ │ │ ├── with-export-skip-extra.ts
│ │ │ ├── with-exports-extra.ts
│ │ │ ├── with-flow-built-in-type-extra.ts
│ │ │ ├── with-math-const-extra.ts
│ │ │ ├── with-needs-packages-extra.ts
│ │ │ ├── with-number-const-extra.ts
│ │ │ ├── with-original-identifier-name-extras.spec.ts
│ │ │ ├── with-original-identifier-name-extras.ts
│ │ │ ├── with-original-ids-extra.spec.ts
│ │ │ ├── with-original-ids-extra.ts
│ │ │ ├── with-polyfill-extra.spec.ts
│ │ │ ├── with-polyfill-extra.ts
│ │ │ ├── with-polyfill-type-extra.spec.ts
│ │ │ ├── with-polyfill-type-extra.ts
│ │ │ ├── with-promise-polyfill-extra.ts
│ │ │ ├── with-qualified-name-additional-import-extra.spec.ts
│ │ │ ├── with-qualified-name-additional-import-extra.ts
│ │ │ ├── with-regexp-polyfill-extra.ts
│ │ │ ├── with-source-type-extra.ts
│ │ │ ├── with-ts-built-in-type-extra.ts
│ │ │ └── with-void-type-polyfill-extra.ts
│ │ │ ├── generate-unique-identifier.ts
│ │ │ ├── get-module-path.spec.ts
│ │ │ ├── get-module-path.ts
│ │ │ ├── get-node-source.ts
│ │ │ ├── get-object-property-expression.ts
│ │ │ ├── get-return-expressions.ts
│ │ │ ├── get-return-type.ts
│ │ │ ├── get-type-property-signature-key.ts
│ │ │ ├── handlers
│ │ │ ├── combine
│ │ │ │ ├── combine-expression-handlers.ts
│ │ │ │ ├── combine-statement-handlers.ts
│ │ │ │ ├── combine-type-annotation-handlers.ts
│ │ │ │ └── index.ts
│ │ │ ├── default
│ │ │ │ ├── default-element.handler.ts
│ │ │ │ ├── default-expression.handler.ts
│ │ │ │ ├── default-statement.handler.ts
│ │ │ │ ├── default-type-annotation.handler.ts
│ │ │ │ ├── default-type-parameter.handler.ts
│ │ │ │ ├── default-type.handler.ts
│ │ │ │ ├── default-unhandled-identifier.handler.ts
│ │ │ │ └── index.ts
│ │ │ └── index.ts
│ │ │ ├── identifier-luau-globals.ts
│ │ │ ├── identifier-roblox-globals.ts
│ │ │ ├── identifier-roblox-keywords.ts
│ │ │ ├── is-lua-truthy.ts
│ │ │ ├── is-pure.ts
│ │ │ ├── member-expression-from-path.spec.ts
│ │ │ ├── member-expression-from-path.ts
│ │ │ ├── prepend-program.ts
│ │ │ ├── remove-id-type-annotation.ts
│ │ │ ├── remove-type-annotation.ts
│ │ │ ├── string-inferable.spec.ts
│ │ │ ├── string-inferable.ts
│ │ │ ├── type-reference-without-default-type.ts
│ │ │ ├── unwrap-node-group.spec.ts
│ │ │ ├── unwrap-node-group.ts
│ │ │ ├── valid-identifier.spec.ts
│ │ │ ├── valid-identifier.ts
│ │ │ └── visitor
│ │ │ ├── index.ts
│ │ │ ├── visitor.spec.ts
│ │ │ └── visitor.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── lua-print
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── check-precedence.spec.ts
│ │ │ ├── check-precedence.ts
│ │ │ ├── declaration
│ │ │ ├── print-property-signature.spec.ts
│ │ │ ├── print-property-signature.ts
│ │ │ ├── print-type-declaration.spec.ts
│ │ │ ├── print-type-declaration.ts
│ │ │ ├── print-type-parameter-declaration.spec.ts
│ │ │ ├── print-type-parameter-declaration.ts
│ │ │ └── variable-declaration
│ │ │ │ ├── print-variable-declaration.ts
│ │ │ │ ├── print-variable-declarator-identifier.ts
│ │ │ │ └── print-variable-declarator-value.ts
│ │ │ ├── expression
│ │ │ ├── print-base-expression.ts
│ │ │ ├── print-call-expression.ts
│ │ │ ├── print-callee-expression.ts
│ │ │ ├── print-if-expression.spec.ts
│ │ │ ├── print-if-expression.ts
│ │ │ ├── print-index-expression.ts
│ │ │ ├── print-member-expression.spec.ts
│ │ │ ├── print-member-expression.ts
│ │ │ ├── print-type-cast-expression.spec.ts
│ │ │ ├── print-type-cast-expression.ts
│ │ │ └── table-constructor
│ │ │ │ ├── print-table-constructor.spec.ts
│ │ │ │ ├── print-table-constructor.ts
│ │ │ │ ├── print-table-expression-key-field.ts
│ │ │ │ ├── print-table-key-field.ts
│ │ │ │ └── print-table-no-key-field.ts
│ │ │ ├── primitives
│ │ │ ├── print-multiline-string.spec.ts
│ │ │ ├── print-multiline-string.ts
│ │ │ ├── print-numeric.spec.ts
│ │ │ ├── print-numeric.ts
│ │ │ ├── print-string.spec.ts
│ │ │ └── print-string.ts
│ │ │ ├── print-conversion-comments.spec.ts
│ │ │ ├── print-function-comments.spec.ts
│ │ │ ├── print-node.ts
│ │ │ ├── print-program.ts
│ │ │ ├── printable-comments.ts
│ │ │ ├── printer-function.ts
│ │ │ ├── statements
│ │ │ ├── print-assignment-statement.ts
│ │ │ ├── print-block-statement.spec.ts
│ │ │ ├── print-block-statement.ts
│ │ │ ├── print-break-statement.ts
│ │ │ ├── print-continue-statement.spec.ts
│ │ │ ├── print-continue-statement.ts
│ │ │ ├── print-export-type-statement.ts
│ │ │ ├── print-expression-statement.ts
│ │ │ ├── print-for-generic-statement.spec.ts
│ │ │ ├── print-for-generic-statement.ts
│ │ │ ├── print-if-statement.spec.ts
│ │ │ ├── print-if-statement.ts
│ │ │ ├── print-node-group.ts
│ │ │ ├── print-repeat-statement.spec.ts
│ │ │ ├── print-repeat-statement.ts
│ │ │ ├── print-return-statement.ts
│ │ │ ├── print-unhandled-statement.ts
│ │ │ ├── print-while-statement.spec.ts
│ │ │ └── print-while-statement.ts
│ │ │ ├── type
│ │ │ ├── print-base-type.spec.ts
│ │ │ ├── print-base-type.ts
│ │ │ ├── print-function-return-type.ts
│ │ │ ├── print-index-signature.ts
│ │ │ ├── print-type-function.spec.ts
│ │ │ ├── print-type-function.ts
│ │ │ ├── print-type-intersection.spec.ts
│ │ │ ├── print-type-intersection.ts
│ │ │ ├── print-type-literal.spec.ts
│ │ │ ├── print-type-literal.ts
│ │ │ ├── print-type-optional.spec.ts
│ │ │ ├── print-type-optional.ts
│ │ │ ├── print-type-query.spec.ts
│ │ │ ├── print-type-query.ts
│ │ │ ├── print-type-reference.spec.ts
│ │ │ ├── print-type-reference.ts
│ │ │ ├── print-type-union.spec.ts
│ │ │ ├── print-type-union.ts
│ │ │ ├── print-typeof-expression.spec.ts
│ │ │ └── print-typeof-expression.ts
│ │ │ └── utils.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── lua-types
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── comment.ts
│ │ │ ├── declaration
│ │ │ ├── declaration.ts
│ │ │ ├── function.ts
│ │ │ ├── index.ts
│ │ │ ├── type-alias.ts
│ │ │ └── variable.ts
│ │ │ ├── expression
│ │ │ ├── binary.ts
│ │ │ ├── call.ts
│ │ │ ├── expression.ts
│ │ │ ├── function-param.ts
│ │ │ ├── function.ts
│ │ │ ├── identifier.ts
│ │ │ ├── if-expression.spec.ts
│ │ │ ├── if-expression.ts
│ │ │ ├── index-expression.ts
│ │ │ ├── index.ts
│ │ │ ├── logical.ts
│ │ │ ├── lval.ts
│ │ │ ├── member.ts
│ │ │ ├── type-cast-expression.ts
│ │ │ ├── unary-negation.ts
│ │ │ ├── unary-void.ts
│ │ │ └── unary.ts
│ │ │ ├── literals
│ │ │ ├── boolean.ts
│ │ │ ├── index.ts
│ │ │ ├── multiline-string.ts
│ │ │ ├── nil.ts
│ │ │ ├── numeric.ts
│ │ │ ├── string.ts
│ │ │ ├── table-constructor.ts
│ │ │ ├── table-expression-key-field.ts
│ │ │ ├── table-key-field.ts
│ │ │ ├── table-name-key-field.ts
│ │ │ └── table-no-key-field.ts
│ │ │ ├── lua-nodes.types.ts
│ │ │ ├── node.types.spec.ts
│ │ │ ├── node.types.ts
│ │ │ ├── program.ts
│ │ │ ├── statement
│ │ │ ├── assignment-statement.ts
│ │ │ ├── block-statement.ts
│ │ │ ├── break-statement.ts
│ │ │ ├── continue-statement.spec.ts
│ │ │ ├── continue-statement.ts
│ │ │ ├── export-type-statement.ts
│ │ │ ├── expression-statement.ts
│ │ │ ├── for-generic-statement.ts
│ │ │ ├── if-statement.ts
│ │ │ ├── index.ts
│ │ │ ├── node-group.ts
│ │ │ ├── repeat-statement.ts
│ │ │ ├── return-statement.ts
│ │ │ ├── statement.ts
│ │ │ └── while-statement.ts
│ │ │ ├── type
│ │ │ ├── index.ts
│ │ │ ├── literal-type.ts
│ │ │ ├── type-annotation.ts
│ │ │ ├── type-any.ts
│ │ │ ├── type-boolean.ts
│ │ │ ├── type-function-param.ts
│ │ │ ├── type-function-return-type.ts
│ │ │ ├── type-function.ts
│ │ │ ├── type-index-signature.ts
│ │ │ ├── type-intersection.ts
│ │ │ ├── type-literal.ts
│ │ │ ├── type-nil.ts
│ │ │ ├── type-number.ts
│ │ │ ├── type-optional.ts
│ │ │ ├── type-parameter-declaration.ts
│ │ │ ├── type-property-signature.ts
│ │ │ ├── type-query.ts
│ │ │ ├── type-reference.ts
│ │ │ ├── type-string.ts
│ │ │ ├── type-union.ts
│ │ │ ├── type.ts
│ │ │ ├── typeof-expression.spec.ts
│ │ │ └── typeof-expression.ts
│ │ │ └── unhandled.ts
│ ├── test-utils
│ │ ├── .babelrc
│ │ ├── .eslintrc.json
│ │ ├── README.md
│ │ ├── jest.config.ts
│ │ ├── project.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── lib
│ │ │ │ ├── mock-node.ts
│ │ │ │ └── with-location.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.lib.json
│ │ └── tsconfig.spec.json
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── plugin-utils
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ └── plugin-utils.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── plugins
│ ├── jest-globals
│ │ ├── .babelrc
│ │ ├── .eslintrc.json
│ │ ├── README.md
│ │ ├── e2e
│ │ │ ├── .babelrc
│ │ │ ├── .eslintrc.json
│ │ │ ├── README.md
│ │ │ ├── jest.config.ts
│ │ │ ├── project.json
│ │ │ ├── src
│ │ │ │ ├── index.ts
│ │ │ │ └── lib
│ │ │ │ │ └── program-plugins-jest-globals.spec.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.lib.json
│ │ │ └── tsconfig.spec.json
│ │ ├── jest.config.ts
│ │ ├── project.json
│ │ ├── src
│ │ │ ├── index.ts
│ │ │ └── lib
│ │ │ │ ├── jest-global-extra.ts
│ │ │ │ ├── plugins-jest-globals.ts
│ │ │ │ └── post-process
│ │ │ │ ├── hooks
│ │ │ │ ├── pre-gather.ts
│ │ │ │ └── pre-run.ts
│ │ │ │ └── index.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.lib.json
│ │ └── tsconfig.spec.json
│ └── known-imports
│ │ ├── .babelrc
│ │ ├── .eslintrc.json
│ │ ├── README.md
│ │ ├── jest.config.ts
│ │ ├── project.json
│ │ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── handlers
│ │ │ ├── index.ts
│ │ │ ├── utils.spec.ts
│ │ │ └── utils.ts
│ │ │ ├── plugins-known-imports.ts
│ │ │ ├── post-process
│ │ │ ├── hooks
│ │ │ │ └── post-run.ts
│ │ │ └── index.ts
│ │ │ └── utils.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.lib.json
│ │ └── tsconfig.spec.json
├── post-process
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── post-process.ts
│ │ │ ├── program-post-process.spec.ts
│ │ │ └── steps
│ │ │ ├── add-exports.ts
│ │ │ ├── add-flow-built-in-types.ts
│ │ │ ├── add-imports.ts
│ │ │ ├── add-math-consts.ts
│ │ │ ├── add-number-consts.ts
│ │ │ ├── add-polyfills.ts
│ │ │ ├── add-promise-import.ts
│ │ │ ├── add-qualified-name-imports.ts
│ │ │ ├── add-regexp-import.ts
│ │ │ ├── add-ts-built-in-types.ts
│ │ │ ├── add-void-polyfill-type.ts
│ │ │ ├── extract-copyright-comment.ts
│ │ │ ├── gather-extras.ts
│ │ │ └── remove-extras.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── release-tracker
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── conversion-config.ts
│ │ │ ├── execute-query.ts
│ │ │ ├── get-latest-repo-commit.ts
│ │ │ ├── get-latest-repo-release.ts
│ │ │ ├── get-repo-conversion-config.ts
│ │ │ ├── release-tracker.spec.ts
│ │ │ └── release-tracker.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── shared-utils
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── dedent.ts
│ │ │ ├── fmt-join.spec.ts
│ │ │ ├── fmt-join.ts
│ │ │ ├── fmt.spec.ts
│ │ │ ├── fmt.ts
│ │ │ ├── format-code.ts
│ │ │ ├── has-own-property.ts
│ │ │ ├── is-truthy.ts
│ │ │ ├── normalize-path-separators.ts
│ │ │ ├── prepend-string.ts
│ │ │ ├── safe-apply.ts
│ │ │ ├── safe-json-parse.ts
│ │ │ ├── split-by.spec.ts
│ │ │ ├── split-by.ts
│ │ │ ├── string-utils.spec.ts
│ │ │ ├── string-utils.ts
│ │ │ └── types.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
├── upstream-utils
│ ├── .eslintrc.json
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ │ ├── index.ts
│ │ └── lib
│ │ │ ├── git-utils.spec.ts
│ │ │ ├── git-utils.ts
│ │ │ ├── upstream-utils.spec.ts
│ │ │ └── upstream-utils.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ └── tsconfig.spec.json
└── version-manager
│ ├── .babelrc
│ ├── .eslintrc.json
│ ├── .jest
│ └── env.js
│ ├── README.md
│ ├── jest.config.ts
│ ├── project.json
│ ├── src
│ ├── index.ts
│ └── lib
│ │ ├── version-manager.spec.ts
│ │ └── version-manager.ts
│ ├── tsconfig.json
│ ├── tsconfig.lib.json
│ ├── tsconfig.spec.json
│ └── webpack.config.js
├── lint-staged.config.js
├── nx.json
├── package-lock.json
├── package.json
├── tools
├── generators
│ └── .gitkeep
├── scripts
│ ├── generate-release
│ │ ├── generate-release-branch.js
│ │ ├── generate-release-tag.js
│ │ └── generate-release-utils.js
│ ├── make-file-executable.js
│ ├── verification-polyfills.lua
│ └── verify-conformance-tests.js
└── tsconfig.tools.json
├── tsconfig.base.json
└── workspace.json
/.husky/.gitignore:
--------------------------------------------------------------------------------
1 | _
2 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | npx lint-staged
5 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # Add files here to ignore them from prettier formatting
2 |
3 | /dist
4 | /coverage
5 | /conformance-tests
6 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true
3 | }
--------------------------------------------------------------------------------
/apps/convert-js-to-lua/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/convert-js-to-lua/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/convert-js-to-lua/src/index.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | require('./main');
3 |
--------------------------------------------------------------------------------
/apps/fast-follow/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@roblox/fast-follow",
3 | "version": "0.0.7",
4 | "bin": "index.js"
5 | }
6 |
--------------------------------------------------------------------------------
/apps/fast-follow/src/app/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roblox/js-to-lua/5ce4081d78da1648f0d923799827c13442bcdbfb/apps/fast-follow/src/app/.gitkeep
--------------------------------------------------------------------------------
/apps/fast-follow/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/fast-follow/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/fast-follow/src/index.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | require('./main');
4 |
--------------------------------------------------------------------------------
/apps/playground/src/app/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roblox/js-to-lua/5ce4081d78da1648f0d923799827c13442bcdbfb/apps/playground/src/app/.gitkeep
--------------------------------------------------------------------------------
/apps/playground/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Roblox/js-to-lua/5ce4081d78da1648f0d923799827c13442bcdbfb/apps/playground/src/assets/.gitkeep
--------------------------------------------------------------------------------
/apps/playground/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/playground/src/environments/environment.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: false,
3 | };
4 |
--------------------------------------------------------------------------------
/apps/playground/src/main.ts:
--------------------------------------------------------------------------------
1 | import { run } from './run';
2 |
3 | run();
4 |
--------------------------------------------------------------------------------
/babel-flow.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "plugins": ["jsx", "flow", "classProperties"]
4 | }
5 |
--------------------------------------------------------------------------------
/babel-ts.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "sourceType": "unambiguous",
3 | "plugins": ["jsx", "typescript", "classProperties"]
4 | }
5 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/booleans/boolean-typed_m1.ts:
--------------------------------------------------------------------------------
1 | const flag: boolean = false;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/booleans/boolean_m1.js:
--------------------------------------------------------------------------------
1 | const flag = true;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/never/never-typed-throw-error_m5.ts:
--------------------------------------------------------------------------------
1 | function throwError(errorMsg: string): never {
2 | throw errorMsg;
3 | }
4 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/null/null-typed_m5.ts:
--------------------------------------------------------------------------------
1 | const foo: null = null;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/NaN.js:
--------------------------------------------------------------------------------
1 | let value = NaN;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/binary.js:
--------------------------------------------------------------------------------
1 | const value = 0b0101;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/exponent.js:
--------------------------------------------------------------------------------
1 | const value = 23e-2;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/hexadecimal.js:
--------------------------------------------------------------------------------
1 | const value = 0x16Ef;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/infinity.js:
--------------------------------------------------------------------------------
1 | const value = Infinity;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/integer-typed.ts:
--------------------------------------------------------------------------------
1 | const value: number = 7
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/integer-with-separator.js:
--------------------------------------------------------------------------------
1 | const value = 123_456;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/leading-zero-decimal.js:
--------------------------------------------------------------------------------
1 | const value = 078;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/numbers/octal.js:
--------------------------------------------------------------------------------
1 | const value = 077;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/escape-normal-character.js:
--------------------------------------------------------------------------------
1 | const value = "\o"
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/escape-sequences.js:
--------------------------------------------------------------------------------
1 | const value = "\b\f\n\r\t\v\0\'\"\\";
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/hex-escape-sequences.js:
--------------------------------------------------------------------------------
1 | const value = "\x00\xaa\xFF";
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/line-continuation.js:
--------------------------------------------------------------------------------
1 | const value = "foo-\
2 | bar";
3 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/multiline-template-first-line-empty.js:
--------------------------------------------------------------------------------
1 | const value = `
2 | foo
3 | bar
4 | baz
5 | `;
6 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/multiline-template-with-closing-bracket-at-the-end.js:
--------------------------------------------------------------------------------
1 | let foo = `
2 | Schedule update [count]`
3 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/multiline-template-with-double-brackets.js:
--------------------------------------------------------------------------------
1 | const value = `
2 | foo
3 | [[bar]]
4 | baz
5 | `;
6 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/multiline-template.js:
--------------------------------------------------------------------------------
1 | const value = `foo
2 |
3 | bar baz`;
4 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/octal-escape-sequence-follow-by-8.js:
--------------------------------------------------------------------------------
1 | const value = "\58";
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/octal-escape-sequences.js:
--------------------------------------------------------------------------------
1 | const value = "\1\01\001\72\114";
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/simple-typed.ts:
--------------------------------------------------------------------------------
1 | const value: string = 'foo';
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/simple.js:
--------------------------------------------------------------------------------
1 | const value = 'foo';
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/strings/template-escape-new-line.js:
--------------------------------------------------------------------------------
1 | const value = `\n`;
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/template-literals/single-line-template-with-expressions-and-format-patterns_m5.js:
--------------------------------------------------------------------------------
1 | const foo = `abc%s${value}% %d%s%%f`
2 |
--------------------------------------------------------------------------------
/conformance-tests/base-types/unknown/unknown-typed_m5.ts:
--------------------------------------------------------------------------------
1 | const foo: unknown = 'unknown';
2 |
--------------------------------------------------------------------------------
/conformance-tests/comments/function-declaration-inner-comment-line_m5.js:
--------------------------------------------------------------------------------
1 | function foo() {
2 | // I'm an inner comment line
3 | }
--------------------------------------------------------------------------------
/conformance-tests/comments/generic-type-leading_m5.ts:
--------------------------------------------------------------------------------
1 | type Foo* Leading comment */T> = {}
--------------------------------------------------------------------------------
/conformance-tests/comments/generic-type-trailing_m5.ts:
--------------------------------------------------------------------------------
1 | type Bar