shouldjs/should.js

Typings for custom assertions

Open

#174 opened on May 2, 2018

View on GitHub
 (2 comments) (0 reactions) (1 assignee)JavaScript (1,906 stars) (131 forks)batch import
enhancementhelp wanted

Description

Hi.

Node.js version?

8.11.1

Should.js version?

13.2.1

How to reproduce it?

When using shouldjs with Typescript and extending the should Assertions with a custom function: Lets say:

Assertion.add('asset', function() {
     this.params = { operator: 'to be asset' }

     this.obj.should.have.property('id').which.is.a.Number()
     this.obj.should.have.property('path')
})

Compiling Typescript will throw an error when using the should(obj).asset() function because it doesn't exist on the type Assertion. Simplest solution would by adding the following to the Assertion interface to allow dynamic properties:

[key: string]: any;

Contributor guide