Class Setting

Setting object

class Setting

Properties

TypeNameDescription
array[get, set] Items as a Setting array
bool
boolean[get, set] Bool value of this setting. Getter returns false if setting holds wrong type.
bool
changed[get] True if setting has been changed
double
floating[get, set] Double value of this setting. Getter returns 0.0 if setting holds wrong type.
int[]
intArray[get, set] Items as an int array
long
integer[get, set] Long value of this setting. Getter returns 0 if setting holds wrong type.
int[string]
intMap[get, set] Items as an int[string] map
bool
isArray[get]
bool
isBoolean[get]
bool
isFloating[get]
bool
isInteger[get]
bool
isNull[get]
bool
isObject[get]
bool
isset[get] Check whether this setting exists
bool
isString[get]
ulong
length[get] Get number of elements for array or map, returns 0 for other types
Setting[string]
map[get, set] Items as a Setting[string] map
inout(Setting)
parent[get, set] Parent setting
string
str[get, set] String value of this setting. Getter returns null if setting holds wrong type.
string[]
strArray[get, set] Items as a string array
string[string]
strMap[get, set] Items as a string[string] map

Methods

NameDescription
add (index) Add and return an empty setting for array by an integer index
add (key) Add and return an empty setting for object by a string key
apply (settings)
booleanDef (defaultValue) Get bool value of this setting or defaultValue if setting holds wrong type
clear (newType) Clear setting value and set the new type
clear () Clear setting value
clone () Deep copy of settings
compareType (s) Returns true whether this setting has equal type as the parameter
floatingDef (defaultValue) Get double value of this setting or defaultValue if setting holds wrong type
fromJSON (source) Deserialize from JSON
integerDef (defaultValue) Get long value of this setting or defaultValue if setting holds wrong type
load (filename) Load JSON from file; returns true if loaded successfully
objectByPath (path, createIfNotExist) Get (or optionally create) object (map) by slash delimited path (e.g. key1/subkey2/subkey3)
opApply (dg) To iterate using foreach
opApply (dg) To iterate over object using foreach (key, value; map)
opApplyReverse (dg) To iterate using foreach_reverse
opIndex (index) For array or object returns item by index, null if index is out of bounds or setting is neither array nor object
opIndex (key) For object returns item by key, null if not found or this setting is not an object
opIndexAssign (value, index) Assign setting to array by integer index
opIndexAssign (value, key) Assign setting to object by string key
remove (index) Remove array or object item by an index. Returns removed item or null if index is out of bounds or setting is neither array nor object.
remove (key) Remove object item by a key. Returns removed item or null if is not found or setting is not an object
save (filename, pretty) Save to file
settingByPath (path, createIfNotExist) Returns setting by path like "editors/sourceEditor/tabSize", creates object tree "editors/sourceEditor" and object of specified type if part of path does not exist.
setup (index) Add and return an empty setting for array by an integer index only if it's not present
setup (key) Add and return an empty setting for object by a string key only if it's not present
strDef (defaultValue) Get string value of this setting or defaultValue if setting holds wrong type
toJSON (pretty) Serialize to JSON