Software /
code /
prosody
File
doc/storage.tld @ 12469:2b3adaa6d38e
util.strbitop: Reduce scope of functions
Equivalent to 'local' in Lua, these functions are exported via the
luaopen_ function, which is the only one needing to be visible outside
of the file.
Pointed out by Link Mauve at some point, but there wasn't really any
rush here.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 23 Apr 2022 14:29:43 +0200 |
parent | 10838:f26f2ec33f1e |
line wrap: on
line source
-- Storage Interface API Description -- -- This is written as a TypedLua description -- Key-Value stores (the default) interface keyval_store get : ( self, string? ) -> (any) | (nil, string) set : ( self, string?, any ) -> (boolean) | (nil, string) end -- Map stores (key-key-value stores) interface map_store get : ( self, string?, any ) -> (any) | (nil, string) set : ( self, string?, any, any ) -> (boolean) | (nil, string) set_keys : ( self, string?, { any : any }) -> (boolean) | (nil, string) remove : {} end -- Archive stores typealias archive_query = { "start" : number?, -- timestamp "end" : number?, -- timestamp "with" : string?, "after" : string?, -- archive id "before" : string?, -- archive id "total" : boolean?, } interface archive_store -- Optional set of capabilities caps : { -- Optional total count of matching items returned as second return value from :find() "total" : boolean?, }? -- Add to the archive append : ( self, string?, string?, any, number?, string? ) -> (string) | (nil, string) -- Iterate over archive find : ( self, string?, archive_query? ) -> ( () -> ( string, any, number?, string? ), integer? ) -- Removal of items. API like find. Optional? delete : ( self, string?, archive_query? ) -> (boolean) | (number) | (nil, string) -- Array of dates which do have messages (Optional?) dates : ( self, string? ) -> ({ string }) | (nil, string) -- Map of counts per "with" field summary : ( self, string?, archive_query? ) -> ( { string : integer } ) | (nil, string) -- Map-store API get : ( self, string, string ) -> (stanza, number?, string?) | (nil, string) set : ( self, string, string, stanza, number?, string? ) -> (boolean) | (nil, string) end -- This represents moduleapi interface module -- If the first string is omitted then the name of the module is used -- The second string is one of "keyval" (default), "map" or "archive" open_store : (self, string?, string?) -> (keyval_store) | (map_store) | (archive_store) | (nil, string) -- Other module methods omitted end module : module