aboutsummaryrefslogtreecommitdiffstats
path: root/teal-src/util
Commit message (Collapse)AuthorAgeFilesLines
* util.mathcompat: Module to ease reuse of math.type()Kim Alvefur2022-10-203-0/+19
| | | | | Mostly to ensure it is available during tests, as util.startup is not invoked there
* util.datamapper: Remove leftover debug assert (Only Teal, not included in build)Kim Alvefur2022-10-191-4/+0
|
* util.stanza: Add new methods to Teal interface specificationKim Alvefur2022-10-171-0/+5
| | | | | | | at_top: 21217f7e82b9 get_child_with_attr: 39164ea2ab9e get_child_attr: e8934ce6ea0f add_error: 5f182bccf33f
* util.crypto: Add Teal type specificationKim Alvefur2022-06-301-0/+29
|
* util.roles: Add Teal interface declarationKim Alvefur2022-08-121-0/+32
|
* util.datetime: Update Teal interface descriptionKim Alvefur2022-08-171-7/+5
| | | | Integers were required before, now any number should work.
* util.signal: Fix name conflict in Teal interface declarationKim Alvefur2022-08-101-4/+4
|
* util.error: Use avoid name conflict in Teal interface declarationKim Alvefur2022-08-101-8/+8
| | | | Naming things ... Thing or thing_t?
* util.uuid: Fix syntax of Teal interface declaration fileKim Alvefur2022-08-101-1/+1
|
* util.timer: Add Teal interface descriptionKim Alvefur2022-07-241-0/+8
|
* util.termcolours: Add Teal interface descriptionKim Alvefur2022-07-241-0/+7
|
* util.queue: Add Teal interface descriptionKim Alvefur2022-07-241-0/+21
|
* util.logger: Add Teal interface descriptionKim Alvefur2022-07-241-0/+18
|
* util.bitcompat: Add Teal type specificationKim Alvefur2022-06-301-0/+8
|
* util.struct: Add Teal interface description fileKim Alvefur2022-06-151-0/+6
|
* util.table: Add move() to Teal interface description fileKim Alvefur2022-06-151-0/+1
|
* util.set: Add teal type declaration fileKim Alvefur2022-02-161-0/+21
|
* util.serialization: Add Teal type specificationKim Alvefur2021-12-011-0/+33
|
* util.dataforms: Add missing :data() to Teal definitionKim Alvefur2021-11-151-0/+1
|
* util.dataforms: Restructure Teal definition fileKim Alvefur2021-11-151-45/+46
| | | | | The PR has been merged and there's no reason not to have nested records and other definitions.
* util.human.io: Add Teal interface definitionKim Alvefur2021-11-101-0/+28
|
* util.promise: Add Teal interface specification fileKim Alvefur2022-07-241-0/+22
|
* teal: add stub util.array teal defsKim Alvefur2022-07-241-0/+9
|
* util.human.units: Specify enum argument to format()Kim Alvefur2021-07-051-1/+4
|
* util.hex: Update Teal spec for function rename in a0ff5c438e9dKim Alvefur2022-08-101-0/+2
|
* Merge 0.12->trunkKim Alvefur2022-07-082-159/+183
|\
| * util.datamapper: Improve handling of schemas with non-obvious "type"Kim Alvefur2022-07-081-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | The JSON Schema specification says that schemas are objects or booleans, and that the 'type' property is optional and can be an array. This module previously allowed bare type names as schemas and did not really handle booleans. It now handles missing 'type' properties and boolean 'true' as a schema. Objects and arrays are guessed based on the presence of 'properties' or 'items' field.
| * util.jsonschema: Fix validation to not assume presence of "type" fieldKim Alvefur2022-07-081-147/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MattJ reported a curious issue where validation did not work as expected. Primarily that the "type" field was expected to be mandatory, and thus leaving it out would result in no checks being performed. This was likely caused by misreading during initial development. Spent some time testing against https://github.com/json-schema-org/JSON-Schema-Test-Suite.git and discovered a multitude of issues, far too many to bother splitting into separate commits. More than half of them fail. Many because of features not implemented, which have been marked NYI. For example, some require deep comparisons e.g. when objects or arrays are present in enums fields. Some because of quirks with how Lua differs from JavaScript, e.g. no distinct array or object types. Tests involving fractional floating point numbers. We're definitely not going to follow references to remote resources. Or deal with UTF-16 sillyness. One test asserted that 1.0 is an integer, where Lua 5.3+ will disagree.
* | util.hashes: Add SHA3 bindingsKim Alvefur2020-09-101-0/+4
| |
* | util.hashes: Bind BLAKE2 algoritms supported by OpenSSLKim Alvefur2020-09-101-0/+2
| |
* | util.hashes: Expose sha224 and sha384 HMAC functionsKim Alvefur2020-11-291-0/+2
| | | | | | | | For completeness and consistency with set of plain hash functions
* | util.stanza: Document top level attributes in Teal definitionKim Alvefur2022-05-171-3/+48
| | | | | | | | Tells you if you make a typo like "gropchat" or so
* | util.stanza: Document error conditions in Teal definitionKim Alvefur2022-05-171-2/+35
| | | | | | | | Gets you nice error messages if you make a typo in with error_reply()
* | util.async: Add Teal description fileKim Alvefur2022-05-081-0/+42
|/
* util.jsonpointer: Fix off-by-one in array resolutionKim Alvefur2022-05-081-1/+1
| | | | | | Fixes #1753 Not known to be used anywhere
* Spelling: Fix various spelling mistakes (thanks timeless)Kim Alvefur2022-03-071-1/+1
| | | | | | Words, sometimes I wonder how they even work Maybe I missed something.
* util.poll: Add support for the poll() APIKim Alvefur2022-02-231-1/+3
| | | | Might be better than select(), more portable than epoll.
* util.poll: Expose API (epoll or select) usedKim Alvefur2022-02-271-0/+5
| | | | Could he handy to know for debugging or decisions
* util.xtemplate: Yet another string template libraryKim Alvefur2022-01-241-0/+101
| | | | | | This one takes a stanza as input Roughly based on util.interpolation
* util.datamapper: Add support for $ref pointersKim Alvefur2021-12-291-21/+39
| | | | Allows reuse of repetitive definitions in schemas.
* util.jsonschema: Add support for $ref pointersKim Alvefur2021-12-291-23/+37
|
* util.jsonpointer: Resolve JSON Pointers per RFC 6901Kim Alvefur2021-12-291-0/+46
|
* util.smqueue: Simplify compat table, fix dependent modules (thanks Martin)Kim Alvefur2021-12-161-15/+6
| | | | | | There was an off-by-one in the modulo calculation. Switching to a plain old array-table makes the apparent size of the queue wrong, but since some of the queue may not be available this is likely for the best.
* util.smqueue: Add missing method to Teal record specKim Alvefur2021-12-161-1/+2
|
* util.smqueue: Abstract queue with acknowledgements and overflowKim Alvefur2021-12-141-0/+107
| | | | | | | | Meant to be used in mod_smacks for XEP-0198 Meant to have a larger virtual size than actual number of items stored, on the theory that in most cases, the excess will be acked before needed for a resumption event.
* util.pposix: Bind isatty(3)Kim Alvefur2021-07-041-0/+2
| | | | | Useful for disabling certain behavior, ANSI colors etc when not connected to a terminal.
* util.stanza: Export pretty printing functionKim Alvefur2021-06-291-0/+1
|
* teal: Add type spec for util.signalKim Alvefur2021-05-201-0/+41
|
* teal: Add type spec for util.ringbufferKim Alvefur2021-05-201-0/+20
|
* teal: Describe util.net.local_addresses() return typeKim Alvefur2021-05-201-1/+1
|