Property definitions

app $ DataStore :: defaultinit
# Simple data storage facility
#
# Write values with `[]=` and read with `[]`.
# ~~~
# import linux::data_store # Needed for testing only
#
# class A
#     serialize
#
#     var b = true
#     var f = 1.234
# end
#
# var data_store = new DataStore
# data_store["one"] = 1
# data_store["str"] = "Some string"
# data_store["a"] = new A
#
# assert data_store["one"] == 1
# assert data_store["str"] == "Some string"
# assert data_store["a"].as(A).b
# assert data_store["a"].as(A).f == 1.234
# assert data_store["other"] == null
# ~~~
#
# Set to `null` to clear a value.
# ~~~
# data_store["one"] = null
# assert data_store["one"] == null
# ~~~
class DataStore

	# Get the object stored at `key`, or null if nothing is available
	fun [](key: String): nullable Object is abstract

	# Store `value` at `key`
	fun []=(key: String, value: nullable Serializable) is abstract
end
lib/app/data_store.nit:56,1--93,3