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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +28 -0
- data/LICENSE +21 -0
- data/README.md +131 -0
- data/docs/benchmarks.md +135 -0
- data/docs/core.md +123 -0
- data/docs/portable.md +99 -0
- data/docs/releasing.md +37 -0
- data/docs/ruby-profile-v1.md +226 -0
- data/docs/ruby.md +61 -0
- data/examples/indexed_users.rb +23 -0
- data/examples/portable.rb +62 -0
- data/examples/ruby.rb +56 -0
- data/lib/xitdb/context.rb +360 -0
- data/lib/xitdb/conversion.rb +222 -0
- data/lib/xitdb/core/array_list.rb +282 -0
- data/lib/xitdb/core/b_tree.rb +546 -0
- data/lib/xitdb/core/bytes.rb +181 -0
- data/lib/xitdb/core/compaction.rb +172 -0
- data/lib/xitdb/core/crc64.rb +22 -0
- data/lib/xitdb/core/cursor.rb +201 -0
- data/lib/xitdb/core/database.rb +359 -0
- data/lib/xitdb/core/file_store.rb +194 -0
- data/lib/xitdb/core/format.rb +148 -0
- data/lib/xitdb/core/hash_map.rb +371 -0
- data/lib/xitdb/core/hasher.rb +49 -0
- data/lib/xitdb/core/linked_array_list.rb +85 -0
- data/lib/xitdb/core/memory_store.rb +277 -0
- data/lib/xitdb/core/offset_map.rb +85 -0
- data/lib/xitdb/core/replication.rb +242 -0
- data/lib/xitdb/core/sorted_map.rb +361 -0
- data/lib/xitdb/core/transaction.rb +159 -0
- data/lib/xitdb/core.rb +17 -0
- data/lib/xitdb/database.rb +332 -0
- data/lib/xitdb/declarations.rb +73 -0
- data/lib/xitdb/errors.rb +84 -0
- data/lib/xitdb/history.rb +58 -0
- data/lib/xitdb/input_guard.rb +39 -0
- data/lib/xitdb/profiles/portable.rb +407 -0
- data/lib/xitdb/profiles/ruby.rb +173 -0
- data/lib/xitdb/revision.rb +42 -0
- data/lib/xitdb/ruby/codec.rb +123 -0
- data/lib/xitdb/ruby/containers.rb +495 -0
- data/lib/xitdb/ruby/key_encoding.rb +60 -0
- data/lib/xitdb/ruby/ordered_keys.rb +87 -0
- data/lib/xitdb/ruby/scalars.rb +296 -0
- data/lib/xitdb/ruby/wire.rb +146 -0
- data/lib/xitdb/ruby.rb +46 -0
- data/lib/xitdb/snapshot.rb +13 -0
- data/lib/xitdb/streams.rb +148 -0
- data/lib/xitdb/value_walker.rb +192 -0
- data/lib/xitdb/version.rb +5 -0
- data/lib/xitdb/views/array.rb +303 -0
- data/lib/xitdb/views/base.rb +271 -0
- data/lib/xitdb/views/linked_array.rb +18 -0
- data/lib/xitdb/views/map.rb +162 -0
- data/lib/xitdb/views/set.rb +41 -0
- data/lib/xitdb/views/sorted.rb +77 -0
- data/lib/xitdb.rb +20 -0
- data/sig/base.rbs +76 -0
- data/sig/core.rbs +697 -0
- data/sig/manifest.yaml +10 -0
- data/sig/native.rbs +118 -0
- data/sig/public.rbs +427 -0
- data/sig/ruby.rbs +337 -0
- 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: []
|