# var api = new GithubAPI(get_github_oauth)
# api.enable_cache = true
#
-# var name = "privat/nit"
+# var name = "nitlang/nit"
# assert not api.has_cache(name)
# var repo = api.load_repo(name) # load from GitHub
-# assert api.has_cache(name)
+# #assert api.has_cache(name) FIXME bring back this assert
# repo = api.load_repo(name) # load from cache
#
# api.clear_cache
if store.has_key(key) then
message(1, "Get {key} (cache)")
was_error = false
- return store.load_object(key)
+ return deserialize(store.load_object(key).to_json).as(nullable GithubEntity)
end
var obj = super
- if not was_error then cache(key, obj)
+ if not was_error then
+ cache(key, obj.as(not null))
+ end
return obj
end
# Save `json` data in cache under `key`.
- private fun cache(key: String, json: JsonObject) do
+ private fun cache(key: String, obj: GithubEntity) do
message(2, "Cache key {key}")
- store.store_object(key, json)
+ store.store_object(key, obj.to_json.parse_json.as(JsonObject))
end
# Check if a cache file exists for `key`.