## Extended Functional Type - Remote In addition to `constant`, `exported`, `imported`, and `reactive`, Lightview supports the functional types `remote`, `shared`, and `observed`. - `remote` automatically gets a value from a URL - `shared` automatically synchronizes a value across all instances of the same component - `observed` in like import, except it changes the variable value every time its corresponding attribute changes on the component These types must be loaded from the file `types.js` as shown in the example REPL. If you want to import all of them in an efficient manner, do this: ```javascript const {remote, shared, observed} = await import("../types.js"); this.variables( { remote: "function"}, { constant: remote } ); this.variables( { remote: "function"}, { constant: shared } ); this.variables( { remote: "function"}, { constant: observed } ); ``` For the demo REPL, the file located at `./tutorial/remote-value.json` has the contents `{"name":"joe","age":27}`. Try replacing `./tutorial/remote-value.json` with `http://api.open-notify.org/astros.json` to see how many people are in space right now. You may have noted that although `remote` is imported as a function, it is not used as such. For details on how to use `remote` with a configuration object to support TTL based auto-refresh, automatically sending changed values to the server and custom get/patch see the [API documentation](../api.html#remote). The `observed` and `shared` types are covered on the next pages.