y-rb 0.6.0-x86_64-linux-gnu
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/ext/yrb/Cargo.toml +21 -0
- data/ext/yrb/extconf.rb +6 -0
- data/ext/yrb/src/lib.rs +649 -0
- data/ext/yrb/src/utils.rs +64 -0
- data/ext/yrb/src/yany.rs +46 -0
- data/ext/yrb/src/yarray.rs +191 -0
- data/ext/yrb/src/yattrs.rs +39 -0
- data/ext/yrb/src/yawareness.rs +151 -0
- data/ext/yrb/src/ydiff.rs +19 -0
- data/ext/yrb/src/ydoc.rs +113 -0
- data/ext/yrb/src/ymap.rs +175 -0
- data/ext/yrb/src/ytext.rs +235 -0
- data/ext/yrb/src/ytransaction.rs +127 -0
- data/ext/yrb/src/yvalue.rs +256 -0
- data/ext/yrb/src/yxml_element.rs +280 -0
- data/ext/yrb/src/yxml_fragment.rs +129 -0
- data/ext/yrb/src/yxml_text.rs +177 -0
- data/lib/3.1/yrb.so +0 -0
- data/lib/3.2/yrb.so +0 -0
- data/lib/3.3/yrb.so +0 -0
- data/lib/3.4/yrb.so +0 -0
- data/lib/y/array.rb +371 -0
- data/lib/y/awareness.rb +290 -0
- data/lib/y/diff.rb +38 -0
- data/lib/y/doc.rb +313 -0
- data/lib/y/map.rb +199 -0
- data/lib/y/text.rb +383 -0
- data/lib/y/transaction.rb +189 -0
- data/lib/y/version.rb +5 -0
- data/lib/y/xml.rb +1141 -0
- data/lib/y-rb.rb +24 -0
- data/lib/y.rb +3 -0
- metadata +143 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2515885b5ddc1b4aa8ae7fa07d4019010a692c5e51414a0dd627194aa32eef67
|
4
|
+
data.tar.gz: 2faf044460b36e0629607e888bd703e5afa1eac9dddd3c92f97089b98c762bb0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: cb8e053ba21fc030bd4adb902032df20948bbafb0c566ae0e27d94715259c9b7fc0b1916bbc97f72aca3fe088106d7aebcd427f4fa394ce0b606d9d71d795a9c
|
7
|
+
data.tar.gz: 425610eca2eff3c49f66e891278cc02ceb4d469cf7fb466c5cdd79bd0251f2714af3b108cd5c1262200a0ed6f7a08784d34079fbedfa730a85eb6b6feb8e1e4b
|
data/ext/yrb/Cargo.toml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
[package]
|
2
|
+
name = "yrb"
|
3
|
+
version = "0.6.0"
|
4
|
+
authors = ["Hannes Moser <box@hannesmoser.at>"]
|
5
|
+
edition = "2021"
|
6
|
+
homepage = "https://github.com/y-crdt/yrb"
|
7
|
+
repository = "https://github.com/y-crdt/yrb"
|
8
|
+
|
9
|
+
[dependencies]
|
10
|
+
magnus = "=0.7.1"
|
11
|
+
thiserror = "2.0.11"
|
12
|
+
yrs = "=0.17.4"
|
13
|
+
y-sync = "=0.4.0"
|
14
|
+
rb-sys = { version = "0.9", features = ["stable-api-compiled-fallback"] }
|
15
|
+
|
16
|
+
[dev-dependencies]
|
17
|
+
magnus = { version = "0.7", features = ["embed"] }
|
18
|
+
|
19
|
+
[lib]
|
20
|
+
name = "yrb"
|
21
|
+
crate-type = ["cdylib"]
|
data/ext/yrb/extconf.rb
ADDED
data/ext/yrb/src/lib.rs
ADDED
@@ -0,0 +1,649 @@
|
|
1
|
+
extern crate core;
|
2
|
+
|
3
|
+
use crate::yarray::YArray;
|
4
|
+
use crate::yawareness::{YAwareness, YAwarenessEvent};
|
5
|
+
use crate::ydiff::YDiff;
|
6
|
+
use crate::ydoc::YDoc;
|
7
|
+
use crate::ymap::YMap;
|
8
|
+
use crate::ytext::YText;
|
9
|
+
use crate::ytransaction::YTransaction;
|
10
|
+
use crate::yxml_element::YXmlElement;
|
11
|
+
use crate::yxml_fragment::YXmlFragment;
|
12
|
+
use crate::yxml_text::YXmlText;
|
13
|
+
|
14
|
+
use magnus::{class, define_module, function, method, Error, Module, Object};
|
15
|
+
|
16
|
+
mod utils;
|
17
|
+
mod yany;
|
18
|
+
mod yarray;
|
19
|
+
mod yattrs;
|
20
|
+
mod yawareness;
|
21
|
+
mod ydiff;
|
22
|
+
mod ydoc;
|
23
|
+
mod ymap;
|
24
|
+
mod ytext;
|
25
|
+
mod ytransaction;
|
26
|
+
mod yvalue;
|
27
|
+
mod yxml_element;
|
28
|
+
mod yxml_fragment;
|
29
|
+
mod yxml_text;
|
30
|
+
|
31
|
+
#[magnus::init]
|
32
|
+
fn init() -> Result<(), Error> {
|
33
|
+
let module = define_module("Y").expect("cannot define ::Y module");
|
34
|
+
|
35
|
+
let yarray = module
|
36
|
+
.define_class("Array", class::object())
|
37
|
+
.expect("cannot find class Y::Array");
|
38
|
+
|
39
|
+
yarray
|
40
|
+
.define_private_method("yarray_each", method!(YArray::yarray_each, 2))
|
41
|
+
.expect("cannot define private method: yarray_each");
|
42
|
+
yarray
|
43
|
+
.define_private_method("yarray_get", method!(YArray::yarray_get, 2))
|
44
|
+
.expect("cannot define private method: yarray_get");
|
45
|
+
yarray
|
46
|
+
.define_private_method("yarray_insert", method!(YArray::yarray_insert, 3))
|
47
|
+
.expect("cannot define private method: yarray_insert");
|
48
|
+
yarray
|
49
|
+
.define_private_method(
|
50
|
+
"yarray_insert_range",
|
51
|
+
method!(YArray::yarray_insert_range, 3),
|
52
|
+
)
|
53
|
+
.expect("cannot define private method: yarray_insert_range");
|
54
|
+
yarray
|
55
|
+
.define_private_method("yarray_length", method!(YArray::yarray_length, 1))
|
56
|
+
.expect("cannot define private method: yarray_length");
|
57
|
+
yarray
|
58
|
+
.define_private_method("yarray_observe", method!(YArray::yarray_observe, 1))
|
59
|
+
.expect("cannot define private method: yarray_observe");
|
60
|
+
yarray
|
61
|
+
.define_private_method("yarray_push_back", method!(YArray::yarray_push_back, 2))
|
62
|
+
.expect("cannot define private method: yarray_push_back");
|
63
|
+
yarray
|
64
|
+
.define_private_method("yarray_push_front", method!(YArray::yarray_push_front, 2))
|
65
|
+
.expect("cannot define private method: yarray_push_front");
|
66
|
+
yarray
|
67
|
+
.define_private_method("yarray_remove", method!(YArray::yarray_remove, 2))
|
68
|
+
.expect("cannot define private method: yarray_remove");
|
69
|
+
yarray
|
70
|
+
.define_private_method(
|
71
|
+
"yarray_remove_range",
|
72
|
+
method!(YArray::yarray_remove_range, 3),
|
73
|
+
)
|
74
|
+
.expect("cannot define private method: yarray_remove_range");
|
75
|
+
yarray
|
76
|
+
.define_private_method("yarray_to_a", method!(YArray::yarray_to_a, 1))
|
77
|
+
.expect("cannot define private method: yarray_to_a");
|
78
|
+
yarray
|
79
|
+
.define_private_method("yarray_unobserve", method!(YArray::yarray_unobserve, 1))
|
80
|
+
.expect("cannot define private method: yarray_unobserve");
|
81
|
+
|
82
|
+
let ydoc = module
|
83
|
+
.define_class("Doc", class::object())
|
84
|
+
.expect("cannot define class Y::Doc");
|
85
|
+
ydoc.define_singleton_method("new", function!(YDoc::ydoc_new, -1))
|
86
|
+
.expect("cannot define singleton method: ydoc_new");
|
87
|
+
ydoc.define_private_method("ydoc_encode_diff_v1", method!(YDoc::ydoc_encode_diff_v1, 2))
|
88
|
+
.expect("cannot define private method: ydoc_encode_diff_v1");
|
89
|
+
ydoc.define_private_method("ydoc_encode_diff_v2", method!(YDoc::ydoc_encode_diff_v2, 2))
|
90
|
+
.expect("cannot define private method: ydoc_encode_diff_v2");
|
91
|
+
ydoc.define_private_method(
|
92
|
+
"ydoc_get_or_insert_array",
|
93
|
+
method!(YDoc::ydoc_get_or_insert_array, 1),
|
94
|
+
)
|
95
|
+
.expect("cannot define private method: ydoc_get_or_insert_array");
|
96
|
+
ydoc.define_private_method(
|
97
|
+
"ydoc_get_or_insert_map",
|
98
|
+
method!(YDoc::ydoc_get_or_insert_map, 1),
|
99
|
+
)
|
100
|
+
.expect("cannot define private method: ydoc_get_or_insert_map");
|
101
|
+
ydoc.define_private_method(
|
102
|
+
"ydoc_get_or_insert_text",
|
103
|
+
method!(YDoc::ydoc_get_or_insert_text, 1),
|
104
|
+
)
|
105
|
+
.expect("cannot define private method: ydoc_get_or_insert_text");
|
106
|
+
ydoc.define_private_method(
|
107
|
+
"ydoc_get_or_insert_xml_element",
|
108
|
+
method!(YDoc::ydoc_get_or_insert_xml_element, 1),
|
109
|
+
)
|
110
|
+
.expect("cannot define private method: ydoc_get_or_insert_xml_element");
|
111
|
+
ydoc.define_private_method(
|
112
|
+
"ydoc_get_or_insert_xml_fragment",
|
113
|
+
method!(YDoc::ydoc_get_or_insert_xml_fragment, 1),
|
114
|
+
)
|
115
|
+
.expect("cannot define private method: ydoc_get_or_insert_xml_fragment");
|
116
|
+
ydoc.define_private_method(
|
117
|
+
"ydoc_get_or_insert_xml_text",
|
118
|
+
method!(YDoc::ydoc_get_or_insert_xml_text, 1),
|
119
|
+
)
|
120
|
+
.expect("cannot define private method: ydoc_get_or_insert_xml_text");
|
121
|
+
ydoc.define_private_method("ydoc_transact", method!(YDoc::ydoc_transact, 0))
|
122
|
+
.expect("cannot define private method: ydoc_transact");
|
123
|
+
|
124
|
+
ydoc.define_private_method("ydoc_observe_update", method!(YDoc::ydoc_observe_update, 1))
|
125
|
+
.expect("cannot define private method: ydoc_observe_update");
|
126
|
+
|
127
|
+
let ymap = module
|
128
|
+
.define_class("Map", class::object())
|
129
|
+
.expect("cannot define class Y::Map");
|
130
|
+
|
131
|
+
ymap.define_private_method("ymap_clear", method!(YMap::ymap_clear, 1))
|
132
|
+
.expect("cannot define private method: ymap_clear");
|
133
|
+
ymap.define_private_method("ymap_contains", method!(YMap::ymap_contains, 2))
|
134
|
+
.expect("cannot define private method: ymap_contains");
|
135
|
+
ymap.define_private_method("ymap_each", method!(YMap::ymap_each, 2))
|
136
|
+
.expect("cannot define private method: ymap_each");
|
137
|
+
ymap.define_private_method("ymap_get", method!(YMap::ymap_get, 2))
|
138
|
+
.expect("cannot define private method: ymap_get");
|
139
|
+
ymap.define_private_method("ymap_insert", method!(YMap::ymap_insert, 3))
|
140
|
+
.expect("cannot define private method: ymap_insert");
|
141
|
+
ymap.define_private_method("ymap_observe", method!(YMap::ymap_observe, 1))
|
142
|
+
.expect("cannot define private method: ymap_observe");
|
143
|
+
ymap.define_private_method("ymap_remove", method!(YMap::ymap_remove, 2))
|
144
|
+
.expect("cannot define private method: ymap_remove");
|
145
|
+
ymap.define_private_method("ymap_size", method!(YMap::ymap_size, 1))
|
146
|
+
.expect("cannot define private method: ymap_size");
|
147
|
+
ymap.define_private_method("ymap_to_h", method!(YMap::ymap_to_h, 1))
|
148
|
+
.expect("cannot define private method: ymap_to_h");
|
149
|
+
ymap.define_private_method("ymap_unobserve", method!(YMap::ymap_unobserve, 1))
|
150
|
+
.expect("cannot define private method: ymap_unobserve");
|
151
|
+
|
152
|
+
let ytransaction = module
|
153
|
+
.define_class("Transaction", class::object())
|
154
|
+
.expect("cannot define class Y::Transaction");
|
155
|
+
|
156
|
+
ytransaction
|
157
|
+
.define_private_method(
|
158
|
+
"ytransaction_apply_update",
|
159
|
+
method!(YTransaction::ytransaction_apply_update, 1),
|
160
|
+
)
|
161
|
+
.expect("cannot define private method: ytransaction_apply_update");
|
162
|
+
ytransaction
|
163
|
+
.define_private_method(
|
164
|
+
"ytransaction_apply_update_v2",
|
165
|
+
method!(YTransaction::ytransaction_apply_update_v2, 1),
|
166
|
+
)
|
167
|
+
.expect("cannot define private method: ytransaction_apply_update_v2");
|
168
|
+
ytransaction
|
169
|
+
.define_private_method(
|
170
|
+
"ytransaction_commit",
|
171
|
+
method!(YTransaction::ytransaction_commit, 0),
|
172
|
+
)
|
173
|
+
.expect("cannot define private method: ytransaction_commit");
|
174
|
+
ytransaction
|
175
|
+
.define_method("free", method!(YTransaction::ytransaction_free, 0))
|
176
|
+
.expect("");
|
177
|
+
ytransaction
|
178
|
+
.define_private_method(
|
179
|
+
"ytransaction_get_array",
|
180
|
+
method!(YTransaction::ytransaction_get_array, 1),
|
181
|
+
)
|
182
|
+
.expect("cannot define private method: ytransaction_get_array");
|
183
|
+
ytransaction
|
184
|
+
.define_private_method(
|
185
|
+
"ytransaction_get_map",
|
186
|
+
method!(YTransaction::ytransaction_get_map, 1),
|
187
|
+
)
|
188
|
+
.expect("cannot define private method: ytransaction_get_map");
|
189
|
+
ytransaction
|
190
|
+
.define_private_method(
|
191
|
+
"ytransaction_get_text",
|
192
|
+
method!(YTransaction::ytransaction_get_text, 1),
|
193
|
+
)
|
194
|
+
.expect("cannot define private method: ytransaction_get_text");
|
195
|
+
ytransaction
|
196
|
+
.define_private_method(
|
197
|
+
"ytransaction_get_xml_element",
|
198
|
+
method!(YTransaction::ytransaction_get_xml_element, 1),
|
199
|
+
)
|
200
|
+
.expect("cannot define private method: ytransaction_get_xml_element");
|
201
|
+
ytransaction
|
202
|
+
.define_private_method(
|
203
|
+
"ytransaction_get_xml_fragment",
|
204
|
+
method!(YTransaction::ytransaction_get_xml_fragment, 1),
|
205
|
+
)
|
206
|
+
.expect("cannot define private method: ytransaction_get_xml_fragment");
|
207
|
+
ytransaction
|
208
|
+
.define_private_method(
|
209
|
+
"ytransaction_get_xml_text",
|
210
|
+
method!(YTransaction::ytransaction_get_xml_text, 1),
|
211
|
+
)
|
212
|
+
.expect("cannot define private method: ytransaction_get_xml_text");
|
213
|
+
ytransaction
|
214
|
+
.define_private_method(
|
215
|
+
"ytransaction_state_vector",
|
216
|
+
method!(YTransaction::ytransaction_state_vector, 0),
|
217
|
+
)
|
218
|
+
.expect("cannot define private method: ytransaction_state_vector");
|
219
|
+
ytransaction
|
220
|
+
.define_private_method(
|
221
|
+
"ytransaction_state_vector_v2",
|
222
|
+
method!(YTransaction::ytransaction_state_vector_v2, 0),
|
223
|
+
)
|
224
|
+
.expect("cannot define private method: ytransaction_state_vector_v2");
|
225
|
+
|
226
|
+
let ytext = module
|
227
|
+
.define_class("Text", class::object())
|
228
|
+
.expect("cannot define class Y::Text");
|
229
|
+
|
230
|
+
ytext
|
231
|
+
.define_private_method("ytext_diff", method!(YText::ytext_diff, 1))
|
232
|
+
.expect("cannot define private method: ytext_diff");
|
233
|
+
ytext
|
234
|
+
.define_private_method("ytext_format", method!(YText::ytext_format, 4))
|
235
|
+
.expect("cannot define private method: ytext_format");
|
236
|
+
ytext
|
237
|
+
.define_private_method("ytext_insert", method!(YText::ytext_insert, 3))
|
238
|
+
.expect("cannot define private method: ytext_insert");
|
239
|
+
ytext
|
240
|
+
.define_private_method("ytext_insert_embed", method!(YText::ytext_insert_embed, 3))
|
241
|
+
.expect("cannot define private method: ytext_insert_embed");
|
242
|
+
ytext
|
243
|
+
.define_private_method(
|
244
|
+
"ytext_insert_embed_with_attributes",
|
245
|
+
method!(YText::ytext_insert_embed_with_attributes, 4),
|
246
|
+
)
|
247
|
+
.expect("cannot define private method: ytext_insert_embed_with_attributes");
|
248
|
+
ytext
|
249
|
+
.define_private_method(
|
250
|
+
"ytext_insert_with_attributes",
|
251
|
+
method!(YText::ytext_insert_with_attributes, 4),
|
252
|
+
)
|
253
|
+
.expect("cannot define private method: ytext_insert_with_attributes");
|
254
|
+
ytext
|
255
|
+
.define_private_method("ytext_length", method!(YText::ytext_length, 1))
|
256
|
+
.expect("cannot define private method: ytext_length");
|
257
|
+
ytext
|
258
|
+
.define_private_method("ytext_observe", method!(YText::ytext_observe, 1))
|
259
|
+
.expect("cannot define private method: ytext_observe");
|
260
|
+
ytext
|
261
|
+
.define_private_method("ytext_push", method!(YText::ytext_push, 2))
|
262
|
+
.expect("cannot define private method: ytext_push");
|
263
|
+
ytext
|
264
|
+
.define_private_method("ytext_remove_range", method!(YText::ytext_remove_range, 3))
|
265
|
+
.expect("cannot define private method: ytext_remove_range");
|
266
|
+
ytext
|
267
|
+
.define_private_method("ytext_to_s", method!(YText::ytext_to_s, 1))
|
268
|
+
.expect("cannot define private method: ytext_to_s");
|
269
|
+
ytext
|
270
|
+
.define_private_method("ytext_unobserve", method!(YText::ytext_unobserve, 1))
|
271
|
+
.expect("cannot define private method: ytext_unobserve");
|
272
|
+
|
273
|
+
let yxml_element = module
|
274
|
+
.define_class("XMLElement", class::object())
|
275
|
+
.expect("cannot define class Y::XMLElement");
|
276
|
+
|
277
|
+
yxml_element
|
278
|
+
.define_private_method(
|
279
|
+
"yxml_element_attributes",
|
280
|
+
method!(YXmlElement::yxml_element_attributes, 1),
|
281
|
+
)
|
282
|
+
.expect("cannot define private method: yxml_element_attributes");
|
283
|
+
yxml_element
|
284
|
+
.define_private_method(
|
285
|
+
"yxml_element_first_child",
|
286
|
+
method!(YXmlElement::yxml_element_first_child, 1),
|
287
|
+
)
|
288
|
+
.expect("cannot define private method: yxml_element_first_child");
|
289
|
+
yxml_element
|
290
|
+
.define_private_method(
|
291
|
+
"yxml_element_get",
|
292
|
+
method!(YXmlElement::yxml_element_get, 2),
|
293
|
+
)
|
294
|
+
.expect("cannot define private method: yxml_element_get");
|
295
|
+
yxml_element
|
296
|
+
.define_private_method(
|
297
|
+
"yxml_element_get_attribute",
|
298
|
+
method!(YXmlElement::yxml_element_get_attribute, 2),
|
299
|
+
)
|
300
|
+
.expect("cannot define private method: yxml_element_get_attribute");
|
301
|
+
yxml_element
|
302
|
+
.define_private_method(
|
303
|
+
"yxml_element_insert_attribute",
|
304
|
+
method!(YXmlElement::yxml_element_insert_attribute, 3),
|
305
|
+
)
|
306
|
+
.expect("cannot define private method: yxml_element_insert_attribute");
|
307
|
+
yxml_element
|
308
|
+
.define_private_method(
|
309
|
+
"yxml_element_insert_element",
|
310
|
+
method!(YXmlElement::yxml_element_insert_element, 3),
|
311
|
+
)
|
312
|
+
.expect("cannot define private method: yxml_element_insert_element");
|
313
|
+
yxml_element
|
314
|
+
.define_private_method(
|
315
|
+
"yxml_element_insert_text",
|
316
|
+
method!(YXmlElement::yxml_element_insert_text, 3),
|
317
|
+
)
|
318
|
+
.expect("cannot define private method: yxml_element_insert_text");
|
319
|
+
yxml_element
|
320
|
+
.define_private_method(
|
321
|
+
"yxml_element_len",
|
322
|
+
method!(YXmlElement::yxml_element_len, 1),
|
323
|
+
)
|
324
|
+
.expect("cannot define private method: yxml_element_len");
|
325
|
+
yxml_element
|
326
|
+
.define_private_method(
|
327
|
+
"yxml_element_next_sibling",
|
328
|
+
method!(YXmlElement::yxml_element_next_sibling, 1),
|
329
|
+
)
|
330
|
+
.expect("cannot define private method: yxml_element_next_sibling");
|
331
|
+
yxml_element
|
332
|
+
.define_private_method(
|
333
|
+
"yxml_element_observe",
|
334
|
+
method!(YXmlElement::yxml_element_observe, 1),
|
335
|
+
)
|
336
|
+
.expect("cannot define private method: yxml_element_observe");
|
337
|
+
yxml_element
|
338
|
+
.define_private_method(
|
339
|
+
"yxml_element_parent",
|
340
|
+
method!(YXmlElement::yxml_element_parent, 0),
|
341
|
+
)
|
342
|
+
.expect("cannot define private method: yxml_element_parent");
|
343
|
+
yxml_element
|
344
|
+
.define_private_method(
|
345
|
+
"yxml_element_prev_sibling",
|
346
|
+
method!(YXmlElement::yxml_element_prev_sibling, 1),
|
347
|
+
)
|
348
|
+
.expect("cannot define private method: yxml_element_prev_sibling");
|
349
|
+
yxml_element
|
350
|
+
.define_private_method(
|
351
|
+
"yxml_element_push_element_back",
|
352
|
+
method!(YXmlElement::yxml_element_push_element_back, 2),
|
353
|
+
)
|
354
|
+
.expect("cannot define private method: yxml_element_push_element_back");
|
355
|
+
yxml_element
|
356
|
+
.define_private_method(
|
357
|
+
"yxml_element_push_element_front",
|
358
|
+
method!(YXmlElement::yxml_element_push_element_front, 2),
|
359
|
+
)
|
360
|
+
.expect("cannot define private method: yxml_element_push_element_front");
|
361
|
+
yxml_element
|
362
|
+
.define_private_method(
|
363
|
+
"yxml_element_push_text_back",
|
364
|
+
method!(YXmlElement::yxml_element_push_text_back, 2),
|
365
|
+
)
|
366
|
+
.expect("cannot define private method: yxml_element_push_text_back");
|
367
|
+
yxml_element
|
368
|
+
.define_private_method(
|
369
|
+
"yxml_element_push_text_front",
|
370
|
+
method!(YXmlElement::yxml_element_push_text_front, 2),
|
371
|
+
)
|
372
|
+
.expect("cannot define private method: yxml_element_push_text_front");
|
373
|
+
yxml_element
|
374
|
+
.define_private_method(
|
375
|
+
"yxml_element_remove_attribute",
|
376
|
+
method!(YXmlElement::yxml_element_remove_attribute, 2),
|
377
|
+
)
|
378
|
+
.expect("cannot define private method: yxml_element_remove_range");
|
379
|
+
yxml_element
|
380
|
+
.define_private_method(
|
381
|
+
"yxml_element_remove_range",
|
382
|
+
method!(YXmlElement::yxml_element_remove_range, 3),
|
383
|
+
)
|
384
|
+
.expect("cannot define private method: yxml_element_remove_range");
|
385
|
+
yxml_element
|
386
|
+
.define_private_method(
|
387
|
+
"yxml_element_siblings",
|
388
|
+
method!(YXmlElement::yxml_element_siblings, 1),
|
389
|
+
)
|
390
|
+
.expect("cannot define private method: yxml_element_siblings");
|
391
|
+
yxml_element
|
392
|
+
.define_private_method(
|
393
|
+
"yxml_element_size",
|
394
|
+
method!(YXmlElement::yxml_element_size, 1),
|
395
|
+
)
|
396
|
+
.expect("cannot define private method: yxml_element_size");
|
397
|
+
yxml_element
|
398
|
+
.define_private_method(
|
399
|
+
"yxml_element_tag",
|
400
|
+
method!(YXmlElement::yxml_element_tag, 0),
|
401
|
+
)
|
402
|
+
.expect("cannot define private method: yxml_element_tag");
|
403
|
+
yxml_element
|
404
|
+
.define_private_method(
|
405
|
+
"yxml_element_to_s",
|
406
|
+
method!(YXmlElement::yxml_element_to_s, 1),
|
407
|
+
)
|
408
|
+
.expect("cannot define private method: yxml_element_to_s");
|
409
|
+
yxml_element
|
410
|
+
.define_private_method(
|
411
|
+
"yxml_element_unobserve",
|
412
|
+
method!(YXmlElement::yxml_element_unobserve, 1),
|
413
|
+
)
|
414
|
+
.expect("cannot define private method: yxml_element_unobserve");
|
415
|
+
|
416
|
+
let yxml_fragment = module
|
417
|
+
.define_class("XMLFragment", class::object())
|
418
|
+
.expect("cannot define class: Y::XMLFragment");
|
419
|
+
|
420
|
+
yxml_fragment
|
421
|
+
.define_private_method(
|
422
|
+
"yxml_fragment_first_child",
|
423
|
+
method!(YXmlFragment::yxml_fragment_first_child, 0),
|
424
|
+
)
|
425
|
+
.expect("cannot define private method: yxml_fragment_first_child");
|
426
|
+
yxml_fragment
|
427
|
+
.define_private_method(
|
428
|
+
"yxml_fragment_get",
|
429
|
+
method!(YXmlFragment::yxml_fragment_get, 2),
|
430
|
+
)
|
431
|
+
.expect("cannot define private method: yxml_fragment_get");
|
432
|
+
yxml_fragment
|
433
|
+
.define_private_method(
|
434
|
+
"yxml_fragment_insert",
|
435
|
+
method!(YXmlFragment::yxml_fragment_insert, 3),
|
436
|
+
)
|
437
|
+
.expect("cannot define private method: yxml_fragment_insert");
|
438
|
+
yxml_fragment
|
439
|
+
.define_private_method(
|
440
|
+
"yxml_fragment_len",
|
441
|
+
method!(YXmlFragment::yxml_fragment_len, 1),
|
442
|
+
)
|
443
|
+
.expect("cannot define private method: yxml_fragment_len");
|
444
|
+
yxml_fragment
|
445
|
+
.define_private_method(
|
446
|
+
"yxml_fragment_parent",
|
447
|
+
method!(YXmlFragment::yxml_fragment_parent, 0),
|
448
|
+
)
|
449
|
+
.expect("cannot define private method: yxml_fragment_parent");
|
450
|
+
yxml_fragment
|
451
|
+
.define_private_method(
|
452
|
+
"yxml_fragment_push_back",
|
453
|
+
method!(YXmlFragment::yxml_fragment_push_back, 2),
|
454
|
+
)
|
455
|
+
.expect("cannot define private method: yxml_fragment_push_back");
|
456
|
+
yxml_fragment
|
457
|
+
.define_private_method(
|
458
|
+
"yxml_fragment_push_front",
|
459
|
+
method!(YXmlFragment::yxml_fragment_push_front, 2),
|
460
|
+
)
|
461
|
+
.expect("cannot define private method: yxml_fragment_push_front");
|
462
|
+
yxml_fragment
|
463
|
+
.define_private_method(
|
464
|
+
"yxml_fragment_remove_range",
|
465
|
+
method!(YXmlFragment::yxml_fragment_remove_range, 3),
|
466
|
+
)
|
467
|
+
.expect("cannot define private method: yxml_fragment_remove_range");
|
468
|
+
yxml_fragment
|
469
|
+
.define_private_method(
|
470
|
+
"yxml_fragment_successors",
|
471
|
+
method!(YXmlFragment::yxml_fragment_successors, 1),
|
472
|
+
)
|
473
|
+
.expect("cannot define private method: yxml_fragment_successors");
|
474
|
+
yxml_fragment
|
475
|
+
.define_private_method(
|
476
|
+
"yxml_fragment_to_s",
|
477
|
+
method!(YXmlFragment::yxml_fragment_to_s, 1),
|
478
|
+
)
|
479
|
+
.expect("cannot define private method: yxml_fragment_to_s");
|
480
|
+
|
481
|
+
let yxml_text = module
|
482
|
+
.define_class("XMLText", class::object())
|
483
|
+
.expect("cannot define class Y::XMLText");
|
484
|
+
|
485
|
+
yxml_text
|
486
|
+
.define_private_method(
|
487
|
+
"yxml_text_attributes",
|
488
|
+
method!(YXmlText::yxml_text_attributes, 1),
|
489
|
+
)
|
490
|
+
.expect("cannot define private method: yxml_text_attributes");
|
491
|
+
yxml_text
|
492
|
+
.define_private_method("yxml_text_format", method!(YXmlText::yxml_text_format, 4))
|
493
|
+
.expect("cannot define private method: yxml_text_format");
|
494
|
+
yxml_text
|
495
|
+
.define_private_method(
|
496
|
+
"yxml_text_get_attribute",
|
497
|
+
method!(YXmlText::yxml_text_get_attribute, 2),
|
498
|
+
)
|
499
|
+
.expect("cannot define private method: yxml_text_get_attribute");
|
500
|
+
yxml_text
|
501
|
+
.define_private_method("yxml_text_insert", method!(YXmlText::yxml_text_insert, 3))
|
502
|
+
.expect("cannot define private method: yxml_text_insert");
|
503
|
+
yxml_text
|
504
|
+
.define_private_method(
|
505
|
+
"yxml_text_insert_attribute",
|
506
|
+
method!(YXmlText::yxml_text_insert_attribute, 3),
|
507
|
+
)
|
508
|
+
.expect("cannot define private method: yxml_text_insert_attribute");
|
509
|
+
yxml_text
|
510
|
+
.define_private_method(
|
511
|
+
"yxml_text_insert_embed_with_attrs",
|
512
|
+
method!(YXmlText::yxml_text_insert_embed_with_attributes, 4),
|
513
|
+
)
|
514
|
+
.expect("cannot define private method: yxml_text_insert_embed_with_attributes");
|
515
|
+
yxml_text
|
516
|
+
.define_private_method(
|
517
|
+
"yxml_text_insert_with_attrs",
|
518
|
+
method!(YXmlText::yxml_text_insert_with_attributes, 4),
|
519
|
+
)
|
520
|
+
.expect("cannot define private method: yxml_text_insert_with_attributes");
|
521
|
+
yxml_text
|
522
|
+
.define_private_method(
|
523
|
+
"yxml_text_insert_embed",
|
524
|
+
method!(YXmlText::yxml_text_insert_embed, 3),
|
525
|
+
)
|
526
|
+
.expect("cannot define private method: yxml_text_insert_embed");
|
527
|
+
yxml_text
|
528
|
+
.define_private_method("yxml_text_length", method!(YXmlText::yxml_text_length, 1))
|
529
|
+
.expect("cannot define private method: yxml_text_length");
|
530
|
+
yxml_text
|
531
|
+
.define_private_method(
|
532
|
+
"yxml_text_next_sibling",
|
533
|
+
method!(YXmlText::yxml_text_next_sibling, 1),
|
534
|
+
)
|
535
|
+
.expect("cannot define private method: yxml_text_next_sibling");
|
536
|
+
yxml_text
|
537
|
+
.define_private_method("yxml_text_parent", method!(YXmlText::yxml_text_parent, 0))
|
538
|
+
.expect("cannot define private method: yxml_text_parent");
|
539
|
+
yxml_text
|
540
|
+
.define_private_method(
|
541
|
+
"yxml_text_prev_sibling",
|
542
|
+
method!(YXmlText::yxml_text_prev_sibling, 1),
|
543
|
+
)
|
544
|
+
.expect("cannot define private method: yxml_text_prev_sibling");
|
545
|
+
yxml_text
|
546
|
+
.define_private_method("yxml_text_push", method!(YXmlText::yxml_text_push, 2))
|
547
|
+
.expect("cannot define private method: yxml_text_push");
|
548
|
+
yxml_text
|
549
|
+
.define_private_method(
|
550
|
+
"yxml_text_remove_range",
|
551
|
+
method!(YXmlText::yxml_text_remove_range, 3),
|
552
|
+
)
|
553
|
+
.expect("cannot define private method: yxml_text_remove_range");
|
554
|
+
yxml_text
|
555
|
+
.define_private_method("yxml_text_to_s", method!(YXmlText::yxml_text_to_s, 1))
|
556
|
+
.expect("cannot define private method: yxml_text_to_s");
|
557
|
+
|
558
|
+
let yawareness = module
|
559
|
+
.define_class("Awareness", class::object())
|
560
|
+
.expect("cannot define class Y::Awareness");
|
561
|
+
yawareness
|
562
|
+
.define_singleton_method("new", function!(YAwareness::yawareness_new, 0))
|
563
|
+
.expect("cannot define singleton method: yawareness_new");
|
564
|
+
yawareness
|
565
|
+
.define_private_method(
|
566
|
+
"yawareness_apply_update",
|
567
|
+
method!(YAwareness::yawareness_apply_update, 1),
|
568
|
+
)
|
569
|
+
.expect("cannot define private method: yawareness_apply_update");
|
570
|
+
yawareness
|
571
|
+
.define_private_method(
|
572
|
+
"yawareness_clean_local_state",
|
573
|
+
method!(YAwareness::yawareness_clean_local_state, 0),
|
574
|
+
)
|
575
|
+
.expect("cannot define private method: yawareness_clean_local_state");
|
576
|
+
yawareness
|
577
|
+
.define_private_method(
|
578
|
+
"yawareness_clients",
|
579
|
+
method!(YAwareness::yawareness_clients, 0),
|
580
|
+
)
|
581
|
+
.expect("cannot define private method: yawareness_clients");
|
582
|
+
yawareness
|
583
|
+
.define_private_method(
|
584
|
+
"yawareness_client_id",
|
585
|
+
method!(YAwareness::yawareness_client_id, 0),
|
586
|
+
)
|
587
|
+
.expect("cannot define private method: yawareness_client_id");
|
588
|
+
yawareness
|
589
|
+
.define_private_method(
|
590
|
+
"yawareness_local_state",
|
591
|
+
method!(YAwareness::yawareness_local_state, 0),
|
592
|
+
)
|
593
|
+
.expect("cannot define private method: yawareness_local_state");
|
594
|
+
yawareness
|
595
|
+
.define_private_method(
|
596
|
+
"yawareness_on_update",
|
597
|
+
method!(YAwareness::yawareness_on_update, 1),
|
598
|
+
)
|
599
|
+
.expect("cannot define private method: yawareness_on_update");
|
600
|
+
yawareness
|
601
|
+
.define_private_method(
|
602
|
+
"yawareness_remove_state",
|
603
|
+
method!(YAwareness::yawareness_remove_state, 1),
|
604
|
+
)
|
605
|
+
.expect("cannot define private method: yawareness_remove_state");
|
606
|
+
yawareness
|
607
|
+
.define_private_method(
|
608
|
+
"yawareness_set_local_state",
|
609
|
+
method!(YAwareness::yawareness_set_local_state, 1),
|
610
|
+
)
|
611
|
+
.expect("cannot define private method: yawareness_set_local_state");
|
612
|
+
yawareness
|
613
|
+
.define_private_method(
|
614
|
+
"yawareness_update",
|
615
|
+
method!(YAwareness::yawareness_update, 0),
|
616
|
+
)
|
617
|
+
.expect("cannot define private method: yawareness_update");
|
618
|
+
yawareness
|
619
|
+
.define_private_method(
|
620
|
+
"yawareness_update_with_clients",
|
621
|
+
method!(YAwareness::yawareness_update_with_clients, 1),
|
622
|
+
)
|
623
|
+
.expect("cannot define private method: yawareness_update_with_clients");
|
624
|
+
|
625
|
+
let yawareness_event = module
|
626
|
+
.define_class("AwarenessEvent", class::object())
|
627
|
+
.expect("cannot define class Y::AwarenessEvent");
|
628
|
+
yawareness_event
|
629
|
+
.define_method("added", method!(YAwarenessEvent::added, 0))
|
630
|
+
.expect("cannot define private method: added");
|
631
|
+
yawareness_event
|
632
|
+
.define_method("updated", method!(YAwarenessEvent::updated, 0))
|
633
|
+
.expect("cannot define private method: updated");
|
634
|
+
yawareness_event
|
635
|
+
.define_method("removed", method!(YAwarenessEvent::removed, 0))
|
636
|
+
.expect("cannot define private method: removed");
|
637
|
+
|
638
|
+
let ydiff = module
|
639
|
+
.define_class("Diff", class::object())
|
640
|
+
.expect("cannot define class Y::Diff");
|
641
|
+
ydiff
|
642
|
+
.define_private_method("ydiff_insert", method!(YDiff::ydiff_insert, 0))
|
643
|
+
.expect("cannot define private method: insert");
|
644
|
+
ydiff
|
645
|
+
.define_private_method("ydiff_attrs", method!(YDiff::ydiff_attrs, 0))
|
646
|
+
.expect("cannot define private method: attrs");
|
647
|
+
|
648
|
+
Ok(())
|
649
|
+
}
|