shouldjs/should.js

Typings for custom assertions

Open

#174 opened on May 2, 2018

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

Repository metrics

Stars
 (1,906 stars)
PR merge metrics
 (No merged PRs in 30d)

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