xitdb 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +28 -0
  3. data/LICENSE +21 -0
  4. data/README.md +131 -0
  5. data/docs/benchmarks.md +135 -0
  6. data/docs/core.md +123 -0
  7. data/docs/portable.md +99 -0
  8. data/docs/releasing.md +37 -0
  9. data/docs/ruby-profile-v1.md +226 -0
  10. data/docs/ruby.md +61 -0
  11. data/examples/indexed_users.rb +23 -0
  12. data/examples/portable.rb +62 -0
  13. data/examples/ruby.rb +56 -0
  14. data/lib/xitdb/context.rb +360 -0
  15. data/lib/xitdb/conversion.rb +222 -0
  16. data/lib/xitdb/core/array_list.rb +282 -0
  17. data/lib/xitdb/core/b_tree.rb +546 -0
  18. data/lib/xitdb/core/bytes.rb +181 -0
  19. data/lib/xitdb/core/compaction.rb +172 -0
  20. data/lib/xitdb/core/crc64.rb +22 -0
  21. data/lib/xitdb/core/cursor.rb +201 -0
  22. data/lib/xitdb/core/database.rb +359 -0
  23. data/lib/xitdb/core/file_store.rb +194 -0
  24. data/lib/xitdb/core/format.rb +148 -0
  25. data/lib/xitdb/core/hash_map.rb +371 -0
  26. data/lib/xitdb/core/hasher.rb +49 -0
  27. data/lib/xitdb/core/linked_array_list.rb +85 -0
  28. data/lib/xitdb/core/memory_store.rb +277 -0
  29. data/lib/xitdb/core/offset_map.rb +85 -0
  30. data/lib/xitdb/core/replication.rb +242 -0
  31. data/lib/xitdb/core/sorted_map.rb +361 -0
  32. data/lib/xitdb/core/transaction.rb +159 -0
  33. data/lib/xitdb/core.rb +17 -0
  34. data/lib/xitdb/database.rb +332 -0
  35. data/lib/xitdb/declarations.rb +73 -0
  36. data/lib/xitdb/errors.rb +84 -0
  37. data/lib/xitdb/history.rb +58 -0
  38. data/lib/xitdb/input_guard.rb +39 -0
  39. data/lib/xitdb/profiles/portable.rb +407 -0
  40. data/lib/xitdb/profiles/ruby.rb +173 -0
  41. data/lib/xitdb/revision.rb +42 -0
  42. data/lib/xitdb/ruby/codec.rb +123 -0
  43. data/lib/xitdb/ruby/containers.rb +495 -0
  44. data/lib/xitdb/ruby/key_encoding.rb +60 -0
  45. data/lib/xitdb/ruby/ordered_keys.rb +87 -0
  46. data/lib/xitdb/ruby/scalars.rb +296 -0
  47. data/lib/xitdb/ruby/wire.rb +146 -0
  48. data/lib/xitdb/ruby.rb +46 -0
  49. data/lib/xitdb/snapshot.rb +13 -0
  50. data/lib/xitdb/streams.rb +148 -0
  51. data/lib/xitdb/value_walker.rb +192 -0
  52. data/lib/xitdb/version.rb +5 -0
  53. data/lib/xitdb/views/array.rb +303 -0
  54. data/lib/xitdb/views/base.rb +271 -0
  55. data/lib/xitdb/views/linked_array.rb +18 -0
  56. data/lib/xitdb/views/map.rb +162 -0
  57. data/lib/xitdb/views/set.rb +41 -0
  58. data/lib/xitdb/views/sorted.rb +77 -0
  59. data/lib/xitdb.rb +20 -0
  60. data/sig/base.rbs +76 -0
  61. data/sig/core.rbs +697 -0
  62. data/sig/manifest.yaml +10 -0
  63. data/sig/native.rbs +118 -0
  64. data/sig/public.rbs +427 -0
  65. data/sig/ruby.rbs +337 -0
  66. metadata +137 -0
data/sig/ruby.rbs ADDED
@@ -0,0 +1,337 @@
1
+ module XitDB
2
+ module Ruby
3
+ def self.open: (String, ?readonly: bool, ?lock_timeout: Float, ?codecs: Array[Codec]) -> Database
4
+ | [A] (String, ?readonly: bool, ?lock_timeout: Float, ?codecs: Array[Codec]) { (Database) -> A } -> A
5
+
6
+ def self.memory: (?codecs: Array[Codec]) -> Database
7
+ | [A] (?codecs: Array[Codec]) { (Database) -> A } -> A
8
+
9
+ class EncodedValue
10
+ attr_reader codec_id: String
11
+ attr_reader format_tag: String?
12
+ attr_reader bytes: String
13
+ def initialize: (codec_id: String, bytes: String, ?format_tag: String) -> void
14
+ end
15
+
16
+ module Wire
17
+ def self.u: (Integer) -> String
18
+
19
+ def self.b: (String) -> String
20
+
21
+ def self.t: (String) -> String
22
+
23
+ def self.z: (Integer) -> String
24
+
25
+ def self.q: (Rational) -> String
26
+
27
+ def self.f64: (Float) -> String
28
+
29
+ class Reader
30
+ @bytes: String
31
+ @position: Integer
32
+ def initialize: (String) -> void
33
+ def byte: () -> Integer
34
+ def u: () -> Integer
35
+ def b: () -> String
36
+ def t: () -> String
37
+ def z: () -> Integer
38
+ def q: () -> Rational
39
+ def f64: () -> Float
40
+ def finish!: () -> self
41
+ private
42
+ def take: (Integer) -> String
43
+ end
44
+ end
45
+
46
+ module KeyEncoding
47
+ TYPES: Array[Class]
48
+
49
+ def self.dump: (XitDB::value) -> String
50
+
51
+ def self.scalar_bytes: (XitDB::value) -> String
52
+
53
+ def self.float_bytes: (Float) -> String
54
+
55
+ def self.checked_key: (top) -> XitDB::selector
56
+
57
+ def self.string_body: (String) -> String
58
+ end
59
+
60
+ module OrderedKeys
61
+ TYPES: Hash[Symbol, Class]
62
+
63
+ def self.dump: (XitDB::value, kind: Symbol) -> String
64
+
65
+ def self.unsigned: (Integer) -> String
66
+
67
+ def self.string_bytes: (String) -> String
68
+
69
+ def self.float_bytes: (Float) -> String
70
+
71
+ def self.complement: (String) -> String
72
+
73
+ def self.signed: (Integer | Rational, String) -> String
74
+
75
+ def self.rational: (Rational) -> String
76
+ end
77
+
78
+ module Scalars
79
+ TYPES: Array[Class]
80
+
81
+ def self.encode: (top, core: Core::Database, ?registry: CodecRegistry?) -> Core::Slot
82
+
83
+ def self.builtin_slot: (XitDB::value, Core::Database) -> Core::Slot
84
+
85
+ def self.checked_builtin: (top) -> XitDB::value
86
+
87
+ def self.checked_object_builtin: (Object) -> XitDB::value
88
+
89
+ def self.builtin_payload: (XitDB::value) -> String
90
+
91
+ def self.decimal_payload: (XitDB::value) -> String
92
+
93
+ def self.time_bytes: (Time) -> String
94
+
95
+ def self.builtin_type?: (Class) -> bool
96
+
97
+ def self.decode: (Core::Slot, core: Core::Database, ?bound: Integer?, ?registry: nil, ?immutable: bool) -> XitDB::value
98
+ | (Core::Slot, core: Core::Database, registry: CodecRegistry, ?bound: Integer?, ?immutable: bool) -> top
99
+
100
+ def self.decode_payload: (String, ?registry: nil) -> XitDB::value
101
+ | (String, registry: CodecRegistry?) -> top
102
+
103
+ def self.decode_type: (Wire::Reader, String, nil) -> XitDB::value
104
+ | (Wire::Reader, String, CodecRegistry?) -> top
105
+
106
+ def self.read_symbol: (Wire::Reader) -> Symbol
107
+
108
+ def self.read_boolean?: (Wire::Reader) -> bool
109
+
110
+ def self.decode_extended_type: (Integer, Wire::Reader, String, nil) -> XitDB::value
111
+ | (Integer, Wire::Reader, String, CodecRegistry?) -> top
112
+
113
+ def self.read_codec: (Wire::Reader, String, nil) -> EncodedValue
114
+ | (Wire::Reader, String, CodecRegistry?) -> top
115
+
116
+ def self.decimal_bytes: (BigDecimal) -> String
117
+
118
+ def self.read_time: (Wire::Reader) -> Time
119
+
120
+ def self.read_start: (Wire::Reader) -> Float
121
+
122
+ def self.read_datetime: (Wire::Reader) -> DateTime
123
+
124
+ def self.read_decimal: (Wire::Reader) -> BigDecimal
125
+
126
+ def self.read_finite_decimal: (Wire::Reader) -> BigDecimal
127
+
128
+ def self.build_decimal: (String) -> BigDecimal
129
+
130
+ def self.read_string: (Wire::Reader) -> String
131
+ end
132
+
133
+ interface _Callback[A, B]
134
+ def call: (A) -> B
135
+
136
+ def is_a?: (Module) -> bool
137
+ end
138
+
139
+ class Codec
140
+ @dump: _Callback[top, top]
141
+ @load: _Callback[String, top]
142
+ attr_reader id: String
143
+ attr_reader type: Class
144
+ def initialize: (id: String, type: Class, dump: _Callback[top, top], load: _Callback[String, top]) -> void
145
+ def dump: (top) -> String
146
+ def load: (String) -> top
147
+ private
148
+ def capture_callback: [A, B] (_Callback[A, B]) -> _Callback[A, B]
149
+ def invoke: [A, B] (_Callback[A, B], A, Symbol) -> B
150
+ end
151
+
152
+ class CodecRegistry
153
+ @by_type: Hash[Class, Codec]
154
+ @by_id: Hash[String, Codec]
155
+ attr_reader codecs: Array[Codec]
156
+ def initialize: (Array[Codec]) -> void
157
+ def for_value: (top) -> Codec?
158
+ def validate_registration: (Codec) -> void
159
+ def for_id: (String) -> Codec?
160
+ end
161
+ end
162
+
163
+ module Profiles
164
+ class Portable
165
+ KINDS: Hash[Symbol, XitDB::kind]
166
+ attr_reader hasher: Core::Hasher
167
+ def initialize: (?hasher: Core::Hasher) -> void
168
+ def encode_scalar: (top, core: Core::Database) -> Core::Slot
169
+ def decode_scalar: (Core::Slot, core: Core::Database, ?bound: Integer?, ?immutable: bool) -> XitDB::value
170
+ def key_bytes: (XitDB::value) -> String
171
+ def encode: (top, context: Context, path: XitDB::path) -> Core::Slot
172
+ def decode: (Core::Slot, context: Context, path: XitDB::path, ?immutable: bool) -> XitDB::value
173
+ def container: (Core::Slot, context: Context, path: XitDB::path) -> Adapter?
174
+ def empty_container: (Symbol | [ Symbol, Symbol? ], context: Context, path: XitDB::path) -> Adapter
175
+ def conversion_kind: (XitDB::adapter) -> XitDB::kind
176
+ def conversion_container: (Symbol | [ Symbol, Symbol? ], context: Context, path: XitDB::path) -> Adapter
177
+ def conversion_bytes: (Core::Slot, context: Context) -> [ Conversion::ByteSource, Symbol? ]?
178
+ def copy_conversion_bytes: (Conversion::ByteSource, Symbol | Encoding | nil, context: Context, path: XitDB::path) -> Core::Slot
179
+ def input_kind: (top, path: XitDB::path) -> Symbol?
180
+ def validate_container: (Hash[top, top] | Array[top] | Set[top], Class, XitDB::path) -> void
181
+ def hash_defaults?: (Hash[top, top]) -> bool
182
+ def input_entries: (top, path: XitDB::path) -> Enumerator[[ XitDB::selector, top ], void]
183
+ end
184
+
185
+ class Ruby
186
+ @registry: XitDB::Ruby::CodecRegistry
187
+ attr_reader hasher: Core::Hasher
188
+ attr_reader codecs: Array[XitDB::Ruby::Codec]
189
+ def initialize: (?codecs: Array[XitDB::Ruby::Codec]) -> void
190
+ def encode: (top, context: Context, path: XitDB::path) -> Core::Slot
191
+ def encode_scalar: (top, core: Core::Database) -> Core::Slot
192
+ def decode: (Core::Slot, context: Context, path: XitDB::path, ?immutable: bool) -> top
193
+ def key_bytes: (XitDB::value) -> String
194
+ def container: (Core::Slot, context: Context, path: XitDB::path) -> XitDB::Ruby::Containers?
195
+ def empty_container: (Symbol | [ Symbol, Symbol? ], context: Context, path: XitDB::path) -> XitDB::Ruby::Containers
196
+ def conversion_kind: (XitDB::adapter) -> (Symbol | [ Symbol, Symbol? ])
197
+ def conversion_container: (Symbol | [ Symbol, Symbol? ], context: Context, path: XitDB::path) -> XitDB::Ruby::Containers
198
+ def conversion_bytes: (Core::Slot, context: Context) -> [ Conversion::ByteSource, Symbol | Encoding | nil ]?
199
+ def copy_conversion_bytes: (Conversion::ByteSource, Symbol | Encoding | nil, context: Context, path: XitDB::path) -> Core::Slot
200
+ def input_kind: (top, path: XitDB::path) -> (Symbol | [ Symbol, Symbol? ] | nil)
201
+ def validate_container: (Hash[top, top] | Array[top] | Set[top], Class, XitDB::path) -> void
202
+ def hash_defaults?: (Hash[top, top]) -> bool
203
+ def declaration_kind: (CollectionDeclaration, Class, XitDB::path) -> (Symbol | [ Symbol, Symbol? ])
204
+ def input_entries: (top, path: XitDB::path) -> Enumerator[[ XitDB::selector, top ], void]
205
+ end
206
+ end
207
+ end
208
+ module XitDB
209
+ module Profiles
210
+ class Portable
211
+ class Adapter
212
+ @profile: Portable
213
+ @context: Context
214
+ @path: XitDB::path
215
+ @collection: Core::HashMap | Core::SortedMap | Core::ArrayList | Core::LinkedArrayList
216
+ def initialize: (Portable, Core::Cursor, context: Context, path: XitDB::path, ?tag: Symbol?) -> void
217
+ attr_reader kind: XitDB::kind
218
+ attr_reader cursor: Core::Cursor
219
+ def slot: () -> Core::Slot
220
+ def size: () -> Integer
221
+ def empty?: () -> bool
222
+ def lookup: (XitDB::selector) -> Core::Slot?
223
+ def assign: (XitDB::selector, Core::Slot) -> self
224
+ def delete: (XitDB::selector) -> (Core::ArrayList | Core::Slot | bool | nil)
225
+ def insert: (Integer, Core::Slot) -> self
226
+ def truncate: (Integer) -> self
227
+ def slice: (Integer, Integer) -> Core::Slot
228
+ def concat: (XitDB::adapter) -> self
229
+ def rank: (XitDB::selector) -> Integer
230
+ def each_from: (XitDB::selector) -> Enumerator[[ XitDB::selector, Core::Slot ], self]
231
+ | (XitDB::selector) { (XitDB::selector, Core::Slot) -> void } -> self
232
+ def each_from_index: (Integer) -> Enumerator[[ XitDB::selector, Core::Slot ], self]
233
+ | (Integer) { (XitDB::selector, Core::Slot) -> void } -> self
234
+ def each_entry: () -> Enumerator[[ XitDB::selector, Core::Slot ], self]
235
+ | () { (XitDB::selector, Core::Slot) -> void } -> self
236
+
237
+ private
238
+ def index_selector: (XitDB::selector) -> Integer
239
+ def required_slot: (Core::Slot?) -> Core::Slot
240
+ def array_collection: () -> Core::ArrayList
241
+ def linked_collection: () -> Core::LinkedArrayList
242
+ def sorted_collection: () -> Core::SortedMap
243
+ def hash_collection: () -> Core::HashMap
244
+ def sequence_collection: () -> (Core::ArrayList | Core::LinkedArrayList)
245
+ def decode_key: (String) -> String
246
+ def key_bytes: (XitDB::selector) -> String
247
+ end
248
+ end
249
+ end
250
+
251
+ module Ruby
252
+ class Containers
253
+ MARKERS: Hash[Symbol, Integer]
254
+ KEY_KINDS: Hash[Symbol, Integer]
255
+ @profile: Profiles::Ruby
256
+ @context: Context
257
+ @path: XitDB::path
258
+ @key_kind: Symbol?
259
+ @envelope: Core::ArrayList?
260
+ @lookup: Core::HashMap
261
+ @order: Core::SortedMap
262
+ @next_id: Integer
263
+ @collection: Core::SortedMap | Core::ArrayList | Core::LinkedArrayList
264
+ def initialize: (Profiles::Ruby, Core::Cursor, context: Context, path: XitDB::path, ?kind: Symbol?, ?key_kind: Symbol?) -> void
265
+ attr_reader kind: XitDB::kind
266
+ attr_reader cursor: Core::Cursor
267
+ def slot: () -> Core::Slot
268
+ def size: () -> Integer
269
+ def empty?: () -> bool
270
+ def lookup: (XitDB::selector) -> Core::Slot?
271
+ def assign: (XitDB::selector, Core::Slot) -> self
272
+ def delete: (XitDB::selector) -> self
273
+ def insert: (Integer, Core::Slot) -> self
274
+ def truncate: (Integer) -> self
275
+ def slice: (Integer, Integer) -> Core::Slot
276
+ def concat: (XitDB::adapter) -> self
277
+ def rank: (XitDB::selector) -> Integer
278
+ def each_from: (XitDB::selector) -> Enumerator[[ XitDB::selector, Core::Slot ], self]
279
+ | (XitDB::selector) { (XitDB::selector, Core::Slot) -> void } -> self
280
+ def each_from_index: (Integer) -> Enumerator[[ XitDB::selector, Core::Slot ], self]
281
+ | (Integer) { (XitDB::selector, Core::Slot) -> void } -> self
282
+ def each_entry: () -> Enumerator[[ XitDB::selector, Core::Slot ], self]
283
+ | () { (XitDB::selector, Core::Slot) -> void } -> self
284
+
285
+ def clear_needed?: () -> bool
286
+ def clear: () -> self
287
+ def selector_identity: (XitDB::selector) -> XitDB::selector
288
+ attr_reader collection: Core::SortedMap | Core::ArrayList | Core::LinkedArrayList
289
+ def linked_collection: () -> Core::LinkedArrayList
290
+ private
291
+ def index_selector: (XitDB::selector) -> Integer
292
+ def each_normalized_index: (Integer) { (XitDB::selector, Core::Slot) -> void } -> self
293
+ def required_slot: (Core::Slot?) -> Core::Slot
294
+ def fetch_slot: (Core::ArrayList, Integer) -> Core::Slot
295
+ def envelope: () -> Core::ArrayList
296
+ def declared_key_kind: () -> Symbol
297
+ def array_collection: () -> Core::ArrayList
298
+ def sorted_collection: () -> Core::SortedMap
299
+ def sequence_collection: () -> (Core::ArrayList | Core::LinkedArrayList)
300
+ def ordered?: () -> bool
301
+ def sorted?: () -> bool
302
+ def array: (Array[Core::Slot]) -> Core::ArrayList
303
+ def initialize_empty: () -> void
304
+ def read_envelope: () -> void
305
+ def publish: () -> self
306
+ def key_bytes: (XitDB::selector) -> String
307
+ def raw_bytes: (Core::Slot?) -> String
308
+ def decode_key: (Core::Slot) -> XitDB::selector
309
+ def record_for: (String, ?expected_bytes: String?) -> Core::ArrayList?
310
+ def sorted_entry: (String, Core::Slot) -> [ XitDB::selector, Core::Slot ]
311
+ def invalid!: () -> bot
312
+ def assign_sorted: (XitDB::selector, Core::Slot) -> void
313
+ def assign_ordered: (XitDB::selector, Core::Slot) -> void
314
+ def delete_array: (XitDB::selector) -> void
315
+ def read_sorted_envelope: () -> void
316
+ def read_ordered_envelope: () -> void
317
+ def read_sequence_envelope: () -> void
318
+ def envelope_size: () -> Integer
319
+ def ordered_entry: (String, Core::Slot) -> [ XitDB::selector, Core::Slot ]
320
+ def validate_record: (Core::ArrayList, String, Core::Slot, String?) -> void
321
+ end
322
+ end
323
+ end
324
+
325
+ class Date
326
+ def self.jd: (?Integer, ?Numeric) -> Date
327
+ | ...
328
+ end
329
+ class DateTime
330
+ def self.jd: (?Integer, ?Integer, ?Integer, ?Integer, ?Rational, ?Numeric) -> DateTime
331
+ | ...
332
+ def +: (Numeric) -> DateTime
333
+ end
334
+ class BigDecimal
335
+ def self.save_exception_mode: [A] () { () -> A } -> A
336
+ | ...
337
+ end
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xitdb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Leonid Svyatov
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bigdecimal
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '3.1'
26
+ - !ruby/object:Gem::Dependency
27
+ name: date
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '3.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.3'
40
+ description: Transactional collections, portable xitdb storage, and an explicit Ruby
41
+ value profile.
42
+ executables: []
43
+ extensions: []
44
+ extra_rdoc_files: []
45
+ files:
46
+ - CHANGELOG.md
47
+ - LICENSE
48
+ - README.md
49
+ - docs/benchmarks.md
50
+ - docs/core.md
51
+ - docs/portable.md
52
+ - docs/releasing.md
53
+ - docs/ruby-profile-v1.md
54
+ - docs/ruby.md
55
+ - examples/indexed_users.rb
56
+ - examples/portable.rb
57
+ - examples/ruby.rb
58
+ - lib/xitdb.rb
59
+ - lib/xitdb/context.rb
60
+ - lib/xitdb/conversion.rb
61
+ - lib/xitdb/core.rb
62
+ - lib/xitdb/core/array_list.rb
63
+ - lib/xitdb/core/b_tree.rb
64
+ - lib/xitdb/core/bytes.rb
65
+ - lib/xitdb/core/compaction.rb
66
+ - lib/xitdb/core/crc64.rb
67
+ - lib/xitdb/core/cursor.rb
68
+ - lib/xitdb/core/database.rb
69
+ - lib/xitdb/core/file_store.rb
70
+ - lib/xitdb/core/format.rb
71
+ - lib/xitdb/core/hash_map.rb
72
+ - lib/xitdb/core/hasher.rb
73
+ - lib/xitdb/core/linked_array_list.rb
74
+ - lib/xitdb/core/memory_store.rb
75
+ - lib/xitdb/core/offset_map.rb
76
+ - lib/xitdb/core/replication.rb
77
+ - lib/xitdb/core/sorted_map.rb
78
+ - lib/xitdb/core/transaction.rb
79
+ - lib/xitdb/database.rb
80
+ - lib/xitdb/declarations.rb
81
+ - lib/xitdb/errors.rb
82
+ - lib/xitdb/history.rb
83
+ - lib/xitdb/input_guard.rb
84
+ - lib/xitdb/profiles/portable.rb
85
+ - lib/xitdb/profiles/ruby.rb
86
+ - lib/xitdb/revision.rb
87
+ - lib/xitdb/ruby.rb
88
+ - lib/xitdb/ruby/codec.rb
89
+ - lib/xitdb/ruby/containers.rb
90
+ - lib/xitdb/ruby/key_encoding.rb
91
+ - lib/xitdb/ruby/ordered_keys.rb
92
+ - lib/xitdb/ruby/scalars.rb
93
+ - lib/xitdb/ruby/wire.rb
94
+ - lib/xitdb/snapshot.rb
95
+ - lib/xitdb/streams.rb
96
+ - lib/xitdb/value_walker.rb
97
+ - lib/xitdb/version.rb
98
+ - lib/xitdb/views/array.rb
99
+ - lib/xitdb/views/base.rb
100
+ - lib/xitdb/views/linked_array.rb
101
+ - lib/xitdb/views/map.rb
102
+ - lib/xitdb/views/set.rb
103
+ - lib/xitdb/views/sorted.rb
104
+ - sig/base.rbs
105
+ - sig/core.rbs
106
+ - sig/manifest.yaml
107
+ - sig/native.rbs
108
+ - sig/public.rbs
109
+ - sig/ruby.rbs
110
+ homepage: https://github.com/svyatov/xitdb-ruby
111
+ licenses:
112
+ - MIT
113
+ metadata:
114
+ source_code_uri: https://github.com/svyatov/xitdb-ruby
115
+ bug_tracker_uri: https://github.com/svyatov/xitdb-ruby/issues
116
+ changelog_uri: https://github.com/svyatov/xitdb-ruby/blob/main/CHANGELOG.md
117
+ documentation_uri: https://github.com/svyatov/xitdb-ruby#readme
118
+ allowed_push_host: https://rubygems.org
119
+ rubygems_mfa_required: 'true'
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '3.3'
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ requirements: []
134
+ rubygems_version: 4.0.20
135
+ specification_version: 4
136
+ summary: Pure Ruby implementation of xitdb
137
+ test_files: []