y-rb 0.5.4-x86_64-darwin → 0.5.5-x86_64-darwin
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 +4 -4
- data/ext/yrb/Cargo.toml +6 -7
- data/ext/yrb/src/utils.rs +1 -2
- data/ext/yrb/src/yany.rs +5 -5
- data/ext/yrb/src/yarray.rs +2 -3
- data/ext/yrb/src/yattrs.rs +1 -1
- data/ext/yrb/src/yawareness.rs +2 -2
- data/ext/yrb/src/ydoc.rs +2 -2
- data/ext/yrb/src/ymap.rs +1 -2
- data/ext/yrb/src/ytext.rs +1 -2
- data/ext/yrb/src/yvalue.rs +16 -12
- data/ext/yrb/src/yxml_element.rs +1 -1
- data/ext/yrb/src/yxml_text.rs +1 -2
- data/lib/3.0/yrb.bundle +0 -0
- data/lib/3.1/yrb.bundle +0 -0
- data/lib/3.2/yrb.bundle +0 -0
- data/lib/3.3/yrb.bundle +0 -0
- data/lib/y/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18f531e7e42a6c7c66abc0a3f0c5004aa914de09e63d39f219d08168612b7b43
|
4
|
+
data.tar.gz: cafa15eaa03f50c7c4ddd38d478eb10aeed14b7a4505284b2061104d943e1f7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '028d511786a26110a5b43ed9c2bd53f52629ba1bbf0f9c7c7409323d6e826aedf490d4778ed2e8400be78fc022a87087ed0910839b7d9df973c06d08f7f103e4'
|
7
|
+
data.tar.gz: 28cf7d3981e34bbbe7e76c0caf89df89a3991aa4f58981a2246d625ec21b48bc47a4e25f6bd42295d0ef405f96ed94680b14b29da35f5bd22a255d90eb28077e
|
data/ext/yrb/Cargo.toml
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
[package]
|
2
2
|
name = "yrb"
|
3
|
-
version = "0.5.
|
3
|
+
version = "0.5.5"
|
4
4
|
authors = ["Hannes Moser <box@hannesmoser.at>"]
|
5
5
|
edition = "2021"
|
6
6
|
homepage = "https://github.com/y-crdt/yrb"
|
7
7
|
repository = "https://github.com/y-crdt/yrb"
|
8
8
|
|
9
9
|
[dependencies]
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
rb-sys = "0.9.86"
|
10
|
+
magnus = "=0.6.2"
|
11
|
+
thiserror = "1.0.57"
|
12
|
+
yrs = "=0.17.4"
|
13
|
+
y-sync = "=0.4.0"
|
14
|
+
rb-sys = "0.9.90"
|
16
15
|
|
17
16
|
[dev-dependencies]
|
18
17
|
magnus = { version = "0.6.2", features = ["embed"] }
|
data/ext/yrb/src/utils.rs
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
use crate::yvalue::YValue;
|
2
|
-
use lib0::any::Any;
|
3
2
|
use magnus::r_hash::ForEach::Continue;
|
4
3
|
use magnus::{exception, Error, RArray, RHash, RString, Symbol, Value};
|
5
4
|
use std::sync::Arc;
|
6
5
|
use yrs::types::{Attrs, Value as YrsValue};
|
7
|
-
use yrs::{Array, Map, TransactionMut};
|
6
|
+
use yrs::{Any, Array, Map, TransactionMut};
|
8
7
|
|
9
8
|
#[derive(Debug, Clone)]
|
10
9
|
pub(crate) struct TypeConversionError;
|
data/ext/yrb/src/yany.rs
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
use lib0::any::Any;
|
2
1
|
use magnus::r_string::IntoRString;
|
3
2
|
use magnus::value::ReprValue;
|
4
3
|
use magnus::{value, IntoValue, RArray, RHash, RString, Value};
|
5
4
|
use std::borrow::Borrow;
|
6
5
|
use std::ops::{Deref, DerefMut};
|
6
|
+
use yrs::Any;
|
7
7
|
|
8
8
|
pub(crate) struct YAny(pub(crate) Any);
|
9
9
|
|
@@ -35,11 +35,11 @@ impl TryInto<Value> for YAny {
|
|
35
35
|
Ok(hash.as_value())
|
36
36
|
}
|
37
37
|
Any::Null => Ok(value::qnil().as_value()),
|
38
|
-
Any::Undefined => Ok(
|
38
|
+
Any::Undefined => Ok(value::qnil().as_value()),
|
39
39
|
Any::Bool(v) => Ok(v.into_value()),
|
40
|
-
Any::Number(v) => Ok(
|
41
|
-
Any::BigInt(v) => Ok(
|
42
|
-
Any::String(v) => Ok(
|
40
|
+
Any::Number(v) => Ok(v.into_value()),
|
41
|
+
Any::BigInt(v) => Ok(v.into_value()),
|
42
|
+
Any::String(v) => Ok(v.into_r_string().as_value()),
|
43
43
|
Any::Buffer(v) => Ok(RString::from_slice(v.borrow()).as_value()),
|
44
44
|
};
|
45
45
|
}
|
data/ext/yrb/src/yarray.rs
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
use crate::utils::convert_yvalue_to_ruby_value;
|
2
2
|
use crate::ytransaction::YTransaction;
|
3
3
|
use crate::yvalue::YValue;
|
4
|
-
use lib0::any::Any;
|
5
4
|
use magnus::block::Proc;
|
6
5
|
use magnus::value::Qnil;
|
7
6
|
use magnus::{Error, IntoValue, RArray, RHash, Symbol, Value};
|
8
7
|
use std::cell::RefCell;
|
9
8
|
use yrs::types::Change;
|
10
|
-
use yrs::{Array, ArrayRef, Observable};
|
9
|
+
use yrs::{Any, Array, ArrayRef, Observable};
|
11
10
|
|
12
11
|
#[magnus::wrap(class = "Y::Array")]
|
13
12
|
pub(crate) struct YArray(pub(crate) RefCell<ArrayRef>);
|
@@ -175,7 +174,7 @@ impl YArray {
|
|
175
174
|
let r_arr = RArray::new();
|
176
175
|
for item in arr.iter(tx) {
|
177
176
|
let r_val = YValue::from(item);
|
178
|
-
let r_val = r_val.0.borrow()
|
177
|
+
let r_val = *r_val.0.borrow();
|
179
178
|
r_arr.push(r_val).expect("cannot push item event to array");
|
180
179
|
}
|
181
180
|
r_arr
|
data/ext/yrb/src/yattrs.rs
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
use crate::yvalue::YValue;
|
2
|
-
use lib0::any::Any;
|
3
2
|
use magnus::r_hash::ForEach::Continue;
|
4
3
|
use magnus::{RHash, Value};
|
5
4
|
use std::ops::{Deref, DerefMut};
|
6
5
|
use std::sync::Arc;
|
7
6
|
use yrs::types::Attrs;
|
7
|
+
use yrs::Any;
|
8
8
|
|
9
9
|
pub(crate) struct YAttrs(pub(crate) Attrs);
|
10
10
|
|
data/ext/yrb/src/yawareness.rs
CHANGED
@@ -17,10 +17,10 @@ unsafe impl Send for YAwareness {}
|
|
17
17
|
impl YAwareness {
|
18
18
|
pub(crate) fn yawareness_new() -> Self {
|
19
19
|
let mut options = Options {
|
20
|
-
offset_kind: OffsetKind::
|
20
|
+
offset_kind: OffsetKind::Utf16,
|
21
21
|
..Default::default()
|
22
22
|
};
|
23
|
-
options.offset_kind = OffsetKind::
|
23
|
+
options.offset_kind = OffsetKind::Utf16;
|
24
24
|
|
25
25
|
let doc = Doc::with_options(options);
|
26
26
|
|
data/ext/yrb/src/ydoc.rs
CHANGED
@@ -25,7 +25,7 @@ impl YDoc {
|
|
25
25
|
let value = client_id.first().unwrap();
|
26
26
|
options.client_id = Integer::from_value(*value).unwrap().to_u64().unwrap();
|
27
27
|
}
|
28
|
-
options.offset_kind = OffsetKind::
|
28
|
+
options.offset_kind = OffsetKind::Utf16;
|
29
29
|
|
30
30
|
let doc = Doc::with_options(options);
|
31
31
|
Self(RefCell::new(doc))
|
@@ -89,7 +89,7 @@ impl YDoc {
|
|
89
89
|
YXmlText::from(xml_text_ref)
|
90
90
|
}
|
91
91
|
|
92
|
-
pub(crate) fn ydoc_transact
|
92
|
+
pub(crate) fn ydoc_transact(&self) -> YTransaction {
|
93
93
|
let doc = self.0.borrow();
|
94
94
|
let transaction = doc.transact_mut();
|
95
95
|
YTransaction::from(transaction)
|
data/ext/yrb/src/ymap.rs
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
use crate::utils::{convert_yvalue_to_ruby_value, indifferent_hash_key};
|
2
2
|
use crate::yvalue::YValue;
|
3
3
|
use crate::YTransaction;
|
4
|
-
use lib0::any::Any;
|
5
4
|
use magnus::block::Proc;
|
6
5
|
use magnus::{exception, Error, RArray, RHash, Symbol, Value};
|
7
6
|
use std::cell::RefCell;
|
8
7
|
use yrs::types::{EntryChange, Value as YrsValue};
|
9
|
-
use yrs::{Map, MapRef, Observable};
|
8
|
+
use yrs::{Any, Map, MapRef, Observable};
|
10
9
|
|
11
10
|
#[magnus::wrap(class = "Y::Map")]
|
12
11
|
pub(crate) struct YMap(pub(crate) RefCell<MapRef>);
|
data/ext/yrb/src/ytext.rs
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
use crate::yattrs::YAttrs;
|
2
2
|
use crate::yvalue::YValue;
|
3
3
|
use crate::YTransaction;
|
4
|
-
use lib0::any::Any;
|
5
4
|
use magnus::block::Proc;
|
6
5
|
use magnus::value::Qnil;
|
7
6
|
use magnus::{Error, RHash, Symbol, Value};
|
8
7
|
use std::cell::RefCell;
|
9
8
|
use yrs::types::Delta;
|
10
|
-
use yrs::{GetString, Observable, Text, TextRef};
|
9
|
+
use yrs::{Any, GetString, Observable, Text, TextRef};
|
11
10
|
|
12
11
|
#[magnus::wrap(class = "Y::Text")]
|
13
12
|
pub(crate) struct YText(pub(crate) RefCell<TextRef>);
|
data/ext/yrb/src/yvalue.rs
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
use crate::{YText, YXmlElement, YXmlText};
|
2
|
-
use lib0::any::Any;
|
3
2
|
use magnus::r_hash::ForEach::Continue;
|
4
3
|
use magnus::value::{Qnil, ReprValue};
|
5
4
|
use magnus::{class, value, Float, Integer, IntoValue, RArray, RHash, RString, Symbol, Value};
|
6
5
|
use std::cell::RefCell;
|
7
6
|
use std::collections::HashMap;
|
7
|
+
use std::sync::Arc;
|
8
8
|
use yrs::types::Value as YrsValue;
|
9
9
|
use yrs::{
|
10
|
-
Array, Map, TextRef as YrsText, Transact, XmlElementRef as YrsXmlElement,
|
10
|
+
Any, Array, Map, TextRef as YrsText, Transact, XmlElementRef as YrsXmlElement,
|
11
11
|
XmlTextRef as YrsXmlText,
|
12
12
|
};
|
13
13
|
|
@@ -67,6 +67,12 @@ impl From<RHash> for YValue {
|
|
67
67
|
}
|
68
68
|
}
|
69
69
|
|
70
|
+
impl From<Vec<u8>> for YValue {
|
71
|
+
fn from(value: Vec<u8>) -> Self {
|
72
|
+
YValue(RefCell::from(value.into_value()))
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
70
76
|
impl From<YrsText> for YValue {
|
71
77
|
fn from(value: YrsText) -> Self {
|
72
78
|
YValue(RefCell::from(YText(RefCell::from(value)).into_value()))
|
@@ -113,13 +119,13 @@ impl From<Any> for YValue {
|
|
113
119
|
Any::Bool(v) => YValue::from(v),
|
114
120
|
Any::Number(v) => YValue::from(v),
|
115
121
|
Any::BigInt(v) => YValue::from(v),
|
116
|
-
Any::String(v) => YValue::from(v.
|
117
|
-
Any::Buffer(v) => YValue::from(v.
|
122
|
+
Any::String(v) => YValue::from(v.to_string()),
|
123
|
+
Any::Buffer(v) => YValue::from(v.to_vec()),
|
118
124
|
Any::Array(v) => {
|
119
125
|
let arr = RArray::new();
|
120
126
|
for item in v.iter() {
|
121
127
|
let val = YValue::from(item.clone());
|
122
|
-
let val = val.0.borrow()
|
128
|
+
let val = *val.0.borrow();
|
123
129
|
arr.push(val).expect("cannot push item event to array");
|
124
130
|
}
|
125
131
|
YValue::from(arr)
|
@@ -146,7 +152,6 @@ impl From<YrsValue> for YValue {
|
|
146
152
|
YrsValue::YXmlElement(el) => YValue::from(el),
|
147
153
|
YrsValue::YXmlText(text) => YValue::from(text),
|
148
154
|
YrsValue::YArray(val) => {
|
149
|
-
print!("try to acquire transaction");
|
150
155
|
let tx = val.transact();
|
151
156
|
let arr = RArray::new();
|
152
157
|
for item in val.iter(&tx) {
|
@@ -157,7 +162,6 @@ impl From<YrsValue> for YValue {
|
|
157
162
|
YValue::from(arr)
|
158
163
|
}
|
159
164
|
YrsValue::YMap(val) => {
|
160
|
-
print!("try to acquire transaction");
|
161
165
|
let tx = val.transact();
|
162
166
|
let iter = val.iter(&tx).map(|(key, val)| {
|
163
167
|
let val = YValue::from(val);
|
@@ -184,14 +188,14 @@ impl From<YValue> for Any {
|
|
184
188
|
Any::BigInt(i.to_i64().unwrap())
|
185
189
|
} else if value.is_kind_of(class::symbol()) {
|
186
190
|
let s = Symbol::from_value(value).unwrap();
|
187
|
-
Any::String(
|
191
|
+
Any::String(Arc::from(s.name().unwrap()))
|
188
192
|
} else if value.is_kind_of(class::true_class()) {
|
189
193
|
Any::Bool(true)
|
190
194
|
} else if value.is_kind_of(class::false_class()) {
|
191
195
|
Any::Bool(false)
|
192
196
|
} else if value.is_kind_of(class::string()) {
|
193
197
|
let s = RString::from_value(value).unwrap();
|
194
|
-
unsafe { Any::String(
|
198
|
+
unsafe { Any::String(Arc::from(s.as_str().unwrap().to_string())) }
|
195
199
|
} else if value.is_kind_of(class::array()) {
|
196
200
|
let arr = RArray::from_value(value).unwrap();
|
197
201
|
let items = arr
|
@@ -201,7 +205,7 @@ impl From<YValue> for Any {
|
|
201
205
|
Any::from(yvalue)
|
202
206
|
})
|
203
207
|
.collect::<Vec<Any>>();
|
204
|
-
Any::Array(
|
208
|
+
Any::Array(Arc::from(items))
|
205
209
|
} else if value.is_kind_of(class::hash()) {
|
206
210
|
let map = RHash::from_value(value).unwrap();
|
207
211
|
let mut m: HashMap<String, Any> = HashMap::new();
|
@@ -221,7 +225,7 @@ impl From<YValue> for Any {
|
|
221
225
|
})
|
222
226
|
.expect("cannot map key/value pair");
|
223
227
|
|
224
|
-
Any::Map(
|
228
|
+
Any::Map(Arc::from(m))
|
225
229
|
} else {
|
226
230
|
Any::Undefined
|
227
231
|
}
|
@@ -238,8 +242,8 @@ impl Into<Value> for YValue {
|
|
238
242
|
#[cfg(test)]
|
239
243
|
mod tests {
|
240
244
|
use crate::yvalue::YValue;
|
241
|
-
use lib0::any::Any;
|
242
245
|
use magnus::value::ReprValue;
|
246
|
+
use yrs::Any;
|
243
247
|
|
244
248
|
#[test]
|
245
249
|
fn convert_any_to_yvalue() {
|
data/ext/yrb/src/yxml_element.rs
CHANGED
@@ -116,7 +116,7 @@ impl YXmlElement {
|
|
116
116
|
let values = RArray::new();
|
117
117
|
for value in v.iter() {
|
118
118
|
let value = YValue::from(value.clone());
|
119
|
-
let value = value.0.borrow()
|
119
|
+
let value = *value.0.borrow();
|
120
120
|
values.push(value).expect("cannot push value to array");
|
121
121
|
}
|
122
122
|
|
data/ext/yrb/src/yxml_text.rs
CHANGED
@@ -2,10 +2,9 @@ use crate::utils::map_rhash_to_attrs;
|
|
2
2
|
use crate::yvalue::YValue;
|
3
3
|
use crate::yxml_fragment::YXmlFragment;
|
4
4
|
use crate::{YTransaction, YXmlElement};
|
5
|
-
use lib0::any::Any;
|
6
5
|
use magnus::{Error, IntoValue, RHash, Value};
|
7
6
|
use std::cell::RefCell;
|
8
|
-
use yrs::{GetString, Text, Xml, XmlNode, XmlTextRef};
|
7
|
+
use yrs::{Any, GetString, Text, Xml, XmlNode, XmlTextRef};
|
9
8
|
|
10
9
|
#[magnus::wrap(class = "Y::XMLText")]
|
11
10
|
pub(crate) struct YXmlText(pub(crate) RefCell<XmlTextRef>);
|
data/lib/3.0/yrb.bundle
CHANGED
Binary file
|
data/lib/3.1/yrb.bundle
CHANGED
Binary file
|
data/lib/3.2/yrb.bundle
CHANGED
Binary file
|
data/lib/3.3/yrb.bundle
CHANGED
Binary file
|
data/lib/y/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: y-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: x86_64-darwin
|
6
6
|
authors:
|
7
7
|
- Hannes Moser
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|