]> gitweb.factorcode.org Git - factor.git/blob - extra/mongodb/tuple/state/state.factor
d5f7f7ec9550d4cb7cd21e44e905da9a7704d6c0
[factor.git] / extra / mongodb / tuple / state / state.factor
1 USING: classes kernel accessors sequences fry assocs mongodb.tuple.collection
2 words classes.tuple slots generic ;
3
4 IN: mongodb.tuple.state
5
6 <PRIVATE
7
8 CONSTANT: MDB_TUPLE_INFO       "_mfd_t_info"
9
10 PRIVATE>
11
12 : <tuple-info> ( tuple -- tuple-info )
13     class-of [ V{ } clone ] dip over
14     [ [ name>> ] dip push ]
15     [ [ vocabulary>> ] dip push ] 2bi ; inline
16
17 : tuple-info ( assoc -- tuple-info )
18     [ MDB_TUPLE_INFO ] dip at ; inline
19
20 : set-tuple-info ( tuple assoc -- )
21    [ <tuple-info> MDB_TUPLE_INFO ] dip set-at ; inline
22
23 : tuple-info? ( assoc -- ? )
24    [ MDB_TUPLE_INFO ] dip key? ;