Concepts server and client
server and client
The two roots of the language, typed objects instead of paths, and what below the root is still not approved.
server and client are the two root namespaces. Everything a recipe works with lives under one of them.
| Expression | Meaning | Name status |
|---|---|---|
server.shops.lcoin.id | The identifier of the L-Coin shop on the selected server | Draft |
client.dat.itemName | The item-name table of the client DAT files | Draft |
client.uc | The client’s UC sources | Draft |
client.xdat | The XDAT interface windows | Draft |
Only the roots server and client are approved. Everything after them is, for now, a working name used for discussion.
An object, not a path
client.dat.itemName is not C:\...\itemname.dat and not a piece of JSON. It is an object with a type, a record key and a set of permitted operations. Thanks to this, the editor will be able to suggest which methods it has and to show an error if you call one that does not exist.
Different tables have different keys. Item names are looked up by id, while L-Coin products use product_id. So you cannot assume that every client table works as “the key is id”.
One record and a set of records
A set of records and a single record are different types. Choosing one element from a set gives a result of a different type, and the language has to tell them apart.
The scope of types and methods is under discussion. Do not read this page as an API reference: there is no such API yet.