| 2110 | 2136 | `, |
| 2111 | 2137 | })); |
| 2112 | 2138 | SlashCommandParser.addCommandObject(SlashCommand.fromProps({ |
| 2139 | + name: 'sort', |
| 2140 | + callback: sortArrayObjectCallback, |
| 2141 | + returns: 'the sorted list or dictionary keys', |
| 2142 | + namedArgumentList: [ |
| 2143 | + SlashCommandNamedArgument.fromProps({ name: 'keysort', |
| 2144 | + description: 'whether to sort by key or value; ignored for lists', |
| 2145 | + typeList: [ARGUMENT_TYPE.BOOLEAN], |
| 2146 | + enumList: ['true', 'false'], |
| 2147 | + defaultValue: 'true', |
| 2148 | + }), |
| 2149 | + ], |
| 2150 | + unnamedArgumentList: [ |
| 2151 | + SlashCommandArgument.fromProps({ |
| 2152 | + description: 'value', |
| 2153 | + typeList: [ARGUMENT_TYPE.STRING, ARGUMENT_TYPE.NUMBER, ARGUMENT_TYPE.LIST, ARGUMENT_TYPE.DICTIONARY], |
| 2154 | + isRequired: true, |
| 2155 | + forceEnum: false, |
| 2156 | + }), |
| 2157 | + ], |
| 2158 | + helpString: ` |
| 2159 | + <div> |
| 2160 | + Sorts a list or dictionary in ascending order and passes the result down the pipe. |
| 2161 | + <ul> |
| 2162 | + <li> |
| 2163 | + For lists, returns the list sorted by value. |
| 2164 | + </li> |
| 2165 | + <li> |
| 2166 | + For dictionaries, returns the ordered list of keys after sorting. Setting keysort=false means keys are sorted by associated value. |
| 2167 | + </li> |
| 2168 | + </ul> |
| 2169 | + </div> |
| 2170 | + <div> |
| 2171 | + <strong>Examples:</strong> |
| 2172 | + <ul> |
| 2173 | + <li> |
| 2174 | + <pre><code class="language-stscript">/sort [5,3,4,1,2] | /echo</code></pre> |
| 2175 | + </li> |
| 2176 | + <li> |
| 2177 | + <pre><code class="language-stscript">/sort keysort=false {"a": 1, "d": 3, "c": 2, "b": 5} | /echo</code></pre> |
| 2178 | + </li> |
| 2179 | + </ul> |
| 2180 | + </div> |
| 2181 | + `, |
| 2182 | + })); |
| 2183 | + SlashCommandParser.addCommandObject(SlashCommand.fromProps({ |
| 2113 | 2184 | name: 'rand', |
| 2114 | 2185 | callback: (args, value) => String(randValuesCallback(Number(args.from ?? 0), Number(args.to ?? (value ? value : 1)), args)), |
| 2115 | 2186 | returns: 'random number', |