y-rb 0.6.0-aarch64-linux-gnu

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6d9d40c062abc24823cecd20090b7d455d71bd22ab512a3dc1c99ce69ccb2fdb
4
+ data.tar.gz: 24db2a291abd4057f232579e74022f9d346228e3191f0b67eb26968dc1c136bb
5
+ SHA512:
6
+ metadata.gz: e4e98edcba0faf1486ab7e37937bf337de22d42dac5d0f72f80e555ec1b27d6bbbfdc701525c2c78faef2860e171ef07bee4e165d81589302894550f0a64922c
7
+ data.tar.gz: b918b6072fc662d69a8c7e4548ec5614ca81fe5395640d20adce44671ae9474937595035c747cb8bc785724072ef6a4e72208d6e02a0fd83626d137f8de7b544
@@ -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
+ }