diff --git a/misc_docs/syntax/language_external.mdx b/misc_docs/syntax/language_external.mdx new file mode 100644 index 000000000..ae2ef27dd --- /dev/null +++ b/misc_docs/syntax/language_external.mdx @@ -0,0 +1,36 @@ +--- +id: "external" +keywords: ["external", "javascript"] +name: "external" +summary: "This is the `external binding` keyword." +category: "languageconstructs" +--- + +`external` is used to bind ReScript code to [external JS code](/docs/manual/latest/external), including bindings to [global values](/docs/manual/latest/bind-to-global-js-values), [modules](/docs/manual/latest/import-from-export-to-js#import-from-javascript), [functions](/docs/manual/latest/bind-to-js-function) and [objects](/docs/manual/latest/bind-to-js-object). + + +### Example + + + +```res +@module("path") +external dirname: string => string = "dirname" + +let root = dirname("/User/github") +``` + +```js +var Path = require("path"); +var root = Path.dirname("/User/github"); +``` + + + +### References + +* [External (Bind to Any JS Library)](/docs/manual/latest/external) +* [Bind to JS Object](/docs/manual/latest/bind-to-js-object) +* [Bind to JS Function](/docs/manual/latest/bind-to-js-function) +* [Import From JavaScript](/docs/manual/latest/import-from-export-to-js#import-from-javascript) +* [Bind to Global JS Values](/docs/manual/latest/bind-to-global-js-values)