When creating the original types there was an oversight in the event
types for the `Channel` and its `update` event. In some cases the
event fires only with the first two parameters: the entity id and
data. In the normative case however there are additional parameters
available indicating meta information about the update. Those
optional paramters have been added here.
Although it looks like all three of the last parameters are optional
it's actually the case that either you get only the first two or
all five. It would not occur that you only get three or four of them
but I wasn't sure how to type this beyond function overloads and I
believe that it's not the best idea to use function overloads for
optional parameters.
* Add missing methods to type declaration
Update @types/intro.js to latest version of API in documentation
* Update index.d.ts
Fix formatting
* Update index.d.ts
Remove params in ts
* Update index.d.ts
Remove trailing whitespace
* Adding type extractors and updating existing tests to use them.
* Improving handling of mixed-iterability types by simplifying the Underscore and chain functions to a single overload.
* Updating TypeOfCollection to check against List and Dictionary separately instead of using Collection since using the latter behaves oddly with JQuery objects.
* Renaming a variable to something slightly more friendly.
* Updating type definitions for map, pluck, filter, groupBy, and flatten and removing _ChainOfArrays and IterateeMatcherShorthand.
* Adding tests for map, pluck, filter, groupBy, and flatten.
* Fixing a test for @types/parse that breaks with these changes.
* Updating more places to use returns instead of return because I want to.
* Revising identifiers in tests.
* Switch from $ExpectType to assignability checks for now due to an odd issue with the linter that seems to affect TS 3.0 specifically.
* Updating a word in a comment that I forgot to update.
* Revert "Fixing a test for @types/parse that breaks with these changes."
This reverts commit 1955fc1a00aa884e088c07a2d02dd7b3bc08c2fa.
* Fixing a typo in a variable name.
* Dropping KeysOfUnion and TypesOfUnionProperty for now in favor of a safer and simpler keyof T + string approach.
* Reducing the dimensions of a deep flatten and changing the names of the resulting types.
* Dropping array tests for most functions since testing lists should be sufficient to also cover arrays.
* Adding a comment to every test group.
* Update functions that take an iteratee to use an Iteratee type and updating map to use an IterateeResult type.
* Shortening the names of nested list variables.
* Also collapsing pluck to a single overload.
* Switching groupBy back to allowing any rather than attempting to constrain to typical valid key types.
* Dropping unnecessary `keyof T` constraints and updating `string` and `string | number` constraints to `PropertyKey` since from experimentation Underscore works just fine with symbols as well.
* Wrapping return values for multi-line funciton declarations to their own line.
* Updating UnderscoreStatic functions that don't technically need the collection type to use it anyway for consistency with those that do.
* Renaming some mixed-dimension array variables one more time.
* Adding property path tests for groupBy.
* Changing "iterator" to "iteratee" in test group comments.
* Adding property path tests for filter.
* Updating IterateeResult to only care about the return type of an iteratee function since that's really all that matters from its perspective to fix issues with using function iteratees on values of type any.
* Working around some _Chain return types incorrectly using non-collections as their wrapped values.
* Using `T` rather than `TypeOfCollection<V>` in `Underscore.map` since I have it.
* Applying a shorter variable name that I had missed copying over from #45201.
* Fixing consistency issues with two more test variable names.
* Adding EnumerableKey and using that intstead of PropertyKey.