diff --git a/cmd/main.go b/cmd/main.go index 76ff5cae..a36f0fd7 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -59,11 +59,4 @@ func main() { <-cancelCh server.ShutDown() - - // TODO: For example purposes only! Delete before PR! - // vault, err := echovault.NewEchoVault() - // if err != nil { - // log.Fatal(err) - // } - // newValue, err := vault.HIncrByFloat("key", "field", 7.75) } diff --git a/coverage/coverage.out b/coverage/coverage.out index 1a73a06c..1871b5db 100644 --- a/coverage/coverage.out +++ b/coverage/coverage.out @@ -1,52 +1,4 @@ mode: set -github.com/echovault/echovault/internal/aof/engine.go:50.56,51.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:51.30,53.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:56.57,57.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:57.30,59.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:62.59,63.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:63.30,65.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:68.58,69.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:69.30,71.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:74.59,75.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:75.30,77.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:80.82,81.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:81.30,83.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:86.89,87.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:87.30,89.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:92.73,93.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:93.30,95.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:98.82,99.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:99.30,101.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:104.78,105.30 1 1 -github.com/echovault/echovault/internal/aof/engine.go:105.30,107.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:110.69,118.29 1 1 -github.com/echovault/echovault/internal/aof/engine.go:118.30,118.31 0 0 -github.com/echovault/echovault/internal/aof/engine.go:119.30,119.31 0 0 -github.com/echovault/echovault/internal/aof/engine.go:120.57,120.71 1 0 -github.com/echovault/echovault/internal/aof/engine.go:121.63,121.64 0 0 -github.com/echovault/echovault/internal/aof/engine.go:122.44,122.45 0 0 -github.com/echovault/echovault/internal/aof/engine.go:127.2,127.33 1 1 -github.com/echovault/echovault/internal/aof/engine.go:127.33,129.3 1 1 -github.com/echovault/echovault/internal/aof/engine.go:132.2,139.16 2 1 -github.com/echovault/echovault/internal/aof/engine.go:139.16,141.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:142.2,152.16 3 1 -github.com/echovault/echovault/internal/aof/engine.go:152.16,154.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:155.2,159.12 2 1 -github.com/echovault/echovault/internal/aof/engine.go:159.12,160.7 1 1 -github.com/echovault/echovault/internal/aof/engine.go:160.7,162.54 2 1 -github.com/echovault/echovault/internal/aof/engine.go:162.54,164.5 1 0 -github.com/echovault/echovault/internal/aof/engine.go:168.2,168.20 1 1 -github.com/echovault/echovault/internal/aof/engine.go:171.52,173.2 1 1 -github.com/echovault/echovault/internal/aof/engine.go:175.42,183.62 5 1 -github.com/echovault/echovault/internal/aof/engine.go:183.62,185.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:188.2,188.54 1 1 -github.com/echovault/echovault/internal/aof/engine.go:188.54,190.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:192.2,192.12 1 1 -github.com/echovault/echovault/internal/aof/engine.go:195.39,196.55 1 1 -github.com/echovault/echovault/internal/aof/engine.go:196.55,198.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:199.2,199.53 1 1 -github.com/echovault/echovault/internal/aof/engine.go:199.53,201.3 1 0 -github.com/echovault/echovault/internal/aof/engine.go:202.2,202.12 1 1 github.com/echovault/echovault/internal/aof/log/store.go:46.60,47.34 1 1 github.com/echovault/echovault/internal/aof/log/store.go:47.34,49.3 1 1 github.com/echovault/echovault/internal/aof/log/store.go:52.61,53.34 1 1 @@ -157,6 +109,54 @@ github.com/echovault/echovault/internal/aof/preamble/store.go:185.43,187.4 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:189.2,189.35 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:189.35,191.3 1 1 github.com/echovault/echovault/internal/aof/preamble/store.go:192.2,192.14 1 1 +github.com/echovault/echovault/internal/aof/engine.go:50.56,51.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:51.30,53.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:56.57,57.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:57.30,59.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:62.59,63.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:63.30,65.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:68.58,69.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:69.30,71.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:74.59,75.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:75.30,77.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:80.82,81.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:81.30,83.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:86.89,87.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:87.30,89.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:92.73,93.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:93.30,95.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:98.82,99.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:99.30,101.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:104.78,105.30 1 1 +github.com/echovault/echovault/internal/aof/engine.go:105.30,107.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:110.69,118.29 1 1 +github.com/echovault/echovault/internal/aof/engine.go:118.30,118.31 0 0 +github.com/echovault/echovault/internal/aof/engine.go:119.30,119.31 0 0 +github.com/echovault/echovault/internal/aof/engine.go:120.57,120.71 1 0 +github.com/echovault/echovault/internal/aof/engine.go:121.63,121.64 0 0 +github.com/echovault/echovault/internal/aof/engine.go:122.44,122.45 0 0 +github.com/echovault/echovault/internal/aof/engine.go:127.2,127.33 1 1 +github.com/echovault/echovault/internal/aof/engine.go:127.33,129.3 1 1 +github.com/echovault/echovault/internal/aof/engine.go:132.2,139.16 2 1 +github.com/echovault/echovault/internal/aof/engine.go:139.16,141.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:142.2,152.16 3 1 +github.com/echovault/echovault/internal/aof/engine.go:152.16,154.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:155.2,159.12 2 1 +github.com/echovault/echovault/internal/aof/engine.go:159.12,160.7 1 1 +github.com/echovault/echovault/internal/aof/engine.go:160.7,162.54 2 1 +github.com/echovault/echovault/internal/aof/engine.go:162.54,164.5 1 0 +github.com/echovault/echovault/internal/aof/engine.go:168.2,168.20 1 1 +github.com/echovault/echovault/internal/aof/engine.go:171.52,173.2 1 1 +github.com/echovault/echovault/internal/aof/engine.go:175.42,183.62 5 1 +github.com/echovault/echovault/internal/aof/engine.go:183.62,185.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:188.2,188.54 1 1 +github.com/echovault/echovault/internal/aof/engine.go:188.54,190.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:192.2,192.12 1 1 +github.com/echovault/echovault/internal/aof/engine.go:195.39,196.55 1 1 +github.com/echovault/echovault/internal/aof/engine.go:196.55,198.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:199.2,199.53 1 1 +github.com/echovault/echovault/internal/aof/engine.go:199.53,201.3 1 0 +github.com/echovault/echovault/internal/aof/engine.go:202.2,202.12 1 1 github.com/echovault/echovault/internal/eviction/lfu.go:35.29,42.2 3 1 github.com/echovault/echovault/internal/eviction/lfu.go:44.34,46.2 1 1 github.com/echovault/echovault/internal/eviction/lfu.go:48.44,50.54 1 1 @@ -191,775 +191,82 @@ github.com/echovault/echovault/internal/eviction/lru.go:92.73,94.3 1 0 github.com/echovault/echovault/internal/eviction/lru.go:95.2,95.19 1 0 github.com/echovault/echovault/internal/eviction/lru.go:95.19,97.3 1 0 github.com/echovault/echovault/internal/eviction/lru.go:100.50,103.2 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:52.40,57.24 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:57.24,65.3 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:68.2,68.28 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:68.28,70.54 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:70.54,71.14 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:72.9,73.17 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:73.17,74.37 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:74.37,76.6 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:79.4,81.22 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:81.22,82.61 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:82.61,84.6 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:87.4,87.39 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:87.39,88.61 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:88.61,90.6 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:96.2,97.29 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:97.29,98.33 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:98.33,100.9 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:103.2,103.20 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:103.20,105.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:108.2,108.29 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:108.29,110.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:112.2,122.13 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:125.52,130.70 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:130.70,132.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:133.2,137.3 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:140.45,146.33 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:146.33,147.30 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:147.30,148.47 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:148.47,150.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:150.10,153.5 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:157.2,158.45 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:158.45,160.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:162.2,169.12 4 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:172.41,177.2 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:179.73,184.37 4 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:184.37,185.28 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:185.28,187.12 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:190.3,190.31 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:190.31,191.30 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:191.30,193.5 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:196.3,196.18 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:196.18,197.12 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:200.3,200.52 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:200.52,201.49 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:201.49,203.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:206.3,206.63 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:206.63,208.4 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:210.2,210.12 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:213.95,222.19 6 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:222.19,230.60 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:230.60,232.4 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:233.3,233.24 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:236.2,236.19 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:236.19,245.31 4 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:245.31,246.28 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:246.28,249.10 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:252.3,252.17 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:252.17,254.4 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:258.2,258.19 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:258.19,260.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:263.2,263.21 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:263.21,269.3 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:271.2,271.46 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:271.46,272.38 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:272.38,275.18 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:275.18,282.5 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:286.2,286.50 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:289.131,298.16 6 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:298.16,300.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:302.2,306.59 4 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:306.59,310.17 4 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:310.17,312.4 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:316.2,316.36 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:316.36,318.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:321.2,321.43 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:321.43,323.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:326.2,326.37 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:326.37,328.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:331.2,334.29 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:334.29,336.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:339.2,339.57 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:339.57,341.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:344.2,345.65 2 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:345.65,346.101 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:346.101,347.63 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:347.63,349.5 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:350.4,351.16 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:353.5,354.27 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:354.27,356.4 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:357.3,357.88 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:361.2,361.64 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:361.64,362.101 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:362.101,363.63 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:363.63,366.5 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:367.4,367.16 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:369.5,371.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:374.2,374.94 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:374.94,376.3 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:376.5,378.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:381.2,381.93 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:381.93,383.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:383.5,385.3 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:388.2,388.59 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:388.59,390.36 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:390.36,392.106 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:392.106,394.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:394.7,396.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:398.4,398.105 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:398.105,400.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:400.7,402.5 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:404.3,404.13 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:407.2,407.45 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:407.45,409.29 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:409.29,411.4 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:414.3,414.59 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:414.59,415.95 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:415.95,416.49 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:416.49,418.6 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:419.5,420.17 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:422.6,424.4 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:427.3,427.60 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:427.60,428.97 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:428.97,429.50 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:429.50,431.6 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:432.5,433.17 2 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:435.6,437.4 1 0 -github.com/echovault/echovault/internal/modules/acl/acl.go:440.2,440.12 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:443.32,447.33 3 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:447.33,452.31 5 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:452.31,453.37 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:453.37,455.5 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:457.3,457.25 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:460.2,460.29 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:460.29,461.33 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:461.33,463.4 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:467.29,469.2 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:471.31,473.2 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:475.30,477.2 1 1 -github.com/echovault/echovault/internal/modules/acl/acl.go:479.32,481.2 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:31.68,32.56 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:32.56,34.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:35.2,36.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:36.9,38.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:39.2,39.102 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:39.102,41.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:42.2,42.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:45.71,46.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:46.30,48.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:50.2,51.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:51.9,53.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:55.2,57.30 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:57.30,58.38 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:58.38,61.9 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:65.2,65.16 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:65.16,67.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:70.2,74.18 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:74.18,76.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:76.8,78.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:79.2,79.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:79.21,81.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:82.2,82.17 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:82.17,84.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:86.2,87.29 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:87.29,89.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:92.2,93.51 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:93.51,94.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:94.22,96.12 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:98.3,98.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:100.2,100.51 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:100.51,101.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:101.22,103.12 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:105.3,105.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:109.2,110.48 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:110.48,111.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:111.21,113.12 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:115.3,115.47 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:117.2,117.48 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:117.48,118.21 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:118.21,120.12 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:122.3,122.47 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:126.2,127.79 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:127.79,128.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:128.37,130.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:132.2,133.30 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:133.30,134.10 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:135.100,137.53 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:138.53,140.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:141.52,143.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:148.2,150.54 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:150.54,152.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:153.2,153.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:153.54,155.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:157.2,159.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:162.67,163.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:163.29,165.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:167.2,171.35 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:171.35,172.36 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:172.36,173.48 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:173.48,175.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:176.4,176.12 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:178.3,178.50 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:178.50,179.51 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:179.51,182.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:186.2,186.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:186.30,189.34 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:189.34,192.4 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:193.3,194.28 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:194.28,196.24 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:196.24,198.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:200.3,200.26 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:203.2,203.30 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:203.30,205.46 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:205.46,206.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:206.54,208.38 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:208.38,210.30 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:210.30,212.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:214.5,214.28 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:219.2,219.85 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:222.69,224.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:224.9,226.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:227.2,228.33 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:228.33,230.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:231.2,232.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:235.71,237.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:237.9,239.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:240.2,240.56 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:240.56,242.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:243.2,243.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:246.71,247.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:247.29,249.3 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:250.2,251.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:251.9,253.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:254.2,254.75 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:254.75,256.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:257.2,257.42 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:260.70,262.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:262.9,264.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:265.2,266.74 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:269.68,270.29 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:270.29,272.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:273.2,274.9 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:274.9,276.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:277.2,279.33 3 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:279.33,282.19 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:282.19,284.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:284.9,286.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:288.3,288.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:288.22,290.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:292.3,292.18 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:292.18,294.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:296.3,296.43 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:296.43,297.61 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:297.61,299.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:300.4,300.58 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:300.58,302.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:305.3,305.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:305.52,306.23 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:306.23,308.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:310.4,310.39 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:313.3,313.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:313.52,314.23 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:314.23,316.13 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:318.4,318.39 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:321.3,321.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:321.49,322.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:322.22,324.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:326.4,326.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:329.3,329.49 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:329.49,330.22 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:330.22,332.13 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:334.4,334.37 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:337.3,337.45 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:337.45,338.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:338.52,340.13 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:342.4,342.41 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:345.3,345.45 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:345.45,346.52 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:346.52,348.5 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:351.3,351.55 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:351.55,353.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:355.3,355.55 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:355.55,357.4 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:358.3,358.54 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:361.2,362.25 2 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:365.68,366.30 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:366.30,368.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:370.2,371.9 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:371.9,373.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:375.2,379.16 4 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:379.16,381.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:383.2,383.15 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:383.15,384.35 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:384.35,386.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:389.2,393.20 3 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:393.20,394.59 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:394.59,396.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:399.2,399.37 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:399.37,400.59 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:400.59,402.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:406.2,406.29 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:406.29,410.31 3 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:410.31,411.35 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:411.35,414.54 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:414.54,416.6 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:416.11,419.6 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:420.5,420.10 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:424.3,424.17 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:424.17,426.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:429.2,429.42 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:432.68,433.29 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:433.29,435.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:437.2,438.9 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:438.9,440.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:442.2,446.16 4 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:446.16,448.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:450.2,450.15 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:450.15,451.35 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:451.35,453.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:456.2,458.20 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:458.20,461.17 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:461.17,463.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:464.3,465.17 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:465.17,467.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:470.2,470.37 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:470.37,473.17 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:473.17,475.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:476.3,477.17 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:477.17,479.4 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:482.2,483.16 2 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:483.16,485.3 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:487.2,487.42 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:490.36,498.84 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:498.84,504.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:513.84,519.5 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:528.86,534.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:543.86,549.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:558.86,564.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:573.86,579.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:588.86,594.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:603.86,609.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:618.86,624.7 1 1 -github.com/echovault/echovault/internal/modules/acl/commands.go:636.86,642.7 1 0 -github.com/echovault/echovault/internal/modules/acl/commands.go:651.86,657.7 1 0 -github.com/echovault/echovault/internal/modules/acl/user.go:53.31,55.39 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:55.39,57.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:58.2,59.51 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:59.51,61.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:63.2,64.37 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:64.37,66.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:67.2,68.49 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:68.49,70.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:72.2,73.53 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:73.53,75.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:76.2,77.54 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:77.54,79.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:81.2,82.43 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:82.43,84.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:85.2,86.55 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:86.55,88.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:91.79,93.32 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:93.32,94.24 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:94.24,96.12 2 0 -github.com/echovault/echovault/internal/modules/acl/user.go:98.3,98.25 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:100.2,100.33 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:100.33,101.17 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:101.17,104.4 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:105.3,105.25 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:107.2,107.8 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:110.50,111.26 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:111.26,113.35 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:113.35,115.4 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:116.3,116.36 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:116.36,118.4 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:120.3,120.37 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:120.37,126.12 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:128.3,128.20 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:128.20,129.84 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:129.84,130.65 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:130.65,132.6 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:133.5,133.45 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:135.4,135.12 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:137.3,137.20 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:137.20,138.84 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:138.84,139.68 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:139.68,141.6 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:142.5,142.45 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:144.4,144.12 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:147.3,147.43 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:147.43,150.12 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:152.3,152.46 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:152.46,154.12 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:156.3,156.36 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:156.36,157.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:157.21,159.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:161.4,161.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:161.21,163.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:167.3,167.40 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:167.40,171.12 4 0 -github.com/echovault/echovault/internal/modules/acl/user.go:173.3,173.93 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:173.93,178.12 5 1 -github.com/echovault/echovault/internal/modules/acl/user.go:180.3,180.57 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:180.57,183.12 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:185.3,185.57 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:185.57,188.12 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:191.3,191.44 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:191.44,193.4 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:194.3,194.36 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:194.36,195.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:195.21,197.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:199.4,199.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:199.21,201.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:205.3,205.44 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:205.44,208.12 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:210.3,210.66 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:210.66,211.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:211.21,213.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:215.4,215.21 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:215.21,217.13 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:223.2,223.26 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:223.26,224.39 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:224.39,227.4 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:230.2,230.26 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:230.26,232.42 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:232.42,235.4 2 0 -github.com/echovault/echovault/internal/modules/acl/user.go:237.3,237.43 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:237.43,242.4 4 1 -github.com/echovault/echovault/internal/modules/acl/user.go:244.3,244.42 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:244.42,248.4 3 1 -github.com/echovault/echovault/internal/modules/acl/user.go:250.3,250.46 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:250.46,253.4 2 1 -github.com/echovault/echovault/internal/modules/acl/user.go:255.2,255.12 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:258.36,272.2 13 0 -github.com/echovault/echovault/internal/modules/acl/user.go:274.38,287.2 12 0 -github.com/echovault/echovault/internal/modules/acl/user.go:289.40,304.2 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:306.46,307.24 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:307.24,309.3 1 1 -github.com/echovault/echovault/internal/modules/acl/user.go:310.2,310.26 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:24.68,25.29 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:26.10,27.54 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:28.9,29.34 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:30.9,31.94 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:35.36,43.84 1 1 -github.com/echovault/echovault/internal/modules/connection/commands.go:43.84,49.5 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:33.67,35.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:35.16,37.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:39.2,45.16 6 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:45.16,47.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:51.2,51.17 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:51.17,52.45 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:52.45,54.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:54.9,56.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:59.2,59.45 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:59.45,61.45 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:61.45,63.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:64.3,64.47 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:65.8,65.52 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:65.52,67.44 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:67.44,69.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:70.3,70.56 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:71.8,73.45 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:73.45,76.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:76.9,79.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:81.2,81.16 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:81.16,83.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:84.2,86.87 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:86.87,88.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:91.2,91.29 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:91.29,93.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:95.2,95.17 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:98.68,100.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:100.16,102.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:104.2,107.15 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:107.15,108.29 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:108.29,109.16 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:109.16,115.5 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:120.2,120.41 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:120.41,121.15 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:121.15,126.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:131.2,131.28 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:131.28,132.42 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:132.42,133.63 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:133.63,135.5 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:136.4,137.12 2 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:139.3,139.71 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:139.71,141.4 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:142.3,142.55 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:146.2,146.28 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:146.28,147.69 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:147.69,149.4 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:152.2,152.42 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:155.67,157.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:157.16,159.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:160.2,162.44 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:162.44,164.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:166.2,167.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:167.16,169.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:170.2,174.51 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:177.68,179.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:179.16,181.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:183.2,186.36 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:186.36,187.31 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:187.31,189.12 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:191.3,191.44 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:191.44,193.18 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:193.18,195.5 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:196.4,197.12 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:199.3,199.19 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:201.2,201.15 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:201.15,202.34 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:202.34,203.14 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:203.14,206.5 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:210.2,210.28 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:210.28,212.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:214.2,216.41 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:216.41,217.24 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:217.24,219.12 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:221.3,221.96 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:224.2,224.19 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:227.67,229.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:229.16,231.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:232.2,233.37 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:233.37,235.17 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:235.17,237.12 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:239.3,239.13 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:241.2,241.51 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:244.71,246.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:246.16,248.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:250.2,252.44 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:252.44,254.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:256.2,256.62 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:256.62,258.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:259.2,262.31 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:262.31,264.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:266.2,268.30 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:271.74,273.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:273.16,275.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:277.2,279.44 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:279.44,281.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:283.2,283.63 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:283.63,285.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:286.2,290.31 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:290.31,292.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:294.2,295.57 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:295.57,297.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:299.2,299.47 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:302.67,304.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:304.16,306.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:308.2,312.44 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:312.44,314.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:316.2,316.63 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:316.63,318.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:319.2,323.31 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:323.31,325.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:327.2,328.50 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:328.50,330.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:332.2,332.12 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:332.12,334.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:336.2,336.47 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:339.70,341.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:341.16,343.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:345.2,349.16 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:349.16,351.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:352.2,353.53 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:353.53,355.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:357.2,357.44 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:357.44,359.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:361.2,361.62 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:361.62,363.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:364.2,366.30 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:366.30,369.3 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:371.2,373.44 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:374.12,375.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:375.39,377.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:378.3,378.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:379.12,380.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:380.39,382.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:383.3,383.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:384.12,385.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:385.39,387.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:388.3,388.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:388.39,390.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:391.3,391.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:392.12,393.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:393.39,394.40 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:394.40,396.5 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:397.4,397.58 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:399.3,399.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:400.10,401.82 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:404.2,404.30 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:407.72,409.16 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:409.16,411.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:413.2,417.16 3 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:417.16,419.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:420.2,421.55 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:421.55,423.3 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:425.2,425.44 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:425.44,427.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:429.2,429.62 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:429.62,431.3 1 0 -github.com/echovault/echovault/internal/modules/generic/commands.go:432.2,434.30 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:434.30,437.3 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:439.2,441.44 2 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:442.12,443.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:443.39,445.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:446.3,446.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:447.12,448.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:448.39,450.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:451.3,451.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:452.12,453.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:453.39,455.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:456.3,456.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:456.39,458.4 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:459.3,459.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:460.12,461.39 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:461.39,462.40 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:462.40,464.5 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:465.4,465.58 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:467.3,467.57 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:468.10,469.82 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:472.2,472.30 1 1 -github.com/echovault/echovault/internal/modules/generic/commands.go:475.36,644.2 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:23.73,24.34 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:24.34,26.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:27.2,31.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:34.74,35.25 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:35.25,37.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:38.2,39.30 2 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:39.30,40.15 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:40.15,42.4 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:44.2,48.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:51.73,52.19 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:52.19,54.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:55.2,59.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:62.74,63.18 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:63.18,65.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:66.2,70.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:73.73,74.18 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:74.18,76.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:77.2,81.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:84.77,85.19 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:85.19,87.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:88.2,92.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:95.80,96.19 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:96.19,98.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:99.2,103.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:106.73,107.19 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:107.19,109.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:110.2,114.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:117.76,118.34 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:118.34,120.3 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:121.2,125.8 1 1 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:128.78,129.34 1 0 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:129.34,131.3 1 0 -github.com/echovault/echovault/internal/modules/generic/key_funcs.go:132.2,136.8 1 0 -github.com/echovault/echovault/internal/modules/generic/utils.go:32.100,33.19 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:33.19,35.3 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:36.2,36.33 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:37.13,39.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:41.12,42.27 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:42.27,44.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:45.3,46.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:48.12,49.27 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:49.27,51.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:52.3,53.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:55.12,56.19 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:56.19,58.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:59.3,59.30 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:59.30,61.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:62.3,64.17 3 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:64.17,66.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:67.3,68.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:70.12,71.19 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:71.19,73.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:74.3,74.30 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:74.30,76.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:77.3,79.17 3 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:79.17,81.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:82.3,83.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:85.14,86.19 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:86.19,88.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:89.3,89.30 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:89.30,91.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:92.3,94.17 3 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:94.17,96.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:97.3,98.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:100.14,101.19 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:101.19,103.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:104.3,104.30 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:104.30,106.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:107.3,109.17 3 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:109.17,111.4 1 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:112.3,113.55 2 1 -github.com/echovault/echovault/internal/modules/generic/utils.go:115.10,116.96 1 1 -github.com/echovault/echovault/echovault/api_acl.go:125.71,127.23 2 0 -github.com/echovault/echovault/echovault/api_acl.go:127.23,129.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:130.2,131.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:131.16,133.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:134.2,134.45 1 0 -github.com/echovault/echovault/echovault/api_acl.go:138.55,140.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:140.16,142.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:143.2,143.45 1 0 -github.com/echovault/echovault/echovault/api_acl.go:154.64,157.18 2 0 -github.com/echovault/echovault/echovault/api_acl.go:157.18,159.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:159.8,161.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:163.2,163.21 1 0 -github.com/echovault/echovault/echovault/api_acl.go:163.21,165.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:167.2,167.17 1 0 -github.com/echovault/echovault/echovault/api_acl.go:167.17,169.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:171.2,171.21 1 0 -github.com/echovault/echovault/echovault/api_acl.go:171.21,173.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:175.2,175.20 1 0 -github.com/echovault/echovault/echovault/api_acl.go:175.20,177.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:179.2,179.20 1 0 -github.com/echovault/echovault/echovault/api_acl.go:179.20,181.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:183.2,183.24 1 0 -github.com/echovault/echovault/echovault/api_acl.go:183.24,185.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:187.2,187.50 1 0 -github.com/echovault/echovault/echovault/api_acl.go:187.50,189.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:191.2,191.53 1 0 -github.com/echovault/echovault/echovault/api_acl.go:191.53,193.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:195.2,195.49 1 0 -github.com/echovault/echovault/echovault/api_acl.go:195.49,197.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:199.2,199.52 1 0 -github.com/echovault/echovault/echovault/api_acl.go:199.52,201.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:203.2,203.50 1 0 -github.com/echovault/echovault/echovault/api_acl.go:203.50,205.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:207.2,207.50 1 0 -github.com/echovault/echovault/echovault/api_acl.go:207.50,209.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:211.2,211.47 1 0 -github.com/echovault/echovault/echovault/api_acl.go:211.47,213.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:215.2,215.47 1 0 -github.com/echovault/echovault/echovault/api_acl.go:215.47,217.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:219.2,219.48 1 0 -github.com/echovault/echovault/echovault/api_acl.go:219.48,221.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:223.2,223.43 1 0 -github.com/echovault/echovault/echovault/api_acl.go:223.43,225.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:227.2,227.44 1 0 -github.com/echovault/echovault/echovault/api_acl.go:227.44,229.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:231.2,231.47 1 0 -github.com/echovault/echovault/echovault/api_acl.go:231.47,233.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:235.2,235.47 1 0 -github.com/echovault/echovault/echovault/api_acl.go:235.47,237.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:239.2,240.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:240.16,242.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:244.2,244.40 1 0 -github.com/echovault/echovault/echovault/api_acl.go:291.83,293.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:293.16,295.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:297.2,299.16 3 0 -github.com/echovault/echovault/echovault/api_acl.go:299.16,301.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:303.2,306.35 3 0 -github.com/echovault/echovault/echovault/api_acl.go:306.35,312.35 4 0 -github.com/echovault/echovault/echovault/api_acl.go:312.35,314.4 1 0 -github.com/echovault/echovault/echovault/api_acl.go:317.2,317.20 1 0 -github.com/echovault/echovault/echovault/api_acl.go:327.74,330.16 3 0 -github.com/echovault/echovault/echovault/api_acl.go:330.16,332.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:333.2,333.40 1 0 -github.com/echovault/echovault/echovault/api_acl.go:337.54,339.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:339.16,341.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:342.2,342.45 1 0 -github.com/echovault/echovault/echovault/api_acl.go:353.74,355.9 2 0 -github.com/echovault/echovault/echovault/api_acl.go:356.21,357.29 1 0 -github.com/echovault/echovault/echovault/api_acl.go:358.23,359.31 1 0 -github.com/echovault/echovault/echovault/api_acl.go:360.10,361.31 1 0 -github.com/echovault/echovault/echovault/api_acl.go:364.2,365.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:365.16,367.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:369.2,369.40 1 0 -github.com/echovault/echovault/echovault/api_acl.go:375.52,377.16 2 0 -github.com/echovault/echovault/echovault/api_acl.go:377.16,379.3 1 0 -github.com/echovault/echovault/echovault/api_acl.go:380.2,380.40 1 0 +github.com/echovault/echovault/echovault/api_acl.go:126.71,128.23 2 0 +github.com/echovault/echovault/echovault/api_acl.go:128.23,130.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:131.2,132.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:132.16,134.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:135.2,135.45 1 0 +github.com/echovault/echovault/echovault/api_acl.go:139.55,141.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:141.16,143.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:144.2,144.45 1 0 +github.com/echovault/echovault/echovault/api_acl.go:155.62,158.18 2 0 +github.com/echovault/echovault/echovault/api_acl.go:158.18,160.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:160.8,162.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:164.2,164.21 1 0 +github.com/echovault/echovault/echovault/api_acl.go:164.21,166.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:168.2,168.17 1 0 +github.com/echovault/echovault/echovault/api_acl.go:168.17,170.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:172.2,172.21 1 0 +github.com/echovault/echovault/echovault/api_acl.go:172.21,174.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:176.2,176.20 1 0 +github.com/echovault/echovault/echovault/api_acl.go:176.20,178.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:180.2,180.20 1 0 +github.com/echovault/echovault/echovault/api_acl.go:180.20,182.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:184.2,184.24 1 0 +github.com/echovault/echovault/echovault/api_acl.go:184.24,186.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:188.2,188.50 1 0 +github.com/echovault/echovault/echovault/api_acl.go:188.50,190.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:192.2,192.53 1 0 +github.com/echovault/echovault/echovault/api_acl.go:192.53,194.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:196.2,196.49 1 0 +github.com/echovault/echovault/echovault/api_acl.go:196.49,198.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:200.2,200.52 1 0 +github.com/echovault/echovault/echovault/api_acl.go:200.52,202.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:204.2,204.50 1 0 +github.com/echovault/echovault/echovault/api_acl.go:204.50,206.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:208.2,208.50 1 0 +github.com/echovault/echovault/echovault/api_acl.go:208.50,210.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:212.2,212.47 1 0 +github.com/echovault/echovault/echovault/api_acl.go:212.47,214.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:216.2,216.47 1 0 +github.com/echovault/echovault/echovault/api_acl.go:216.47,218.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:220.2,220.48 1 0 +github.com/echovault/echovault/echovault/api_acl.go:220.48,222.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:224.2,224.43 1 0 +github.com/echovault/echovault/echovault/api_acl.go:224.43,226.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:228.2,228.44 1 0 +github.com/echovault/echovault/echovault/api_acl.go:228.44,230.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:232.2,232.47 1 0 +github.com/echovault/echovault/echovault/api_acl.go:232.47,234.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:236.2,236.47 1 0 +github.com/echovault/echovault/echovault/api_acl.go:236.47,238.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:240.2,241.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:241.16,243.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:245.2,246.40 2 0 +github.com/echovault/echovault/echovault/api_acl.go:293.83,295.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:295.16,297.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:299.2,301.16 3 0 +github.com/echovault/echovault/echovault/api_acl.go:301.16,303.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:305.2,308.35 3 0 +github.com/echovault/echovault/echovault/api_acl.go:308.35,314.35 4 0 +github.com/echovault/echovault/echovault/api_acl.go:314.35,316.4 1 0 +github.com/echovault/echovault/echovault/api_acl.go:319.2,319.20 1 0 +github.com/echovault/echovault/echovault/api_acl.go:329.72,332.16 3 0 +github.com/echovault/echovault/echovault/api_acl.go:332.16,334.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:335.2,336.40 2 0 +github.com/echovault/echovault/echovault/api_acl.go:340.54,342.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:342.16,344.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:345.2,345.45 1 0 +github.com/echovault/echovault/echovault/api_acl.go:356.72,358.9 2 0 +github.com/echovault/echovault/echovault/api_acl.go:359.21,360.29 1 0 +github.com/echovault/echovault/echovault/api_acl.go:361.23,362.31 1 0 +github.com/echovault/echovault/echovault/api_acl.go:363.10,364.31 1 0 +github.com/echovault/echovault/echovault/api_acl.go:367.2,368.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:368.16,370.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:372.2,373.40 2 0 +github.com/echovault/echovault/echovault/api_acl.go:379.50,381.16 2 0 +github.com/echovault/echovault/echovault/api_acl.go:381.16,383.3 1 0 +github.com/echovault/echovault/echovault/api_acl.go:384.2,385.40 2 0 github.com/echovault/echovault/echovault/api_admin.go:166.84,169.9 2 0 github.com/echovault/echovault/echovault/api_admin.go:170.28,171.71 1 0 github.com/echovault/echovault/echovault/api_admin.go:172.29,173.73 1 0 @@ -1021,7 +328,7 @@ github.com/echovault/echovault/echovault/api_admin.go:415.66,416.13 1 1 github.com/echovault/echovault/echovault/api_admin.go:418.4,418.88 1 1 github.com/echovault/echovault/echovault/api_admin.go:418.88,419.122 1 1 github.com/echovault/echovault/echovault/api_admin.go:419.122,421.6 1 1 -github.com/echovault/echovault/echovault/api_generic.go:88.85,91.9 2 1 +github.com/echovault/echovault/echovault/api_generic.go:88.91,91.9 2 1 github.com/echovault/echovault/echovault/api_generic.go:92.18,93.26 1 1 github.com/echovault/echovault/echovault/api_generic.go:94.18,95.26 1 1 github.com/echovault/echovault/echovault/api_generic.go:98.2,98.9 1 1 @@ -1033,70 +340,74 @@ github.com/echovault/echovault/echovault/api_generic.go:109.2,109.17 1 1 github.com/echovault/echovault/echovault/api_generic.go:109.17,111.3 1 1 github.com/echovault/echovault/echovault/api_generic.go:113.2,114.16 2 1 github.com/echovault/echovault/echovault/api_generic.go:114.16,116.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:118.2,118.40 1 1 -github.com/echovault/echovault/echovault/api_generic.go:133.72,136.28 2 1 -github.com/echovault/echovault/echovault/api_generic.go:136.28,138.3 1 1 -github.com/echovault/echovault/echovault/api_generic.go:140.2,141.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:141.16,143.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:145.2,146.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:146.16,148.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:150.2,150.40 1 1 -github.com/echovault/echovault/echovault/api_generic.go:161.58,163.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:163.16,165.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:166.2,166.40 1 1 -github.com/echovault/echovault/echovault/api_generic.go:177.65,179.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:179.16,181.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:182.2,182.45 1 1 -github.com/echovault/echovault/echovault/api_generic.go:192.59,194.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:194.16,196.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:197.2,197.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:208.60,210.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:210.16,212.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:213.2,213.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:223.62,225.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:225.16,227.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:228.2,228.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:238.63,240.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:240.16,242.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:243.2,243.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:253.55,255.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:255.16,257.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:258.2,258.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:268.56,270.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:270.16,272.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:273.2,273.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:288.95,291.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:292.18,293.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:294.18,295.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:296.18,297.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:298.18,299.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:302.2,303.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:303.16,305.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:307.2,307.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:322.102,325.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:326.18,327.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:328.18,329.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:330.18,331.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:332.18,333.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:336.2,337.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:337.16,339.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:341.2,341.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:356.102,359.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:360.18,361.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:362.18,363.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:364.18,365.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:366.18,367.26 1 1 -github.com/echovault/echovault/echovault/api_generic.go:370.2,371.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:371.16,373.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:375.2,375.41 1 1 -github.com/echovault/echovault/echovault/api_generic.go:390.109,393.9 2 1 -github.com/echovault/echovault/echovault/api_generic.go:394.18,395.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:396.18,397.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:398.18,399.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:400.18,401.26 1 0 -github.com/echovault/echovault/echovault/api_generic.go:404.2,405.16 2 1 -github.com/echovault/echovault/echovault/api_generic.go:405.16,407.3 1 0 -github.com/echovault/echovault/echovault/api_generic.go:409.2,409.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:118.2,119.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:119.16,121.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:122.2,122.18 1 1 +github.com/echovault/echovault/echovault/api_generic.go:122.18,124.3 1 1 +github.com/echovault/echovault/echovault/api_generic.go:126.2,126.33 1 1 +github.com/echovault/echovault/echovault/api_generic.go:141.72,144.28 2 1 +github.com/echovault/echovault/echovault/api_generic.go:144.28,146.3 1 1 +github.com/echovault/echovault/echovault/api_generic.go:148.2,149.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:149.16,151.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:153.2,154.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:154.16,156.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:158.2,158.40 1 1 +github.com/echovault/echovault/echovault/api_generic.go:169.58,171.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:171.16,173.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:174.2,174.40 1 1 +github.com/echovault/echovault/echovault/api_generic.go:185.65,187.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:187.16,189.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:190.2,190.45 1 1 +github.com/echovault/echovault/echovault/api_generic.go:200.59,202.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:202.16,204.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:205.2,205.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:216.60,218.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:218.16,220.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:221.2,221.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:231.62,233.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:233.16,235.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:236.2,236.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:246.63,248.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:248.16,250.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:251.2,251.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:261.55,263.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:263.16,265.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:266.2,266.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:276.56,278.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:278.16,280.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:281.2,281.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:296.95,299.9 2 1 +github.com/echovault/echovault/echovault/api_generic.go:300.18,301.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:302.18,303.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:304.18,305.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:306.18,307.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:310.2,311.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:311.16,313.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:315.2,315.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:330.102,333.9 2 1 +github.com/echovault/echovault/echovault/api_generic.go:334.18,335.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:336.18,337.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:338.18,339.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:340.18,341.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:344.2,345.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:345.16,347.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:349.2,349.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:364.102,367.9 2 1 +github.com/echovault/echovault/echovault/api_generic.go:368.18,369.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:370.18,371.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:372.18,373.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:374.18,375.26 1 1 +github.com/echovault/echovault/echovault/api_generic.go:378.2,379.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:379.16,381.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:383.2,383.41 1 1 +github.com/echovault/echovault/echovault/api_generic.go:398.109,401.9 2 1 +github.com/echovault/echovault/echovault/api_generic.go:402.18,403.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:404.18,405.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:406.18,407.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:408.18,409.26 1 0 +github.com/echovault/echovault/echovault/api_generic.go:412.2,413.16 2 1 +github.com/echovault/echovault/echovault/api_generic.go:413.16,415.3 1 0 +github.com/echovault/echovault/echovault/api_generic.go:417.2,417.41 1 1 github.com/echovault/echovault/echovault/api_hash.go:46.91,49.36 2 1 github.com/echovault/echovault/echovault/api_hash.go:49.36,51.3 1 1 github.com/echovault/echovault/echovault/api_hash.go:53.2,54.16 2 1 @@ -1145,93 +456,93 @@ github.com/echovault/echovault/echovault/api_hash.go:305.2,305.41 1 1 github.com/echovault/echovault/echovault/api_hash.go:321.74,324.16 3 1 github.com/echovault/echovault/echovault/api_hash.go:324.16,326.3 1 1 github.com/echovault/echovault/echovault/api_hash.go:327.2,327.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:34.56,37.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:37.16,39.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:40.2,40.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:63.79,65.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:65.16,67.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:68.2,68.45 1 1 -github.com/echovault/echovault/echovault/api_list.go:86.73,88.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:88.16,90.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:91.2,91.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:111.84,113.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:113.16,115.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:116.2,116.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:121.80,123.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:123.16,125.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:126.2,126.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:144.84,146.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:146.16,148.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:149.2,149.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:173.96,175.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:175.16,177.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:178.2,178.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:192.59,194.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:194.16,196.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:197.2,197.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:211.59,213.16 2 1 -github.com/echovault/echovault/echovault/api_list.go:213.16,215.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:216.2,216.40 1 1 -github.com/echovault/echovault/echovault/api_list.go:233.75,236.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:236.16,238.3 1 0 -github.com/echovault/echovault/echovault/api_list.go:239.2,239.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:255.76,258.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:258.16,260.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:261.2,261.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:278.75,281.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:281.16,283.3 1 0 -github.com/echovault/echovault/echovault/api_list.go:284.2,284.41 1 1 -github.com/echovault/echovault/echovault/api_list.go:300.76,303.16 3 1 -github.com/echovault/echovault/echovault/api_list.go:303.16,305.3 1 1 -github.com/echovault/echovault/echovault/api_list.go:306.2,306.41 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:49.86,51.24 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:51.24,53.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:56.2,58.36 3 0 -github.com/echovault/echovault/echovault/api_pubsub.go:58.36,64.3 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:67.2,68.12 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:68.12,70.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:72.2,72.25 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:72.25,77.33 4 0 -github.com/echovault/echovault/echovault/api_pubsub.go:77.33,79.4 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:81.3,81.13 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:92.70,93.24 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:93.24,95.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:97.2,97.36 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:97.36,99.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:101.2,102.115 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:115.87,117.24 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:117.24,119.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:122.2,124.36 3 0 -github.com/echovault/echovault/echovault/api_pubsub.go:124.36,130.3 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:133.2,134.12 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:134.12,136.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:138.2,138.25 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:138.25,143.33 4 0 -github.com/echovault/echovault/echovault/api_pubsub.go:143.33,145.4 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:147.3,147.13 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:158.71,159.24 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:159.24,161.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:163.2,163.36 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:163.36,165.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:167.2,168.115 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:181.75,183.16 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:183.16,185.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:186.2,186.40 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:196.75,198.19 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:198.19,200.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:201.2,202.16 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:202.16,204.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:205.2,205.45 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:211.54,213.16 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:213.16,215.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:216.2,216.41 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:226.82,230.16 3 0 -github.com/echovault/echovault/echovault/api_pubsub.go:230.16,232.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:234.2,236.16 3 0 -github.com/echovault/echovault/echovault/api_pubsub.go:236.16,238.3 1 0 -github.com/echovault/echovault/echovault/api_pubsub.go:240.2,243.28 3 0 -github.com/echovault/echovault/echovault/api_pubsub.go:243.28,246.3 2 0 -github.com/echovault/echovault/echovault/api_pubsub.go:248.2,248.20 1 0 +github.com/echovault/echovault/echovault/api_list.go:35.56,38.16 3 1 +github.com/echovault/echovault/echovault/api_list.go:38.16,40.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:41.2,41.41 1 1 +github.com/echovault/echovault/echovault/api_list.go:64.79,66.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:66.16,68.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:69.2,69.45 1 1 +github.com/echovault/echovault/echovault/api_list.go:87.73,89.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:89.16,91.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:92.2,92.40 1 1 +github.com/echovault/echovault/echovault/api_list.go:112.82,114.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:114.16,116.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:117.2,118.40 2 1 +github.com/echovault/echovault/echovault/api_list.go:125.78,127.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:127.16,129.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:130.2,131.40 2 1 +github.com/echovault/echovault/echovault/api_list.go:149.82,156.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:156.16,158.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:159.2,160.40 2 1 +github.com/echovault/echovault/echovault/api_list.go:184.94,186.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:186.16,188.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:189.2,190.40 2 1 +github.com/echovault/echovault/echovault/api_list.go:204.59,206.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:206.16,208.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:209.2,209.40 1 1 +github.com/echovault/echovault/echovault/api_list.go:223.59,225.16 2 1 +github.com/echovault/echovault/echovault/api_list.go:225.16,227.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:228.2,228.40 1 1 +github.com/echovault/echovault/echovault/api_list.go:245.75,248.16 3 1 +github.com/echovault/echovault/echovault/api_list.go:248.16,250.3 1 0 +github.com/echovault/echovault/echovault/api_list.go:251.2,251.41 1 1 +github.com/echovault/echovault/echovault/api_list.go:267.76,270.16 3 1 +github.com/echovault/echovault/echovault/api_list.go:270.16,272.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:273.2,273.41 1 1 +github.com/echovault/echovault/echovault/api_list.go:290.75,293.16 3 1 +github.com/echovault/echovault/echovault/api_list.go:293.16,295.3 1 0 +github.com/echovault/echovault/echovault/api_list.go:296.2,296.41 1 1 +github.com/echovault/echovault/echovault/api_list.go:312.76,315.16 3 1 +github.com/echovault/echovault/echovault/api_list.go:315.16,317.3 1 1 +github.com/echovault/echovault/echovault/api_list.go:318.2,318.41 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:50.86,52.24 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:52.24,54.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:57.2,59.36 3 0 +github.com/echovault/echovault/echovault/api_pubsub.go:59.36,65.3 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:68.2,69.12 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:69.12,71.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:73.2,73.25 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:73.25,78.33 4 0 +github.com/echovault/echovault/echovault/api_pubsub.go:78.33,80.4 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:82.3,82.13 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:93.70,94.24 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:94.24,96.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:98.2,98.36 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:98.36,100.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:102.2,103.115 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:116.87,118.24 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:118.24,120.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:123.2,125.36 3 0 +github.com/echovault/echovault/echovault/api_pubsub.go:125.36,131.3 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:134.2,135.12 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:135.12,137.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:139.2,139.25 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:139.25,144.33 4 0 +github.com/echovault/echovault/echovault/api_pubsub.go:144.33,146.4 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:148.3,148.13 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:159.71,160.24 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:160.24,162.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:164.2,164.36 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:164.36,166.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:168.2,169.115 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:182.73,184.16 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:184.16,186.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:187.2,188.40 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:198.75,200.19 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:200.19,202.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:203.2,204.16 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:204.16,206.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:207.2,207.45 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:213.54,215.16 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:215.16,217.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:218.2,218.41 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:228.82,232.16 3 0 +github.com/echovault/echovault/echovault/api_pubsub.go:232.16,234.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:236.2,238.16 3 0 +github.com/echovault/echovault/echovault/api_pubsub.go:238.16,240.3 1 0 +github.com/echovault/echovault/echovault/api_pubsub.go:242.2,245.28 3 0 +github.com/echovault/echovault/echovault/api_pubsub.go:245.28,248.3 2 0 +github.com/echovault/echovault/echovault/api_pubsub.go:250.2,250.20 1 0 github.com/echovault/echovault/echovault/api_set.go:36.75,39.16 3 1 github.com/echovault/echovault/echovault/api_set.go:39.16,41.3 1 1 github.com/echovault/echovault/echovault/api_set.go:42.2,42.41 1 1 @@ -1241,47 +552,47 @@ github.com/echovault/echovault/echovault/api_set.go:61.2,61.41 1 1 github.com/echovault/echovault/echovault/api_set.go:78.66,81.16 3 1 github.com/echovault/echovault/echovault/api_set.go:81.16,83.3 1 1 github.com/echovault/echovault/echovault/api_set.go:84.2,84.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:89.86,92.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:92.16,94.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:95.2,95.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:112.67,115.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:115.16,117.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:118.2,118.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:136.77,138.15 2 1 -github.com/echovault/echovault/echovault/api_set.go:138.15,140.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:141.2,142.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:142.16,144.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:145.2,145.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:150.87,153.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:153.16,155.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:156.2,156.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:172.70,174.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:174.16,176.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:177.2,177.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:191.65,193.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:193.16,195.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:196.2,196.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:213.84,216.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:216.16,218.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:219.2,219.46 1 1 -github.com/echovault/echovault/echovault/api_set.go:241.82,243.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:243.16,245.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:246.2,246.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:262.73,264.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:264.16,266.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:267.2,267.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:284.79,286.16 2 1 -github.com/echovault/echovault/echovault/api_set.go:286.16,288.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:289.2,289.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:305.75,308.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:308.16,310.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:311.2,311.41 1 1 -github.com/echovault/echovault/echovault/api_set.go:326.67,329.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:329.16,331.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:332.2,332.45 1 1 -github.com/echovault/echovault/echovault/api_set.go:337.87,340.16 3 1 -github.com/echovault/echovault/echovault/api_set.go:340.16,342.3 1 1 -github.com/echovault/echovault/echovault/api_set.go:343.2,343.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:91.86,94.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:94.16,96.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:97.2,97.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:114.67,117.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:117.16,119.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:120.2,120.45 1 1 +github.com/echovault/echovault/echovault/api_set.go:138.77,140.15 2 1 +github.com/echovault/echovault/echovault/api_set.go:140.15,142.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:143.2,144.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:144.16,146.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:147.2,147.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:152.87,155.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:155.16,157.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:158.2,158.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:174.70,176.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:176.16,178.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:179.2,179.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:193.65,195.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:195.16,197.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:198.2,198.45 1 1 +github.com/echovault/echovault/echovault/api_set.go:215.84,218.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:218.16,220.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:221.2,221.46 1 1 +github.com/echovault/echovault/echovault/api_set.go:243.82,245.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:245.16,247.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:248.2,248.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:264.73,266.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:266.16,268.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:269.2,269.45 1 1 +github.com/echovault/echovault/echovault/api_set.go:286.79,288.16 2 1 +github.com/echovault/echovault/echovault/api_set.go:288.16,290.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:291.2,291.45 1 1 +github.com/echovault/echovault/echovault/api_set.go:307.75,310.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:310.16,312.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:313.2,313.41 1 1 +github.com/echovault/echovault/echovault/api_set.go:328.67,331.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:331.16,333.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:334.2,334.45 1 1 +github.com/echovault/echovault/echovault/api_set.go:341.87,344.16 3 1 +github.com/echovault/echovault/echovault/api_set.go:344.16,346.3 1 1 +github.com/echovault/echovault/echovault/api_set.go:347.2,347.41 1 1 github.com/echovault/echovault/echovault/api_sorted_set.go:105.87,107.28 2 1 github.com/echovault/echovault/echovault/api_sorted_set.go:107.28,108.17 1 1 github.com/echovault/echovault/echovault/api_sorted_set.go:108.17,110.18 2 1 @@ -1912,6 +1223,699 @@ github.com/echovault/echovault/echovault/test_helpers.go:22.2,22.57 1 1 github.com/echovault/echovault/echovault/test_helpers.go:22.57,24.3 1 0 github.com/echovault/echovault/echovault/test_helpers.go:25.2,26.12 2 1 github.com/echovault/echovault/echovault/test_helpers.go:29.95,34.2 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:52.40,57.24 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:57.24,65.3 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:68.2,68.28 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:68.28,70.54 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:70.54,71.14 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:72.9,73.17 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:73.17,74.37 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:74.37,76.6 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:79.4,81.22 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:81.22,82.61 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:82.61,84.6 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:87.4,87.39 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:87.39,88.61 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:88.61,90.6 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:96.2,97.29 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:97.29,98.33 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:98.33,100.9 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:103.2,103.20 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:103.20,105.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:108.2,108.29 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:108.29,110.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:112.2,122.13 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:125.52,130.70 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:130.70,132.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:133.2,137.3 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:140.45,146.33 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:146.33,147.30 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:147.30,148.47 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:148.47,150.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:150.10,153.5 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:157.2,158.45 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:158.45,160.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:162.2,169.12 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:172.41,177.2 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:179.73,184.37 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:184.37,185.28 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:185.28,187.12 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:190.3,190.31 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:190.31,191.30 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:191.30,193.5 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:196.3,196.18 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:196.18,197.12 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:200.3,200.52 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:200.52,201.49 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:201.49,203.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:206.3,206.63 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:206.63,208.4 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:210.2,210.12 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:213.95,222.19 6 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:222.19,230.60 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:230.60,232.4 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:233.3,233.24 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:236.2,236.19 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:236.19,245.31 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:245.31,246.28 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:246.28,249.10 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:252.3,252.17 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:252.17,254.4 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:258.2,258.19 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:258.19,260.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:263.2,263.21 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:263.21,269.3 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:271.2,271.46 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:271.46,272.38 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:272.38,275.18 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:275.18,282.5 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:286.2,286.50 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:289.131,298.16 6 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:298.16,300.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:302.2,306.59 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:306.59,310.17 4 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:310.17,312.4 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:316.2,316.36 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:316.36,318.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:321.2,321.43 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:321.43,323.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:326.2,326.37 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:326.37,328.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:331.2,334.29 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:334.29,336.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:339.2,339.57 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:339.57,341.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:344.2,345.65 2 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:345.65,346.101 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:346.101,347.63 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:347.63,349.5 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:350.4,351.16 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:353.5,354.27 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:354.27,356.4 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:357.3,357.88 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:361.2,361.64 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:361.64,362.101 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:362.101,363.63 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:363.63,366.5 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:367.4,367.16 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:369.5,371.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:374.2,374.94 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:374.94,376.3 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:376.5,378.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:381.2,381.93 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:381.93,383.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:383.5,385.3 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:388.2,388.59 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:388.59,390.36 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:390.36,392.106 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:392.106,394.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:394.7,396.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:398.4,398.105 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:398.105,400.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:400.7,402.5 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:404.3,404.13 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:407.2,407.45 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:407.45,409.29 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:409.29,411.4 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:414.3,414.59 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:414.59,415.95 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:415.95,416.49 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:416.49,418.6 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:419.5,420.17 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:422.6,424.4 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:427.3,427.60 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:427.60,428.97 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:428.97,429.50 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:429.50,431.6 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:432.5,433.17 2 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:435.6,437.4 1 0 +github.com/echovault/echovault/internal/modules/acl/acl.go:440.2,440.12 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:443.32,447.33 3 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:447.33,452.31 5 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:452.31,453.37 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:453.37,455.5 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:457.3,457.25 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:460.2,460.29 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:460.29,461.33 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:461.33,463.4 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:467.29,469.2 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:471.31,473.2 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:475.30,477.2 1 1 +github.com/echovault/echovault/internal/modules/acl/acl.go:479.32,481.2 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:31.68,32.56 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:32.56,34.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:35.2,36.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:36.9,38.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:39.2,39.102 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:39.102,41.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:42.2,42.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:45.71,46.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:46.30,48.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:50.2,51.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:51.9,53.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:55.2,57.30 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:57.30,58.38 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:58.38,61.9 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:65.2,65.16 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:65.16,67.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:70.2,74.18 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:74.18,76.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:76.8,78.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:79.2,79.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:79.21,81.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:82.2,82.17 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:82.17,84.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:86.2,87.29 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:87.29,89.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:92.2,93.51 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:93.51,94.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:94.22,96.12 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:98.3,98.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:100.2,100.51 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:100.51,101.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:101.22,103.12 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:105.3,105.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:109.2,110.48 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:110.48,111.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:111.21,113.12 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:115.3,115.47 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:117.2,117.48 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:117.48,118.21 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:118.21,120.12 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:122.3,122.47 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:126.2,127.79 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:127.79,128.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:128.37,130.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:132.2,133.30 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:133.30,134.10 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:135.100,137.53 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:138.53,140.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:141.52,143.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:148.2,150.54 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:150.54,152.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:153.2,153.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:153.54,155.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:157.2,159.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:162.67,163.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:163.29,165.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:167.2,171.35 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:171.35,172.36 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:172.36,173.48 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:173.48,175.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:176.4,176.12 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:178.3,178.50 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:178.50,179.51 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:179.51,182.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:186.2,186.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:186.30,189.34 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:189.34,192.4 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:193.3,194.28 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:194.28,196.24 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:196.24,198.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:200.3,200.26 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:203.2,203.30 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:203.30,205.46 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:205.46,206.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:206.54,208.38 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:208.38,210.30 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:210.30,212.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:214.5,214.28 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:219.2,219.85 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:222.69,224.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:224.9,226.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:227.2,228.33 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:228.33,230.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:231.2,232.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:235.71,237.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:237.9,239.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:240.2,240.56 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:240.56,242.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:243.2,243.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:246.71,247.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:247.29,249.3 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:250.2,251.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:251.9,253.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:254.2,254.75 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:254.75,256.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:257.2,257.42 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:260.70,262.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:262.9,264.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:265.2,266.74 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:269.68,270.29 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:270.29,272.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:273.2,274.9 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:274.9,276.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:277.2,279.33 3 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:279.33,282.19 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:282.19,284.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:284.9,286.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:288.3,288.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:288.22,290.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:292.3,292.18 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:292.18,294.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:296.3,296.43 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:296.43,297.61 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:297.61,299.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:300.4,300.58 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:300.58,302.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:305.3,305.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:305.52,306.23 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:306.23,308.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:310.4,310.39 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:313.3,313.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:313.52,314.23 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:314.23,316.13 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:318.4,318.39 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:321.3,321.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:321.49,322.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:322.22,324.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:326.4,326.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:329.3,329.49 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:329.49,330.22 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:330.22,332.13 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:334.4,334.37 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:337.3,337.45 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:337.45,338.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:338.52,340.13 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:342.4,342.41 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:345.3,345.45 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:345.45,346.52 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:346.52,348.5 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:351.3,351.55 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:351.55,353.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:355.3,355.55 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:355.55,357.4 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:358.3,358.54 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:361.2,362.25 2 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:365.68,366.30 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:366.30,368.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:370.2,371.9 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:371.9,373.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:375.2,379.16 4 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:379.16,381.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:383.2,383.15 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:383.15,384.35 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:384.35,386.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:389.2,393.20 3 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:393.20,394.59 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:394.59,396.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:399.2,399.37 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:399.37,400.59 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:400.59,402.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:406.2,406.29 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:406.29,410.31 3 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:410.31,411.35 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:411.35,414.54 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:414.54,416.6 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:416.11,419.6 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:420.5,420.10 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:424.3,424.17 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:424.17,426.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:429.2,429.42 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:432.68,433.29 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:433.29,435.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:437.2,438.9 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:438.9,440.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:442.2,446.16 4 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:446.16,448.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:450.2,450.15 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:450.15,451.35 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:451.35,453.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:456.2,458.20 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:458.20,461.17 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:461.17,463.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:464.3,465.17 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:465.17,467.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:470.2,470.37 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:470.37,473.17 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:473.17,475.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:476.3,477.17 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:477.17,479.4 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:482.2,483.16 2 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:483.16,485.3 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:487.2,487.42 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:490.36,500.84 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:500.84,506.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:515.84,521.5 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:530.86,536.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:545.86,551.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:560.86,566.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:575.86,581.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:591.86,597.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:606.86,612.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:621.86,627.7 1 1 +github.com/echovault/echovault/internal/modules/acl/commands.go:639.86,645.7 1 0 +github.com/echovault/echovault/internal/modules/acl/commands.go:654.86,660.7 1 0 +github.com/echovault/echovault/internal/modules/acl/user.go:53.31,55.39 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:55.39,57.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:58.2,59.51 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:59.51,61.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:63.2,64.37 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:64.37,66.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:67.2,68.49 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:68.49,70.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:72.2,73.53 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:73.53,75.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:76.2,77.54 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:77.54,79.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:81.2,82.43 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:82.43,84.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:85.2,86.55 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:86.55,88.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:91.79,93.32 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:93.32,94.24 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:94.24,96.12 2 0 +github.com/echovault/echovault/internal/modules/acl/user.go:98.3,98.25 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:100.2,100.33 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:100.33,101.17 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:101.17,104.4 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:105.3,105.25 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:107.2,107.8 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:110.50,111.26 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:111.26,113.35 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:113.35,115.4 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:116.3,116.36 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:116.36,118.4 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:120.3,120.37 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:120.37,126.12 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:128.3,128.20 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:128.20,129.84 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:129.84,130.65 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:130.65,132.6 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:133.5,133.45 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:135.4,135.12 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:137.3,137.20 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:137.20,138.84 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:138.84,139.68 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:139.68,141.6 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:142.5,142.45 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:144.4,144.12 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:147.3,147.43 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:147.43,150.12 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:152.3,152.46 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:152.46,154.12 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:156.3,156.36 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:156.36,157.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:157.21,159.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:161.4,161.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:161.21,163.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:167.3,167.40 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:167.40,171.12 4 0 +github.com/echovault/echovault/internal/modules/acl/user.go:173.3,173.93 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:173.93,178.12 5 1 +github.com/echovault/echovault/internal/modules/acl/user.go:180.3,180.57 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:180.57,183.12 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:185.3,185.57 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:185.57,188.12 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:191.3,191.44 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:191.44,193.4 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:194.3,194.36 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:194.36,195.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:195.21,197.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:199.4,199.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:199.21,201.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:205.3,205.44 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:205.44,208.12 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:210.3,210.66 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:210.66,211.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:211.21,213.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:215.4,215.21 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:215.21,217.13 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:223.2,223.26 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:223.26,224.39 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:224.39,227.4 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:230.2,230.26 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:230.26,232.42 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:232.42,235.4 2 0 +github.com/echovault/echovault/internal/modules/acl/user.go:237.3,237.43 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:237.43,242.4 4 1 +github.com/echovault/echovault/internal/modules/acl/user.go:244.3,244.42 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:244.42,248.4 3 1 +github.com/echovault/echovault/internal/modules/acl/user.go:250.3,250.46 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:250.46,253.4 2 1 +github.com/echovault/echovault/internal/modules/acl/user.go:255.2,255.12 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:258.36,272.2 13 0 +github.com/echovault/echovault/internal/modules/acl/user.go:274.38,287.2 12 0 +github.com/echovault/echovault/internal/modules/acl/user.go:289.40,304.2 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:306.46,307.24 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:307.24,309.3 1 1 +github.com/echovault/echovault/internal/modules/acl/user.go:310.2,310.26 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:24.68,25.29 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:26.10,27.54 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:28.9,29.34 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:30.9,31.94 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:35.36,45.84 1 1 +github.com/echovault/echovault/internal/modules/connection/commands.go:45.84,51.5 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:33.67,35.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:35.16,37.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:39.2,45.16 6 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:45.16,47.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:51.2,51.17 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:51.17,52.45 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:52.45,54.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:54.9,56.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:59.2,59.45 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:59.45,61.45 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:61.45,63.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:64.3,64.47 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:65.8,65.52 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:65.52,67.44 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:67.44,69.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:70.3,70.56 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:71.8,73.45 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:73.45,76.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:76.9,79.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:81.2,81.16 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:81.16,83.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:84.2,86.87 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:86.87,88.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:91.2,91.29 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:91.29,93.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:95.2,95.17 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:98.68,100.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:100.16,102.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:104.2,107.15 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:107.15,108.29 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:108.29,109.16 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:109.16,115.5 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:120.2,120.41 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:120.41,121.15 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:121.15,126.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:131.2,131.28 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:131.28,132.42 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:132.42,133.63 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:133.63,135.5 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:136.4,137.12 2 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:139.3,139.71 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:139.71,141.4 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:142.3,142.55 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:146.2,146.28 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:146.28,147.69 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:147.69,149.4 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:152.2,152.42 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:155.67,157.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:157.16,159.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:160.2,162.44 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:162.44,164.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:166.2,167.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:167.16,169.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:170.2,174.51 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:177.68,179.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:179.16,181.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:183.2,186.36 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:186.36,187.31 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:187.31,189.12 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:191.3,191.44 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:191.44,193.18 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:193.18,195.5 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:196.4,197.12 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:199.3,199.19 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:201.2,201.15 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:201.15,202.34 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:202.34,203.14 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:203.14,206.5 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:210.2,210.28 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:210.28,212.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:214.2,216.41 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:216.41,217.24 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:217.24,219.12 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:221.3,221.96 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:224.2,224.19 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:227.67,229.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:229.16,231.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:232.2,233.37 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:233.37,235.17 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:235.17,237.12 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:239.3,239.13 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:241.2,241.51 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:244.71,246.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:246.16,248.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:250.2,252.44 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:252.44,254.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:256.2,256.62 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:256.62,258.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:259.2,262.31 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:262.31,264.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:266.2,268.30 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:271.74,273.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:273.16,275.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:277.2,279.44 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:279.44,281.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:283.2,283.63 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:283.63,285.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:286.2,290.31 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:290.31,292.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:294.2,295.57 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:295.57,297.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:299.2,299.47 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:302.67,304.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:304.16,306.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:308.2,312.44 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:312.44,314.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:316.2,316.63 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:316.63,318.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:319.2,323.31 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:323.31,325.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:327.2,328.50 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:328.50,330.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:332.2,332.12 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:332.12,334.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:336.2,336.47 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:339.70,341.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:341.16,343.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:345.2,349.16 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:349.16,351.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:352.2,353.53 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:353.53,355.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:357.2,357.44 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:357.44,359.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:361.2,361.62 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:361.62,363.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:364.2,366.30 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:366.30,369.3 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:371.2,373.44 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:374.12,375.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:375.39,377.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:378.3,378.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:379.12,380.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:380.39,382.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:383.3,383.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:384.12,385.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:385.39,387.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:388.3,388.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:388.39,390.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:391.3,391.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:392.12,393.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:393.39,394.40 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:394.40,396.5 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:397.4,397.58 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:399.3,399.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:400.10,401.82 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:404.2,404.30 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:407.72,409.16 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:409.16,411.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:413.2,417.16 3 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:417.16,419.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:420.2,421.55 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:421.55,423.3 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:425.2,425.44 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:425.44,427.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:429.2,429.62 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:429.62,431.3 1 0 +github.com/echovault/echovault/internal/modules/generic/commands.go:432.2,434.30 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:434.30,437.3 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:439.2,441.44 2 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:442.12,443.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:443.39,445.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:446.3,446.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:447.12,448.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:448.39,450.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:451.3,451.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:452.12,453.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:453.39,455.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:456.3,456.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:456.39,458.4 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:459.3,459.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:460.12,461.39 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:461.39,462.40 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:462.40,464.5 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:465.4,465.58 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:467.3,467.57 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:468.10,469.82 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:472.2,472.30 1 1 +github.com/echovault/echovault/internal/modules/generic/commands.go:475.36,644.2 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:23.73,24.34 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:24.34,26.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:27.2,31.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:34.74,35.25 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:35.25,37.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:38.2,39.30 2 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:39.30,40.15 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:40.15,42.4 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:44.2,48.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:51.73,52.19 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:52.19,54.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:55.2,59.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:62.74,63.18 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:63.18,65.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:66.2,70.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:73.73,74.18 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:74.18,76.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:77.2,81.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:84.77,85.19 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:85.19,87.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:88.2,92.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:95.80,96.19 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:96.19,98.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:99.2,103.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:106.73,107.19 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:107.19,109.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:110.2,114.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:117.76,118.34 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:118.34,120.3 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:121.2,125.8 1 1 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:128.78,129.34 1 0 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:129.34,131.3 1 0 +github.com/echovault/echovault/internal/modules/generic/key_funcs.go:132.2,136.8 1 0 +github.com/echovault/echovault/internal/modules/generic/utils.go:32.100,33.19 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:33.19,35.3 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:36.2,36.33 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:37.13,39.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:41.12,42.27 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:42.27,44.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:45.3,46.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:48.12,49.27 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:49.27,51.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:52.3,53.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:55.12,56.19 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:56.19,58.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:59.3,59.30 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:59.30,61.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:62.3,64.17 3 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:64.17,66.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:67.3,68.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:70.12,71.19 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:71.19,73.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:74.3,74.30 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:74.30,76.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:77.3,79.17 3 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:79.17,81.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:82.3,83.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:85.14,86.19 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:86.19,88.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:89.3,89.30 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:89.30,91.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:92.3,94.17 3 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:94.17,96.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:97.3,98.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:100.14,101.19 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:101.19,103.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:104.3,104.30 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:104.30,106.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:107.3,109.17 3 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:109.17,111.4 1 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:112.3,113.55 2 1 +github.com/echovault/echovault/internal/modules/generic/utils.go:115.10,116.96 1 1 github.com/echovault/echovault/internal/modules/hash/commands.go:28.68,30.16 2 1 github.com/echovault/echovault/internal/modules/hash/commands.go:30.16,32.3 1 1 github.com/echovault/echovault/internal/modules/hash/commands.go:34.2,37.36 3 1 @@ -2364,7 +2368,7 @@ github.com/echovault/echovault/internal/modules/list/commands.go:502.3,502.54 1 github.com/echovault/echovault/internal/modules/list/commands.go:503.14,504.81 1 1 github.com/echovault/echovault/internal/modules/list/commands.go:504.81,506.4 1 0 github.com/echovault/echovault/internal/modules/list/commands.go:507.3,507.64 1 1 -github.com/echovault/echovault/internal/modules/list/commands.go:511.36,631.2 1 1 +github.com/echovault/echovault/internal/modules/list/commands.go:511.36,634.2 1 1 github.com/echovault/echovault/internal/modules/list/key_funcs.go:23.75,24.18 1 1 github.com/echovault/echovault/internal/modules/list/key_funcs.go:24.18,26.3 1 1 github.com/echovault/echovault/internal/modules/list/key_funcs.go:27.2,31.8 1 1 @@ -2849,7 +2853,7 @@ github.com/echovault/echovault/internal/modules/set/commands.go:781.80,783.4 1 0 github.com/echovault/echovault/internal/modules/set/commands.go:785.2,787.75 2 1 github.com/echovault/echovault/internal/modules/set/commands.go:787.75,789.3 1 0 github.com/echovault/echovault/internal/modules/set/commands.go:790.2,790.65 1 1 -github.com/echovault/echovault/internal/modules/set/commands.go:793.36,944.2 1 1 +github.com/echovault/echovault/internal/modules/set/commands.go:793.36,946.2 1 1 github.com/echovault/echovault/internal/modules/set/key_funcs.go:25.74,26.18 1 1 github.com/echovault/echovault/internal/modules/set/key_funcs.go:26.18,28.3 1 1 github.com/echovault/echovault/internal/modules/set/key_funcs.go:29.2,33.8 1 1 @@ -2956,6 +2960,99 @@ github.com/echovault/echovault/internal/modules/set/set.go:184.31,185.19 1 1 github.com/echovault/echovault/internal/modules/set/set.go:186.9,187.17 1 1 github.com/echovault/echovault/internal/modules/set/set.go:188.9,191.15 3 1 github.com/echovault/echovault/internal/modules/set/set.go:192.10,195.28 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:27.78,33.29 4 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:33.29,34.54 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:34.54,40.42 4 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:40.42,42.5 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:44.4,47.12 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:50.3,50.36 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:50.36,57.43 5 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:57.43,59.5 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:61.4,63.21 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:67.2,69.25 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:72.76,76.35 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:76.35,77.65 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:77.65,78.41 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:78.41,80.5 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:81.4,81.12 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:83.3,83.13 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:86.2,86.51 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:89.75,90.29 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:91.9,96.36 4 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:96.36,97.66 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:97.66,98.52 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:98.52,102.6 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:103.5,103.13 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:105.4,106.14 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:108.3,109.26 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:111.9,115.56 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:115.56,117.4 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:118.3,118.53 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:118.53,122.37 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:122.37,123.67 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:123.67,124.53 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:124.53,125.59 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:125.59,129.8 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:131.6,131.14 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:133.5,133.54 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:133.54,136.6 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:138.9,138.61 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:138.61,142.37 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:142.37,143.67 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:143.67,144.53 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:144.53,146.24 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:146.24,149.8 2 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:151.6,151.14 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:153.5,153.33 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:153.33,156.6 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:158.9,158.60 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:158.60,162.37 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:162.37,163.67 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:163.67,164.53 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:164.53,165.55 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:165.55,169.8 3 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:171.6,171.14 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:173.5,173.50 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:173.50,176.6 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:178.9,180.4 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:181.3,182.26 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:183.10,184.54 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:188.75,190.2 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:192.36,200.84 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:200.84,204.5 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:213.84,217.5 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:225.86,229.7 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:238.86,242.7 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:252.86,256.7 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:267.84,271.5 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:272.73,273.49 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:273.49,275.6 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:276.5,276.45 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:285.84,289.5 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:290.73,292.18 2 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:292.18,294.6 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:295.5,295.53 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:304.84,308.5 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:309.73,310.47 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:310.47,312.6 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:313.5,313.45 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:321.84,325.5 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:335.86,339.7 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:340.75,341.34 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:341.34,343.8 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:344.7,345.34 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:345.34,347.8 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:348.7,348.75 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:348.75,350.8 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:351.7,351.47 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:361.86,365.7 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:366.75,367.35 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:367.35,369.8 1 0 +github.com/echovault/echovault/internal/modules/admin/commands.go:370.7,371.47 2 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:380.86,384.7 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:385.75,388.38 3 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:388.38,390.8 1 1 +github.com/echovault/echovault/internal/modules/admin/commands.go:391.7,391.30 1 1 github.com/echovault/echovault/internal/modules/sorted_set/commands.go:29.68,31.16 2 1 github.com/echovault/echovault/internal/modules/sorted_set/commands.go:31.16,33.3 1 1 github.com/echovault/echovault/internal/modules/sorted_set/commands.go:35.2,44.43 7 1 @@ -3880,99 +3977,6 @@ github.com/echovault/echovault/internal/modules/sorted_set/utils.go:162.3,162.13 github.com/echovault/echovault/internal/modules/sorted_set/utils.go:163.12,164.16 1 1 github.com/echovault/echovault/internal/modules/sorted_set/utils.go:164.16,166.4 1 1 github.com/echovault/echovault/internal/modules/sorted_set/utils.go:167.3,167.13 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:27.78,33.29 4 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:33.29,34.54 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:34.54,40.42 4 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:40.42,42.5 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:44.4,47.12 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:50.3,50.36 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:50.36,57.43 5 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:57.43,59.5 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:61.4,63.21 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:67.2,69.25 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:72.76,76.35 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:76.35,77.65 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:77.65,78.41 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:78.41,80.5 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:81.4,81.12 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:83.3,83.13 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:86.2,86.51 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:89.75,90.29 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:91.9,96.36 4 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:96.36,97.66 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:97.66,98.52 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:98.52,102.6 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:103.5,103.13 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:105.4,106.14 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:108.3,109.26 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:111.9,115.56 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:115.56,117.4 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:118.3,118.53 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:118.53,122.37 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:122.37,123.67 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:123.67,124.53 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:124.53,125.59 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:125.59,129.8 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:131.6,131.14 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:133.5,133.54 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:133.54,136.6 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:138.9,138.61 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:138.61,142.37 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:142.37,143.67 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:143.67,144.53 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:144.53,146.24 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:146.24,149.8 2 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:151.6,151.14 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:153.5,153.33 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:153.33,156.6 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:158.9,158.60 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:158.60,162.37 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:162.37,163.67 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:163.67,164.53 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:164.53,165.55 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:165.55,169.8 3 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:171.6,171.14 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:173.5,173.50 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:173.50,176.6 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:178.9,180.4 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:181.3,182.26 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:183.10,184.54 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:188.75,190.2 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:192.36,200.84 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:200.84,204.5 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:213.84,217.5 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:225.86,229.7 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:238.86,242.7 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:252.86,256.7 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:267.84,271.5 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:272.73,273.49 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:273.49,275.6 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:276.5,276.45 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:285.84,289.5 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:290.73,292.18 2 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:292.18,294.6 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:295.5,295.53 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:304.84,308.5 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:309.73,310.47 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:310.47,312.6 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:313.5,313.45 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:321.84,325.5 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:335.86,339.7 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:340.75,341.34 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:341.34,343.8 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:344.7,345.34 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:345.34,347.8 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:348.7,348.75 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:348.75,350.8 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:351.7,351.47 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:360.86,364.7 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:365.75,366.35 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:366.35,368.8 1 0 -github.com/echovault/echovault/internal/modules/admin/commands.go:369.7,370.47 2 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:379.86,383.7 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:384.75,387.38 3 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:387.38,389.8 1 1 -github.com/echovault/echovault/internal/modules/admin/commands.go:390.7,390.30 1 1 github.com/echovault/echovault/internal/modules/string/commands.go:24.72,26.16 2 1 github.com/echovault/echovault/internal/modules/string/commands.go:26.16,28.3 1 1 github.com/echovault/echovault/internal/modules/string/commands.go:30.2,33.9 3 1 diff --git a/echovault/api_acl.go b/echovault/api_acl.go index 61f98f5a..2a88631b 100644 --- a/echovault/api_acl.go +++ b/echovault/api_acl.go @@ -19,6 +19,7 @@ import ( "fmt" "github.com/echovault/echovault/internal" "github.com/tidwall/resp" + "strings" ) // ACLLoadOptions modifies the behaviour of the ACLLoad function. @@ -150,8 +151,8 @@ func (server *EchoVault) ACLUsers() ([]string, error) { // // `user` - User - The user object to add/update. // -// Returns: "OK" if the user is successfully created/updated. -func (server *EchoVault) ACLSetUser(user User) (string, error) { +// Returns: true if the user is successfully created/updated. +func (server *EchoVault) ACLSetUser(user User) (bool, error) { cmd := []string{"ACL", "SETUSER", user.Username} if user.Enabled { @@ -238,10 +239,11 @@ func (server *EchoVault) ACLSetUser(user User) (string, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // ACLGetUser gets the ACL configuration of the name with the given username. @@ -323,14 +325,15 @@ func (server *EchoVault) ACLGetUser(username string) (map[string][]string, error // // `usernames` - ...string - A string of usernames to delete from the ACL module. // -// Returns: "OK" if the deletion is successful. -func (server *EchoVault) ACLDelUser(usernames ...string) (string, error) { +// Returns: true if the deletion is successful. +func (server *EchoVault) ACLDelUser(usernames ...string) (bool, error) { cmd := append([]string{"ACL", "DELUSER"}, usernames...) b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // ACLList lists all the currently loaded ACL users and their rules. @@ -349,8 +352,8 @@ func (server *EchoVault) ACLList() ([]string, error) { // // `options` - ACLLoadOptions - modifies the load behaviour. // -// Returns: "OK" if the load is successful. -func (server *EchoVault) ACLLoad(options ACLLoadOptions) (string, error) { +// Returns: true if the load is successful. +func (server *EchoVault) ACLLoad(options ACLLoadOptions) (bool, error) { cmd := []string{"ACL", "LOAD"} switch { case options.Merge: @@ -363,19 +366,21 @@ func (server *EchoVault) ACLLoad(options ACLLoadOptions) (string, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // ACLSave saves the current ACL configuration to the configured ACL file. // -// Returns: "OK" if the save is successful. -func (server *EchoVault) ACLSave() (string, error) { +// Returns: true if the save is successful. +func (server *EchoVault) ACLSave() (bool, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"ACL", "SAVE"}), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } diff --git a/echovault/api_admin.go b/echovault/api_admin.go index 60b7c76e..9f3c2aaa 100644 --- a/echovault/api_admin.go +++ b/echovault/api_admin.go @@ -1,6 +1,6 @@ // Copyright 2024 Kelvin Clement Mwinuka // -// Licensed under the Apache License, Version 2.0 (the "License");s +// Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // diff --git a/echovault/api_generic.go b/echovault/api_generic.go index a06c0537..8ff600db 100644 --- a/echovault/api_generic.go +++ b/echovault/api_generic.go @@ -78,14 +78,14 @@ type PExpireAtOptions ExpireOptions // // `options` - SetOptions. // -// Returns: "OK" if the set is successful, If the "Get" flag in SetOptions is set to true, the previous value is returned. +// Returns: true if the set is successful, If the "Get" flag in SetOptions is set to true, the previous value is returned. // // Errors: // // "key does not exist"" - when the XX flag is set to true and the key does not exist. // // "key does already exists" - when the NX flag is set to true and the key already exists. -func (server *EchoVault) Set(key, value string, options SetOptions) (string, error) { +func (server *EchoVault) Set(key, value string, options SetOptions) (string, bool, error) { cmd := []string{"SET", key, value} switch { @@ -112,10 +112,18 @@ func (server *EchoVault) Set(key, value string, options SetOptions) (string, err b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) if err != nil { - return "", err + return "", false, err } - return internal.ParseStringResponse(b) + previousValue, err := internal.ParseStringResponse(b) + if err != nil { + return "", false, err + } + if !options.GET { + previousValue = "" + } + + return previousValue, true, nil } // MSet set multiple values at multiple keys with one command. Existing keys are overwritten and non-existent diff --git a/echovault/api_generic_test.go b/echovault/api_generic_test.go index 31ae4cdb..848a44df 100644 --- a/echovault/api_generic_test.go +++ b/echovault/api_generic_test.go @@ -609,7 +609,8 @@ func TestEchoVault_SET(t *testing.T) { key string value string options SetOptions - want string + wantOk bool + wantPrev string wantErr bool }{ { @@ -618,7 +619,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key1", value: "value1", options: SetOptions{}, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -627,7 +629,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key2", value: "value2", options: SetOptions{NX: true}, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -638,11 +641,12 @@ func TestEchoVault_SET(t *testing.T) { ExpireAt: time.Time{}, }, }, - key: "key3", - value: "value3", - options: SetOptions{NX: true}, - want: "", - wantErr: true, + key: "key3", + value: "value3", + options: SetOptions{NX: true}, + wantOk: false, + wantPrev: "", + wantErr: true, }, { name: "Set new key value when key exists with XX flag passed", @@ -652,11 +656,12 @@ func TestEchoVault_SET(t *testing.T) { ExpireAt: time.Time{}, }, }, - key: "key4", - value: "value4", - options: SetOptions{XX: true}, - want: "OK", - wantErr: false, + key: "key4", + value: "value4", + options: SetOptions{XX: true}, + wantOk: true, + wantPrev: "", + wantErr: false, }, { name: "Return error when setting non-existent key with XX flag", @@ -664,7 +669,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key5", value: "value5", options: SetOptions{XX: true}, - want: "", + wantOk: false, + wantPrev: "", wantErr: true, }, { @@ -673,7 +679,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key6", value: "value6", options: SetOptions{EX: 100}, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -682,7 +689,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key7", value: "value7", options: SetOptions{PX: 4096}, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -691,7 +699,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key8", value: "value8", options: SetOptions{EXAT: int(mockClock.Now().Add(200 * time.Second).Unix())}, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -700,7 +709,8 @@ func TestEchoVault_SET(t *testing.T) { value: "value9", options: SetOptions{PXAT: int(mockClock.Now().Add(4096 * time.Millisecond).UnixMilli())}, presetValues: nil, - want: "OK", + wantOk: true, + wantPrev: "", wantErr: false, }, { @@ -711,11 +721,12 @@ func TestEchoVault_SET(t *testing.T) { ExpireAt: time.Time{}, }, }, - key: "key10", - value: "value10", - options: SetOptions{GET: true, EX: 1000}, - want: "previous-value", - wantErr: false, + key: "key10", + value: "value10", + options: SetOptions{GET: true, EX: 1000}, + wantOk: true, + wantPrev: "previous-value", + wantErr: false, }, { name: "Return nil when GET value is passed and no previous value exists", @@ -723,7 +734,8 @@ func TestEchoVault_SET(t *testing.T) { key: "key11", value: "value11", options: SetOptions{GET: true, EX: 1000}, - want: "", + wantOk: true, + wantPrev: "", wantErr: false, }, } @@ -734,13 +746,16 @@ func TestEchoVault_SET(t *testing.T) { presetKeyData(server, context.Background(), k, d) } } - got, err := server.Set(tt.key, tt.value, tt.options) + previousValue, ok, err := server.Set(tt.key, tt.value, tt.options) if (err != nil) != tt.wantErr { t.Errorf("SET() error = %v, wantErr %v", err, tt.wantErr) return } - if got != tt.want { - t.Errorf("SET() got = %v, want %v", got, tt.want) + if ok != tt.wantOk { + t.Errorf("SET() ok got = %v, want %v", ok, tt.wantOk) + } + if previousValue != tt.wantPrev { + t.Errorf("SET() previous value got = %v, want %v", previousValue, tt.wantPrev) } }) } diff --git a/echovault/api_list.go b/echovault/api_list.go index 0b9f3ad2..d43dd302 100644 --- a/echovault/api_list.go +++ b/echovault/api_list.go @@ -18,6 +18,7 @@ import ( "fmt" "github.com/echovault/echovault/internal" "strconv" + "strings" ) // LLen returns the length of the list. @@ -101,29 +102,33 @@ func (server *EchoVault) LIndex(key string, index uint) (string, error) { // // `value` - string - the new value to place at the given index. // -// Returns: "OK" if the update is successful. +// Returns: true if the update is successful. // // Errors: // // "LSet command on non-list item" - when the provided key exists but is not a list. // // "index must be within list range" - when the index is not within the list boundary. -func (server *EchoVault) LSet(key string, index int, value string) (string, error) { +func (server *EchoVault) LSet(key string, index int, value string) (bool, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"LSET", key, strconv.Itoa(index), value}), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // LTrim work similarly to LRange but instead of returning the new list, it replaces the original list with the // trimmed list. -func (server *EchoVault) LTrim(key string, start int, end int) (string, error) { +// +// Returns: true if the trim is successful. +func (server *EchoVault) LTrim(key string, start int, end int) (bool, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"LTRIM", key, strconv.Itoa(start), strconv.Itoa(end)}), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // LRem removes 'count' instances of the specified element from the list. @@ -136,17 +141,23 @@ func (server *EchoVault) LTrim(key string, start int, end int) (string, error) { // // `value` - string - the element to remove. // -// Returns: "OK" if the removal was successful. +// Returns: true if the removal was successful. // // Errors: // // "LRem command on non-list item" - when the provided key exists but is not a list. -func (server *EchoVault) LRem(key string, count int, value string) (string, error) { - b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"LREM", key, strconv.Itoa(count), value}), nil, false, true) +func (server *EchoVault) LRem(key string, count int, value string) (bool, error) { + b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{ + "LREM", key, strconv.Itoa(count), value}), + nil, + false, + true, + ) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // LMove moves an element from one list to another. @@ -163,19 +174,20 @@ func (server *EchoVault) LRem(key string, count int, value string) (string, erro // `whereTo` - string - either "LEFT" or "RIGHT". If "LEFT", the element is added to the beginning of the destination list. // If "RIGHT", the element is added to the end of the destination list. // -// Returns: "OK" if the removal was successful. +// Returns: true if the removal was successful. // // Errors: // // "both source and destination must be lists" - when either source or destination are not lists. // // "wherefrom and whereto arguments must be either LEFT or RIGHT" - if whereFrom or whereTo are not either "LEFT" or "RIGHT". -func (server *EchoVault) LMove(source, destination, whereFrom, whereTo string) (string, error) { +func (server *EchoVault) LMove(source, destination, whereFrom, whereTo string) (bool, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"LMOVE", source, destination, whereFrom, whereTo}), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // LPop pops an element from the start of the list and return it. diff --git a/echovault/api_list_test.go b/echovault/api_list_test.go index c8f50425..5ecf3188 100644 --- a/echovault/api_list_test.go +++ b/echovault/api_list_test.go @@ -176,7 +176,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination string whereFrom string whereTo string - want string + want bool wantErr bool }{ { @@ -190,7 +190,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination1", whereFrom: "LEFT", whereTo: "LEFT", - want: "OK", + want: true, wantErr: false, }, { @@ -204,7 +204,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination2", whereFrom: "LEFT", whereTo: "RIGHT", - want: "OK", + want: true, wantErr: false, }, { @@ -218,7 +218,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination3", whereFrom: "RIGHT", whereTo: "LEFT", - want: "OK", + want: true, wantErr: false, }, { @@ -232,7 +232,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination4", whereFrom: "RIGHT", whereTo: "RIGHT", - want: "OK", + want: true, wantErr: false, }, { @@ -245,7 +245,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination5", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, { @@ -259,7 +259,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination6", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, { @@ -272,7 +272,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination7", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, { @@ -286,7 +286,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination8", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, { @@ -297,7 +297,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination9", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, { @@ -308,7 +308,7 @@ func TestEchoVault_LMOVE(t *testing.T) { destination: "destination10", whereFrom: "LEFT", whereTo: "LEFT", - want: "", + want: false, wantErr: true, }, } @@ -664,7 +664,7 @@ func TestEchoVault_LREM(t *testing.T) { key string count int value string - want string + want bool wantErr bool }{ { @@ -674,7 +674,7 @@ func TestEchoVault_LREM(t *testing.T) { key: "key1", count: 3, value: "4", - want: "OK", + want: true, wantErr: false, }, { @@ -684,7 +684,7 @@ func TestEchoVault_LREM(t *testing.T) { key: "key2", count: -3, value: "4", - want: "OK", + want: true, wantErr: false, }, { @@ -694,7 +694,7 @@ func TestEchoVault_LREM(t *testing.T) { key: "LremKey8", count: 0, value: "value1", - want: "", + want: false, wantErr: true, }, } @@ -729,7 +729,7 @@ func TestEchoVault_LSET(t *testing.T) { key string index int value string - want string + want bool wantErr bool }{ { @@ -739,7 +739,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key1", index: 3, value: "new-value", - want: "OK", + want: true, wantErr: false, }, { @@ -749,7 +749,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key2", index: 0, value: "new-value", - want: "OK", + want: true, wantErr: false, }, { @@ -759,7 +759,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key3", index: 1, value: "new-value", - want: "OK", + want: true, wantErr: false, }, { @@ -769,7 +769,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key4", index: 0, value: "element", - want: "", + want: false, wantErr: true, }, { @@ -779,7 +779,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key5", index: 0, value: "element", - want: "", + want: false, wantErr: true, }, { @@ -789,7 +789,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key6", index: 3, value: "element", - want: "", + want: false, wantErr: true, }, { @@ -799,7 +799,7 @@ func TestEchoVault_LSET(t *testing.T) { key: "key7", index: -1, value: "element", - want: "", + want: false, wantErr: true, }, } @@ -834,7 +834,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key string start int end int - want string + want bool wantErr bool }{ { @@ -847,7 +847,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key1", start: 3, end: 6, - want: "OK", + want: true, wantErr: false, }, { @@ -857,7 +857,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key2", start: 5, end: -1, - want: "OK", + want: true, wantErr: false, }, { @@ -867,7 +867,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key3", start: 3, end: 1, - want: "", + want: false, wantErr: true, }, { @@ -877,7 +877,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key4", start: 0, end: 2, - want: "", + want: false, wantErr: true, }, { @@ -887,7 +887,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key5", start: 0, end: 3, - want: "", + want: false, wantErr: true, }, { @@ -897,7 +897,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key6", start: -1, end: 3, - want: "", + want: false, wantErr: true, }, { @@ -907,7 +907,7 @@ func TestEchoVault_LTRIM(t *testing.T) { key: "key7", start: 10, end: 11, - want: "", + want: false, wantErr: true, }, } diff --git a/echovault/api_pubsub.go b/echovault/api_pubsub.go index be2c745b..72408358 100644 --- a/echovault/api_pubsub.go +++ b/echovault/api_pubsub.go @@ -19,6 +19,7 @@ import ( "github.com/echovault/echovault/internal" "github.com/tidwall/resp" "net" + "strings" ) type conn struct { @@ -176,14 +177,15 @@ func (server *EchoVault) PUnsubscribe(tag string, patterns ...string) { // // `message` - string - The message to publish to the specified channel. // -// Returns: "OK" when the publish is successful. This does not indicate whether each subscriber has received the message, +// Returns: true when the publish is successful. This does not indicate whether each subscriber has received the message, // only that the message has been published. -func (server *EchoVault) Publish(channel, message string) (string, error) { +func (server *EchoVault) Publish(channel, message string) (bool, error) { b, err := server.handleCommand(server.context, internal.EncodeCommand([]string{"PUBLISH", channel, message}), nil, false, true) if err != nil { - return "", err + return false, err } - return internal.ParseStringResponse(b) + s, err := internal.ParseStringResponse(b) + return strings.EqualFold(s, "ok"), err } // PubSubChannels returns the list of channels & patterns that match the glob pattern provided. diff --git a/echovault/api_set.go b/echovault/api_set.go index 48ec7e0b..e31e4e6b 100644 --- a/echovault/api_set.go +++ b/echovault/api_set.go @@ -86,6 +86,8 @@ func (server *EchoVault) SDiff(keys ...string) ([]string, error) { // SDiffStore works like SDiff but instead of returning the resulting set elements, the resulting set is stored // at the 'destination' key. +// +// Returns: an integer representing the cardinality of the new set. func (server *EchoVault) SDiffStore(destination string, keys ...string) (int, error) { cmd := append([]string{"SDIFFSTORE", destination}, keys...) b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) @@ -334,6 +336,8 @@ func (server *EchoVault) SUnion(keys ...string) ([]string, error) { // SUnionStore store works like SUnion but instead of returning the resulting elements, it stores the resulting // set at the 'destination' key. The return value is an integer representing the cardinality of the new set. +// +// Returns: an integer representing the cardinality of the new union set. func (server *EchoVault) SUnionStore(destination string, keys ...string) (int, error) { cmd := append([]string{"SUNIONSTORE", destination}, keys...) b, err := server.handleCommand(server.context, internal.EncodeCommand(cmd), nil, false, true) diff --git a/internal/modules/acl/commands.go b/internal/modules/acl/commands.go index e155ed67..56bb4c2f 100644 --- a/internal/modules/acl/commands.go +++ b/internal/modules/acl/commands.go @@ -490,11 +490,13 @@ func handleSave(params internal.HandlerFuncParams) ([]byte, error) { func Commands() []internal.Command { return []internal.Command{ { - Command: "auth", - Module: constants.ACLModule, - Categories: []string{constants.ConnectionCategory, constants.SlowCategory}, - Description: "(AUTH [username] password) Authenticates the connection", - Sync: false, + Command: "auth", + Module: constants.ACLModule, + Categories: []string{constants.ConnectionCategory, constants.SlowCategory}, + Description: `(AUTH [username] password) +Authenticates the connection. If the username is not provided, the connection will be authenticated against the +default ACL user. Otherwise, it is authenticated against the ACL user with the provided username.`, + Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ Channels: make([]string, 0), @@ -522,8 +524,8 @@ func Commands() []internal.Command { Command: "cat", Module: constants.ACLModule, Categories: []string{constants.SlowCategory}, - Description: `(ACL CAT [category]) List all the categories. -If the optional category is provided, list all the commands in the category`, + Description: `(ACL CAT [category]) Lists all the categories. +If the optional category is provided, lists all the commands in the category.`, Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -538,7 +540,7 @@ If the optional category is provided, list all the commands in the category`, Command: "users", Module: constants.ACLModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(ACL USERS) List all usernames of the configured ACL users", + Description: "(ACL USERS) Lists all usernames of the configured ACL users.", Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -568,7 +570,7 @@ If the optional category is provided, list all the commands in the category`, Command: "getuser", Module: constants.ACLModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(ACL GETUSER username) List the ACL rules of a user", + Description: "(ACL GETUSER username) List the ACL rules of a user.", Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -580,11 +582,12 @@ If the optional category is provided, list all the commands in the category`, HandlerFunc: handleGetUser, }, { - Command: "deluser", - Module: constants.ACLModule, - Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(ACL DELUSER username [username ...]) Deletes users and terminates their connections. Cannot delete default user", - Sync: true, + Command: "deluser", + Module: constants.ACLModule, + Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, + Description: `(ACL DELUSER username [username ...]) +Deletes users and terminates their connections. Cannot delete default user.`, + Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ Channels: make([]string, 0), @@ -598,7 +601,7 @@ If the optional category is provided, list all the commands in the category`, Command: "whoami", Module: constants.ACLModule, Categories: []string{constants.FastCategory}, - Description: "(ACL WHOAMI) Returns the authenticated user of the current connection", + Description: "(ACL WHOAMI) Returns the authenticated user of the current connection.", Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -613,7 +616,7 @@ If the optional category is provided, list all the commands in the category`, Command: "list", Module: constants.ACLModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(ACL LIST) Dumps effective acl rules in acl config file format", + Description: "(ACL LIST) Dumps effective acl rules in ACL DSL format.", Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -646,7 +649,7 @@ When 'REPLACE' is passed, users from config file who share a username with users Command: "save", Module: constants.ACLModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(ACL SAVE) Saves the effective ACL rules the configured ACL config file", + Description: "(ACL SAVE) Saves the effective ACL rules the configured ACL config file.", Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ diff --git a/internal/modules/admin/commands.go b/internal/modules/admin/commands.go index e5b5f567..ca39586d 100644 --- a/internal/modules/admin/commands.go +++ b/internal/modules/admin/commands.go @@ -195,7 +195,7 @@ func Commands() []internal.Command { Command: "commands", Module: constants.AdminModule, Categories: []string{constants.AdminCategory, constants.SlowCategory}, - Description: "Get a list of all the commands in available on the echovault with categories and descriptions", + Description: "Get a list of all the commands in available on the echovault with categories and descriptions.", Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -232,8 +232,8 @@ func Commands() []internal.Command { { Command: "count", Module: constants.AdminModule, - Categories: []string{constants.SlowCategory}, - Description: "Get the dumber of commands in the echovault", + Categories: []string{constants.AdminCategory, constants.SlowCategory}, + Description: "Get the dumber of commands in the echovault instance.", Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -245,9 +245,9 @@ func Commands() []internal.Command { { Command: "list", Module: constants.AdminModule, - Categories: []string{constants.SlowCategory}, - Description: `(COMMAND LIST [FILTERBY ]) Get the list of command names. -Allows for filtering by ACL category or glob pattern.`, + Categories: []string{constants.AdminCategory, constants.SlowCategory}, + Description: `(COMMAND LIST [FILTERBY ]) +Get the list of command names. Allows for filtering by ACL category or glob pattern.`, Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -262,7 +262,7 @@ Allows for filtering by ACL category or glob pattern.`, Command: "save", Module: constants.AdminModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(SAVE) Trigger a snapshot save", + Description: "(SAVE) Trigger a snapshot save.", Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -299,7 +299,7 @@ Allows for filtering by ACL category or glob pattern.`, Command: "rewriteaof", Module: constants.AdminModule, Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: "(REWRITEAOF) Trigger re-writing of append process", + Description: "(REWRITEAOF) Trigger re-writing of append process.", Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ @@ -352,11 +352,12 @@ module's key extraction and handler functions.`, }, }, { - Command: "unload", - Module: constants.AdminModule, - Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, - Description: `(MODULE UNLOAD name) Unloads a module based on the its name as displayed by the MODULE LIST command.`, - Sync: true, + Command: "unload", + Module: constants.AdminModule, + Categories: []string{constants.AdminCategory, constants.SlowCategory, constants.DangerousCategory}, + Description: `(MODULE UNLOAD name) +Unloads a module based on the its name as displayed by the MODULE LIST command.`, + Sync: true, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ Channels: make([]string, 0), ReadKeys: make([]string, 0), WriteKeys: make([]string, 0), diff --git a/internal/modules/connection/commands.go b/internal/modules/connection/commands.go index 03312838..48052c22 100644 --- a/internal/modules/connection/commands.go +++ b/internal/modules/connection/commands.go @@ -35,11 +35,13 @@ func handlePing(params internal.HandlerFuncParams) ([]byte, error) { func Commands() []internal.Command { return []internal.Command{ { - Command: "ping", - Module: constants.ConnectionModule, - Categories: []string{constants.FastCategory, constants.ConnectionCategory}, - Description: "(PING [value]) Ping the echovault. If a value is provided, the value will be echoed.", - Sync: false, + Command: "ping", + Module: constants.ConnectionModule, + Categories: []string{constants.ConnectionCategory, constants.FastCategory}, + Description: `(PING [message]) +Ping the echovault server. If a message is provided, the message will be echoed back to the client. +Otherwise, the server will return "PONG".`, + Sync: false, KeyExtractionFunc: func(cmd []string) (internal.KeyExtractionFuncResult, error) { return internal.KeyExtractionFuncResult{ Channels: make([]string, 0), diff --git a/internal/modules/list/commands.go b/internal/modules/list/commands.go index 33f3a6a3..cea234c4 100644 --- a/internal/modules/list/commands.go +++ b/internal/modules/list/commands.go @@ -511,19 +511,21 @@ func handlePop(params internal.HandlerFuncParams) ([]byte, error) { func Commands() []internal.Command { return []internal.Command{ { - Command: "lpush", - Module: constants.ListModule, - Categories: []string{constants.ListCategory, constants.WriteCategory, constants.FastCategory}, - Description: "(LPUSH key element [element ...]) Prepends one or more values to the beginning of a list, creates the list if it does not exist.", + Command: "lpush", + Module: constants.ListModule, + Categories: []string{constants.ListCategory, constants.WriteCategory, constants.FastCategory}, + Description: `(LPUSH key element [element ...]) +Prepends one or more values to the beginning of a list, creates the list if it does not exist.`, Sync: true, KeyExtractionFunc: lpushKeyFunc, HandlerFunc: handleLPush, }, { - Command: "lpushx", - Module: constants.ListModule, - Categories: []string{constants.ListCategory, constants.WriteCategory, constants.FastCategory}, - Description: "(LPUSHX key element [element ...]) Prepends a value to the beginning of a list only if the list exists.", + Command: "lpushx", + Module: constants.ListModule, + Categories: []string{constants.ListCategory, constants.WriteCategory, constants.FastCategory}, + Description: `(LPUSHX key element [element ...]) +Prepends a value to the beginning of a list only if the list exists.`, Sync: true, KeyExtractionFunc: lpushKeyFunc, HandlerFunc: handleLPush, @@ -558,7 +560,7 @@ func Commands() []internal.Command { { Command: "lindex", Module: constants.ListModule, - Categories: []string{constants.ListCategory, constants.ReadCategory, constants.SlowCategory}, + Categories: []string{constants.ListCategory, constants.ReadCategory, constants.FastCategory}, Description: "(LINDEX key index) Gets list element by index.", Sync: false, KeyExtractionFunc: lindexKeyFunc, @@ -567,7 +569,7 @@ func Commands() []internal.Command { { Command: "lset", Module: constants.ListModule, - Categories: []string{constants.ListCategory, constants.WriteCategory, constants.SlowCategory}, + Categories: []string{constants.ListCategory, constants.WriteCategory, constants.FastCategory}, Description: "(LSET key index element) Sets the value of an element in a list by its index.", Sync: true, KeyExtractionFunc: lsetKeyFunc, @@ -586,16 +588,17 @@ func Commands() []internal.Command { Command: "lrem", Module: constants.ListModule, Categories: []string{constants.ListCategory, constants.WriteCategory, constants.SlowCategory}, - Description: "(LREM key count element) Remove elements from list.", + Description: "(LREM key count element) Remove elements from list.", Sync: true, KeyExtractionFunc: lremKeyFunc, HandlerFunc: handleLRem, }, { - Command: "lmove", - Module: constants.ListModule, - Categories: []string{constants.ListCategory, constants.WriteCategory, constants.SlowCategory}, - Description: "(LMOVE source destination ) Move element from one list to the other specifying left/right for both lists.", + Command: "lmove", + Module: constants.ListModule, + Categories: []string{constants.ListCategory, constants.WriteCategory, constants.SlowCategory}, + Description: `(LMOVE source destination ) +Move element from one list to the other specifying left/right for both lists.`, Sync: true, KeyExtractionFunc: lmoveKeyFunc, HandlerFunc: handleLMove, diff --git a/internal/modules/set/commands.go b/internal/modules/set/commands.go index ba19e1f8..f32e7320 100644 --- a/internal/modules/set/commands.go +++ b/internal/modules/set/commands.go @@ -793,10 +793,11 @@ func handleSUNIONSTORE(params internal.HandlerFuncParams) ([]byte, error) { func Commands() []internal.Command { return []internal.Command{ { - Command: "sadd", - Module: constants.SetModule, - Categories: []string{constants.SetCategory, constants.WriteCategory, constants.FastCategory}, - Description: "(SADD key member [member...]) Add one or more members to the set. If the set does not exist, it's created.", + Command: "sadd", + Module: constants.SetModule, + Categories: []string{constants.SetCategory, constants.WriteCategory, constants.FastCategory}, + Description: `(SADD key member [member...]) +Add one or more members to the set. If the set does not exist, it's created.`, Sync: true, KeyExtractionFunc: saddKeyFunc, HandlerFunc: handleSADD, @@ -826,7 +827,7 @@ All keys that are non-existed or hold values that are not sets will be skipped.` Module: constants.SetModule, Categories: []string{constants.SetCategory, constants.WriteCategory, constants.SlowCategory}, Description: `(SDIFFSTORE destination key [key...]) Works the same as SDIFF but also stores the result at 'destination'. -Returns the cardinality of the new set`, +Returns the cardinality of the new set.`, Sync: true, KeyExtractionFunc: sdiffstoreKeyFunc, HandlerFunc: handleSDIFFSTORE, @@ -841,10 +842,11 @@ Returns the cardinality of the new set`, HandlerFunc: handleSINTER, }, { - Command: "sintercard", - Module: constants.SetModule, - Categories: []string{constants.SetCategory, constants.ReadCategory, constants.SlowCategory}, - Description: "(SINTERCARD key [key...] [LIMIT limit]) Returns the cardinality of the intersection between multiple sets.", + Command: "sintercard", + Module: constants.SetModule, + Categories: []string{constants.SetCategory, constants.ReadCategory, constants.SlowCategory}, + Description: `(SINTERCARD key [key...] [LIMIT limit]) +Returns the cardinality of the intersection between multiple sets.`, Sync: false, KeyExtractionFunc: sintercardKeyFunc, HandlerFunc: handleSINTERCARD,