Abstract Wikipedia/ZObject
See also: Abstract Wikipedia/Function model
This page is currently a draft. More information pertaining to this may be available on the talk page. Translation admins: Normally, drafts should not be marked for translation. |
ZObject is the basic data unit in Wikifunctions. A ZObject may be a string, list of ZObjects, or a JSON object. A persistent ZObject may only be a JSON object.
The keys of JSON object are “Z#K#”, where # are positive integers, their associated values are other ZObjects.
In the list below, each type of object or key is noted “Key/Label” for convenient reference in the documentation, where the Label may be translated and not necessarily in English.
- Z1/ZObject
- Z1K1/type (Z4/Type)
- Z2/Persistent object
- Z2K1/id (Z6/string)
- Z2K2/value (Z1/ZObject)
- Z2K3/label (Z12/Multilingual text)
- Z3/Key
- Z3K1/value type (Z4/Type)
- Z3K2/key id (Z6/String)
- Z3K3/label (Z12/Multilingual text)
- Z4/Type
- Z4K1/identity (Z4/Type)
- Z4K2/keys (Z10/List (Z3/Key) )
- Z4K3/validator (Z8/Function (...) )
- Z5/Error
- Z5K1/error type
- Z6/String
- Z6K1/string value (Z6/String)
- Z7/Function call
- Z7K1/function (Z8/Function)
- Others based on Z8/Function
- Z8/Function (generic)
- K1/arguments (Z10/List (Z17/Argument declaration) )
- K2/return type (Z4/Type)
- K3/tests (Z10/List (Z20/Test) )
- K4/implementation (Z14/Implementation)
- K5/identity (Z8/Function)
- Z9/Reference
- Z9K1/reference ID (Z6/String)
- Z10/List (generic)
- K1/head
- K2/tail