Imports:
  - Types:
      - EntityContract
      - RoutineContract
      - PropertyContract
      - MethodContract
    From: goga/contract/data
  - Types:
      - python_contract
    Usages:
      - python_contract AS use_py_contract
    From: goga/contract/python
  - Types:
      - golang_contract
    Usages:
      - golang_contract AS use_go_contract
    From: goga/contract/golang
  - Types:
      - javascript_contract
    Usages:
      - javascript_contract AS use_js_contract
    From: goga/contract/javascript
  - Types:
      - kotlin_contract
    Usages:
      - kotlin_contract AS use_kt_contract
    From: goga/contract/kotlin
  - Types:
      - swift_contract
    Usages:
      - swift_contract AS use_sw_contract
    From: goga/contract/swift

Usages:
  conventions: .goga/usages/conventions.md

Annotations: |
  During development and testing, use the practice `conventions`.
  The cell is the facade for all contract operations.

---

->EntityContract: {}
->RoutineContract: {}
->PropertyContract: {}
->MethodContract: {}

"contract(lang: str, cell_path: str) -> contracts:list[EntityContract | RoutineContract]":
  location: dispatcher.py
  annotations: |
    Dispatcher of contract operations by implementation language.

    `lang`: implementation language ("python", "golang", "javascript", "kotlin", "swift")
    `cell_path`: path to the cell

    Algorithm:
    - "python" → call `python_contract`(`cell_path`), use the practice `use_py_contract`
    - "golang" → call `golang_contract`(`cell_path`), use the practice `use_go_contract`
    - "javascript" → call `javascript_contract`(`cell_path`), use the practice `use_js_contract`
    - "kotlin" → call `kotlin_contract`(`cell_path`), use the practice `use_kt_contract`
    - "swift" → call `swift_contract`(`cell_path`), use the practice `use_sw_contract`
    - unknown language → ValueError

---

Author: Goga
CreatedAt: 20/05/26

Description: |
  Working with an implemented contract in a programming language
