2013-11-15 71 views
3

我需要在飛鏢和JS對象之間做映射器。我不喜歡寫「unncessary」代碼,所以我想DartEditor寫我:)飛鏢的代碼生成器

我想什麼寫:

DartInvoice extends jsw.TypedProxy { 
    @Parser(attributName="invoice") 
    String number; 
    @Parser(attributName=amount) 
    Number sum; 
} 

我想什麼來實現:

DartInvoice extends jsw.TypedProxy { 
    set number(String number) => toJs.set('invoice' : number); 
    String number => toJs.get(invoice); 
    set sum(Number sum) => toJs.set('amount' : sum); 
    Number get sum => toJs.get(amount); 
} 

的問題是:)鏢鏢或編輯如何能幫助我嗎?告訴我,我應該閱讀。:)

+0

[自定義構建腳本](https://www.dartlang.org/tools/editor/build.html)可能是一個很好的開始這樣的事情的地方。 – MarioP

回答

4

我開始js_wrapping_generator項目做這樣的事情,但它不完全準備好黃金時間。我使用analyzer包來解析dart文件並生成其他文件。

你可以看看dart_generator.dart有樣品。

當前版本基於一個簡單的AST,我正在研究一個基於已解決的AST的新版本,以進一步簡化模板。

+0

GREAT這就是我想要做的:)) 有能力改變屬性名稱會很棒。例如,當JS對象的名稱不適合我時。這就是爲什麼我想使用註釋。 對於任何將js庫移植到dart的人來說,這個GONNA都是非常棒的庫。 請考慮更改JS和Dart對象之間的屬性/類名稱的功能。 – Bzik

+0

請[提出問題](https://github.com/a14n/dart-js-wrapping-generator/issues/new)來跟蹤此事。 –