summaryrefslogtreecommitdiffstats
path: root/src/commands/bitpos.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/bitpos.json')
-rw-r--r--src/commands/bitpos.json106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/commands/bitpos.json b/src/commands/bitpos.json
new file mode 100644
index 0000000..11b0851
--- /dev/null
+++ b/src/commands/bitpos.json
@@ -0,0 +1,106 @@
+{
+ "BITPOS": {
+ "summary": "Finds the first set (1) or clear (0) bit in a string.",
+ "complexity": "O(N)",
+ "group": "bitmap",
+ "since": "2.8.7",
+ "arity": -3,
+ "function": "bitposCommand",
+ "history": [
+ [
+ "7.0.0",
+ "Added the `BYTE|BIT` option."
+ ]
+ ],
+ "command_flags": [
+ "READONLY"
+ ],
+ "acl_categories": [
+ "BITMAP"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RO",
+ "ACCESS"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 1
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ }
+ ],
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0
+ },
+ {
+ "name": "bit",
+ "type": "integer"
+ },
+ {
+ "name": "range",
+ "type": "block",
+ "optional": true,
+ "arguments": [
+ {
+ "name": "start",
+ "type": "integer"
+ },
+ {
+ "name": "end-unit-block",
+ "type": "block",
+ "optional": true,
+ "arguments": [
+ {
+ "name": "end",
+ "type": "integer"
+ },
+ {
+ "name": "unit",
+ "type": "oneof",
+ "optional": true,
+ "since": "7.0.0",
+ "arguments": [
+ {
+ "name": "byte",
+ "type": "pure-token",
+ "token": "BYTE"
+ },
+ {
+ "name": "bit",
+ "type": "pure-token",
+ "token": "BIT"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "reply_schema": {
+ "oneOf": [
+ {
+ "description": "the position of the first bit set to 1 or 0 according to the request",
+ "type": "integer",
+ "minimum": 0
+ },
+ {
+ "description": "In case the `bit` argument is 1 and the string is empty or composed of just zero bytes",
+ "const": -1
+ }
+ ]
+ }
+ }
+}