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 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
@@ -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"]
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "mkmf"
4
+ require "rb_sys/mkmf"
5
+
6
+ create_rust_makefile("yrb")
@@ -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
+ }