0
は、ここで私はのためにタイピングを作ってるんだコードです:commonjsモジュールの入力をデフォルトの関数エクスポートで作成する方法は?
https://github.com/jden/objectid/blob/1.1.0/index.js
は、私がこれまで試したどのような -
試み#1:
declare module "objectid" {
interface ObjectId {
(): string
isValid(objectId: string): boolean
}
export default ObjectId
}
...
import makeObjectId from 'objectid' // Error TS2304: Cannot find name 'makeObjectId'
試み#2:
declare module "objectid" {
interface ObjectId {
(): string
isValid(objectId: string): boolean
}
export = ObjectId
}
...
import makeObjectId = require('objectid')
const id = makeObjectId() // Error TS2304: Cannot find name 'makeObjectId'
試行#3:
declare module "objectid" {
export default function makeObjectId(): string
export function isValid(objectId: string): boolean
}
...
import makeObjectId = require('objectid')
const id = makeObjectId() // TypeError: objectid_1.default is not a function
EDIT:将来的にこれを見つけた誰のための作業溶液:
declare module "objectid" {
interface ObjectId {
(): string
isValid(objectId: string): boolean
}
declare var objectId: ObjectId
export = objectId
}
...
import * as makeObjectId from 'objectid'
const id = makeObjectId()
それでした! 'var'の代わりに' declare var'だけが変更されました。これは.dtsです。私はこれが必要だと思いますので、型だけでなく、呼び出すことのできる値をエクスポートしていますか? – bcherny