如何禁用 flutter/dart 中的传递依赖

n.a*_*001 5 dart flutter

如果我正在创建一个包(P1),它依赖于其他应用程序(A1)使用的其他包(p2和p3)。如何阻止应用程序(A1)访问传递依赖项(p2 和 p3)?

   A
   |
   |
   P1
   /\
  /  \
p2    p3
Run Code Online (Sandbox Code Playgroud)

在 android(gradle) 中,我们可以通过使用implementation和来选择性地公开依赖包api

在 p1 的 build.gradle 中

implementation p2
api p3
Run Code Online (Sandbox Code Playgroud)

在A1的build.gradle中

implementation p1
Run Code Online (Sandbox Code Playgroud)

这将使 p3 可在 A1 中使用,但 p2 将不可用。

有没有办法控制 dart 中的传递依赖?