| 2110 | `, | 2136 | `, |
| 2111 | })); | 2137 | })); |
| 2112 | SlashCommandParser.addCommandObject(SlashCommand.fromProps({ | 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 | name: 'rand', | 2184 | name: 'rand', |
| 2114 | callback: (args, value) => String(randValuesCallback(Number(args.from ?? 0), Number(args.to ?? (value ? value : 1)), args)), | 2185 | callback: (args, value) => String(randValuesCallback(Number(args.from ?? 0), Number(args.to ?? (value ? value : 1)), args)), |
| 2115 | returns: 'random number', | 2186 | returns: 'random number', |