base_expand.dart 580 B

12345678910111213141516171819202122232425
  1. extension LetExtension<T> on T {
  2. /// 类似 Kotlin 的 let 函数,允许对任意对象执行代码块
  3. R let<R>(R Function(T it) block) {
  4. return block(this);
  5. }
  6. }
  7. extension ApplyExtension<T> on T {
  8. /// 类似 Kotlin 的 apply 函数,允许对对象执行配置操作,并返回自身
  9. T apply(void Function(T it) block) {
  10. block(this);
  11. return this;
  12. }
  13. }
  14. extension AlsoExtension<T> on T {
  15. T also(void Function(T it) block) {
  16. block(this);
  17. return this;
  18. }
  19. }
  20. extension RunExtension<T> on T {
  21. R run<R>(R Function(T it) block) => block(this);
  22. }