Skip to content

Add typings #36

@matthieusieben

Description

@matthieusieben

I am currently using the following to type @hapi/content. 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.

// types.d.ts

declare module '@hapi/content' {
  export type MutlipartContentType = {
    mime: `multipart/${string}`
    boundary: string
  }

  export type ContentType = {
    mime: string
  }

  export function type(header: `multipart/${string}`): MutlipartContentType
  export function type(header: string): ContentType | MutlipartContentType

  export type ContentDisposition = {
    name: string
  } & { [_ in string]?: string }

  /**
   * @param header - The value of the Content-Disposition "form-data" header
   */
  export function disposition(
    header: string
  ): typeof header extends `inline${string}` | `attachment${string}` ? never : ContentDisposition
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew functionality or improvement

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions