* Make when.js promises compatible with native promises
* Stricter compiler options and fix revealed issues
- Remove optional parameters from callbacks
- Replace `Number` type with `number`
- Improve type checking of when.settle and promise.inspect
* Add stricter types and backwards compatibility
* Minor renaming
* the constructor accepts as first parameter or the SchemaRules or the
Options
* the validate callback can be either a string, RegExp or Validate type
* Rule only accepts a string or a FullRule, where when a string is set,
it applies the same rules as the given schema name
* add more tests to showcase and type test the implementation
* iScroll: zoom takes scale as first parameter
iScroll's zoom() method takes scale as the first parameter. The rest parameters are optional according to the documentation:
https://github.com/cubiq/iscroll#zoomscale-x-y-time
* iScroll: Update tests
Update tests for iScroll to reflect the changes
* iScroll: iScroll instance has 'scale' public numeric property
* [got] Update to 8.3.0
Fixes#23454
* Return support for legacy url object
* Simplify agent option type
Because https.Agent is compatible with http.Agent
* Rename RequestOptions interface to InternalRequestOptions and move outside got namespace
* Add myself to "Definitions by" section
* Fix `find` override for components with strict null checks.
With strict null checks enabled, code like:
shallow(...).find(SomeComponent)
Would return ShallowWrapper<any, any>.
This is because the `find` override:
find<P2>(component: ComponentClass<P2>): ShallowWrapper<P2, any>;
Would not match, and instead fallback on find(EnzymePropSelector).
The ComponentClass<P2> did not match because the `new(props?, context?)`
does not actually match to `new(props)`, as polymorphically `props` is
a restriction on `props?`.
Instead, we explicitly model each potential constructor pattern,
no-arg, 1-arg, 2-arg, and union them together.
This also allows enabling strict null checks for the entire enzyme
typings.
This required a few tangential changes, e.g. changing the test's
numberProp?/stringProp? to non-optional, as with null checking
enabled several of the existing tests were making non-null safe
accesses (e.g. the reduce/map/etc. checks).
* Change let to const to fix tslint error.
* Simplify prefix fix, just need to change props? to props.
Also, I changed the new return type from Component<Props, any> to
Component<Props, {}>.
This more exactly matches the ComponentClass declaration and fixes
what I was seeing with React Native where:
find(View) --> returns ReactWrapper<ViewProperties, any>
find(Button) -- returns ReactWrapper<any, any>
After changing the new return type to Component<Props, {}> then
find(Button) successfully returns ReactWrapper<ButtonProperties, any>.
* Fix lint error, as {} is already the default type.
This commit addresses a problem where the following would produce a type
error, even though it was valid code:
```typescript
setCanvasData({left: 23})
```
I have changed the argument type for all of the `setXXX` methods which
accept an object as their argument. In the spec files for cropperjs,
@fengyuanchen uses these objects as partials for setters. So I have
made the type definitions follow that same pattern.
I changed the `cropperjs.CropBoxData` type to act the same way as well.
It looks like it was changed at some point, I am guessing to allow it
to be used as a partial in the `setCropBoxData` method. Since, like all
the other data structures here, it contains all members when you `get`
it, I have made all members required parts of the object and changed
the setter method to accept a partial.
I hope this all makes sense. Basically, I went from the first line below
to the second.
```typescript
setXXXXX(thing: cropperjs.SomeInterface): void
setXXXXX(thing: Partial<cropperjs.SomeInterface>): void
```
Then I changed `cropperjs.CropBoxData` to fit this new system.
* fixed pick and omit type signatures to be more helpful
* changed pick to try and pass tests, tsnext still complaining
* added CaptJakk to contributors
* changed keyof index signatures to just strings
* simplified Omit type signature