ผู้ให้บริการ

เครื่องมือสร้างสำหรับออบเจ็กต์ค่าอย่างง่ายที่เรียกว่าอินสแตนซ์ผู้ให้บริการ
ค่านี้มีวัตถุประสงค์ 2 อย่าง ได้แก่
  • โดยเป็นฟังก์ชันที่สามารถเรียกใช้เพื่อสร้างค่าที่มีลักษณะคล้าย "โครงสร้าง" ดังนี้
    DataInfo = provider()
    d = DataInfo(x = 2, y = 3)
    print(d.x + d.y) # prints 5
    หมายเหตุ: ผู้ให้บริการบางรายกำหนดไว้ภายในไม่อนุญาตให้สร้างอินสแตนซ์
  • ซึ่งเป็นคีย์สำหรับเข้าถึงอินสแตนซ์ของผู้ให้บริการใน Target
    DataInfo = provider()
    def _rule_impl(ctx)
      ... ctx.attr.dep[DataInfo]
สร้าง Provider ใหม่โดยใช้ฟังก์ชัน provider