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