OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / bare-module / lib / protocol.d.ts

28 lines · typescript ref:
import URL from 'bare-url'
import Buffer from 'bare-buffer'
import { type ImportsMap } from 'bare-module-resolve'

interface ModuleProtocol {
  preresolve(specifier: string, parentURL: URL): string

  postresolve(url: URL): URL

  resolve(specifier: string, parentURL: URL, imports: ImportsMap): URL

  exists(url: URL, type: number): boolean

  read(url: URL): Buffer | string | null

  addon(url: URL): URL

  asset(url: URL): URL

  extend(methods: Partial<ModuleProtocol>): ModuleProtocol
}

declare class ModuleProtocol {
  constructor(methods?: Partial<ModuleProtocol>, context?: ModuleProtocol)
}

export = ModuleProtocol