Dataframe feature for plugins (#3424)

This commit is contained in:
Fernando Herrera 2021-05-13 10:49:46 +01:00 committed by GitHub
parent 9b8b1bad57
commit f5fcf9d635
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 1 deletions

View file

@ -159,7 +159,9 @@ dataframe = [
"nu-protocol/dataframe",
"nu-command/dataframe",
"nu-value-ext/dataframe",
"nu-data/dataframe"
"nu-data/dataframe",
"nu_plugin_post/dataframe",
"nu_plugin_to_bson/dataframe",
]

View file

@ -21,4 +21,8 @@ serde_json = "1.0.57"
surf = "1.0.3"
url = "2.1.1"
[features]
dataframe = ["nu-protocol/dataframe"]
[build-dependencies]

View file

@ -400,6 +400,14 @@ pub fn value_to_json_value(v: &Value) -> Result<serde_json::Value, ShellError> {
}
UntaggedValue::Table(l) => serde_json::Value::Array(json_list(l)?),
#[cfg(feature = "dataframe")]
UntaggedValue::Dataframe(_) => {
return Err(ShellError::labeled_error(
"Cannot convert dataframe",
"Cannot convert dataframe",
&v.tag,
))
}
UntaggedValue::Error(e) => return Err(e.clone()),
UntaggedValue::Block(_) | UntaggedValue::Primitive(Primitive::Range(_)) => {
serde_json::Value::Null

View file

@ -18,4 +18,7 @@ nu-source = { path = "../nu-source", version = "0.31.1" }
nu-value-ext = { path = "../nu-value-ext", version = "0.31.1" }
num-traits = "0.2.14"
[features]
dataframe = ["nu-protocol/dataframe"]
[build-dependencies]

View file

@ -64,6 +64,8 @@ pub fn value_to_bson_value(v: &Value) -> Result<Bson, ShellError> {
.collect::<Result<_, _>>()?,
),
UntaggedValue::Block(_) | UntaggedValue::Primitive(Primitive::Range(_)) => Bson::Null,
#[cfg(feature = "dataframe")]
UntaggedValue::Dataframe(_) => Bson::Null,
UntaggedValue::Error(e) => return Err(e.clone()),
UntaggedValue::Primitive(Primitive::Binary(b)) => {
Bson::Binary(BinarySubtype::Generic, b.clone())