2017-05-17 15 views
0

npmパッケージdot-prop-immutableをTypeScriptと組み合わせて使用​​したいと思います。このパッケージには型定義が含まれていないようですが、DefinitelyTypedで見つけられませんでした。取得/設定機能についてはTypeScriptでdot-prop-immutableのdelete関数の型を宣言するにはどうすればよいですか?

declare module "dot-prop-immutable" { 
    export function get(o: Object, p: string): any; 
    export function set(o: Object, p: string, v: any): Object; 
    export function delete(o: Object, p: string): Object; 
} 

これは魔法のように動作:

は、したがって、私はこのように私自身の宣言を記述するために着手しました。ただし、削除機能と私は活字体コンパイラから次のエラーを取得:

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:21 
    TS1003: Identifier expected. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:29 
    TS1005: ')' expected. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:40 
    TS1005: ';' expected. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:48 
    TS1005: ';' expected. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:49 
    TS1128: Declaration or statement expected. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:20 
    TS7010: '(Missing)', which lacks return-type annotation, implicitly has an 'any' return type. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:28 
    TS2304: Cannot find name 'o'. 

ERROR in [at-loader] ./src/@types/alltypes.d.ts:11:28 
    TS2703: The operand of a delete operator must be a property reference. 

最後の一つが「削除」の予約キーワードがあることを示唆していると、コンパイラは、通常の関数名としてそれを解釈することができません。

誰でも私に進める方法についていくつかアドバイスをいただけますか?

答えて

-1

バックチックを使ってみましたか?最新のTypescriptリリースに更新するだけでなく、これを試してみることにします。

export function `delete`(o: Object, p: string): Object; 
+0

バッククォートにtsのコンパイラを使用して、「識別子が期待される。そのタイプのコールサインを欠い表現を呼び出すことはできません」と言います。 私はすでにts v 2.3.2を使用しています。 –

関連する問題