aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/world/service/inventory.lux
blob: dbdc93d6d636d0f9bca26983dc1bff016d9c1281 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
(.module:
  [lux #*
   [control
    [try (#+ Try)]
    [security
     ["!" capability (#+ capability:)]]]])

(type: #export ID Nat)

(type: #export Ownership
  {#owner ID
   #property ID})

(capability: #export (Can-Own !)
  (can-own Ownership (! (Try Any))))

(capability: #export (Can-Disown !)
  (can-disown Ownership (! (Try Any))))

(capability: #export (Can-Check !)
  (can-check Ownership (! (Try Bit))))

(capability: #export (Can-List-Property !)
  (can-list-property ID (! (Try (List ID)))))

(type: #export (Inventory !)
  {#can-own (Can-Own !)
   #can-disown (Can-Disown !)
   #can-check (Can-Check !)
   #can-list-property (Can-List-Property !)})