-
Notifications
You must be signed in to change notification settings - Fork 22
adding "Importing Arrays" section #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
docs/external-lua-code.md
Outdated
```ts title=main.ts | ||
import { myFunction } from "./somelua"; | ||
import { myFunction } from "./someLua"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
myFunction is not in someLua.lua, please change main.ts to reflect the contents you gave to someLua
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops, fixed now
docs/external-lua-code.md
Outdated
} | ||
``` | ||
|
||
In normal TypeScript code that imports an array, you would typically use the `export default` functionality of ES6 imports. But you can't do that here, because Lua code has no import named `default`. Instead, you have to use `export =` syntax, like so: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is incorrect, we support export
/import default
functionality just fine, it's just that your lua file does not return a module (table) with a member named default
docs/external-lua-code.md
Outdated
Then, in your TypeScript code, you can import it exactly like you would expect: | ||
|
||
```ts title=main.ts | ||
import contents from "./module"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this actually correct? I thought this should be import * as contents from "./module";
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upon further investigation, you're right, but it depends on whether or not you have --esModuleInterop flag turned on. I'll change it to be import *
.
docs/external-lua-code.md
Outdated
import contents from "./module"; | ||
``` | ||
|
||
Finally, note that for this to work, `esModuleInterop` must be specified as true in your `tsconfig.json` file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have my doubts if this line should be in here, tstl actually does not look at this option at all, if this needs to have a certain value it would be purely to keep TS happy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok i removed it
I rewrote the section now to be worded differently, maybe that will address this issue |
also made the previous section better