node-modules / address

Get current machine IP and MAC address.
Other
233 stars 32 forks source link

Typescript compilation error TS1046 #17

Open vaggeliskls opened 5 years ago

vaggeliskls commented 5 years ago

When i try to compile and use this library with typescript a typescript error occurs. Error: node_modules/address/lib/address.d.ts:1:1 - error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

There is a definition problem on address.d.ts. The namespace have to be replaced with declare namespace . Working Code:

declare namespace address {
  function ip(interfaceName?: string): string

  function ipv6(interfaceName?: string): string 

  function mac(callback: (err: Error, addr: string) => void): void
  function mac(interfaceName: string, callback: (err: Error, addr: string) => void): void

  function dns(callback: (err: Error, servers: string[]) => void): void
  function dns(filePath: string, callback: (err: Error, servers: string[]) => void): void

  function address(callback: (err: Error, addr: { ip: string, ipv6: string, mac: string }) => void): void
  function address(interfaceName: string, callback: (err: Error, addr: { ip: string, ipv6: string, mac: string }) => void): void
}

export = address
mehwww commented 5 years ago

Same issue, I have to manually delete the declaration file every time before compile.