KwArgs.hx 601 B

12345678910111213141516171819202122232425262728293031
  1. package python;
  2. import python.lib.Dict;
  3. abstract KwArgs<T:{}> (Dict<String, Dynamic>)
  4. {
  5. inline function new (d:Dict<String, Dynamic>) this = d;
  6. @:to public inline function toDict ():Dict<String, Dynamic>
  7. {
  8. return this;
  9. }
  10. @:from static inline function fromDict (d:Dict<String, Dynamic>):KwArgs<Dynamic>
  11. {
  12. return new KwArgs(d);
  13. }
  14. @:from static inline function fromT <T:{}>(d:T):KwArgs<T>
  15. {
  16. return new KwArgs(Lib.anonAsDict(d));
  17. }
  18. public function typed ():T
  19. {
  20. return Lib.dictAsAnon(toDict());
  21. }
  22. public function get <V>(key:String, def:V):V
  23. {
  24. return this.get(key, def);
  25. }
  26. }