hapijs / hapijs/nigel

Add typings

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
JavaScript
Stars
16
Forks
11
PR merge metrics
No merged PRs in 30d

Description

I am currently using the following to type `@hapi/nigel`. It would be nice if this module exported its own types. I d'ont have the time or resources to make a PR. Sorry about that.

```ts
// types.d.ts

declare module '@hapi/nigel' {
import { Writable } from 'node:stream'

export interface Haystack {
readonly length: number
readUInt8: (pos: number) => number | undefined
startsWith?: (value: Buffer, pos?: number, length?: number) => boolean
}

export interface Needle {
readonly value: Buffer
readonly lastPos: number
readonly last: number
readonly length: number
readonly badCharShift: Buffer
}

export function compile(needle: Buffer): Needle
export function horspool(haystack: Haystack, needle: Needle | Buffer, start?: number): number
export function all(haystack: Haystack, needle: Needle | Buffer, start?: number): number[]

export class Stream extends Writable {
constructor(needle: Buffer)
needle(needle: Buffer): void
flush(): void
}
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.