diesel/type_impls/
json.rs1#![allow(dead_code)]
2
3use crate::deserialize::FromSqlRow;
4use crate::expression::AsExpression;
5use crate::sql_types::Json;
6#[cfg(any(feature = "postgres_backend", feature = "sqlite"))]
7use crate::sql_types::Jsonb;
8
9#[derive(const _: () =
{
use diesel;
impl<'__expr> diesel::expression::AsExpression<Json> for
&'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Json, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Json>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr>
diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>
for &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Json>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr, '__expr2> diesel::expression::AsExpression<Json> for
&'__expr2 &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Json, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Json>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr, '__expr2>
diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>
for &'__expr2 &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Json>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<__DB>
diesel::serialize::ToSql<diesel::sql_types::Nullable<Json>, __DB>
for serde_json::Value where __DB: diesel::backend::Backend,
Self: diesel::serialize::ToSql<Json, __DB> {
fn to_sql<'__b>(&'__b self,
out: &mut diesel::serialize::Output<'__b, '_, __DB>)
-> diesel::serialize::Result {
diesel::serialize::ToSql::<Json, __DB>::to_sql(self, out)
}
}
impl diesel::expression::AsExpression<Json> for serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Json, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Json>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>
for serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Json>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Json>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr> diesel::expression::AsExpression<Jsonb> for
&'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Jsonb, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Jsonb>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr>
diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>
for &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Jsonb>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr, '__expr2> diesel::expression::AsExpression<Jsonb> for
&'__expr2 &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Jsonb, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Jsonb>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<'__expr, '__expr2>
diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>
for &'__expr2 &'__expr serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Jsonb>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl<__DB>
diesel::serialize::ToSql<diesel::sql_types::Nullable<Jsonb>, __DB>
for serde_json::Value where __DB: diesel::backend::Backend,
Self: diesel::serialize::ToSql<Jsonb, __DB> {
fn to_sql<'__b>(&'__b self,
out: &mut diesel::serialize::Output<'__b, '_, __DB>)
-> diesel::serialize::Result {
diesel::serialize::ToSql::<Jsonb, __DB>::to_sql(self, out)
}
}
impl diesel::expression::AsExpression<Jsonb> for serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<Jsonb, Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<Jsonb>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
impl diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>
for serde_json::Value {
type Expression =
diesel::internal::derives::as_expression::Bound<diesel::sql_types::Nullable<Jsonb>,
Self>;
fn as_expression(self)
->
<Self as
diesel::expression::AsExpression<diesel::sql_types::Nullable<Jsonb>>>::Expression {
diesel::internal::derives::as_expression::Bound::new(self)
}
}
};AsExpression, const _: () =
{
use diesel;
impl<__DB, __ST> diesel::deserialize::Queryable<__ST, __DB> for
serde_json::Value where __DB: diesel::backend::Backend,
__ST: diesel::sql_types::SingleValue,
Self: diesel::deserialize::FromSql<__ST, __DB> {
type Row = Self;
fn build(row: Self) -> diesel::deserialize::Result<Self> {
diesel::deserialize::Result::Ok(row)
}
}
};FromSqlRow)]
10#[diesel(foreign_derive)]
11#[diesel(sql_type = Json)]
12#[cfg_attr(any(feature = "postgres_backend", feature = "sqlite"), diesel(sql_type = Jsonb))]
13struct SerdeJsonValueProxy(serde_json::Value);