From 0c2ea1dfead1b17f0572329c9281cb149785fd99 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Fri, 12 Aug 2022 09:55:36 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20b3d00?= =?UTF-8?q?c89a6f35365a27f3821ef38e909e865094e=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ayu.css | 2 +- brush.svg | 1 - dark.css | 2 +- db_core/all.html | 7 +- db_core/dev/attr.async_trait.html | 9 +- db_core/dev/index.html | 9 +- db_core/dev/sidebar-items.js | 2 +- db_core/enum.Login.html | 61 +-- db_core/errors/enum.DBError.html | 45 +-- db_core/errors/index.html | 9 +- db_core/errors/sidebar-items.js | 2 +- db_core/errors/type.BoxDynError.html | 11 +- db_core/errors/type.DBResult.html | 11 +- db_core/index.html | 9 +- db_core/ops/index.html | 9 +- db_core/ops/sidebar-items.js | 2 +- db_core/ops/trait.Connect.html | 13 +- db_core/ops/trait.DBOps.html | 9 +- db_core/ops/trait.GetConnection.html | 13 +- db_core/ops/trait.Migrate.html | 13 +- db_core/prelude/index.html | 9 +- db_core/prelude/sidebar-items.js | 2 +- db_core/sidebar-items.js | 2 +- db_core/struct.AddNotification.html | 71 ++-- db_core/struct.Captcha.html | 71 ++-- db_core/struct.CreateCaptcha.html | 67 ++-- db_core/struct.Level.html | 57 +-- db_core/struct.NameHash.html | 61 +-- db_core/struct.Notification.html | 75 ++-- db_core/struct.Register.html | 69 ++-- db_core/struct.Secret.html | 59 +-- db_core/struct.StatsUnixTimestamp.html | 67 ++-- db_core/struct.TrafficPattern.html | 67 ++-- db_core/struct.UpdateEmail.html | 61 +-- db_core/tests/fn.database_works.html | 11 +- db_core/tests/index.html | 9 +- db_core/tests/sidebar-items.js | 2 +- db_core/trait.CloneSPDatabase.html | 13 +- db_core/trait.MCDatabase.html | 157 ++++---- db_sqlx_maria/all.html | 7 +- db_sqlx_maria/dev/attr.async_trait.html | 9 +- db_sqlx_maria/dev/dev/attr.async_trait.html | 9 +- db_sqlx_maria/dev/dev/enum.DBError.html | 49 +-- db_sqlx_maria/dev/dev/enum.Login.html | 61 +-- .../dev/dev/errors/enum.DBError.html | 56 +++ db_sqlx_maria/dev/dev/errors/index.html | 15 + db_sqlx_maria/dev/dev/errors/sidebar-items.js | 1 + .../dev/dev/errors/type.BoxDynError.html | 10 + .../dev/dev/errors/type.DBResult.html | 10 + db_sqlx_maria/dev/dev/index.html | 14 +- db_sqlx_maria/dev/dev/ops/index.html | 15 + db_sqlx_maria/dev/dev/ops/sidebar-items.js | 1 + db_sqlx_maria/dev/dev/ops/trait.Connect.html | 17 + db_sqlx_maria/dev/dev/ops/trait.DBOps.html | 10 + .../dev/dev/ops/trait.GetConnection.html | 17 + db_sqlx_maria/dev/dev/ops/trait.Migrate.html | 14 + .../dev/dev/prelude/enum.DBError.html | 49 +-- db_sqlx_maria/dev/dev/prelude/enum.Login.html | 61 +-- db_sqlx_maria/dev/dev/prelude/index.html | 9 +- .../dev/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- .../dev/dev/prelude/struct.Captcha.html | 71 ++-- .../dev/dev/prelude/struct.CreateCaptcha.html | 67 ++-- .../dev/dev/prelude/struct.Level.html | 57 +-- .../dev/dev/prelude/struct.NameHash.html | 61 +-- .../dev/dev/prelude/struct.Notification.html | 77 ++-- .../dev/dev/prelude/struct.Register.html | 69 ++-- .../dev/dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- .../dev/dev/prelude/trait.Connect.html | 13 +- .../dev/dev/prelude/trait.DBOps.html | 9 +- .../dev/dev/prelude/trait.GetConnection.html | 13 +- .../dev/dev/prelude/trait.MCDatabase.html | 155 ++++---- .../dev/dev/prelude/trait.Migrate.html | 13 +- .../dev/dev/prelude/type.BoxDynError.html | 11 +- .../dev/dev/prelude/type.DBResult.html | 11 +- db_sqlx_maria/dev/dev/sidebar-items.js | 2 +- .../dev/dev/struct.AddNotification.html | 71 ++-- db_sqlx_maria/dev/dev/struct.Captcha.html | 71 ++-- .../dev/dev/struct.CreateCaptcha.html | 67 ++-- db_sqlx_maria/dev/dev/struct.Level.html | 57 +-- db_sqlx_maria/dev/dev/struct.NameHash.html | 61 +-- .../dev/dev/struct.Notification.html | 77 ++-- db_sqlx_maria/dev/dev/struct.Register.html | 69 ++-- db_sqlx_maria/dev/dev/struct.Secret.html | 59 +-- .../dev/dev/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/dev/struct.TrafficPattern.html | 67 ++-- db_sqlx_maria/dev/dev/struct.UpdateEmail.html | 61 +-- .../dev/dev/tests/fn.database_works.html | 10 + db_sqlx_maria/dev/dev/tests/index.html | 12 + db_sqlx_maria/dev/dev/tests/sidebar-items.js | 1 + .../dev/dev/trait.CloneSPDatabase.html | 13 +- db_sqlx_maria/dev/dev/trait.Connect.html | 13 +- db_sqlx_maria/dev/dev/trait.DBOps.html | 9 +- .../dev/dev/trait.GetConnection.html | 13 +- db_sqlx_maria/dev/dev/trait.MCDatabase.html | 155 ++++---- db_sqlx_maria/dev/dev/trait.Migrate.html | 13 +- db_sqlx_maria/dev/dev/type.BoxDynError.html | 11 +- db_sqlx_maria/dev/dev/type.DBResult.html | 11 +- db_sqlx_maria/dev/enum.DBError.html | 49 +-- db_sqlx_maria/dev/enum.Error.html | 99 ++--- db_sqlx_maria/dev/enum.Login.html | 61 +-- db_sqlx_maria/dev/errors/enum.DBError.html | 49 +-- db_sqlx_maria/dev/errors/index.html | 9 +- db_sqlx_maria/dev/errors/sidebar-items.js | 2 +- .../dev/errors/type.BoxDynError.html | 11 +- db_sqlx_maria/dev/errors/type.DBResult.html | 11 +- db_sqlx_maria/dev/index.html | 11 +- db_sqlx_maria/dev/ops/index.html | 9 +- db_sqlx_maria/dev/ops/sidebar-items.js | 2 +- db_sqlx_maria/dev/ops/trait.Connect.html | 13 +- db_sqlx_maria/dev/ops/trait.DBOps.html | 9 +- .../dev/ops/trait.GetConnection.html | 13 +- db_sqlx_maria/dev/ops/trait.Migrate.html | 13 +- .../dev/prelude/dev/attr.async_trait.html | 9 +- .../dev/prelude/dev/enum.DBError.html | 49 +-- db_sqlx_maria/dev/prelude/dev/enum.Login.html | 61 +-- db_sqlx_maria/dev/prelude/dev/index.html | 9 +- .../dev/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 71 ++-- .../dev/prelude/dev/struct.Captcha.html | 71 ++-- .../dev/prelude/dev/struct.CreateCaptcha.html | 67 ++-- .../dev/prelude/dev/struct.Level.html | 57 +-- .../dev/prelude/dev/struct.NameHash.html | 61 +-- .../dev/prelude/dev/struct.Notification.html | 77 ++-- .../dev/prelude/dev/struct.Register.html | 69 ++-- .../dev/prelude/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/dev/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/dev/struct.UpdateEmail.html | 61 +-- .../prelude/dev/trait.CloneSPDatabase.html | 13 +- .../dev/prelude/dev/trait.Connect.html | 13 +- .../dev/prelude/dev/trait.DBOps.html | 9 +- .../dev/prelude/dev/trait.GetConnection.html | 13 +- .../dev/prelude/dev/trait.MCDatabase.html | 155 ++++---- .../dev/prelude/dev/trait.Migrate.html | 13 +- .../dev/prelude/dev/type.BoxDynError.html | 11 +- .../dev/prelude/dev/type.DBResult.html | 11 +- db_sqlx_maria/dev/prelude/enum.DBError.html | 49 +-- db_sqlx_maria/dev/prelude/enum.Login.html | 61 +-- db_sqlx_maria/dev/prelude/index.html | 9 +- db_sqlx_maria/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- db_sqlx_maria/dev/prelude/struct.Captcha.html | 71 ++-- .../dev/prelude/struct.CreateCaptcha.html | 67 ++-- db_sqlx_maria/dev/prelude/struct.Level.html | 57 +-- .../dev/prelude/struct.NameHash.html | 61 +-- .../dev/prelude/struct.Notification.html | 77 ++-- .../dev/prelude/struct.Register.html | 69 ++-- db_sqlx_maria/dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- db_sqlx_maria/dev/prelude/trait.Connect.html | 13 +- db_sqlx_maria/dev/prelude/trait.DBOps.html | 9 +- .../dev/prelude/trait.GetConnection.html | 13 +- .../dev/prelude/trait.MCDatabase.html | 155 ++++---- db_sqlx_maria/dev/prelude/trait.Migrate.html | 13 +- .../dev/prelude/type.BoxDynError.html | 11 +- db_sqlx_maria/dev/prelude/type.DBResult.html | 11 +- db_sqlx_maria/dev/sidebar-items.js | 2 +- db_sqlx_maria/dev/struct.AddNotification.html | 71 ++-- db_sqlx_maria/dev/struct.Captcha.html | 71 ++-- db_sqlx_maria/dev/struct.CreateCaptcha.html | 67 ++-- db_sqlx_maria/dev/struct.Level.html | 57 +-- db_sqlx_maria/dev/struct.NameHash.html | 61 +-- db_sqlx_maria/dev/struct.Notification.html | 77 ++-- db_sqlx_maria/dev/struct.Register.html | 69 ++-- db_sqlx_maria/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- db_sqlx_maria/dev/struct.TrafficPattern.html | 67 ++-- db_sqlx_maria/dev/struct.UpdateEmail.html | 61 +-- .../dev/tests/fn.database_works.html | 11 +- db_sqlx_maria/dev/tests/index.html | 9 +- db_sqlx_maria/dev/tests/sidebar-items.js | 2 +- db_sqlx_maria/dev/trait.CloneSPDatabase.html | 13 +- db_sqlx_maria/dev/trait.Connect.html | 13 +- db_sqlx_maria/dev/trait.DBOps.html | 9 +- db_sqlx_maria/dev/trait.GetConnection.html | 13 +- db_sqlx_maria/dev/trait.MCDatabase.html | 155 ++++---- db_sqlx_maria/dev/trait.Migrate.html | 13 +- db_sqlx_maria/dev/type.BoxDynError.html | 11 +- db_sqlx_maria/dev/type.DBResult.html | 11 +- db_sqlx_maria/enum.ConnectionOptions.html | 33 +- db_sqlx_maria/errors/fn.map_register_err.html | 9 +- .../errors/fn.map_row_not_found_err.html | 9 +- db_sqlx_maria/errors/index.html | 9 +- db_sqlx_maria/errors/sidebar-items.js | 2 +- db_sqlx_maria/index.html | 9 +- .../prelude/dev/attr.async_trait.html | 9 +- db_sqlx_maria/prelude/dev/enum.DBError.html | 49 +-- db_sqlx_maria/prelude/dev/enum.Login.html | 61 +-- db_sqlx_maria/prelude/dev/index.html | 9 +- .../prelude/dev/prelude/enum.DBError.html | 49 +-- .../prelude/dev/prelude/enum.Login.html | 61 +-- db_sqlx_maria/prelude/dev/prelude/index.html | 9 +- .../prelude/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- .../prelude/dev/prelude/struct.Captcha.html | 71 ++-- .../dev/prelude/struct.CreateCaptcha.html | 67 ++-- .../prelude/dev/prelude/struct.Level.html | 57 +-- .../prelude/dev/prelude/struct.NameHash.html | 61 +-- .../dev/prelude/struct.Notification.html | 77 ++-- .../prelude/dev/prelude/struct.Register.html | 69 ++-- .../prelude/dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- .../prelude/dev/prelude/trait.Connect.html | 13 +- .../prelude/dev/prelude/trait.DBOps.html | 9 +- .../dev/prelude/trait.GetConnection.html | 13 +- .../prelude/dev/prelude/trait.MCDatabase.html | 155 ++++---- .../prelude/dev/prelude/trait.Migrate.html | 13 +- .../prelude/dev/prelude/type.BoxDynError.html | 11 +- .../prelude/dev/prelude/type.DBResult.html | 11 +- db_sqlx_maria/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 71 ++-- db_sqlx_maria/prelude/dev/struct.Captcha.html | 71 ++-- .../prelude/dev/struct.CreateCaptcha.html | 67 ++-- db_sqlx_maria/prelude/dev/struct.Level.html | 57 +-- .../prelude/dev/struct.NameHash.html | 61 +-- .../prelude/dev/struct.Notification.html | 77 ++-- .../prelude/dev/struct.Register.html | 69 ++-- db_sqlx_maria/prelude/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/dev/struct.TrafficPattern.html | 67 ++-- .../prelude/dev/struct.UpdateEmail.html | 61 +-- .../prelude/dev/trait.CloneSPDatabase.html | 13 +- db_sqlx_maria/prelude/dev/trait.Connect.html | 13 +- db_sqlx_maria/prelude/dev/trait.DBOps.html | 9 +- .../prelude/dev/trait.GetConnection.html | 13 +- .../prelude/dev/trait.MCDatabase.html | 155 ++++---- db_sqlx_maria/prelude/dev/trait.Migrate.html | 13 +- .../prelude/dev/type.BoxDynError.html | 11 +- db_sqlx_maria/prelude/dev/type.DBResult.html | 11 +- db_sqlx_maria/prelude/enum.DBError.html | 49 +-- db_sqlx_maria/prelude/enum.Login.html | 61 +-- .../prelude/errors/enum.DBError.html | 49 +-- db_sqlx_maria/prelude/errors/index.html | 9 +- db_sqlx_maria/prelude/errors/sidebar-items.js | 2 +- .../prelude/errors/type.BoxDynError.html | 11 +- .../prelude/errors/type.DBResult.html | 11 +- db_sqlx_maria/prelude/index.html | 9 +- db_sqlx_maria/prelude/ops/index.html | 9 +- db_sqlx_maria/prelude/ops/sidebar-items.js | 2 +- db_sqlx_maria/prelude/ops/trait.Connect.html | 13 +- db_sqlx_maria/prelude/ops/trait.DBOps.html | 9 +- .../prelude/ops/trait.GetConnection.html | 13 +- db_sqlx_maria/prelude/ops/trait.Migrate.html | 13 +- db_sqlx_maria/prelude/sidebar-items.js | 2 +- .../prelude/struct.AddNotification.html | 71 ++-- db_sqlx_maria/prelude/struct.Captcha.html | 71 ++-- .../prelude/struct.CreateCaptcha.html | 67 ++-- db_sqlx_maria/prelude/struct.Level.html | 57 +-- db_sqlx_maria/prelude/struct.NameHash.html | 61 +-- .../prelude/struct.Notification.html | 77 ++-- db_sqlx_maria/prelude/struct.Register.html | 69 ++-- db_sqlx_maria/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/struct.TrafficPattern.html | 67 ++-- db_sqlx_maria/prelude/struct.UpdateEmail.html | 61 +-- .../prelude/tests/fn.database_works.html | 11 +- db_sqlx_maria/prelude/tests/index.html | 9 +- db_sqlx_maria/prelude/tests/sidebar-items.js | 2 +- .../prelude/trait.CloneSPDatabase.html | 13 +- db_sqlx_maria/prelude/trait.Connect.html | 13 +- db_sqlx_maria/prelude/trait.DBOps.html | 9 +- .../prelude/trait.GetConnection.html | 13 +- db_sqlx_maria/prelude/trait.MCDatabase.html | 155 ++++---- db_sqlx_maria/prelude/trait.Migrate.html | 13 +- db_sqlx_maria/prelude/type.BoxDynError.html | 11 +- db_sqlx_maria/prelude/type.DBResult.html | 11 +- db_sqlx_maria/sidebar-items.js | 2 +- db_sqlx_maria/struct.Conn.html | 31 +- db_sqlx_maria/struct.Database.html | 117 +++--- db_sqlx_maria/struct.Fresh.html | 35 +- db_sqlx_maria/struct.InnerNotification.html | 67 ++-- db_sqlx_postgres/all.html | 7 +- db_sqlx_postgres/dev/attr.async_trait.html | 9 +- .../dev/dev/attr.async_trait.html | 9 +- db_sqlx_postgres/dev/dev/enum.DBError.html | 49 +-- db_sqlx_postgres/dev/dev/enum.Login.html | 61 +-- .../dev/dev/errors/enum.DBError.html | 56 +++ db_sqlx_postgres/dev/dev/errors/index.html | 15 + .../dev/dev/errors/sidebar-items.js | 1 + .../dev/dev/errors/type.BoxDynError.html | 10 + .../dev/dev/errors/type.DBResult.html | 10 + db_sqlx_postgres/dev/dev/index.html | 14 +- db_sqlx_postgres/dev/dev/ops/index.html | 15 + db_sqlx_postgres/dev/dev/ops/sidebar-items.js | 1 + .../dev/dev/ops/trait.Connect.html | 17 + db_sqlx_postgres/dev/dev/ops/trait.DBOps.html | 10 + .../dev/dev/ops/trait.GetConnection.html | 17 + .../dev/dev/ops/trait.Migrate.html | 14 + .../dev/dev/prelude/enum.DBError.html | 49 +-- .../dev/dev/prelude/enum.Login.html | 61 +-- db_sqlx_postgres/dev/dev/prelude/index.html | 9 +- .../dev/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- .../dev/dev/prelude/struct.Captcha.html | 71 ++-- .../dev/dev/prelude/struct.CreateCaptcha.html | 67 ++-- .../dev/dev/prelude/struct.Level.html | 57 +-- .../dev/dev/prelude/struct.NameHash.html | 61 +-- .../dev/dev/prelude/struct.Notification.html | 77 ++-- .../dev/dev/prelude/struct.Register.html | 69 ++-- .../dev/dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- .../dev/dev/prelude/trait.Connect.html | 13 +- .../dev/dev/prelude/trait.DBOps.html | 9 +- .../dev/dev/prelude/trait.GetConnection.html | 13 +- .../dev/dev/prelude/trait.MCDatabase.html | 155 ++++---- .../dev/dev/prelude/trait.Migrate.html | 13 +- .../dev/dev/prelude/type.BoxDynError.html | 11 +- .../dev/dev/prelude/type.DBResult.html | 11 +- db_sqlx_postgres/dev/dev/sidebar-items.js | 2 +- .../dev/dev/struct.AddNotification.html | 71 ++-- db_sqlx_postgres/dev/dev/struct.Captcha.html | 71 ++-- .../dev/dev/struct.CreateCaptcha.html | 67 ++-- db_sqlx_postgres/dev/dev/struct.Level.html | 57 +-- db_sqlx_postgres/dev/dev/struct.NameHash.html | 61 +-- .../dev/dev/struct.Notification.html | 77 ++-- db_sqlx_postgres/dev/dev/struct.Register.html | 69 ++-- db_sqlx_postgres/dev/dev/struct.Secret.html | 59 +-- .../dev/dev/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/dev/struct.TrafficPattern.html | 67 ++-- .../dev/dev/struct.UpdateEmail.html | 61 +-- .../dev/dev/tests/fn.database_works.html | 10 + db_sqlx_postgres/dev/dev/tests/index.html | 12 + .../dev/dev/tests/sidebar-items.js | 1 + .../dev/dev/trait.CloneSPDatabase.html | 13 +- db_sqlx_postgres/dev/dev/trait.Connect.html | 13 +- db_sqlx_postgres/dev/dev/trait.DBOps.html | 9 +- .../dev/dev/trait.GetConnection.html | 13 +- .../dev/dev/trait.MCDatabase.html | 155 ++++---- db_sqlx_postgres/dev/dev/trait.Migrate.html | 13 +- .../dev/dev/type.BoxDynError.html | 11 +- db_sqlx_postgres/dev/dev/type.DBResult.html | 11 +- db_sqlx_postgres/dev/enum.DBError.html | 49 +-- db_sqlx_postgres/dev/enum.Error.html | 99 ++--- db_sqlx_postgres/dev/enum.Login.html | 61 +-- db_sqlx_postgres/dev/errors/enum.DBError.html | 49 +-- db_sqlx_postgres/dev/errors/index.html | 9 +- db_sqlx_postgres/dev/errors/sidebar-items.js | 2 +- .../dev/errors/type.BoxDynError.html | 11 +- .../dev/errors/type.DBResult.html | 11 +- db_sqlx_postgres/dev/index.html | 11 +- db_sqlx_postgres/dev/ops/index.html | 9 +- db_sqlx_postgres/dev/ops/sidebar-items.js | 2 +- db_sqlx_postgres/dev/ops/trait.Connect.html | 13 +- db_sqlx_postgres/dev/ops/trait.DBOps.html | 9 +- .../dev/ops/trait.GetConnection.html | 13 +- db_sqlx_postgres/dev/ops/trait.Migrate.html | 13 +- .../dev/prelude/dev/attr.async_trait.html | 9 +- .../dev/prelude/dev/enum.DBError.html | 49 +-- .../dev/prelude/dev/enum.Login.html | 61 +-- db_sqlx_postgres/dev/prelude/dev/index.html | 9 +- .../dev/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 71 ++-- .../dev/prelude/dev/struct.Captcha.html | 71 ++-- .../dev/prelude/dev/struct.CreateCaptcha.html | 67 ++-- .../dev/prelude/dev/struct.Level.html | 57 +-- .../dev/prelude/dev/struct.NameHash.html | 61 +-- .../dev/prelude/dev/struct.Notification.html | 77 ++-- .../dev/prelude/dev/struct.Register.html | 69 ++-- .../dev/prelude/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/dev/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/dev/struct.UpdateEmail.html | 61 +-- .../prelude/dev/trait.CloneSPDatabase.html | 13 +- .../dev/prelude/dev/trait.Connect.html | 13 +- .../dev/prelude/dev/trait.DBOps.html | 9 +- .../dev/prelude/dev/trait.GetConnection.html | 13 +- .../dev/prelude/dev/trait.MCDatabase.html | 155 ++++---- .../dev/prelude/dev/trait.Migrate.html | 13 +- .../dev/prelude/dev/type.BoxDynError.html | 11 +- .../dev/prelude/dev/type.DBResult.html | 11 +- .../dev/prelude/enum.DBError.html | 49 +-- db_sqlx_postgres/dev/prelude/enum.Login.html | 61 +-- db_sqlx_postgres/dev/prelude/index.html | 9 +- db_sqlx_postgres/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- .../dev/prelude/struct.Captcha.html | 71 ++-- .../dev/prelude/struct.CreateCaptcha.html | 67 ++-- .../dev/prelude/struct.Level.html | 57 +-- .../dev/prelude/struct.NameHash.html | 61 +-- .../dev/prelude/struct.Notification.html | 77 ++-- .../dev/prelude/struct.Register.html | 69 ++-- .../dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- .../dev/prelude/trait.Connect.html | 13 +- db_sqlx_postgres/dev/prelude/trait.DBOps.html | 9 +- .../dev/prelude/trait.GetConnection.html | 13 +- .../dev/prelude/trait.MCDatabase.html | 155 ++++---- .../dev/prelude/trait.Migrate.html | 13 +- .../dev/prelude/type.BoxDynError.html | 11 +- .../dev/prelude/type.DBResult.html | 11 +- db_sqlx_postgres/dev/sidebar-items.js | 2 +- .../dev/struct.AddNotification.html | 71 ++-- db_sqlx_postgres/dev/struct.Captcha.html | 71 ++-- .../dev/struct.CreateCaptcha.html | 67 ++-- db_sqlx_postgres/dev/struct.Level.html | 57 +-- db_sqlx_postgres/dev/struct.NameHash.html | 61 +-- db_sqlx_postgres/dev/struct.Notification.html | 77 ++-- db_sqlx_postgres/dev/struct.Register.html | 69 ++-- db_sqlx_postgres/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/struct.TrafficPattern.html | 67 ++-- db_sqlx_postgres/dev/struct.UpdateEmail.html | 61 +-- .../dev/tests/fn.database_works.html | 11 +- db_sqlx_postgres/dev/tests/index.html | 9 +- db_sqlx_postgres/dev/tests/sidebar-items.js | 2 +- .../dev/trait.CloneSPDatabase.html | 13 +- db_sqlx_postgres/dev/trait.Connect.html | 13 +- db_sqlx_postgres/dev/trait.DBOps.html | 9 +- db_sqlx_postgres/dev/trait.GetConnection.html | 13 +- db_sqlx_postgres/dev/trait.MCDatabase.html | 155 ++++---- db_sqlx_postgres/dev/trait.Migrate.html | 13 +- db_sqlx_postgres/dev/type.BoxDynError.html | 11 +- db_sqlx_postgres/dev/type.DBResult.html | 11 +- db_sqlx_postgres/enum.ConnectionOptions.html | 33 +- .../errors/fn.map_register_err.html | 9 +- .../errors/fn.map_row_not_found_err.html | 9 +- db_sqlx_postgres/errors/index.html | 9 +- db_sqlx_postgres/errors/sidebar-items.js | 2 +- db_sqlx_postgres/index.html | 9 +- .../prelude/dev/attr.async_trait.html | 9 +- .../prelude/dev/enum.DBError.html | 49 +-- db_sqlx_postgres/prelude/dev/enum.Login.html | 61 +-- db_sqlx_postgres/prelude/dev/index.html | 9 +- .../prelude/dev/prelude/enum.DBError.html | 49 +-- .../prelude/dev/prelude/enum.Login.html | 61 +-- .../prelude/dev/prelude/index.html | 9 +- .../prelude/dev/prelude/sidebar-items.js | 2 +- .../dev/prelude/struct.AddNotification.html | 71 ++-- .../prelude/dev/prelude/struct.Captcha.html | 71 ++-- .../dev/prelude/struct.CreateCaptcha.html | 67 ++-- .../prelude/dev/prelude/struct.Level.html | 57 +-- .../prelude/dev/prelude/struct.NameHash.html | 61 +-- .../dev/prelude/struct.Notification.html | 77 ++-- .../prelude/dev/prelude/struct.Register.html | 69 ++-- .../prelude/dev/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../dev/prelude/struct.TrafficPattern.html | 67 ++-- .../dev/prelude/struct.UpdateEmail.html | 61 +-- .../dev/prelude/trait.CloneSPDatabase.html | 13 +- .../prelude/dev/prelude/trait.Connect.html | 13 +- .../prelude/dev/prelude/trait.DBOps.html | 9 +- .../dev/prelude/trait.GetConnection.html | 13 +- .../prelude/dev/prelude/trait.MCDatabase.html | 155 ++++---- .../prelude/dev/prelude/trait.Migrate.html | 13 +- .../prelude/dev/prelude/type.BoxDynError.html | 11 +- .../prelude/dev/prelude/type.DBResult.html | 11 +- db_sqlx_postgres/prelude/dev/sidebar-items.js | 2 +- .../prelude/dev/struct.AddNotification.html | 71 ++-- .../prelude/dev/struct.Captcha.html | 71 ++-- .../prelude/dev/struct.CreateCaptcha.html | 67 ++-- .../prelude/dev/struct.Level.html | 57 +-- .../prelude/dev/struct.NameHash.html | 61 +-- .../prelude/dev/struct.Notification.html | 77 ++-- .../prelude/dev/struct.Register.html | 69 ++-- .../prelude/dev/struct.Secret.html | 59 +-- .../dev/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/dev/struct.TrafficPattern.html | 67 ++-- .../prelude/dev/struct.UpdateEmail.html | 61 +-- .../prelude/dev/trait.CloneSPDatabase.html | 13 +- .../prelude/dev/trait.Connect.html | 13 +- db_sqlx_postgres/prelude/dev/trait.DBOps.html | 9 +- .../prelude/dev/trait.GetConnection.html | 13 +- .../prelude/dev/trait.MCDatabase.html | 155 ++++---- .../prelude/dev/trait.Migrate.html | 13 +- .../prelude/dev/type.BoxDynError.html | 11 +- .../prelude/dev/type.DBResult.html | 11 +- db_sqlx_postgres/prelude/enum.DBError.html | 49 +-- db_sqlx_postgres/prelude/enum.Login.html | 61 +-- .../prelude/errors/enum.DBError.html | 49 +-- db_sqlx_postgres/prelude/errors/index.html | 9 +- .../prelude/errors/sidebar-items.js | 2 +- .../prelude/errors/type.BoxDynError.html | 11 +- .../prelude/errors/type.DBResult.html | 11 +- db_sqlx_postgres/prelude/index.html | 9 +- db_sqlx_postgres/prelude/ops/index.html | 9 +- db_sqlx_postgres/prelude/ops/sidebar-items.js | 2 +- .../prelude/ops/trait.Connect.html | 13 +- db_sqlx_postgres/prelude/ops/trait.DBOps.html | 9 +- .../prelude/ops/trait.GetConnection.html | 13 +- .../prelude/ops/trait.Migrate.html | 13 +- db_sqlx_postgres/prelude/sidebar-items.js | 2 +- .../prelude/struct.AddNotification.html | 71 ++-- db_sqlx_postgres/prelude/struct.Captcha.html | 71 ++-- .../prelude/struct.CreateCaptcha.html | 67 ++-- db_sqlx_postgres/prelude/struct.Level.html | 57 +-- db_sqlx_postgres/prelude/struct.NameHash.html | 61 +-- .../prelude/struct.Notification.html | 77 ++-- db_sqlx_postgres/prelude/struct.Register.html | 69 ++-- db_sqlx_postgres/prelude/struct.Secret.html | 59 +-- .../prelude/struct.StatsUnixTimestamp.html | 67 ++-- .../prelude/struct.TrafficPattern.html | 67 ++-- .../prelude/struct.UpdateEmail.html | 61 +-- .../prelude/tests/fn.database_works.html | 11 +- db_sqlx_postgres/prelude/tests/index.html | 9 +- .../prelude/tests/sidebar-items.js | 2 +- .../prelude/trait.CloneSPDatabase.html | 13 +- db_sqlx_postgres/prelude/trait.Connect.html | 13 +- db_sqlx_postgres/prelude/trait.DBOps.html | 9 +- .../prelude/trait.GetConnection.html | 13 +- .../prelude/trait.MCDatabase.html | 155 ++++---- db_sqlx_postgres/prelude/trait.Migrate.html | 13 +- .../prelude/type.BoxDynError.html | 11 +- db_sqlx_postgres/prelude/type.DBResult.html | 11 +- db_sqlx_postgres/sidebar-items.js | 2 +- db_sqlx_postgres/struct.Conn.html | 31 +- db_sqlx_postgres/struct.Database.html | 117 +++--- db_sqlx_postgres/struct.Fresh.html | 35 +- .../struct.InnerNotification.html | 73 ++-- implementors/core/clone/trait.Clone.js | 8 +- implementors/core/cmp/trait.PartialEq.js | 8 +- implementors/core/convert/trait.From.js | 6 +- implementors/core/default/trait.Default.js | 6 +- implementors/core/fmt/trait.Debug.js | 8 +- implementors/core/fmt/trait.Display.js | 4 +- implementors/core/marker/trait.Freeze.js | 2 +- implementors/core/marker/trait.Send.js | 8 +- .../core/marker/trait.StructuralPartialEq.js | 8 +- implementors/core/marker/trait.Sync.js | 8 +- implementors/core/marker/trait.Unpin.js | 8 +- implementors/core/ops/deref/trait.Deref.js | 2 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 8 +- .../panic/unwind_safe/trait.UnwindSafe.js | 8 +- implementors/sailfish/private/trait.Sealed.js | 2 +- implementors/sailfish/trait.TemplateOnce.js | 2 +- implementors/std/error/trait.Error.js | 4 +- light.css | 2 +- main.js | 6 +- mcaptcha/all.html | 7 +- mcaptcha/api/index.html | 9 +- mcaptcha/api/sidebar-items.js | 2 +- .../api/v1/account/delete/fn.services.html | 9 +- mcaptcha/api/v1/account/delete/index.html | 9 +- .../delete/runners/fn.delete_user.html | 9 +- .../api/v1/account/delete/runners/index.html | 9 +- .../account/delete/runners/sidebar-items.js | 2 +- .../api/v1/account/delete/sidebar-items.js | 2 +- .../account/delete/struct.delete_account.html | 31 +- .../api/v1/account/email/fn.services.html | 9 +- mcaptcha/api/v1/account/email/index.html | 9 +- .../api/v1/account/email/sidebar-items.js | 2 +- .../api/v1/account/email/struct.Email.html | 49 +-- .../v1/account/email/struct.email_exists.html | 31 +- .../v1/account/email/struct.set_email.html | 31 +- mcaptcha/api/v1/account/fn.services.html | 9 +- mcaptcha/api/v1/account/index.html | 9 +- .../api/v1/account/password/fn.services.html | 9 +- .../password/fn.update_password_runner.html | 9 +- mcaptcha/api/v1/account/password/index.html | 9 +- .../api/v1/account/password/sidebar-items.js | 2 +- .../password/struct.ChangePasswordReqest.html | 55 +-- .../password/struct.UpdatePassword.html | 37 +- .../password/struct.update_user_password.html | 31 +- mcaptcha/api/v1/account/routes/index.html | 9 +- .../api/v1/account/routes/sidebar-items.js | 2 +- .../api/v1/account/routes/struct.Account.html | 47 +-- .../api/v1/account/secret/fn.services.html | 9 +- mcaptcha/api/v1/account/secret/index.html | 9 +- .../api/v1/account/secret/sidebar-items.js | 2 +- .../v1/account/secret/struct.get_secret.html | 31 +- .../secret/struct.update_user_secret.html | 31 +- mcaptcha/api/v1/account/sidebar-items.js | 2 +- .../account/struct.AccountCheckPayload.html | 49 +-- .../v1/account/struct.AccountCheckResp.html | 49 +-- .../api/v1/account/username/fn.services.html | 9 +- mcaptcha/api/v1/account/username/index.html | 9 +- .../username/runners/fn.username_exists.html | 9 +- .../v1/account/username/runners/index.html | 9 +- .../account/username/runners/sidebar-items.js | 2 +- .../api/v1/account/username/sidebar-items.js | 2 +- .../v1/account/username/struct.Username.html | 49 +-- .../account/username/struct.set_username.html | 31 +- .../username/struct.username_exists.html | 31 +- mcaptcha/api/v1/auth/fn.services.html | 9 +- mcaptcha/api/v1/auth/index.html | 9 +- mcaptcha/api/v1/auth/routes/index.html | 9 +- mcaptcha/api/v1/auth/routes/sidebar-items.js | 2 +- mcaptcha/api/v1/auth/routes/struct.Auth.html | 37 +- .../api/v1/auth/runners/fn.login_runner.html | 11 +- .../v1/auth/runners/fn.register_runner.html | 9 +- mcaptcha/api/v1/auth/runners/index.html | 9 +- mcaptcha/api/v1/auth/runners/sidebar-items.js | 2 +- .../api/v1/auth/runners/struct.Login.html | 51 +-- .../api/v1/auth/runners/struct.Password.html | 49 +-- .../api/v1/auth/runners/struct.Register.html | 55 +-- mcaptcha/api/v1/auth/sidebar-items.js | 2 +- mcaptcha/api/v1/auth/struct.login.html | 31 +- mcaptcha/api/v1/auth/struct.register.html | 31 +- mcaptcha/api/v1/auth/struct.signout.html | 31 +- mcaptcha/api/v1/fn.get_middleware.html | 9 +- mcaptcha/api/v1/fn.services.html | 9 +- mcaptcha/api/v1/index.html | 9 +- mcaptcha/api/v1/mcaptcha/create/index.html | 9 +- .../v1/mcaptcha/create/runner/fn.create.html | 9 +- .../api/v1/mcaptcha/create/runner/index.html | 9 +- .../mcaptcha/create/runner/sidebar-items.js | 2 +- .../api/v1/mcaptcha/create/sidebar-items.js | 2 +- .../mcaptcha/create/struct.CreateCaptcha.html | 41 +- .../create/struct.MCaptchaDetails.html | 51 +-- .../api/v1/mcaptcha/create/struct.create.html | 31 +- mcaptcha/api/v1/mcaptcha/delete/index.html | 9 +- .../api/v1/mcaptcha/delete/sidebar-items.js | 2 +- .../mcaptcha/delete/struct.DeleteCaptcha.html | 51 +-- .../api/v1/mcaptcha/delete/struct.delete.html | 31 +- .../api/v1/mcaptcha/easy/fn.calculate.html | 9 +- .../api/v1/mcaptcha/easy/fn.services.html | 9 +- mcaptcha/api/v1/mcaptcha/easy/index.html | 9 +- .../api/v1/mcaptcha/easy/routes/index.html | 9 +- .../v1/mcaptcha/easy/routes/sidebar-items.js | 2 +- .../v1/mcaptcha/easy/routes/struct.Easy.html | 37 +- .../api/v1/mcaptcha/easy/sidebar-items.js | 2 +- .../easy/struct.TrafficPatternRequest.html | 67 ++-- .../easy/struct.UpdateTrafficPattern.html | 49 +-- .../api/v1/mcaptcha/easy/struct.create.html | 31 +- .../api/v1/mcaptcha/easy/struct.update.html | 31 +- mcaptcha/api/v1/mcaptcha/fn.get_random.html | 9 +- mcaptcha/api/v1/mcaptcha/fn.services.html | 9 +- mcaptcha/api/v1/mcaptcha/get/index.html | 9 +- mcaptcha/api/v1/mcaptcha/get/sidebar-items.js | 2 +- .../api/v1/mcaptcha/get/struct.I32Levels.html | 51 +-- .../api/v1/mcaptcha/get/struct.Levels.html | 47 +-- .../v1/mcaptcha/get/struct.get_captcha.html | 31 +- mcaptcha/api/v1/mcaptcha/index.html | 9 +- mcaptcha/api/v1/mcaptcha/routes/index.html | 9 +- .../api/v1/mcaptcha/routes/sidebar-items.js | 2 +- .../v1/mcaptcha/routes/struct.Captcha.html | 41 +- mcaptcha/api/v1/mcaptcha/sidebar-items.js | 2 +- mcaptcha/api/v1/mcaptcha/stats/index.html | 9 +- .../api/v1/mcaptcha/stats/routes/index.html | 9 +- .../v1/mcaptcha/stats/routes/sidebar-items.js | 2 +- .../mcaptcha/stats/routes/struct.Stats.html | 33 +- .../api/v1/mcaptcha/stats/sidebar-items.js | 2 +- .../mcaptcha/stats/struct.StatsPayload.html | 49 +-- .../api/v1/mcaptcha/stats/struct.get.html | 31 +- mcaptcha/api/v1/mcaptcha/update/index.html | 9 +- .../update/runner/fn.update_captcha.html | 9 +- .../api/v1/mcaptcha/update/runner/index.html | 9 +- .../mcaptcha/update/runner/sidebar-items.js | 2 +- .../api/v1/mcaptcha/update/sidebar-items.js | 2 +- .../mcaptcha/update/struct.UpdateCaptcha.html | 43 +-- .../update/struct.update_captcha.html | 31 +- .../v1/mcaptcha/update/struct.update_key.html | 31 +- .../meta/enum.BuildDetailsBuilderError.html | 57 +-- .../api/v1/meta/enum.HealthBuilderError.html | 57 +-- mcaptcha/api/v1/meta/fn.services.html | 9 +- mcaptcha/api/v1/meta/index.html | 9 +- mcaptcha/api/v1/meta/routes/index.html | 9 +- mcaptcha/api/v1/meta/routes/sidebar-items.js | 2 +- mcaptcha/api/v1/meta/routes/struct.Meta.html | 35 +- mcaptcha/api/v1/meta/sidebar-items.js | 2 +- mcaptcha/api/v1/meta/struct.BuildDetails.html | 51 +-- .../v1/meta/struct.BuildDetailsBuilder.html | 49 +-- mcaptcha/api/v1/meta/struct.Health.html | 51 +-- .../api/v1/meta/struct.HealthBuilder.html | 49 +-- .../api/v1/meta/struct.build_details.html | 31 +- mcaptcha/api/v1/meta/struct.health.html | 31 +- mcaptcha/api/v1/notifications/add/index.html | 9 +- .../api/v1/notifications/add/sidebar-items.js | 2 +- .../add/struct.AddNotificationRequest.html | 61 +-- .../add/struct.add_notification.html | 31 +- .../api/v1/notifications/fn.services.html | 9 +- mcaptcha/api/v1/notifications/get/index.html | 9 +- .../api/v1/notifications/get/sidebar-items.js | 2 +- .../get/struct.NotificationResp.html | 65 ++-- .../get/struct.get_notification.html | 31 +- mcaptcha/api/v1/notifications/index.html | 9 +- .../api/v1/notifications/mark_read/index.html | 9 +- .../notifications/mark_read/sidebar-items.js | 2 +- .../mark_read/struct.MarkReadReq.html | 37 +- .../mark_read/struct.mark_read.html | 31 +- .../api/v1/notifications/routes/index.html | 9 +- .../v1/notifications/routes/sidebar-items.js | 2 +- .../routes/struct.Notifications.html | 37 +- .../api/v1/notifications/sidebar-items.js | 2 +- mcaptcha/api/v1/pow/fn.services.html | 9 +- .../v1/pow/get_config/fn.init_mcaptcha.html | 11 +- mcaptcha/api/v1/pow/get_config/index.html | 9 +- .../api/v1/pow/get_config/sidebar-items.js | 2 +- .../get_config/struct.GetConfigPayload.html | 49 +-- .../v1/pow/get_config/struct.get_config.html | 31 +- mcaptcha/api/v1/pow/index.html | 9 +- mcaptcha/api/v1/pow/routes/index.html | 9 +- .../api/v1/pow/routes/macro.rm_scope.html | 9 +- mcaptcha/api/v1/pow/routes/sidebar-items.js | 2 +- mcaptcha/api/v1/pow/routes/struct.PoW.html | 45 +-- mcaptcha/api/v1/pow/sidebar-items.js | 2 +- mcaptcha/api/v1/pow/verify_pow/index.html | 9 +- .../api/v1/pow/verify_pow/sidebar-items.js | 2 +- .../verify_pow/struct.ValidationToken.html | 49 +-- .../v1/pow/verify_pow/struct.verify_pow.html | 31 +- mcaptcha/api/v1/pow/verify_token/index.html | 9 +- .../api/v1/pow/verify_token/sidebar-items.js | 2 +- .../struct.CaptchaValidateResp.html | 49 +-- .../struct.VerifyCaptchaResultPayload.html | 55 +-- .../struct.validate_captcha_token.html | 31 +- mcaptcha/api/v1/routes/constant.ROUTES.html | 9 +- mcaptcha/api/v1/routes/index.html | 9 +- mcaptcha/api/v1/routes/sidebar-items.js | 2 +- mcaptcha/api/v1/routes/struct.Routes.html | 31 +- mcaptcha/api/v1/sidebar-items.js | 2 +- mcaptcha/api/v1/struct.RedirectQuery.html | 35 +- mcaptcha/constant.CACHE_AGE.html | 9 +- mcaptcha/constant.COMPILED_DATE.html | 9 +- mcaptcha/constant.DOCS.html | 9 +- mcaptcha/constant.GIT_COMMIT_HASH.html | 9 +- mcaptcha/constant.PAGES.html | 9 +- mcaptcha/constant.PKG_DESCRIPTION.html | 9 +- mcaptcha/constant.PKG_HOMEPAGE.html | 9 +- mcaptcha/constant.PKG_NAME.html | 9 +- mcaptcha/constant.V1_API_ROUTES.html | 9 +- mcaptcha/constant.VERSION.html | 9 +- mcaptcha/constant.WIDGET_ROUTES.html | 9 +- mcaptcha/data/enum.SystemGroup.html | 31 +- mcaptcha/data/index.html | 9 +- mcaptcha/data/macro.enum_system_actor.html | 9 +- mcaptcha/data/macro.enum_system_wrapper.html | 9 +- mcaptcha/data/sidebar-items.js | 2 +- mcaptcha/data/struct.Data.html | 45 +-- mcaptcha/data/type.Mailer.html | 9 +- mcaptcha/date/constant.DAY.html | 9 +- mcaptcha/date/constant.HOUR.html | 9 +- mcaptcha/date/constant.MINUTE.html | 9 +- mcaptcha/date/constant.WEEK.html | 9 +- mcaptcha/date/index.html | 9 +- mcaptcha/date/sidebar-items.js | 2 +- mcaptcha/date/struct.Date.html | 47 +-- mcaptcha/db/index.html | 9 +- mcaptcha/db/maria/fn.get_data.html | 9 +- mcaptcha/db/maria/index.html | 9 +- mcaptcha/db/maria/sidebar-items.js | 2 +- mcaptcha/db/pg/fn.get_data.html | 9 +- mcaptcha/db/pg/index.html | 9 +- mcaptcha/db/pg/sidebar-items.js | 2 +- mcaptcha/db/sidebar-items.js | 2 +- mcaptcha/db/type.BoxDB.html | 9 +- mcaptcha/demo/constant.DEMO_PASSWORD.html | 11 +- mcaptcha/demo/constant.DEMO_USER.html | 11 +- mcaptcha/demo/index.html | 9 +- mcaptcha/demo/sidebar-items.js | 2 +- mcaptcha/demo/struct.DemoUser.html | 35 +- mcaptcha/docs/constant.DOCS.html | 9 +- mcaptcha/docs/constant.OPEN_API_SPEC.html | 9 +- mcaptcha/docs/fn.handle_embedded_file.html | 9 +- mcaptcha/docs/fn.services.html | 9 +- mcaptcha/docs/index.html | 9 +- mcaptcha/docs/routes/index.html | 9 +- mcaptcha/docs/routes/sidebar-items.js | 2 +- mcaptcha/docs/routes/struct.Docs.html | 37 +- mcaptcha/docs/sidebar-items.js | 2 +- mcaptcha/docs/struct.Asset.html | 37 +- mcaptcha/docs/struct.dist.html | 31 +- mcaptcha/docs/struct.index.html | 31 +- mcaptcha/docs/struct.spec.html | 31 +- mcaptcha/email/index.html | 9 +- mcaptcha/email/sidebar-items.js | 2 +- .../email/verification/constant.PAGE.html | 9 +- .../email/verification/fn.verification.html | 9 +- mcaptcha/email/verification/index.html | 9 +- mcaptcha/email/verification/sidebar-items.js | 2 +- .../email/verification/struct.IndexPage.html | 45 +-- mcaptcha/errors/enum.PageError.html | 55 +-- mcaptcha/errors/enum.ServiceError.html | 69 ++-- mcaptcha/errors/index.html | 9 +- mcaptcha/errors/sidebar-items.js | 2 +- mcaptcha/errors/struct.DBErrorWrapper.html | 51 +-- mcaptcha/errors/struct.ErrorToResponse.html | 37 +- mcaptcha/errors/struct.SmtpErrorWrapper.html | 51 +-- mcaptcha/errors/type.PageResult.html | 9 +- mcaptcha/errors/type.ServiceResult.html | 9 +- mcaptcha/fn.get_identity_service.html | 9 +- mcaptcha/fn.get_json_err.html | 9 +- mcaptcha/fn.main.html | 9 +- mcaptcha/index.html | 9 +- mcaptcha/pages/auth/fn.services.html | 9 +- mcaptcha/pages/auth/index.html | 9 +- mcaptcha/pages/auth/login/constant.PAGE.html | 9 +- mcaptcha/pages/auth/login/index.html | 9 +- mcaptcha/pages/auth/login/sidebar-items.js | 2 +- mcaptcha/pages/auth/login/struct.INDEX.html | 353 +++++++++--------- .../pages/auth/login/struct.IndexPage.html | 45 +-- mcaptcha/pages/auth/login/struct.login.html | 31 +- .../pages/auth/register/constant.PAGE.html | 9 +- mcaptcha/pages/auth/register/index.html | 9 +- mcaptcha/pages/auth/register/sidebar-items.js | 2 +- .../pages/auth/register/struct.INDEX.html | 353 +++++++++--------- .../pages/auth/register/struct.IndexPage.html | 45 +-- mcaptcha/pages/auth/register/struct.join.html | 31 +- mcaptcha/pages/auth/routes/index.html | 9 +- mcaptcha/pages/auth/routes/sidebar-items.js | 2 +- mcaptcha/pages/auth/routes/struct.Auth.html | 35 +- mcaptcha/pages/auth/sidebar-items.js | 2 +- mcaptcha/pages/auth/sudo/constant.PAGE.html | 9 +- mcaptcha/pages/auth/sudo/index.html | 9 +- mcaptcha/pages/auth/sudo/sidebar-items.js | 2 +- mcaptcha/pages/auth/sudo/struct.SudoPage.html | 51 +-- mcaptcha/pages/constant.NAME.html | 9 +- .../pages/errors/constant.ERROR_ROUTE.html | 9 +- mcaptcha/pages/errors/constant.PAGE.html | 9 +- mcaptcha/pages/errors/fn.services.html | 9 +- mcaptcha/pages/errors/index.html | 9 +- mcaptcha/pages/errors/routes/index.html | 9 +- mcaptcha/pages/errors/routes/sidebar-items.js | 2 +- .../pages/errors/routes/struct.Errors.html | 35 +- mcaptcha/pages/errors/sidebar-items.js | 2 +- mcaptcha/pages/errors/struct.ErrorPage.html | 47 +-- .../struct.INTERNAL_SERVER_ERROR_BODY.html | 353 +++++++++--------- .../errors/struct.UNKNOWN_ERROR_BODY.html | 353 +++++++++--------- mcaptcha/pages/errors/struct.error.html | 31 +- mcaptcha/pages/fn.get_middleware.html | 9 +- mcaptcha/pages/fn.services.html | 9 +- mcaptcha/pages/index.html | 9 +- mcaptcha/pages/panel/constant.PAGE.html | 9 +- mcaptcha/pages/panel/fn.services.html | 9 +- mcaptcha/pages/panel/index.html | 9 +- .../panel/notifications/constant.PAGE.html | 9 +- mcaptcha/pages/panel/notifications/index.html | 9 +- .../panel/notifications/sidebar-items.js | 2 +- .../panel/notifications/struct.IndexPage.html | 39 +- .../notifications/struct.Notification.html | 41 +- .../notifications/struct.notifications.html | 31 +- mcaptcha/pages/panel/routes/index.html | 9 +- mcaptcha/pages/panel/routes/sidebar-items.js | 2 +- mcaptcha/pages/panel/routes/struct.Panel.html | 35 +- .../pages/panel/settings/constant.PAGE.html | 9 +- .../pages/panel/settings/fn.services.html | 9 +- mcaptcha/pages/panel/settings/index.html | 9 +- .../pages/panel/settings/routes/index.html | 9 +- .../panel/settings/routes/sidebar-items.js | 2 +- .../settings/routes/struct.Settings.html | 37 +- .../pages/panel/settings/sidebar-items.js | 2 +- .../panel/settings/struct.IndexPage.html | 49 +-- .../panel/settings/struct.delete_account.html | 31 +- .../pages/panel/settings/struct.settings.html | 31 +- .../panel/settings/struct.update_secret.html | 31 +- mcaptcha/pages/panel/sidebar-items.js | 2 +- .../panel/sitekey/add/constant.PAGE.html | 9 +- mcaptcha/pages/panel/sitekey/add/index.html | 9 +- .../pages/panel/sitekey/add/sidebar-items.js | 2 +- .../sitekey/add/struct.ADVANCE_INDEX.html | 353 +++++++++--------- .../sitekey/add/struct.AdvanceIndexPage.html | 53 +-- .../panel/sitekey/add/struct.EASY_INDEX.html | 353 +++++++++--------- .../sitekey/add/struct.EasyIndexPage.html | 55 +-- .../panel/sitekey/add/struct.advance.html | 31 +- .../pages/panel/sitekey/add/struct.easy.html | 31 +- .../pages/panel/sitekey/delete/index.html | 9 +- .../panel/sitekey/delete/sidebar-items.js | 2 +- .../sitekey/delete/struct.delete_sitekey.html | 31 +- .../panel/sitekey/edit/constant.PAGE.html | 9 +- mcaptcha/pages/panel/sitekey/edit/index.html | 9 +- .../pages/panel/sitekey/edit/sidebar-items.js | 2 +- .../sitekey/edit/struct.AdvanceEditPage.html | 51 +-- .../sitekey/edit/struct.EasyEditPage.html | 47 +-- .../panel/sitekey/edit/struct.advance.html | 31 +- .../pages/panel/sitekey/edit/struct.easy.html | 31 +- mcaptcha/pages/panel/sitekey/fn.services.html | 9 +- mcaptcha/pages/panel/sitekey/index.html | 9 +- .../panel/sitekey/list/constant.PAGE.html | 9 +- mcaptcha/pages/panel/sitekey/list/index.html | 9 +- .../pages/panel/sitekey/list/sidebar-items.js | 2 +- .../panel/sitekey/list/struct.IndexPage.html | 45 +-- .../sitekey/list/struct.list_sitekeys.html | 31 +- .../pages/panel/sitekey/routes/index.html | 9 +- .../panel/sitekey/routes/sidebar-items.js | 2 +- .../panel/sitekey/routes/struct.Sitekey.html | 45 +-- mcaptcha/pages/panel/sitekey/sidebar-items.js | 2 +- .../panel/sitekey/view/constant.PAGE.html | 9 +- mcaptcha/pages/panel/sitekey/view/index.html | 9 +- .../pages/panel/sitekey/view/sidebar-items.js | 2 +- .../panel/sitekey/view/struct.IndexPage.html | 51 +-- .../sitekey/view/struct.view_sitekey.html | 31 +- mcaptcha/pages/panel/struct.IndexPage.html | 45 +-- mcaptcha/pages/panel/struct.panel.html | 31 +- mcaptcha/pages/routes/constant.ROUTES.html | 9 +- mcaptcha/pages/routes/index.html | 9 +- mcaptcha/pages/routes/sidebar-items.js | 2 +- mcaptcha/pages/routes/struct.Routes.html | 45 +-- mcaptcha/pages/sidebar-items.js | 2 +- mcaptcha/pages/sitemap/index.html | 9 +- mcaptcha/pages/sitemap/sidebar-items.js | 2 +- mcaptcha/pages/sitemap/struct.INDEX.html | 353 +++++++++--------- mcaptcha/pages/sitemap/struct.IndexPage.html | 49 +-- mcaptcha/pages/sitemap/struct.sitemap.html | 31 +- mcaptcha/routes/fn.services.html | 9 +- mcaptcha/routes/index.html | 9 +- mcaptcha/routes/sidebar-items.js | 2 +- mcaptcha/settings/enum.DBType.html | 57 +-- mcaptcha/settings/fn.check_url.html | 9 +- mcaptcha/settings/fn.set_database_url.html | 9 +- mcaptcha/settings/index.html | 9 +- mcaptcha/settings/sidebar-items.js | 2 +- mcaptcha/settings/struct.Captcha.html | 55 +-- mcaptcha/settings/struct.Database.html | 49 +-- .../struct.DefaultDifficultyStrategy.html | 53 +-- mcaptcha/settings/struct.Redis.html | 49 +-- mcaptcha/settings/struct.Server.html | 57 +-- mcaptcha/settings/struct.Settings.html | 59 +-- mcaptcha/settings/struct.Smtp.html | 57 +-- mcaptcha/sidebar-items.js | 2 +- mcaptcha/static_assets/filemap/index.html | 9 +- .../static_assets/filemap/sidebar-items.js | 2 +- .../static_assets/filemap/struct.FileMap.html | 31 +- mcaptcha/static_assets/fn.services.html | 9 +- mcaptcha/static_assets/index.html | 9 +- mcaptcha/static_assets/sidebar-items.js | 2 +- .../static_files/assets/index.html | 9 +- .../static_files/assets/sidebar-items.js | 2 +- .../static_files/assets/struct.BAR_CHART.html | 37 +- .../assets/struct.CREDIT_CARD.html | 37 +- .../static_files/assets/struct.DOCS_ICON.html | 37 +- .../static_files/assets/struct.GITHUB.html | 37 +- .../assets/struct.HELP_CIRCLE.html | 37 +- .../static_files/assets/struct.HOME.html | 37 +- .../static_files/assets/struct.KEY.html | 37 +- .../assets/struct.MCAPTCHA_TRANS_ICON.html | 37 +- .../static_files/assets/struct.MESSAGE.html | 37 +- .../assets/struct.SETTINGS_ICON.html | 37 +- .../static_files/assets/type.Img.html | 9 +- .../static_files/fn.handle_assets.html | 9 +- .../static_files/fn.handle_favicons.html | 9 +- .../static_assets/static_files/index.html | 9 +- .../static_files/sidebar-items.js | 2 +- .../static_files/struct.Asset.html | 37 +- .../static_files/struct.Favicons.html | 37 +- .../static_files/struct.favicons.html | 31 +- .../static_files/struct.static_files.html | 31 +- mcaptcha/stats/index.html | 9 +- mcaptcha/stats/sidebar-items.js | 2 +- mcaptcha/stats/struct.CaptchaStats.html | 61 +-- mcaptcha/stats/struct.Dummy.html | 59 +-- mcaptcha/stats/struct.Real.html | 59 +-- mcaptcha/stats/trait.CloneStats.html | 13 +- mcaptcha/stats/trait.Stats.html | 27 +- mcaptcha/struct.BAR_CHART.html | 37 +- mcaptcha/struct.CREDIT_CARD.html | 37 +- mcaptcha/struct.CSS.html | 315 ++++++++-------- mcaptcha/struct.DOCS_ICON.html | 37 +- mcaptcha/struct.Data.html | 45 +-- mcaptcha/struct.FILES.html | 37 +- mcaptcha/struct.GITHUB.html | 37 +- mcaptcha/struct.HELP_CIRCLE.html | 37 +- mcaptcha/struct.HOME.html | 37 +- mcaptcha/struct.JS.html | 315 ++++++++-------- mcaptcha/struct.KEY.html | 37 +- mcaptcha/struct.MCAPTCHA_TRANS_ICON.html | 37 +- mcaptcha/struct.MESSAGE.html | 37 +- mcaptcha/struct.MOBILE_CSS.html | 315 ++++++++-------- mcaptcha/struct.SETTINGS.html | 37 +- mcaptcha/struct.SETTINGS_ICON.html | 37 +- mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html | 353 +++++++++--------- mcaptcha/struct.Settings.html | 59 +-- mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html | 315 ++++++++-------- mcaptcha/struct.VERIFICATIN_WIDGET_JS.html | 315 ++++++++-------- mcaptcha/type.AppData.html | 9 +- mcaptcha/type.ArcData.html | 9 +- mcaptcha/widget/constant.PAGE.html | 9 +- mcaptcha/widget/constant.WIDGET_ROUTES.html | 9 +- mcaptcha/widget/fn.services.html | 9 +- mcaptcha/widget/index.html | 9 +- mcaptcha/widget/routes/index.html | 9 +- mcaptcha/widget/routes/sidebar-items.js | 2 +- mcaptcha/widget/routes/struct.Widget.html | 33 +- mcaptcha/widget/sidebar-items.js | 2 +- mcaptcha/widget/struct.INDEX_PAGE.html | 353 +++++++++--------- mcaptcha/widget/struct.IndexPage.html | 43 +-- mcaptcha/widget/struct.show_widget.html | 31 +- noscript.css | 2 +- rustdoc.css | 2 +- search-index.js | 11 +- search.js | 2 +- settings.css | 2 +- settings.html | 7 +- settings.js | 20 +- source-script.js | 2 +- src/db_core/errors.rs.html | 9 +- src/db_core/lib.rs.html | 9 +- src/db_core/ops.rs.html | 9 +- src/db_core/tests.rs.html | 9 +- src/db_sqlx_maria/errors.rs.html | 9 +- src/db_sqlx_maria/lib.rs.html | 9 +- src/db_sqlx_postgres/errors.rs.html | 9 +- src/db_sqlx_postgres/lib.rs.html | 9 +- src/mcaptcha/api/mod.rs.html | 9 +- src/mcaptcha/api/v1/account/delete.rs.html | 9 +- src/mcaptcha/api/v1/account/email.rs.html | 9 +- src/mcaptcha/api/v1/account/mod.rs.html | 9 +- src/mcaptcha/api/v1/account/password.rs.html | 9 +- src/mcaptcha/api/v1/account/secret.rs.html | 9 +- src/mcaptcha/api/v1/account/username.rs.html | 9 +- src/mcaptcha/api/v1/auth.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/create.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/delete.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/easy.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/get.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/mod.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/stats.rs.html | 9 +- src/mcaptcha/api/v1/mcaptcha/update.rs.html | 9 +- src/mcaptcha/api/v1/meta.rs.html | 9 +- src/mcaptcha/api/v1/mod.rs.html | 9 +- src/mcaptcha/api/v1/notifications/add.rs.html | 9 +- src/mcaptcha/api/v1/notifications/get.rs.html | 9 +- .../api/v1/notifications/mark_read.rs.html | 9 +- src/mcaptcha/api/v1/notifications/mod.rs.html | 9 +- src/mcaptcha/api/v1/pow/get_config.rs.html | 9 +- src/mcaptcha/api/v1/pow/mod.rs.html | 9 +- src/mcaptcha/api/v1/pow/verify_pow.rs.html | 9 +- src/mcaptcha/api/v1/pow/verify_token.rs.html | 9 +- src/mcaptcha/api/v1/routes.rs.html | 9 +- src/mcaptcha/data.rs.html | 9 +- src/mcaptcha/date.rs.html | 9 +- src/mcaptcha/db.rs.html | 9 +- src/mcaptcha/demo.rs.html | 9 +- src/mcaptcha/docs.rs.html | 9 +- src/mcaptcha/email/mod.rs.html | 9 +- src/mcaptcha/email/verification.rs.html | 9 +- src/mcaptcha/errors.rs.html | 9 +- src/mcaptcha/main.rs.html | 9 +- src/mcaptcha/pages/auth/login.rs.html | 9 +- src/mcaptcha/pages/auth/mod.rs.html | 9 +- src/mcaptcha/pages/auth/register.rs.html | 9 +- src/mcaptcha/pages/auth/sudo.rs.html | 9 +- src/mcaptcha/pages/errors.rs.html | 9 +- src/mcaptcha/pages/mod.rs.html | 9 +- src/mcaptcha/pages/panel/mod.rs.html | 9 +- .../pages/panel/notifications.rs.html | 9 +- src/mcaptcha/pages/panel/settings.rs.html | 9 +- src/mcaptcha/pages/panel/sitekey/add.rs.html | 9 +- .../pages/panel/sitekey/delete.rs.html | 9 +- src/mcaptcha/pages/panel/sitekey/edit.rs.html | 9 +- src/mcaptcha/pages/panel/sitekey/list.rs.html | 9 +- src/mcaptcha/pages/panel/sitekey/mod.rs.html | 9 +- src/mcaptcha/pages/panel/sitekey/view.rs.html | 9 +- src/mcaptcha/pages/routes.rs.html | 9 +- src/mcaptcha/pages/sitemap.rs.html | 9 +- src/mcaptcha/routes.rs.html | 9 +- src/mcaptcha/settings.rs.html | 9 +- src/mcaptcha/static_assets/filemap.rs.html | 9 +- src/mcaptcha/static_assets/mod.rs.html | 9 +- .../static_assets/static_files.rs.html | 9 +- src/mcaptcha/stats.rs.html | 9 +- src/mcaptcha/widget/mod.rs.html | 9 +- storage.js | 2 +- 1057 files changed, 17892 insertions(+), 16607 deletions(-) delete mode 100644 brush.svg create mode 100644 db_sqlx_maria/dev/dev/errors/enum.DBError.html create mode 100644 db_sqlx_maria/dev/dev/errors/index.html create mode 100644 db_sqlx_maria/dev/dev/errors/sidebar-items.js create mode 100644 db_sqlx_maria/dev/dev/errors/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/dev/errors/type.DBResult.html create mode 100644 db_sqlx_maria/dev/dev/ops/index.html create mode 100644 db_sqlx_maria/dev/dev/ops/sidebar-items.js create mode 100644 db_sqlx_maria/dev/dev/ops/trait.Connect.html create mode 100644 db_sqlx_maria/dev/dev/ops/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/dev/ops/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/dev/ops/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/dev/tests/fn.database_works.html create mode 100644 db_sqlx_maria/dev/dev/tests/index.html create mode 100644 db_sqlx_maria/dev/dev/tests/sidebar-items.js create mode 100644 db_sqlx_postgres/dev/dev/errors/enum.DBError.html create mode 100644 db_sqlx_postgres/dev/dev/errors/index.html create mode 100644 db_sqlx_postgres/dev/dev/errors/sidebar-items.js create mode 100644 db_sqlx_postgres/dev/dev/errors/type.BoxDynError.html create mode 100644 db_sqlx_postgres/dev/dev/errors/type.DBResult.html create mode 100644 db_sqlx_postgres/dev/dev/ops/index.html create mode 100644 db_sqlx_postgres/dev/dev/ops/sidebar-items.js create mode 100644 db_sqlx_postgres/dev/dev/ops/trait.Connect.html create mode 100644 db_sqlx_postgres/dev/dev/ops/trait.DBOps.html create mode 100644 db_sqlx_postgres/dev/dev/ops/trait.GetConnection.html create mode 100644 db_sqlx_postgres/dev/dev/ops/trait.Migrate.html create mode 100644 db_sqlx_postgres/dev/dev/tests/fn.database_works.html create mode 100644 db_sqlx_postgres/dev/dev/tests/index.html create mode 100644 db_sqlx_postgres/dev/dev/tests/sidebar-items.js diff --git a/ayu.css b/ayu.css index 6ef5039f..a9c9be0d 100644 --- a/ayu.css +++ b/ayu.css @@ -1 +1 @@ - body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3,h4{color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3,h4{border-bottom-color:#5c6773;}h4{border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;background-color:#191f26;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#14191f;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 #24292f;}.sidebar{scrollbar-color:#5c6773 #24292f;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current,.sidebar a:hover{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#14191f;}.sidebar-elems .location{color:#ff7733;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#5c6773;}.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ffa0a5;}.content span.union,.content a.union{color:#ffa0a5;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#39AFD7;}.content span.primitive,.content a.primitive{color:#ffa0a5;}.content span.traitalias,.content a.traitalias{color:#39AFD7;}.content span.keyword,.content a.keyword{color:#39AFD7;}.content span.externcrate,.content span.mod,.content a.mod{color:#39AFD7;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#ffa0a5;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#39AFD7;}.content span.type,.content a.type,.block a.current.type{color:#39AFD7;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#39AFD7;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}.sidebar a{color:#53b1db;}.sidebar a.current.type{color:#53b1db;}.sidebar a.current.associatedtype{color:#53b1db;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#39AFD7;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#c5c5c5;}.sidebar h2 a,.sidebar h3 a{color:white;}.search-results a{color:#0096cf;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}details.rustdoc-toggle>summary::before,details.undocumented>summary::before{filter:invert(100%);}#crate-search,.search-input{background-color:#141920;border-color:#424c57;color:#c5c5c5;}.search-input{color:#ffffff;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help span.bottom,#help span.top{border-color:#5c6773;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.typedef,.content a.typedef,.block a.current.typedef{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-associatedtype:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}.sidebar a.current.enum{}.sidebar a.current.struct{}.sidebar a.current.foreigntype{}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{}.sidebar a.current.union{}.sidebar a.current.constant .sidebar a.current.static{}.sidebar a.current.primitive{}.sidebar a.current.externcrate .sidebar a.current.mod{}.sidebar a.current.trait{}.sidebar a.current.traitalias{}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{}.sidebar a.current.keyword{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow:inset 0 -1px 0 #5c6773;}#theme-picker,#settings-menu,#help-button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file + body,#settings-menu #settings,#settings-menu #settings::before{background-color:#0f1419;color:#c5c5c5;}.setting-line .radio-line input{border-color:#c5c5c5;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px #0f1419;background-color:#ffb454;}.setting-line .radio-line input:focus{box-shadow:0 0 1px 1px #ffb454;}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px 0f1419,0 0 2px 2px #ffb454;}.setting-line .radio-line input:hover{border-color:#ffb454 !important;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:checked+.slider{background-color:#ffb454;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}h1,h2,h3,h4{color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3,h4{border-bottom-color:#5c6773;}h4{border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;background-color:#191f26;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#14191f;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 #24292f;}.sidebar{scrollbar-color:#5c6773 #24292f;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current,.sidebar a:hover{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#14191f;}.sidebar-elems .location{color:#ff7733;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#5c6773;}.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#000 !important;background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ffa0a5;}.content span.union,.content a.union{color:#ffa0a5;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#39AFD7;}.content span.primitive,.content a.primitive{color:#ffa0a5;}.content span.traitalias,.content a.traitalias{color:#39AFD7;}.content span.keyword,.content a.keyword{color:#39AFD7;}.content span.externcrate,.content span.mod,.content a.mod{color:#39AFD7;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#ffa0a5;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#39AFD7;}.content span.type,.content a.type,.block a.current.type{color:#39AFD7;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#39AFD7;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}.sidebar a{color:#53b1db;}.sidebar a.current.type{color:#53b1db;}.sidebar a.current.associatedtype{color:#53b1db;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#39AFD7;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#c5c5c5;}.sidebar h2 a,.sidebar h3 a{color:white;}.search-results a{color:#0096cf;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}details.rustdoc-toggle>summary::before,details.undocumented>summary::before{filter:invert(100%);}#crate-search,.search-input{background-color:#141920;border-color:#424c57 !important;}.search-input{color:#ffffff;}.module-item .stab,.import-item .stab{color:#000;}.stab.empty-impl{}.stab.unstable,.stab.deprecated,.stab.portability,.stab.empty-impl{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help span.bottom,#help span.top{border-color:#5c6773;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label,.code-attribute{color:#999;}:target{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}.notable-traits-tooltiptext .notable{border-bottom-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content span.typedef,.content a.typedef,.block a.current.typedef{}.content span.union,.content a.union,.block a.current.union{}pre.rust .lifetime{}.stab.unstable{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content a.attr,.content a.derive,.content a.macro{}.stab.portability{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}.search-results a:focus span{}a.result-trait:focus{}a.result-traitalias:focus{}a.result-mod:focus,a.result-externcrate:focus{}a.result-mod:focus{}a.result-externcrate:focus{}a.result-enum:focus{}a.result-struct:focus{}a.result-union:focus{}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{}a.result-type:focus{}a.result-associatedtype:focus{}a.result-foreigntype:focus{}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{}a.result-constant:focus,a.result-static:focus{}a.result-primitive:focus{}a.result-keyword:focus{}.sidebar a.current.enum{}.sidebar a.current.struct{}.sidebar a.current.foreigntype{}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{}.sidebar a.current.union{}.sidebar a.current.constant .sidebar a.current.static{}.sidebar a.current.primitive{}.sidebar a.current.externcrate .sidebar a.current.mod{}.sidebar a.current.trait{}.sidebar a.current.traitalias{}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{}.sidebar a.current.keyword{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow:inset 0 -1px 0 #5c6773;}#settings-menu>a,#help-button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#settings-menu>a img{filter:invert(100);}#settings-menu #settings,#settings-menu #settings::before{border-color:#5c6773;}#copy-path{color:#fff;}#copy-path>img{filter:invert(70%);}#copy-path:hover>img{filter:invert(100%);}#settings-menu>a:hover,#settings-menu>a:focus,#help-button:hover,#help-button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}.search-results .result-name span.alias{color:#c5c5c5;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/brush.svg b/brush.svg deleted file mode 100644 index ea266e85..00000000 --- a/brush.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/dark.css b/dark.css index 34ae439c..d8bd2002 100644 --- a/dark.css +++ b/dark.css @@ -1 +1 @@ -body{background-color:#353535;color:#ddd;}h1,h2,h3,h4{color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3,h4{border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre,.rustdoc.source .example-wrap{background-color:#2A2A2A;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#505050;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) #5a5a5a;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current,.sidebar a:hover{background:#444;}.source .sidebar{background-color:#565656;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#DDD;}.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#884719;}a.result-enum:focus{background-color:#194e9f;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#194e9f;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#194e9f;}a.result-associatedtype:focus{background-color:#884719;}a.result-foreigntype:focus{background-color:#194e9f;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#884719;}a.result-primitive:focus{background-color:#194e9f;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#2dbfb8;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#2dbfb8;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#D2991D;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#2dbfb8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#2dbfb8;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#D2991D;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2dbfb8;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#D2991D;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b78cf2;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#D2991D;}.sidebar a{color:#fdbf35;}.sidebar a.current.enum{color:#12ece2;}.sidebar a.current.struct{color:#12ece2;}.sidebar a.current.type{color:#12ece2;}.sidebar a.current.associatedtype{color:#fdbf35;}.sidebar a.current.foreigntype{color:#12ece2;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#0be900;}.sidebar a.current.union{color:#12ece2;}.sidebar a.current.constant .sidebar a.current.static{color:#fdbf35;}.sidebar a.current.primitive{color:#12ece2;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#fdbf35;}.sidebar a.current.trait{color:#cca7ff;}.sidebar a.current.traitalias{color:#cca7ff;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#32d479;}.sidebar a.current.keyword{color:#fdbf35;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#D2991D;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#ddd;}.search-results a{color:#ddd;}a.test-arrow{color:#dedede;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}details.rustdoc-toggle>summary::before,details.undocumented>summary::before{filter:invert(100%);}#crate-search,.search-input{color:#111;background-color:#f0f0f0;border-color:#000;}.search-input{border-color:#e0e0e0;}.search-input:focus{border-color:#008dfd;}.module-item .stab,.import-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help span.bottom,#help span.top{border-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#ffb900;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file +body,#settings-menu #settings,#settings-menu #settings::before{background-color:#353535;color:#ddd;}.setting-line .radio-line input{border-color:#ddd;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px #353535;background-color:#2196f3;}.setting-line .radio-line input:focus{box-shadow:0 0 1px 1px #2196f3;}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px #353535,0 0 2px 2px #2196f3;}.setting-line .radio-line input:hover{border-color:#2196f3 !important;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:checked+.slider{background-color:#2196F3;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}h1,h2,h3,h4{color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3,h4{border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre,.rustdoc.source .example-wrap{background-color:#2A2A2A;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#505050;}.rust-logo{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) #5a5a5a;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current,.sidebar a:hover{background:#444;}.source .sidebar{background-color:#565656;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#DDD;}.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.search-results a:hover{background-color:#777;}.search-results a:focus{color:#eee !important;background-color:#616161;}.search-results a:focus span{color:#eee !important;}a.result-trait:focus{background-color:#013191;}a.result-traitalias:focus{background-color:#013191;}a.result-mod:focus,a.result-externcrate:focus{background-color:#884719;}a.result-enum:focus{background-color:#194e9f;}a.result-struct:focus{background-color:#194e9f;}a.result-union:focus{background-color:#194e9f;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#4950ed;}a.result-type:focus{background-color:#194e9f;}a.result-associatedtype:focus{background-color:#884719;}a.result-foreigntype:focus{background-color:#194e9f;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#217d1c;}a.result-constant:focus,a.result-static:focus{background-color:#884719;}a.result-primitive:focus{background-color:#194e9f;}a.result-keyword:focus{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#2dbfb8;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#2dbfb8;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#D2991D;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#2dbfb8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#2dbfb8;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#D2991D;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2dbfb8;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#D2991D;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b78cf2;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#D2991D;}.sidebar a{color:#fdbf35;}.sidebar a.current.enum{color:#12ece2;}.sidebar a.current.struct{color:#12ece2;}.sidebar a.current.type{color:#12ece2;}.sidebar a.current.associatedtype{color:#fdbf35;}.sidebar a.current.foreigntype{color:#12ece2;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#0be900;}.sidebar a.current.union{color:#12ece2;}.sidebar a.current.constant .sidebar a.current.static{color:#fdbf35;}.sidebar a.current.primitive{color:#12ece2;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#fdbf35;}.sidebar a.current.trait{color:#cca7ff;}.sidebar a.current.traitalias{color:#cca7ff;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#32d479;}.sidebar a.current.keyword{color:#fdbf35;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#D2991D;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#ddd;}.search-results a{color:#ddd;}a.test-arrow{color:#dedede;}body.source .example-wrap pre.rust a{background:#333;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}details.rustdoc-toggle>summary::before,details.undocumented>summary::before{filter:invert(100%);}#crate-search,.search-input{color:#111;background-color:#f0f0f0;border-color:#f0f0f0 !important;}.search-input{border-color:#e0e0e0;}.search-input:focus{border-color:#008dfd;}.module-item .stab,.import-item .stab{color:#ddd;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help span.bottom,#help span.top{border-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}.notable-traits-tooltiptext .notable{border-bottom-color:#d2d2d2;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button:hover,#help-button:focus{border-color:#ffb900;}#settings-menu #settings,#settings-menu #settings::before{border-color:#d2d2d2;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(65%);}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}.search-results .result-name span.alias{color:#fff;}.search-results .result-name span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.scraped-example-list .scrape-help{border-color:#aaa;color:#eee;}.scraped-example-list .scrape-help:hover{border-color:white;color:white;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:rgb(91,59,1);}.scraped-example .example-wrap .rust span.highlight.focus{background:rgb(124,75,15);}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));}.toggle-line-inner{background:#999;}.toggle-line:hover .toggle-line-inner{background:#c5c5c5;} \ No newline at end of file diff --git a/db_core/all.html b/db_core/all.html index cfc83555..22448149 100644 --- a/db_core/all.html +++ b/db_core/all.html @@ -1,7 +1,8 @@ -List of all items in this crate -
\ No newline at end of file diff --git a/db_core/dev/attr.async_trait.html b/db_core/dev/attr.async_trait.html index 4d8e8a75..88e344d5 100644 --- a/db_core/dev/attr.async_trait.html +++ b/db_core/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_core::dev - Rust -
+

Attribute Macro db_core::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_core/dev/index.html b/db_core/dev/index.html index f5589dac..eaf39412 100644 --- a/db_core/dev/index.html +++ b/db_core/dev/index.html @@ -1,11 +1,12 @@ -db_core::dev - Rust -

Module db_core::dev

source · []
Expand description

useful imports for supporting a new database

Re-exports

pub use super::prelude::*;

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_core/dev/sidebar-items.js b/db_core/dev/sidebar-items.js index 9a6293c3..eb02cda1 100644 --- a/db_core/dev/sidebar-items.js +++ b/db_core/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]]}; \ No newline at end of file diff --git a/db_core/enum.Login.html b/db_core/enum.Login.html index 397654c5..3f1855a7 100644 --- a/db_core/enum.Login.html +++ b/db_core/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_core - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/errors/enum.DBError.html b/db_core/errors/enum.DBError.html index 5969342b..f605abb1 100644 --- a/db_core/errors/enum.DBError.html +++ b/db_core/errors/enum.DBError.html @@ -1,9 +1,10 @@ -DBError in db_core::errors - Rust -
pub enum DBError {
     DBError(BoxDynError),
     UsernameTaken,
@@ -24,32 +25,32 @@
 

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/errors/index.html b/db_core/errors/index.html index d43400e3..7bc06ace 100644 --- a/db_core/errors/index.html +++ b/db_core/errors/index.html @@ -1,14 +1,15 @@ -db_core::errors - Rust -
Expand description

represents all the ways a trait can fail using this crate

Enums

Error data structure grouping various error subtypes

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_core/errors/sidebar-items.js b/db_core/errors/sidebar-items.js index fdad20af..48f114ec 100644 --- a/db_core/errors/sidebar-items.js +++ b/db_core/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_core/errors/type.BoxDynError.html b/db_core/errors/type.BoxDynError.html index 44ebbebc..de40c759 100644 --- a/db_core/errors/type.BoxDynError.html +++ b/db_core/errors/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_core::errors - Rust -
+

Type Definition db_core::errors::BoxDynError

source · []
pub type BoxDynError = Box<dyn StdError + Send + Sync + 'static>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_core/errors/type.DBResult.html b/db_core/errors/type.DBResult.html index 086fe65f..4c5f665b 100644 --- a/db_core/errors/type.DBResult.html +++ b/db_core/errors/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_core::errors - Rust -
+

Type Definition db_core::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_core/index.html b/db_core/index.html index 0de237bc..24efc28e 100644 --- a/db_core/index.html +++ b/db_core/index.html @@ -1,9 +1,10 @@ -db_core - Rust -
Expand description

mCaptcha database operations

Traits and datastructures used in mCaptcha to interact with database.

To use an unsupported database with mCaptcha, traits present within this crate should be @@ -40,5 +41,5 @@ connection from pool

Trait to clone MCDatabase

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-
+
\ No newline at end of file diff --git a/db_core/ops/index.html b/db_core/ops/index.html index 36374bb6..72a4a5af 100644 --- a/db_core/ops/index.html +++ b/db_core/ops/index.html @@ -1,14 +1,15 @@ -db_core::ops - Rust -

Module db_core::ops

source · []
Expand description

meta operations like migration and connecting to a database

Traits

Create database connection

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_core/ops/sidebar-items.js b/db_core/ops/sidebar-items.js index bd2eb249..765f2b9c 100644 --- a/db_core/ops/sidebar-items.js +++ b/db_core/ops/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_core/ops/trait.Connect.html b/db_core/ops/trait.Connect.html index b0cc4638..4b24d22f 100644 --- a/db_core/ops/trait.Connect.html +++ b/db_core/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_core::ops - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Pool>> + Send + 'async_trait>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.DBOps.html b/db_core/ops/trait.DBOps.html index e9b30ef7..2c0daed5 100644 --- a/db_core/ops/trait.DBOps.html +++ b/db_core/ops/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_core::ops - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.GetConnection.html b/db_core/ops/trait.GetConnection.html index 6c47defa..10ea9aee 100644 --- a/db_core/ops/trait.GetConnection.html +++ b/db_core/ops/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_core::ops - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<Self::Conn>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/ops/trait.Migrate.html b/db_core/ops/trait.Migrate.html index 6f33a798..f9753a50 100644 --- a/db_core/ops/trait.Migrate.html +++ b/db_core/ops/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_core::ops - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_core/prelude/index.html b/db_core/prelude/index.html index ca0db9ba..3e682c2d 100644 --- a/db_core/prelude/index.html +++ b/db_core/prelude/index.html @@ -1,10 +1,11 @@ -db_core::prelude - Rust -
Expand description

useful imports for users working with a supported database

Re-exports

-
pub use super::errors::*;
pub use super::ops::*;
pub use super::*;
+
pub use super::errors::*;
pub use super::ops::*;
pub use super::*;
\ No newline at end of file diff --git a/db_core/prelude/sidebar-items.js b/db_core/prelude/sidebar-items.js index 48333d31..5244ce01 100644 --- a/db_core/prelude/sidebar-items.js +++ b/db_core/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({}); \ No newline at end of file +window.SIDEBAR_ITEMS = {}; \ No newline at end of file diff --git a/db_core/sidebar-items.js b/db_core/sidebar-items.js index b4c82d9c..b9e8d27e 100644 --- a/db_core/sidebar-items.js +++ b/db_core/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."]]}; \ No newline at end of file diff --git a/db_core/struct.AddNotification.html b/db_core/struct.AddNotification.html index 8978a5b3..ebe9b8ff 100644 --- a/db_core/struct.AddNotification.html +++ b/db_core/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_core - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Captcha.html b/db_core/struct.Captcha.html index 9234a8ba..864f2671 100644 --- a/db_core/struct.Captcha.html +++ b/db_core/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_core - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.CreateCaptcha.html b/db_core/struct.CreateCaptcha.html index 8143a4e8..2b05d4ed 100644 --- a/db_core/struct.CreateCaptcha.html +++ b/db_core/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_core - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Level.html b/db_core/struct.Level.html index f6695ce1..c8a7dfb8 100644 --- a/db_core/struct.Level.html +++ b/db_core/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_core - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.NameHash.html b/db_core/struct.NameHash.html index 0683f781..efcc6d0b 100644 --- a/db_core/struct.NameHash.html +++ b/db_core/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_core - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Notification.html b/db_core/struct.Notification.html index 2ae5e310..33ed41c7 100644 --- a/db_core/struct.Notification.html +++ b/db_core/struct.Notification.html @@ -1,52 +1,53 @@ -Notification in db_core - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Register.html b/db_core/struct.Register.html index 3f974788..3690761d 100644 --- a/db_core/struct.Register.html +++ b/db_core/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_core - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.Secret.html b/db_core/struct.Secret.html index da4d8911..f328bdd8 100644 --- a/db_core/struct.Secret.html +++ b/db_core/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_core - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.StatsUnixTimestamp.html b/db_core/struct.StatsUnixTimestamp.html index 73a8f5ce..0acac591 100644 --- a/db_core/struct.StatsUnixTimestamp.html +++ b/db_core/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_core - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64>,
-    pub solves: Vec<i64>,
-    pub confirms: Vec<i64>,
+    pub config_fetches: Vec<i64>,
+    pub solves: Vec<i64>,
+    pub confirms: Vec<i64>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64>

times at which the configuration were fetched

-
solves: Vec<i64>

times at which the PoW was solved

-
confirms: Vec<i64>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64>

times at which the configuration were fetched

+
solves: Vec<i64>

times at which the PoW was solved

+
confirms: Vec<i64>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.TrafficPattern.html b/db_core/struct.TrafficPattern.html index d9e74c99..f50fb460 100644 --- a/db_core/struct.TrafficPattern.html +++ b/db_core/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_core - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/struct.UpdateEmail.html b/db_core/struct.UpdateEmail.html index 93d00b68..22db790c 100644 --- a/db_core/struct.UpdateEmail.html +++ b/db_core/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_core - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_core/tests/fn.database_works.html b/db_core/tests/fn.database_works.html index 3706a718..3bcc247c 100644 --- a/db_core/tests/fn.database_works.html +++ b/db_core/tests/fn.database_works.html @@ -1,9 +1,10 @@ -database_works in db_core::tests - Rust -
pub async fn database_works<'a, T: MCDatabase>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
)
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_core/tests/index.html b/db_core/tests/index.html index 544844a5..13aa7d80 100644 --- a/db_core/tests/index.html +++ b/db_core/tests/index.html @@ -1,11 +1,12 @@ -db_core::tests - Rust -
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_core/tests/sidebar-items.js b/db_core/tests/sidebar-items.js index 55eac0b3..4939af2f 100644 --- a/db_core/tests/sidebar-items.js +++ b/db_core/tests/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["database_works","test all database functions"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_core/trait.CloneSPDatabase.html b/db_core/trait.CloneSPDatabase.html index 3c7bc01e..f3d15c37 100644 --- a/db_core/trait.CloneSPDatabase.html +++ b/db_core/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_core - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase>;
+    fn clone_db(&self) -> Box<dyn MCDatabase>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_core/trait.MCDatabase.html b/db_core/trait.MCDatabase.html index a8a12795..7fae1cad 100644 --- a/db_core/trait.MCDatabase.html +++ b/db_core/trait.MCDatabase.html @@ -1,83 +1,86 @@ -MCDatabase in db_core - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Option<String>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<NameHash>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Secret>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Captcha>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Captcha>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<bool>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Level>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<i32>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<TrafficPattern>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<Notification>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = DBResult<Vec<i64>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/all.html b/db_sqlx_maria/all.html index 1425a3e5..7a9744f0 100644 --- a/db_sqlx_maria/all.html +++ b/db_sqlx_maria/all.html @@ -1,7 +1,8 @@ -List of all items in this crate -

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

\ No newline at end of file diff --git a/db_sqlx_maria/dev/attr.async_trait.html b/db_sqlx_maria/dev/attr.async_trait.html index 5e912198..ee2284aa 100644 --- a/db_sqlx_maria/dev/attr.async_trait.html +++ b/db_sqlx_maria/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_maria::dev - Rust -
+

Attribute Macro db_sqlx_maria::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/attr.async_trait.html b/db_sqlx_maria/dev/dev/attr.async_trait.html index 4e137f6e..46476fbb 100644 --- a/db_sqlx_maria/dev/dev/attr.async_trait.html +++ b/db_sqlx_maria/dev/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_maria::dev::dev - Rust -
+

Attribute Macro db_sqlx_maria::dev::dev::async_trait

[]
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/enum.DBError.html b/db_sqlx_maria/dev/dev/enum.DBError.html index 337cb7a0..f4b95993 100644 --- a/db_sqlx_maria/dev/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/enum.Login.html b/db_sqlx_maria/dev/dev/enum.Login.html index 90a28b07..5f8a3e91 100644 --- a/db_sqlx_maria/dev/dev/enum.Login.html +++ b/db_sqlx_maria/dev/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::dev::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/errors/enum.DBError.html b/db_sqlx_maria/dev/dev/errors/enum.DBError.html new file mode 100644 index 00000000..3566e337 --- /dev/null +++ b/db_sqlx_maria/dev/dev/errors/enum.DBError.html @@ -0,0 +1,56 @@ +DBError in db_sqlx_maria::dev::dev::errors - Rust +
pub enum DBError {
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
+    UsernameTaken,
+    EmailTaken,
+    SecretTaken,
+    CaptchaKeyTaken,
+    AccountNotFound,
+    CaptchaNotFound,
+    TrafficPatternNotFound,
+    NotificationNotFound,
+}
Expand description

Error data structure grouping various error subtypes

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

+

UsernameTaken

Username is taken

+

EmailTaken

Email is taken

+

SecretTaken

Secret is taken

+

CaptchaKeyTaken

Captcha key is taken

+

AccountNotFound

Account not found

+

CaptchaNotFound

Captcha not found

+

TrafficPatternNotFound

Traffic pattern not found

+

NotificationNotFound

Notification not found

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/errors/index.html b/db_sqlx_maria/dev/dev/errors/index.html new file mode 100644 index 00000000..fbad0ed7 --- /dev/null +++ b/db_sqlx_maria/dev/dev/errors/index.html @@ -0,0 +1,15 @@ +db_sqlx_maria::dev::dev::errors - Rust +
Expand description

represents all the ways a trait can fail using this crate

+

Enums

+

Error data structure grouping various error subtypes

+

Type Definitions

+

Convenience type alias for grouping driver-specific errors

+

Generic result data structure

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/errors/sidebar-items.js b/db_sqlx_maria/dev/dev/errors/sidebar-items.js new file mode 100644 index 00000000..48f114ec --- /dev/null +++ b/db_sqlx_maria/dev/dev/errors/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/errors/type.BoxDynError.html b/db_sqlx_maria/dev/dev/errors/type.BoxDynError.html new file mode 100644 index 00000000..66c83c14 --- /dev/null +++ b/db_sqlx_maria/dev/dev/errors/type.BoxDynError.html @@ -0,0 +1,10 @@ +BoxDynError in db_sqlx_maria::dev::dev::errors - Rust +
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/errors/type.DBResult.html b/db_sqlx_maria/dev/dev/errors/type.DBResult.html new file mode 100644 index 00000000..67574b68 --- /dev/null +++ b/db_sqlx_maria/dev/dev/errors/type.DBResult.html @@ -0,0 +1,10 @@ +DBResult in db_sqlx_maria::dev::dev::errors - Rust +
+

Type Definition db_sqlx_maria::dev::dev::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/index.html b/db_sqlx_maria/dev/dev/index.html index 2a0414f2..82ab281f 100644 --- a/db_sqlx_maria/dev/dev/index.html +++ b/db_sqlx_maria/dev/dev/index.html @@ -1,12 +1,16 @@ -db_sqlx_maria::dev::dev - Rust -
Expand description

useful imports for supporting a new database

Modules

-

useful imports for users working with a supported database

+

represents all the ways a trait can fail using this crate

+

meta operations like migration and connecting to a database

+

useful imports for users working with a supported database

+

Test utilities

Structs

Data required to add notification

Data representing a captcha

@@ -34,5 +38,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/index.html b/db_sqlx_maria/dev/dev/ops/index.html new file mode 100644 index 00000000..db866bde --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/index.html @@ -0,0 +1,15 @@ +db_sqlx_maria::dev::dev::ops - Rust +
Expand description

meta operations like migration and connecting to a database

+

Traits

+

Create database connection

+

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Get database connection

+

database migrations

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/sidebar-items.js b/db_sqlx_maria/dev/dev/ops/sidebar-items.js new file mode 100644 index 00000000..765f2b9c --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/trait.Connect.html b/db_sqlx_maria/dev/dev/ops/trait.Connect.html new file mode 100644 index 00000000..c4e98973 --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/trait.Connect.html @@ -0,0 +1,17 @@ +Connect in db_sqlx_maria::dev::dev::ops - Rust +
pub trait Connect {
+    type Pool: MCDatabase;
+
+    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; +}
Expand description

Create database connection

+

Required Associated Types

database specific pool-type

+

Required Methods

database specific error-type +create connection pool

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/trait.DBOps.html b/db_sqlx_maria/dev/dev/ops/trait.DBOps.html new file mode 100644 index 00000000..db21c10b --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/trait.DBOps.html @@ -0,0 +1,10 @@ +DBOps in db_sqlx_maria::dev::dev::ops - Rust +
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/trait.GetConnection.html b/db_sqlx_maria/dev/dev/ops/trait.GetConnection.html new file mode 100644 index 00000000..7ba20e24 --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/trait.GetConnection.html @@ -0,0 +1,17 @@ +GetConnection in db_sqlx_maria::dev::dev::ops - Rust +
pub trait GetConnection {
+    type Conn;
+
+    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; +}
Expand description

Get database connection

+

Required Associated Types

database connection type

+

Required Methods

database specific error-type +get connection from connection pool

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/ops/trait.Migrate.html b/db_sqlx_maria/dev/dev/ops/trait.Migrate.html new file mode 100644 index 00000000..b26a83a4 --- /dev/null +++ b/db_sqlx_maria/dev/dev/ops/trait.Migrate.html @@ -0,0 +1,14 @@ +Migrate in db_sqlx_maria::dev::dev::ops - Rust +
pub trait Migrate: MCDatabase {
+    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; +}
Expand description

database migrations

+

Required Methods

database specific error-type +run migrations

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/enum.DBError.html b/db_sqlx_maria/dev/dev/prelude/enum.DBError.html index cbbcaadd..8d88ccd9 100644 --- a/db_sqlx_maria/dev/dev/prelude/enum.DBError.html +++ b/db_sqlx_maria/dev/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/enum.Login.html b/db_sqlx_maria/dev/dev/prelude/enum.Login.html index 108a4a08..9fb061d9 100644 --- a/db_sqlx_maria/dev/dev/prelude/enum.Login.html +++ b/db_sqlx_maria/dev/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::dev::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/index.html b/db_sqlx_maria/dev/dev/prelude/index.html index 69a3a37e..c909c0e5 100644 --- a/db_sqlx_maria/dev/dev/prelude/index.html +++ b/db_sqlx_maria/dev/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::dev::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Structs

Data required to add notification

@@ -31,5 +32,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/sidebar-items.js b/db_sqlx_maria/dev/dev/prelude/sidebar-items.js index cf8a93da..0cfa29d1 100644 --- a/db_sqlx_maria/dev/dev/prelude/sidebar-items.js +++ b/db_sqlx_maria/dev/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html b/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html index 3c886270..fcfe2fee 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html b/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html index 2b618973..27cd1b9a 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html index 70ddda55..50c5f72d 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Level.html b/db_sqlx_maria/dev/dev/prelude/struct.Level.html index 130d41a7..2652b808 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.Level.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html b/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html index c567c211..22fd7a78 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Notification.html b/db_sqlx_maria/dev/dev/prelude/struct.Notification.html index cbc9e046..711c7706 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.Notification.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Register.html b/db_sqlx_maria/dev/dev/prelude/struct.Register.html index d756cccd..8ef2ab3f 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.Register.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Secret.html b/db_sqlx_maria/dev/dev/prelude/struct.Secret.html index 7f4a74ea..77fe2d01 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.Secret.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/dev/prelude/struct.StatsUnixTimestamp.html index 5f3f9a6c..b6f77598 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.TrafficPattern.html b/db_sqlx_maria/dev/dev/prelude/struct.TrafficPattern.html index 5ed74231..f90d4ca0 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.UpdateEmail.html b/db_sqlx_maria/dev/dev/prelude/struct.UpdateEmail.html index 42f0bf8b..d8d502e1 100644 --- a/db_sqlx_maria/dev/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::dev::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/dev/prelude/trait.CloneSPDatabase.html index 63f80712..d841c31a 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.Connect.html b/db_sqlx_maria/dev/dev/prelude/trait.Connect.html index ae6fcbdc..9cb753de 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.Connect.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.DBOps.html b/db_sqlx_maria/dev/dev/prelude/trait.DBOps.html index 37379fc5..5170fbe3 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.DBOps.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.GetConnection.html b/db_sqlx_maria/dev/dev/prelude/trait.GetConnection.html index fcee8dbb..1832dc14 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.MCDatabase.html b/db_sqlx_maria/dev/dev/prelude/trait.MCDatabase.html index 9d096164..bce90f38 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/trait.Migrate.html b/db_sqlx_maria/dev/dev/prelude/trait.Migrate.html index 7b28b12d..3994b8ee 100644 --- a/db_sqlx_maria/dev/dev/prelude/trait.Migrate.html +++ b/db_sqlx_maria/dev/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/type.BoxDynError.html b/db_sqlx_maria/dev/dev/prelude/type.BoxDynError.html index 75b65478..336ab1f8 100644 --- a/db_sqlx_maria/dev/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/dev/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/type.DBResult.html b/db_sqlx_maria/dev/dev/prelude/type.DBResult.html index 29ba3954..bed76359 100644 --- a/db_sqlx_maria/dev/dev/prelude/type.DBResult.html +++ b/db_sqlx_maria/dev/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev::dev::prelude - Rust -
+

Type Definition db_sqlx_maria::dev::dev::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/sidebar-items.js b/db_sqlx_maria/dev/dev/sidebar-items.js index 14fa0d6e..b05590f6 100644 --- a/db_sqlx_maria/dev/dev/sidebar-items.js +++ b/db_sqlx_maria/dev/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.AddNotification.html b/db_sqlx_maria/dev/dev/struct.AddNotification.html index dc916367..2e24c3a1 100644 --- a/db_sqlx_maria/dev/dev/struct.AddNotification.html +++ b/db_sqlx_maria/dev/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::dev::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.Captcha.html b/db_sqlx_maria/dev/dev/struct.Captcha.html index 9e7940e4..95c1e864 100644 --- a/db_sqlx_maria/dev/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::dev::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/dev/struct.CreateCaptcha.html index ad139958..0a23ab7f 100644 --- a/db_sqlx_maria/dev/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::dev::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.Level.html b/db_sqlx_maria/dev/dev/struct.Level.html index 95c77452..66c678c2 100644 --- a/db_sqlx_maria/dev/dev/struct.Level.html +++ b/db_sqlx_maria/dev/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::dev::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.NameHash.html b/db_sqlx_maria/dev/dev/struct.NameHash.html index 7a6d87af..54f814b5 100644 --- a/db_sqlx_maria/dev/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::dev::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.Notification.html b/db_sqlx_maria/dev/dev/struct.Notification.html index dbba5214..10e1494e 100644 --- a/db_sqlx_maria/dev/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::dev::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.Register.html b/db_sqlx_maria/dev/dev/struct.Register.html index b8c54ea9..eb9e7530 100644 --- a/db_sqlx_maria/dev/dev/struct.Register.html +++ b/db_sqlx_maria/dev/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::dev::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.Secret.html b/db_sqlx_maria/dev/dev/struct.Secret.html index c34adb1b..89381a4f 100644 --- a/db_sqlx_maria/dev/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::dev::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/dev/struct.StatsUnixTimestamp.html index 3fd5b2fb..3ebaf681 100644 --- a/db_sqlx_maria/dev/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/dev/struct.TrafficPattern.html index d0cabf2e..208e3e46 100644 --- a/db_sqlx_maria/dev/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::dev::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/dev/struct.UpdateEmail.html index b5a0d64b..1c8d3b83 100644 --- a/db_sqlx_maria/dev/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::dev::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/tests/fn.database_works.html b/db_sqlx_maria/dev/dev/tests/fn.database_works.html new file mode 100644 index 00000000..a0e1252b --- /dev/null +++ b/db_sqlx_maria/dev/dev/tests/fn.database_works.html @@ -0,0 +1,10 @@ +database_works in db_sqlx_maria::dev::dev::tests - Rust +
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/tests/index.html b/db_sqlx_maria/dev/dev/tests/index.html new file mode 100644 index 00000000..79e85441 --- /dev/null +++ b/db_sqlx_maria/dev/dev/tests/index.html @@ -0,0 +1,12 @@ +db_sqlx_maria::dev::dev::tests - Rust +
Expand description

Test utilities

+

Functions

+

test all database functions

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/tests/sidebar-items.js b/db_sqlx_maria/dev/dev/tests/sidebar-items.js new file mode 100644 index 00000000..4939af2f --- /dev/null +++ b/db_sqlx_maria/dev/dev/tests/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/dev/trait.CloneSPDatabase.html index 4e8ae8d9..9c8787ca 100644 --- a/db_sqlx_maria/dev/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::dev::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.Connect.html b/db_sqlx_maria/dev/dev/trait.Connect.html index 567ea3cd..14c8afa3 100644 --- a/db_sqlx_maria/dev/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.DBOps.html b/db_sqlx_maria/dev/dev/trait.DBOps.html index 4ef8702c..e95aa25b 100644 --- a/db_sqlx_maria/dev/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.GetConnection.html b/db_sqlx_maria/dev/dev/trait.GetConnection.html index a5705ee9..23c6f523 100644 --- a/db_sqlx_maria/dev/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/dev/trait.MCDatabase.html index 0736a497..51f04449 100644 --- a/db_sqlx_maria/dev/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::dev::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/trait.Migrate.html b/db_sqlx_maria/dev/dev/trait.Migrate.html index 1ada9a56..25505a0d 100644 --- a/db_sqlx_maria/dev/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/type.BoxDynError.html b/db_sqlx_maria/dev/dev/type.BoxDynError.html index 5f114674..11feb2db 100644 --- a/db_sqlx_maria/dev/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev::dev - Rust -
+

Type Definition db_sqlx_maria::dev::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/type.DBResult.html b/db_sqlx_maria/dev/dev/type.DBResult.html index f5f50775..e87511eb 100644 --- a/db_sqlx_maria/dev/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev::dev - Rust -
+

Type Definition db_sqlx_maria::dev::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.DBError.html b/db_sqlx_maria/dev/enum.DBError.html index fb520779..d1c304ae 100644 --- a/db_sqlx_maria/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.Error.html b/db_sqlx_maria/dev/enum.Error.html index 0c99493a..74c7644b 100644 --- a/db_sqlx_maria/dev/enum.Error.html +++ b/db_sqlx_maria/dev/enum.Error.html @@ -1,82 +1,83 @@ -Error in db_sqlx_maria::dev - Rust -
#[non_exhaustive]
 pub enum Error {
-
Show 15 variants Configuration(Box<dyn Error + Sync + Send + 'static, Global>), - Database(Box<dyn DatabaseError + 'static, Global>), - Io(Error), - Tls(Box<dyn Error + Sync + Send + 'static, Global>), - Protocol(String), +
Show 15 variants Configuration(Box<dyn Error + Send + Sync + 'static, Global>), + Database(Box<dyn DatabaseError + 'static, Global>), + Io(Error), + Tls(Box<dyn Error + Send + Sync + 'static, Global>), + Protocol(String), RowNotFound, TypeNotFound { - type_name: String, + type_name: String, }, ColumnIndexOutOfBounds { - index: usize, - len: usize, + index: usize, + len: usize, }, - ColumnNotFound(String), + ColumnNotFound(String), ColumnDecode { - index: String, - source: Box<dyn Error + Sync + Send + 'static, Global>, + index: String, + source: Box<dyn Error + Send + Sync + 'static, Global>, }, - Decode(Box<dyn Error + Sync + Send + 'static, Global>), + Decode(Box<dyn Error + Send + Sync + 'static, Global>), PoolTimedOut, PoolClosed, WorkerCrashed, - Migrate(Box<MigrateError, Global>), + Migrate(Box<MigrateError, Global>),
}
Expand description

Represents all the ways a method can fail within SQLx.

-

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Configuration(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while parsing a connection string.

-

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

-

Io(Error)

Error communicating with the database backend.

-

Tls(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

-

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Configuration(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while parsing a connection string.

+

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

+

Io(Error)

Error communicating with the database backend.

+

Tls(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

+

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

This should indicate there is a programming error in a SQLx driver or there is something corrupted with the connection to the database itself.

RowNotFound

No rows returned by a query that expected to return at least one row.

-

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

-

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

-

ColumnNotFound(String)

No column found for the given name.

-

ColumnDecode

Fields

index: String
source: Box<dyn Error + Sync + Send + 'static, Global>

Error occurred while decoding a value from a specific column.

-

Decode(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while decoding a value.

+

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

+

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

+

ColumnNotFound(String)

No column found for the given name.

+

ColumnDecode

Fields

index: String
source: Box<dyn Error + Send + Sync + 'static, Global>

Error occurred while decoding a value from a specific column.

+

Decode(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while decoding a value.

PoolTimedOut

A Pool::acquire timed out due to connections not becoming available or because another task encountered too many errors while trying to open a new connection.

PoolClosed

Pool::close was called while we were waiting in Pool::acquire.

WorkerCrashed

A background worker has crashed.

-

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/enum.Login.html b/db_sqlx_maria/dev/enum.Login.html index a04e022e..a37074b7 100644 --- a/db_sqlx_maria/dev/enum.Login.html +++ b/db_sqlx_maria/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/enum.DBError.html b/db_sqlx_maria/dev/errors/enum.DBError.html index 648aa422..473d3373 100644 --- a/db_sqlx_maria/dev/errors/enum.DBError.html +++ b/db_sqlx_maria/dev/errors/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev::errors - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/index.html b/db_sqlx_maria/dev/errors/index.html index d0c04688..6fed7be1 100644 --- a/db_sqlx_maria/dev/errors/index.html +++ b/db_sqlx_maria/dev/errors/index.html @@ -1,14 +1,15 @@ -db_sqlx_maria::dev::errors - Rust -
Expand description

represents all the ways a trait can fail using this crate

Enums

Error data structure grouping various error subtypes

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/sidebar-items.js b/db_sqlx_maria/dev/errors/sidebar-items.js index fdad20af..48f114ec 100644 --- a/db_sqlx_maria/dev/errors/sidebar-items.js +++ b/db_sqlx_maria/dev/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.BoxDynError.html b/db_sqlx_maria/dev/errors/type.BoxDynError.html index dda8dfd1..006e9e69 100644 --- a/db_sqlx_maria/dev/errors/type.BoxDynError.html +++ b/db_sqlx_maria/dev/errors/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev::errors - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/errors/type.DBResult.html b/db_sqlx_maria/dev/errors/type.DBResult.html index 687aea37..19d2685b 100644 --- a/db_sqlx_maria/dev/errors/type.DBResult.html +++ b/db_sqlx_maria/dev/errors/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev::errors - Rust -
+

Type Definition db_sqlx_maria::dev::errors::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/index.html b/db_sqlx_maria/dev/index.html index 79fdcf40..a78ceefd 100644 --- a/db_sqlx_maria/dev/index.html +++ b/db_sqlx_maria/dev/index.html @@ -1,11 +1,12 @@ -db_sqlx_maria::dev - Rust -

Re-exports

-
pub use super::errors::*;
pub use super::Database;

Modules

+
pub use super::Database;
pub use super::errors::*;

Modules

useful imports for supporting a new database

represents all the ways a trait can fail using this crate

meta operations like migration and connecting to a database

@@ -39,5 +40,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/index.html b/db_sqlx_maria/dev/ops/index.html index 91edd092..db8bf9cf 100644 --- a/db_sqlx_maria/dev/ops/index.html +++ b/db_sqlx_maria/dev/ops/index.html @@ -1,14 +1,15 @@ -db_sqlx_maria::dev::ops - Rust -
Expand description

meta operations like migration and connecting to a database

Traits

Create database connection

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/sidebar-items.js b/db_sqlx_maria/dev/ops/sidebar-items.js index bd2eb249..765f2b9c 100644 --- a/db_sqlx_maria/dev/ops/sidebar-items.js +++ b/db_sqlx_maria/dev/ops/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.Connect.html b/db_sqlx_maria/dev/ops/trait.Connect.html index f4c65686..f0f19997 100644 --- a/db_sqlx_maria/dev/ops/trait.Connect.html +++ b/db_sqlx_maria/dev/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::ops - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.DBOps.html b/db_sqlx_maria/dev/ops/trait.DBOps.html index be91d6fa..cf568174 100644 --- a/db_sqlx_maria/dev/ops/trait.DBOps.html +++ b/db_sqlx_maria/dev/ops/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev::ops - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.GetConnection.html b/db_sqlx_maria/dev/ops/trait.GetConnection.html index 5a21b6a2..a2f82ffe 100644 --- a/db_sqlx_maria/dev/ops/trait.GetConnection.html +++ b/db_sqlx_maria/dev/ops/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev::ops - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/ops/trait.Migrate.html b/db_sqlx_maria/dev/ops/trait.Migrate.html index cce6f844..53933cd3 100644 --- a/db_sqlx_maria/dev/ops/trait.Migrate.html +++ b/db_sqlx_maria/dev/ops/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev::ops - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html b/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html index 920909a8..00f0749b 100644 --- a/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html +++ b/db_sqlx_maria/dev/prelude/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_maria::dev::prelude::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/enum.DBError.html b/db_sqlx_maria/dev/prelude/dev/enum.DBError.html index b8ae5ef4..1385c888 100644 --- a/db_sqlx_maria/dev/prelude/dev/enum.DBError.html +++ b/db_sqlx_maria/dev/prelude/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev::prelude::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/enum.Login.html b/db_sqlx_maria/dev/prelude/dev/enum.Login.html index 2fe2ccb3..9d40cdb4 100644 --- a/db_sqlx_maria/dev/prelude/dev/enum.Login.html +++ b/db_sqlx_maria/dev/prelude/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::dev::prelude::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/index.html b/db_sqlx_maria/dev/prelude/dev/index.html index 2bf78366..c79829cc 100644 --- a/db_sqlx_maria/dev/prelude/dev/index.html +++ b/db_sqlx_maria/dev/prelude/dev/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::dev::prelude::dev - Rust -
Expand description

useful imports for supporting a new database

Structs

Data required to add notification

@@ -32,5 +33,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/sidebar-items.js b/db_sqlx_maria/dev/prelude/dev/sidebar-items.js index 4cab52b1..b985d78d 100644 --- a/db_sqlx_maria/dev/prelude/dev/sidebar-items.js +++ b/db_sqlx_maria/dev/prelude/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html b/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html index 7d1fada4..39373159 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html index 773c6ca9..9bef8e16 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html index a1621976..bf7629ed 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Level.html b/db_sqlx_maria/dev/prelude/dev/struct.Level.html index 0f05f4dc..bbfc2241 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Level.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html index b42659bc..311a8e15 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html index c17972ff..540c9d38 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Register.html b/db_sqlx_maria/dev/prelude/dev/struct.Register.html index be62c7d3..11fb9246 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html index 1173b039..d1b53acc 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html index d31404fa..60e1c715 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html index cd7d526a..4e77f2d0 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html index e52eca4a..7f86ce44 100644 --- a/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::dev::prelude::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html index e77fa585..526089fd 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html index 2de232cd..cc7d3ef4 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html index b0b19e72..1847e10f 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html index 3dbd7686..d9eecc85 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html index 64699d2a..eee533d0 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html index d8879d61..c03156de 100644 --- a/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev::prelude::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html index aa6d07bd..f1629662 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev::prelude::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html index 3dab75fb..e85e1513 100644 --- a/db_sqlx_maria/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev::prelude::dev - Rust -
+

Type Definition db_sqlx_maria::dev::prelude::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/enum.DBError.html b/db_sqlx_maria/dev/prelude/enum.DBError.html index 4e824c1f..8ed96d96 100644 --- a/db_sqlx_maria/dev/prelude/enum.DBError.html +++ b/db_sqlx_maria/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/enum.Login.html b/db_sqlx_maria/dev/prelude/enum.Login.html index b0fbb38c..4f517469 100644 --- a/db_sqlx_maria/dev/prelude/enum.Login.html +++ b/db_sqlx_maria/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/index.html b/db_sqlx_maria/dev/prelude/index.html index 2f396d92..ef21e306 100644 --- a/db_sqlx_maria/dev/prelude/index.html +++ b/db_sqlx_maria/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Modules

useful imports for supporting a new database

@@ -33,5 +34,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/sidebar-items.js b/db_sqlx_maria/dev/prelude/sidebar-items.js index c23f2f03..65f35589 100644 --- a/db_sqlx_maria/dev/prelude/sidebar-items.js +++ b/db_sqlx_maria/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.AddNotification.html b/db_sqlx_maria/dev/prelude/struct.AddNotification.html index c42b144a..03fbe9d5 100644 --- a/db_sqlx_maria/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_maria/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Captcha.html b/db_sqlx_maria/dev/prelude/struct.Captcha.html index 1ad0e933..c367b06c 100644 --- a/db_sqlx_maria/dev/prelude/struct.Captcha.html +++ b/db_sqlx_maria/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html index f40b8344..6a4d827d 100644 --- a/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Level.html b/db_sqlx_maria/dev/prelude/struct.Level.html index 054c6130..918658f4 100644 --- a/db_sqlx_maria/dev/prelude/struct.Level.html +++ b/db_sqlx_maria/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.NameHash.html b/db_sqlx_maria/dev/prelude/struct.NameHash.html index 72656365..68d98f9f 100644 --- a/db_sqlx_maria/dev/prelude/struct.NameHash.html +++ b/db_sqlx_maria/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Notification.html b/db_sqlx_maria/dev/prelude/struct.Notification.html index 39e74c34..02359334 100644 --- a/db_sqlx_maria/dev/prelude/struct.Notification.html +++ b/db_sqlx_maria/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Register.html b/db_sqlx_maria/dev/prelude/struct.Register.html index fca1f2fb..2d9b07a0 100644 --- a/db_sqlx_maria/dev/prelude/struct.Register.html +++ b/db_sqlx_maria/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.Secret.html b/db_sqlx_maria/dev/prelude/struct.Secret.html index c8f0b71d..267e9c7a 100644 --- a/db_sqlx_maria/dev/prelude/struct.Secret.html +++ b/db_sqlx_maria/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html index 91cd7d5f..89c9e97f 100644 --- a/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html index eaf1d212..20bd1e56 100644 --- a/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html index d9c1f6d8..444b0f91 100644 --- a/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html index 767d7506..9891eb0b 100644 --- a/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Connect.html b/db_sqlx_maria/dev/prelude/trait.Connect.html index e73ed79c..37f2bab0 100644 --- a/db_sqlx_maria/dev/prelude/trait.Connect.html +++ b/db_sqlx_maria/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.DBOps.html b/db_sqlx_maria/dev/prelude/trait.DBOps.html index ed184ff3..c56fc596 100644 --- a/db_sqlx_maria/dev/prelude/trait.DBOps.html +++ b/db_sqlx_maria/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.GetConnection.html b/db_sqlx_maria/dev/prelude/trait.GetConnection.html index 7106f113..1349cc48 100644 --- a/db_sqlx_maria/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html index 37049647..b8e5bc88 100644 --- a/db_sqlx_maria/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/trait.Migrate.html b/db_sqlx_maria/dev/prelude/trait.Migrate.html index a9c75b6d..e20fc63b 100644 --- a/db_sqlx_maria/dev/prelude/trait.Migrate.html +++ b/db_sqlx_maria/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/type.BoxDynError.html b/db_sqlx_maria/dev/prelude/type.BoxDynError.html index 9759af08..48145010 100644 --- a/db_sqlx_maria/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/prelude/type.DBResult.html b/db_sqlx_maria/dev/prelude/type.DBResult.html index 5ce63ca3..c473bb3f 100644 --- a/db_sqlx_maria/dev/prelude/type.DBResult.html +++ b/db_sqlx_maria/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev::prelude - Rust -
+

Type Definition db_sqlx_maria::dev::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/sidebar-items.js b/db_sqlx_maria/dev/sidebar-items.js index bae92e28..4b939316 100644 --- a/db_sqlx_maria/dev/sidebar-items.js +++ b/db_sqlx_maria/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Error","Represents all the ways a method can fail within SQLx."],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Error","Represents all the ways a method can fail within SQLx."],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.AddNotification.html b/db_sqlx_maria/dev/struct.AddNotification.html index bf02bd23..a0bd1f56 100644 --- a/db_sqlx_maria/dev/struct.AddNotification.html +++ b/db_sqlx_maria/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Captcha.html b/db_sqlx_maria/dev/struct.Captcha.html index 1a44b8f3..47279114 100644 --- a/db_sqlx_maria/dev/struct.Captcha.html +++ b/db_sqlx_maria/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.CreateCaptcha.html b/db_sqlx_maria/dev/struct.CreateCaptcha.html index 250d2b17..a6adac0b 100644 --- a/db_sqlx_maria/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Level.html b/db_sqlx_maria/dev/struct.Level.html index f8966422..41c9b8fa 100644 --- a/db_sqlx_maria/dev/struct.Level.html +++ b/db_sqlx_maria/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.NameHash.html b/db_sqlx_maria/dev/struct.NameHash.html index b156c286..c1400a7d 100644 --- a/db_sqlx_maria/dev/struct.NameHash.html +++ b/db_sqlx_maria/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Notification.html b/db_sqlx_maria/dev/struct.Notification.html index 366f6faf..f06aa103 100644 --- a/db_sqlx_maria/dev/struct.Notification.html +++ b/db_sqlx_maria/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Register.html b/db_sqlx_maria/dev/struct.Register.html index d6dcdf26..39a9148b 100644 --- a/db_sqlx_maria/dev/struct.Register.html +++ b/db_sqlx_maria/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.Secret.html b/db_sqlx_maria/dev/struct.Secret.html index 972e11fb..543e5b2f 100644 --- a/db_sqlx_maria/dev/struct.Secret.html +++ b/db_sqlx_maria/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html index 87d270a2..ede93574 100644 --- a/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.TrafficPattern.html b/db_sqlx_maria/dev/struct.TrafficPattern.html index e5e62c2d..9e0c2cc9 100644 --- a/db_sqlx_maria/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/struct.UpdateEmail.html b/db_sqlx_maria/dev/struct.UpdateEmail.html index c4deaa9e..bca28ef1 100644 --- a/db_sqlx_maria/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/fn.database_works.html b/db_sqlx_maria/dev/tests/fn.database_works.html index f25203be..4cff29a7 100644 --- a/db_sqlx_maria/dev/tests/fn.database_works.html +++ b/db_sqlx_maria/dev/tests/fn.database_works.html @@ -1,9 +1,10 @@ -database_works in db_sqlx_maria::dev::tests - Rust -
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/index.html b/db_sqlx_maria/dev/tests/index.html index e3fda23a..011441e6 100644 --- a/db_sqlx_maria/dev/tests/index.html +++ b/db_sqlx_maria/dev/tests/index.html @@ -1,11 +1,12 @@ -db_sqlx_maria::dev::tests - Rust -
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/tests/sidebar-items.js b/db_sqlx_maria/dev/tests/sidebar-items.js index 55eac0b3..4939af2f 100644 --- a/db_sqlx_maria/dev/tests/sidebar-items.js +++ b/db_sqlx_maria/dev/tests/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["database_works","test all database functions"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/dev/trait.CloneSPDatabase.html index 7a15c01c..612787d1 100644 --- a/db_sqlx_maria/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Connect.html b/db_sqlx_maria/dev/trait.Connect.html index 3228f306..85227fb8 100644 --- a/db_sqlx_maria/dev/trait.Connect.html +++ b/db_sqlx_maria/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.DBOps.html b/db_sqlx_maria/dev/trait.DBOps.html index 8c7675f6..b5c1a2ad 100644 --- a/db_sqlx_maria/dev/trait.DBOps.html +++ b/db_sqlx_maria/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.GetConnection.html b/db_sqlx_maria/dev/trait.GetConnection.html index 2220374a..919268d8 100644 --- a/db_sqlx_maria/dev/trait.GetConnection.html +++ b/db_sqlx_maria/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.MCDatabase.html b/db_sqlx_maria/dev/trait.MCDatabase.html index b77eb257..ac5133a4 100644 --- a/db_sqlx_maria/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/trait.Migrate.html b/db_sqlx_maria/dev/trait.Migrate.html index e1144c62..d8463e9b 100644 --- a/db_sqlx_maria/dev/trait.Migrate.html +++ b/db_sqlx_maria/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/dev/type.BoxDynError.html b/db_sqlx_maria/dev/type.BoxDynError.html index 8bb3a2d6..9ad56afe 100644 --- a/db_sqlx_maria/dev/type.BoxDynError.html +++ b/db_sqlx_maria/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::dev - Rust -
+

Type Definition db_sqlx_maria::dev::BoxDynError

source · []
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/dev/type.DBResult.html b/db_sqlx_maria/dev/type.DBResult.html index 8a4f5ed0..a4215d3b 100644 --- a/db_sqlx_maria/dev/type.DBResult.html +++ b/db_sqlx_maria/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::dev - Rust -
+

Type Definition db_sqlx_maria::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/enum.ConnectionOptions.html b/db_sqlx_maria/enum.ConnectionOptions.html index beaeb00c..cbf691d8 100644 --- a/db_sqlx_maria/enum.ConnectionOptions.html +++ b/db_sqlx_maria/enum.ConnectionOptions.html @@ -1,9 +1,10 @@ -ConnectionOptions in db_sqlx_maria - Rust -
pub enum ConnectionOptions {
     Fresh(Fresh),
     Existing(Conn),
@@ -11,27 +12,27 @@
 

Variants

Fresh(Fresh)

fresh connection

Existing(Conn)

existing connection

Trait Implementations

database specific pool-type

-

database specific error-type +

database specific error-type create connection pool Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/errors/fn.map_register_err.html b/db_sqlx_maria/errors/fn.map_register_err.html index 5b725583..efe6f302 100644 --- a/db_sqlx_maria/errors/fn.map_register_err.html +++ b/db_sqlx_maria/errors/fn.map_register_err.html @@ -1,9 +1,10 @@ -map_register_err in db_sqlx_maria::errors - Rust -
pub fn map_register_err(e: Error) -> DBError
Expand description

map postgres errors to DBError types

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/errors/fn.map_row_not_found_err.html b/db_sqlx_maria/errors/fn.map_row_not_found_err.html index 7318ca26..57194d18 100644 --- a/db_sqlx_maria/errors/fn.map_row_not_found_err.html +++ b/db_sqlx_maria/errors/fn.map_row_not_found_err.html @@ -1,9 +1,10 @@ -map_row_not_found_err in db_sqlx_maria::errors - Rust -
pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
Expand description

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/errors/index.html b/db_sqlx_maria/errors/index.html index 9499c0b0..16219d67 100644 --- a/db_sqlx_maria/errors/index.html +++ b/db_sqlx_maria/errors/index.html @@ -1,12 +1,13 @@ -db_sqlx_maria::errors - Rust -
Expand description

Error-handling utilities

Functions

map postgres errors to DBError types

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/errors/sidebar-items.js b/db_sqlx_maria/errors/sidebar-items.js index 5e820f17..21f20eeb 100644 --- a/db_sqlx_maria/errors/sidebar-items.js +++ b/db_sqlx_maria/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["map_register_err","map postgres errors to DBError types"],["map_row_not_found_err","map custom row not found error to DB error"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["map_register_err","map postgres errors to DBError types"],["map_row_not_found_err","map custom row not found error to DB error"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/index.html b/db_sqlx_maria/index.html index dc34bad2..83421de7 100644 --- a/db_sqlx_maria/index.html +++ b/db_sqlx_maria/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria - Rust -

Modules

Error-handling utilities

Structs

@@ -11,5 +12,5 @@

Represents notification

Enums

Connect to database

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/attr.async_trait.html b/db_sqlx_maria/prelude/dev/attr.async_trait.html index 86fdc041..98e251c0 100644 --- a/db_sqlx_maria/prelude/dev/attr.async_trait.html +++ b/db_sqlx_maria/prelude/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_maria::prelude::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/enum.DBError.html b/db_sqlx_maria/prelude/dev/enum.DBError.html index fd1a3546..3613354d 100644 --- a/db_sqlx_maria/prelude/dev/enum.DBError.html +++ b/db_sqlx_maria/prelude/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::prelude::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/enum.Login.html b/db_sqlx_maria/prelude/dev/enum.Login.html index 3e33fe99..a379e577 100644 --- a/db_sqlx_maria/prelude/dev/enum.Login.html +++ b/db_sqlx_maria/prelude/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::prelude::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/index.html b/db_sqlx_maria/prelude/dev/index.html index a88351ec..84513b27 100644 --- a/db_sqlx_maria/prelude/dev/index.html +++ b/db_sqlx_maria/prelude/dev/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::prelude::dev - Rust -
Expand description

useful imports for supporting a new database

Modules

useful imports for users working with a supported database

@@ -34,5 +35,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/enum.DBError.html b/db_sqlx_maria/prelude/dev/prelude/enum.DBError.html index d7ba7b43..83496d8c 100644 --- a/db_sqlx_maria/prelude/dev/prelude/enum.DBError.html +++ b/db_sqlx_maria/prelude/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::prelude::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/enum.Login.html b/db_sqlx_maria/prelude/dev/prelude/enum.Login.html index 6ba595bc..90bf26c1 100644 --- a/db_sqlx_maria/prelude/dev/prelude/enum.Login.html +++ b/db_sqlx_maria/prelude/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::prelude::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/index.html b/db_sqlx_maria/prelude/dev/prelude/index.html index ea49eed5..10dcc13e 100644 --- a/db_sqlx_maria/prelude/dev/prelude/index.html +++ b/db_sqlx_maria/prelude/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::prelude::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Structs

Data required to add notification

@@ -31,5 +32,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/sidebar-items.js b/db_sqlx_maria/prelude/dev/prelude/sidebar-items.js index cf8a93da..0cfa29d1 100644 --- a/db_sqlx_maria/prelude/dev/prelude/sidebar-items.js +++ b/db_sqlx_maria/prelude/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.AddNotification.html b/db_sqlx_maria/prelude/dev/prelude/struct.AddNotification.html index c604c2d0..5abbb3fd 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.Captcha.html b/db_sqlx_maria/prelude/dev/prelude/struct.Captcha.html index f5120d3d..3063a60d 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.Captcha.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/prelude/dev/prelude/struct.CreateCaptcha.html index 98a4ca84..9dbea30b 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.Level.html b/db_sqlx_maria/prelude/dev/prelude/struct.Level.html index f1790d2e..39a3c5cd 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.Level.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.NameHash.html b/db_sqlx_maria/prelude/dev/prelude/struct.NameHash.html index 354c8c8d..abb3e864 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.NameHash.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.Notification.html b/db_sqlx_maria/prelude/dev/prelude/struct.Notification.html index f6cffd98..097303e1 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.Notification.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.Register.html b/db_sqlx_maria/prelude/dev/prelude/struct.Register.html index 866d4cc0..a998bf72 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.Register.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.Secret.html b/db_sqlx_maria/prelude/dev/prelude/struct.Secret.html index e7f3ad50..48e5614b 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.Secret.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/prelude/dev/prelude/struct.StatsUnixTimestamp.html index 522b1894..e5f135cb 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.TrafficPattern.html b/db_sqlx_maria/prelude/dev/prelude/struct.TrafficPattern.html index 562129cb..610eb21f 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/struct.UpdateEmail.html b/db_sqlx_maria/prelude/dev/prelude/struct.UpdateEmail.html index 0815b397..2818c8bb 100644 --- a/db_sqlx_maria/prelude/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/prelude/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::prelude::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/prelude/dev/prelude/trait.CloneSPDatabase.html index da764d2d..59c48e23 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.Connect.html b/db_sqlx_maria/prelude/dev/prelude/trait.Connect.html index 58ccfdfd..5d54b77d 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.Connect.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.DBOps.html b/db_sqlx_maria/prelude/dev/prelude/trait.DBOps.html index 96b17292..09836273 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.DBOps.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.GetConnection.html b/db_sqlx_maria/prelude/dev/prelude/trait.GetConnection.html index 5552c6b6..ac23456b 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.MCDatabase.html b/db_sqlx_maria/prelude/dev/prelude/trait.MCDatabase.html index 71736449..8c910588 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/trait.Migrate.html b/db_sqlx_maria/prelude/dev/prelude/trait.Migrate.html index 8cc15483..a4300009 100644 --- a/db_sqlx_maria/prelude/dev/prelude/trait.Migrate.html +++ b/db_sqlx_maria/prelude/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::prelude::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/type.BoxDynError.html b/db_sqlx_maria/prelude/dev/prelude/type.BoxDynError.html index 7da5ceb2..3ba5ea9f 100644 --- a/db_sqlx_maria/prelude/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/prelude/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::prelude::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/prelude/type.DBResult.html b/db_sqlx_maria/prelude/dev/prelude/type.DBResult.html index 7ceca991..48041c59 100644 --- a/db_sqlx_maria/prelude/dev/prelude/type.DBResult.html +++ b/db_sqlx_maria/prelude/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::prelude::dev::prelude - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/sidebar-items.js b/db_sqlx_maria/prelude/dev/sidebar-items.js index 14fa0d6e..469ac311 100644 --- a/db_sqlx_maria/prelude/dev/sidebar-items.js +++ b/db_sqlx_maria/prelude/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.AddNotification.html b/db_sqlx_maria/prelude/dev/struct.AddNotification.html index 07e311f5..134fcc4d 100644 --- a/db_sqlx_maria/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_maria/prelude/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::prelude::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.Captcha.html b/db_sqlx_maria/prelude/dev/struct.Captcha.html index b80e3d71..4e0d7caa 100644 --- a/db_sqlx_maria/prelude/dev/struct.Captcha.html +++ b/db_sqlx_maria/prelude/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::prelude::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_maria/prelude/dev/struct.CreateCaptcha.html index ee9167be..d6c11ecf 100644 --- a/db_sqlx_maria/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_maria/prelude/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::prelude::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.Level.html b/db_sqlx_maria/prelude/dev/struct.Level.html index e793efc9..db60604b 100644 --- a/db_sqlx_maria/prelude/dev/struct.Level.html +++ b/db_sqlx_maria/prelude/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::prelude::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.NameHash.html b/db_sqlx_maria/prelude/dev/struct.NameHash.html index 6e0c86d2..981334c1 100644 --- a/db_sqlx_maria/prelude/dev/struct.NameHash.html +++ b/db_sqlx_maria/prelude/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::prelude::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.Notification.html b/db_sqlx_maria/prelude/dev/struct.Notification.html index efc9fae0..ec80077e 100644 --- a/db_sqlx_maria/prelude/dev/struct.Notification.html +++ b/db_sqlx_maria/prelude/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::prelude::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.Register.html b/db_sqlx_maria/prelude/dev/struct.Register.html index bc504d1d..eac6d751 100644 --- a/db_sqlx_maria/prelude/dev/struct.Register.html +++ b/db_sqlx_maria/prelude/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::prelude::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.Secret.html b/db_sqlx_maria/prelude/dev/struct.Secret.html index 50f489ee..61fada72 100644 --- a/db_sqlx_maria/prelude/dev/struct.Secret.html +++ b/db_sqlx_maria/prelude/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::prelude::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_maria/prelude/dev/struct.StatsUnixTimestamp.html index 6c7a7de7..bf6f9cdb 100644 --- a/db_sqlx_maria/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::prelude::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.TrafficPattern.html b/db_sqlx_maria/prelude/dev/struct.TrafficPattern.html index 8ce6fa80..004247ad 100644 --- a/db_sqlx_maria/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_maria/prelude/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::prelude::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/struct.UpdateEmail.html b/db_sqlx_maria/prelude/dev/struct.UpdateEmail.html index 2be526cb..ce8b99ef 100644 --- a/db_sqlx_maria/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_maria/prelude/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::prelude::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_maria/prelude/dev/trait.CloneSPDatabase.html index b68a46f8..837ac747 100644 --- a/db_sqlx_maria/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/prelude/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::prelude::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.Connect.html b/db_sqlx_maria/prelude/dev/trait.Connect.html index a0654ec1..3fc8a5d5 100644 --- a/db_sqlx_maria/prelude/dev/trait.Connect.html +++ b/db_sqlx_maria/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::prelude::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.DBOps.html b/db_sqlx_maria/prelude/dev/trait.DBOps.html index 0f0f4eb0..49cc89a1 100644 --- a/db_sqlx_maria/prelude/dev/trait.DBOps.html +++ b/db_sqlx_maria/prelude/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::prelude::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.GetConnection.html b/db_sqlx_maria/prelude/dev/trait.GetConnection.html index 744d3b4b..051ed87d 100644 --- a/db_sqlx_maria/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_maria/prelude/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::prelude::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.MCDatabase.html b/db_sqlx_maria/prelude/dev/trait.MCDatabase.html index a9dbf6ab..688fc5a1 100644 --- a/db_sqlx_maria/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_maria/prelude/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::prelude::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/trait.Migrate.html b/db_sqlx_maria/prelude/dev/trait.Migrate.html index 0ed9cbcc..acc2454b 100644 --- a/db_sqlx_maria/prelude/dev/trait.Migrate.html +++ b/db_sqlx_maria/prelude/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::prelude::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/type.BoxDynError.html b/db_sqlx_maria/prelude/dev/type.BoxDynError.html index 411d9175..f2dcc728 100644 --- a/db_sqlx_maria/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_maria/prelude/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::prelude::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/dev/type.DBResult.html b/db_sqlx_maria/prelude/dev/type.DBResult.html index 6fb60bf5..3f1aa40c 100644 --- a/db_sqlx_maria/prelude/dev/type.DBResult.html +++ b/db_sqlx_maria/prelude/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::prelude::dev - Rust -
+

Type Definition db_sqlx_maria::prelude::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/enum.DBError.html b/db_sqlx_maria/prelude/enum.DBError.html index d52d0336..810ba35c 100644 --- a/db_sqlx_maria/prelude/enum.DBError.html +++ b/db_sqlx_maria/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/enum.Login.html b/db_sqlx_maria/prelude/enum.Login.html index cbcca163..98dbc5ca 100644 --- a/db_sqlx_maria/prelude/enum.Login.html +++ b/db_sqlx_maria/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_maria::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/errors/enum.DBError.html b/db_sqlx_maria/prelude/errors/enum.DBError.html index 325d8fa5..8d6c0047 100644 --- a/db_sqlx_maria/prelude/errors/enum.DBError.html +++ b/db_sqlx_maria/prelude/errors/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_maria::prelude::errors - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/errors/index.html b/db_sqlx_maria/prelude/errors/index.html index 92bd37c4..332006e5 100644 --- a/db_sqlx_maria/prelude/errors/index.html +++ b/db_sqlx_maria/prelude/errors/index.html @@ -1,14 +1,15 @@ -db_sqlx_maria::prelude::errors - Rust -
Expand description

represents all the ways a trait can fail using this crate

Enums

Error data structure grouping various error subtypes

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/errors/sidebar-items.js b/db_sqlx_maria/prelude/errors/sidebar-items.js index fdad20af..48f114ec 100644 --- a/db_sqlx_maria/prelude/errors/sidebar-items.js +++ b/db_sqlx_maria/prelude/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/errors/type.BoxDynError.html b/db_sqlx_maria/prelude/errors/type.BoxDynError.html index 90c26c40..10c7710d 100644 --- a/db_sqlx_maria/prelude/errors/type.BoxDynError.html +++ b/db_sqlx_maria/prelude/errors/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::prelude::errors - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/errors/type.DBResult.html b/db_sqlx_maria/prelude/errors/type.DBResult.html index c9cf9bf8..7ec5bac1 100644 --- a/db_sqlx_maria/prelude/errors/type.DBResult.html +++ b/db_sqlx_maria/prelude/errors/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::prelude::errors - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/index.html b/db_sqlx_maria/prelude/index.html index bc1ca156..c3d0162a 100644 --- a/db_sqlx_maria/prelude/index.html +++ b/db_sqlx_maria/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_maria::prelude - Rust -

Re-exports

pub use super::*;

Modules

useful imports for supporting a new database

@@ -36,5 +37,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/index.html b/db_sqlx_maria/prelude/ops/index.html index a2354c9a..f1381c26 100644 --- a/db_sqlx_maria/prelude/ops/index.html +++ b/db_sqlx_maria/prelude/ops/index.html @@ -1,14 +1,15 @@ -db_sqlx_maria::prelude::ops - Rust -
Expand description

meta operations like migration and connecting to a database

Traits

Create database connection

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/sidebar-items.js b/db_sqlx_maria/prelude/ops/sidebar-items.js index bd2eb249..765f2b9c 100644 --- a/db_sqlx_maria/prelude/ops/sidebar-items.js +++ b/db_sqlx_maria/prelude/ops/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/trait.Connect.html b/db_sqlx_maria/prelude/ops/trait.Connect.html index 21ed5fe7..5ec610c7 100644 --- a/db_sqlx_maria/prelude/ops/trait.Connect.html +++ b/db_sqlx_maria/prelude/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::prelude::ops - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/trait.DBOps.html b/db_sqlx_maria/prelude/ops/trait.DBOps.html index c6407f16..a9b401e3 100644 --- a/db_sqlx_maria/prelude/ops/trait.DBOps.html +++ b/db_sqlx_maria/prelude/ops/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::prelude::ops - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/trait.GetConnection.html b/db_sqlx_maria/prelude/ops/trait.GetConnection.html index ba6d0cab..ecef84fe 100644 --- a/db_sqlx_maria/prelude/ops/trait.GetConnection.html +++ b/db_sqlx_maria/prelude/ops/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::prelude::ops - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/ops/trait.Migrate.html b/db_sqlx_maria/prelude/ops/trait.Migrate.html index c2fea356..c2700b5e 100644 --- a/db_sqlx_maria/prelude/ops/trait.Migrate.html +++ b/db_sqlx_maria/prelude/ops/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::prelude::ops - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/sidebar-items.js b/db_sqlx_maria/prelude/sidebar-items.js index 99027678..31ee6230 100644 --- a/db_sqlx_maria/prelude/sidebar-items.js +++ b/db_sqlx_maria/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.AddNotification.html b/db_sqlx_maria/prelude/struct.AddNotification.html index d8561913..6150130b 100644 --- a/db_sqlx_maria/prelude/struct.AddNotification.html +++ b/db_sqlx_maria/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_maria::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.Captcha.html b/db_sqlx_maria/prelude/struct.Captcha.html index 171120db..edc68ab5 100644 --- a/db_sqlx_maria/prelude/struct.Captcha.html +++ b/db_sqlx_maria/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_maria::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/prelude/struct.CreateCaptcha.html index c3130318..f44bc1a2 100644 --- a/db_sqlx_maria/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_maria/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_maria::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.Level.html b/db_sqlx_maria/prelude/struct.Level.html index 58b61260..63059ade 100644 --- a/db_sqlx_maria/prelude/struct.Level.html +++ b/db_sqlx_maria/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_maria::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.NameHash.html b/db_sqlx_maria/prelude/struct.NameHash.html index 85839ce0..85e72cc6 100644 --- a/db_sqlx_maria/prelude/struct.NameHash.html +++ b/db_sqlx_maria/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_maria::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.Notification.html b/db_sqlx_maria/prelude/struct.Notification.html index 7b3ad18d..d810b0dd 100644 --- a/db_sqlx_maria/prelude/struct.Notification.html +++ b/db_sqlx_maria/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_maria::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.Register.html b/db_sqlx_maria/prelude/struct.Register.html index f00795b5..5053b9d0 100644 --- a/db_sqlx_maria/prelude/struct.Register.html +++ b/db_sqlx_maria/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_maria::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.Secret.html b/db_sqlx_maria/prelude/struct.Secret.html index 3d3218a3..cc118c0b 100644 --- a/db_sqlx_maria/prelude/struct.Secret.html +++ b/db_sqlx_maria/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_maria::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_maria/prelude/struct.StatsUnixTimestamp.html index 1cbc8319..f0067a96 100644 --- a/db_sqlx_maria/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_maria/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_maria::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.TrafficPattern.html b/db_sqlx_maria/prelude/struct.TrafficPattern.html index b3f91a96..2cf7cfe4 100644 --- a/db_sqlx_maria/prelude/struct.TrafficPattern.html +++ b/db_sqlx_maria/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_maria::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/struct.UpdateEmail.html b/db_sqlx_maria/prelude/struct.UpdateEmail.html index 1d4fad81..fa2857d3 100644 --- a/db_sqlx_maria/prelude/struct.UpdateEmail.html +++ b/db_sqlx_maria/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_maria::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/tests/fn.database_works.html b/db_sqlx_maria/prelude/tests/fn.database_works.html index 3501799f..a605c679 100644 --- a/db_sqlx_maria/prelude/tests/fn.database_works.html +++ b/db_sqlx_maria/prelude/tests/fn.database_works.html @@ -1,9 +1,10 @@ -database_works in db_sqlx_maria::prelude::tests - Rust -
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/tests/index.html b/db_sqlx_maria/prelude/tests/index.html index bcd0ac8a..a6cfa7a4 100644 --- a/db_sqlx_maria/prelude/tests/index.html +++ b/db_sqlx_maria/prelude/tests/index.html @@ -1,11 +1,12 @@ -db_sqlx_maria::prelude::tests - Rust -
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/tests/sidebar-items.js b/db_sqlx_maria/prelude/tests/sidebar-items.js index 55eac0b3..4939af2f 100644 --- a/db_sqlx_maria/prelude/tests/sidebar-items.js +++ b/db_sqlx_maria/prelude/tests/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["database_works","test all database functions"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.CloneSPDatabase.html b/db_sqlx_maria/prelude/trait.CloneSPDatabase.html index 35f308fe..34f7a639 100644 --- a/db_sqlx_maria/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_maria/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_maria::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.Connect.html b/db_sqlx_maria/prelude/trait.Connect.html index 470e1f8a..59a3623e 100644 --- a/db_sqlx_maria/prelude/trait.Connect.html +++ b/db_sqlx_maria/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_maria::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.DBOps.html b/db_sqlx_maria/prelude/trait.DBOps.html index 01e2fa42..092844bf 100644 --- a/db_sqlx_maria/prelude/trait.DBOps.html +++ b/db_sqlx_maria/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_maria::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.GetConnection.html b/db_sqlx_maria/prelude/trait.GetConnection.html index 158eb7c2..922eac9d 100644 --- a/db_sqlx_maria/prelude/trait.GetConnection.html +++ b/db_sqlx_maria/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_maria::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.MCDatabase.html b/db_sqlx_maria/prelude/trait.MCDatabase.html index bac7be8b..1a614122 100644 --- a/db_sqlx_maria/prelude/trait.MCDatabase.html +++ b/db_sqlx_maria/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_maria::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/trait.Migrate.html b/db_sqlx_maria/prelude/trait.Migrate.html index 64890152..161a6026 100644 --- a/db_sqlx_maria/prelude/trait.Migrate.html +++ b/db_sqlx_maria/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_maria::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_maria/prelude/type.BoxDynError.html b/db_sqlx_maria/prelude/type.BoxDynError.html index 674e154f..647a3b4c 100644 --- a/db_sqlx_maria/prelude/type.BoxDynError.html +++ b/db_sqlx_maria/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_maria::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_maria/prelude/type.DBResult.html b/db_sqlx_maria/prelude/type.DBResult.html index a19b2c2c..95eebcd1 100644 --- a/db_sqlx_maria/prelude/type.DBResult.html +++ b/db_sqlx_maria/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_maria::prelude - Rust -
+

Type Definition db_sqlx_maria::prelude::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_maria/sidebar-items.js b/db_sqlx_maria/sidebar-items.js index 09f5d118..9dd85c80 100644 --- a/db_sqlx_maria/sidebar-items.js +++ b/db_sqlx_maria/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["ConnectionOptions","Connect to database"]],"mod":[["dev",""],["errors","Error-handling utilities"],["prelude",""]],"struct":[["Conn","Use an existing database pool"],["Database",""],["Fresh",""],["InnerNotification","Represents notification"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["ConnectionOptions","Connect to database"]],"mod":[["dev",""],["errors","Error-handling utilities"],["prelude",""]],"struct":[["Conn","Use an existing database pool"],["Database",""],["Fresh",""],["InnerNotification","Represents notification"]]}; \ No newline at end of file diff --git a/db_sqlx_maria/struct.Conn.html b/db_sqlx_maria/struct.Conn.html index 1a2267bd..d0f7d0dd 100644 --- a/db_sqlx_maria/struct.Conn.html +++ b/db_sqlx_maria/struct.Conn.html @@ -1,29 +1,30 @@ -Conn in db_sqlx_maria - Rust -
pub struct Conn(pub MySqlPool);
Expand description

Use an existing database pool

-

Tuple Fields

0: MySqlPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Tuple Fields

0: MySqlPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/struct.Database.html b/db_sqlx_maria/struct.Database.html index 6f71933f..a24453de 100644 --- a/db_sqlx_maria/struct.Database.html +++ b/db_sqlx_maria/struct.Database.html @@ -1,74 +1,75 @@ -Database in db_sqlx_maria - Rust -
pub struct Database {
     pub pool: MySqlPool,
-}

Fields

pool: MySqlPool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

database specific error-type +}

Fields

pool: MySqlPool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

database specific error-type run migrations Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

clone DB

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

clone DB

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/struct.Fresh.html b/db_sqlx_maria/struct.Fresh.html index 88425e0d..edf2aaea 100644 --- a/db_sqlx_maria/struct.Fresh.html +++ b/db_sqlx_maria/struct.Fresh.html @@ -1,32 +1,33 @@ -Fresh in db_sqlx_maria - Rust -
pub struct Fresh {
     pub pool_options: MySqlPoolOptions,
-    pub disable_logging: bool,
-    pub url: String,
-}

Fields

pool_options: MySqlPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub disable_logging: bool, + pub url: String, +}

Fields

pool_options: MySqlPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_maria/struct.InnerNotification.html b/db_sqlx_maria/struct.InnerNotification.html index 99d06515..386dd2cb 100644 --- a/db_sqlx_maria/struct.InnerNotification.html +++ b/db_sqlx_maria/struct.InnerNotification.html @@ -1,50 +1,51 @@ -InnerNotification in db_sqlx_maria - Rust -
pub struct InnerNotification {
-    pub name: String,
-    pub heading: String,
-    pub message: String,
+    pub name: String,
+    pub heading: String,
+    pub message: String,
     pub received: OffsetDateTime,
-    pub id: i32,
+    pub id: i32,
 }
Expand description

Represents notification

-

Fields

name: String

receiver name of the notification

-
heading: String

heading of the notification

-
message: String

message of the notification

+

Fields

name: String

receiver name of the notification

+
heading: String

heading of the notification

+
message: String

message of the notification

received: OffsetDateTime

when notification was received

-
id: i32

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+
id: i32

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/all.html b/db_sqlx_postgres/all.html index fef00d51..b95a558f 100644 --- a/db_sqlx_postgres/all.html +++ b/db_sqlx_postgres/all.html @@ -1,7 +1,8 @@ -List of all items in this crate -

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/attr.async_trait.html b/db_sqlx_postgres/dev/attr.async_trait.html index 0018df19..8e4be2c2 100644 --- a/db_sqlx_postgres/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_postgres::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/attr.async_trait.html b/db_sqlx_postgres/dev/dev/attr.async_trait.html index fa427c9d..870cc5d8 100644 --- a/db_sqlx_postgres/dev/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_postgres::dev::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/enum.DBError.html b/db_sqlx_postgres/dev/dev/enum.DBError.html index 9dc0b2a3..452b6873 100644 --- a/db_sqlx_postgres/dev/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/enum.Login.html b/db_sqlx_postgres/dev/dev/enum.Login.html index 4d984776..309e6fbf 100644 --- a/db_sqlx_postgres/dev/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::dev::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/errors/enum.DBError.html b/db_sqlx_postgres/dev/dev/errors/enum.DBError.html new file mode 100644 index 00000000..24b27115 --- /dev/null +++ b/db_sqlx_postgres/dev/dev/errors/enum.DBError.html @@ -0,0 +1,56 @@ +DBError in db_sqlx_postgres::dev::dev::errors - Rust +
pub enum DBError {
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
+    UsernameTaken,
+    EmailTaken,
+    SecretTaken,
+    CaptchaKeyTaken,
+    AccountNotFound,
+    CaptchaNotFound,
+    TrafficPatternNotFound,
+    NotificationNotFound,
+}
Expand description

Error data structure grouping various error subtypes

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

+

UsernameTaken

Username is taken

+

EmailTaken

Email is taken

+

SecretTaken

Secret is taken

+

CaptchaKeyTaken

Captcha key is taken

+

AccountNotFound

Account not found

+

CaptchaNotFound

Captcha not found

+

TrafficPatternNotFound

Traffic pattern not found

+

NotificationNotFound

Notification not found

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/errors/index.html b/db_sqlx_postgres/dev/dev/errors/index.html new file mode 100644 index 00000000..74de336c --- /dev/null +++ b/db_sqlx_postgres/dev/dev/errors/index.html @@ -0,0 +1,15 @@ +db_sqlx_postgres::dev::dev::errors - Rust +
Expand description

represents all the ways a trait can fail using this crate

+

Enums

+

Error data structure grouping various error subtypes

+

Type Definitions

+

Convenience type alias for grouping driver-specific errors

+

Generic result data structure

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/errors/sidebar-items.js b/db_sqlx_postgres/dev/dev/errors/sidebar-items.js new file mode 100644 index 00000000..48f114ec --- /dev/null +++ b/db_sqlx_postgres/dev/dev/errors/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/errors/type.BoxDynError.html b/db_sqlx_postgres/dev/dev/errors/type.BoxDynError.html new file mode 100644 index 00000000..3d5f51bd --- /dev/null +++ b/db_sqlx_postgres/dev/dev/errors/type.BoxDynError.html @@ -0,0 +1,10 @@ +BoxDynError in db_sqlx_postgres::dev::dev::errors - Rust +
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/errors/type.DBResult.html b/db_sqlx_postgres/dev/dev/errors/type.DBResult.html new file mode 100644 index 00000000..f7f95643 --- /dev/null +++ b/db_sqlx_postgres/dev/dev/errors/type.DBResult.html @@ -0,0 +1,10 @@ +DBResult in db_sqlx_postgres::dev::dev::errors - Rust +
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/index.html b/db_sqlx_postgres/dev/dev/index.html index 20d01009..3bb2af78 100644 --- a/db_sqlx_postgres/dev/dev/index.html +++ b/db_sqlx_postgres/dev/dev/index.html @@ -1,12 +1,16 @@ -db_sqlx_postgres::dev::dev - Rust -
Expand description

useful imports for supporting a new database

Modules

-

useful imports for users working with a supported database

+

represents all the ways a trait can fail using this crate

+

meta operations like migration and connecting to a database

+

useful imports for users working with a supported database

+

Test utilities

Structs

Data required to add notification

Data representing a captcha

@@ -34,5 +38,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/index.html b/db_sqlx_postgres/dev/dev/ops/index.html new file mode 100644 index 00000000..1985e86d --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/index.html @@ -0,0 +1,15 @@ +db_sqlx_postgres::dev::dev::ops - Rust +
Expand description

meta operations like migration and connecting to a database

+

Traits

+

Create database connection

+

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Get database connection

+

database migrations

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/sidebar-items.js b/db_sqlx_postgres/dev/dev/ops/sidebar-items.js new file mode 100644 index 00000000..765f2b9c --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/trait.Connect.html b/db_sqlx_postgres/dev/dev/ops/trait.Connect.html new file mode 100644 index 00000000..190e3e1e --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/trait.Connect.html @@ -0,0 +1,17 @@ +Connect in db_sqlx_postgres::dev::dev::ops - Rust +
pub trait Connect {
+    type Pool: MCDatabase;
+
+    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; +}
Expand description

Create database connection

+

Required Associated Types

database specific pool-type

+

Required Methods

database specific error-type +create connection pool

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/trait.DBOps.html b/db_sqlx_postgres/dev/dev/ops/trait.DBOps.html new file mode 100644 index 00000000..dd6c96e3 --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/trait.DBOps.html @@ -0,0 +1,10 @@ +DBOps in db_sqlx_postgres::dev::dev::ops - Rust +
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/trait.GetConnection.html b/db_sqlx_postgres/dev/dev/ops/trait.GetConnection.html new file mode 100644 index 00000000..6146c148 --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/trait.GetConnection.html @@ -0,0 +1,17 @@ +GetConnection in db_sqlx_postgres::dev::dev::ops - Rust +
pub trait GetConnection {
+    type Conn;
+
+    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; +}
Expand description

Get database connection

+

Required Associated Types

database connection type

+

Required Methods

database specific error-type +get connection from connection pool

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/ops/trait.Migrate.html b/db_sqlx_postgres/dev/dev/ops/trait.Migrate.html new file mode 100644 index 00000000..d9760920 --- /dev/null +++ b/db_sqlx_postgres/dev/dev/ops/trait.Migrate.html @@ -0,0 +1,14 @@ +Migrate in db_sqlx_postgres::dev::dev::ops - Rust +
pub trait Migrate: MCDatabase {
+    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; +}
Expand description

database migrations

+

Required Methods

database specific error-type +run migrations

+

Implementors

+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html index 5e17d73b..b769b014 100644 --- a/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/dev/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/dev/prelude/enum.Login.html index ec157b33..ce6772c9 100644 --- a/db_sqlx_postgres/dev/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::dev::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/index.html b/db_sqlx_postgres/dev/dev/prelude/index.html index baca6ae7..9b686c07 100644 --- a/db_sqlx_postgres/dev/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::dev::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Structs

Data required to add notification

@@ -31,5 +32,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/sidebar-items.js b/db_sqlx_postgres/dev/dev/prelude/sidebar-items.js index cf8a93da..0cfa29d1 100644 --- a/db_sqlx_postgres/dev/dev/prelude/sidebar-items.js +++ b/db_sqlx_postgres/dev/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html index 4dc25722..ca3e6604 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html index 7d8b1e2a..8cdd4d3a 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html index 6b4ca23c..1c558339 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Level.html b/db_sqlx_postgres/dev/dev/prelude/struct.Level.html index 2c48c3f7..9d21bd45 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html index 722984c7..561b3c85 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html index da9d8974..38f6806b 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/dev/prelude/struct.Register.html index ab84b3e4..d241c10e 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html index 7ca20021..6974564c 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html index 16fb1c01..fcefa22e 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html index 946a09eb..d486a81a 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html index 551a7563..6b0cc137 100644 --- a/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::dev::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html index a511679e..745b5b7b 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html index 5992761b..3ab52320 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html index f214fdc0..c78f6a1f 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html index 1aa9be95..dec60a1d 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html index e793f1b8..2da53ee1 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html index 863ba792..6ae881c0 100644 --- a/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html index df70a3ce..84d2ada8 100644 --- a/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html index f8c3f0c3..a93fcdba 100644 --- a/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev::dev::prelude - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/sidebar-items.js b/db_sqlx_postgres/dev/dev/sidebar-items.js index 14fa0d6e..b05590f6 100644 --- a/db_sqlx_postgres/dev/dev/sidebar-items.js +++ b/db_sqlx_postgres/dev/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/dev/struct.AddNotification.html index 08455121..6f40a563 100644 --- a/db_sqlx_postgres/dev/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::dev::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Captcha.html b/db_sqlx_postgres/dev/dev/struct.Captcha.html index 978428ad..2186be0d 100644 --- a/db_sqlx_postgres/dev/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::dev::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html index a7ab018d..5f972771 100644 --- a/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::dev::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Level.html b/db_sqlx_postgres/dev/dev/struct.Level.html index 136ee4f8..6cfcd485 100644 --- a/db_sqlx_postgres/dev/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::dev::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.NameHash.html b/db_sqlx_postgres/dev/dev/struct.NameHash.html index 51e1dcc7..14e8bd3b 100644 --- a/db_sqlx_postgres/dev/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::dev::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Notification.html b/db_sqlx_postgres/dev/dev/struct.Notification.html index c4440fb8..72a683a7 100644 --- a/db_sqlx_postgres/dev/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::dev::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Register.html b/db_sqlx_postgres/dev/dev/struct.Register.html index 0725ce1e..76551518 100644 --- a/db_sqlx_postgres/dev/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::dev::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.Secret.html b/db_sqlx_postgres/dev/dev/struct.Secret.html index 92af5768..da94351c 100644 --- a/db_sqlx_postgres/dev/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::dev::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html index 7320568c..7d676b12 100644 --- a/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html index 4dded0c3..2d9a75f2 100644 --- a/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::dev::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html index ac1bbb77..130da4ed 100644 --- a/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::dev::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/tests/fn.database_works.html b/db_sqlx_postgres/dev/dev/tests/fn.database_works.html new file mode 100644 index 00000000..c5ef9a9b --- /dev/null +++ b/db_sqlx_postgres/dev/dev/tests/fn.database_works.html @@ -0,0 +1,10 @@ +database_works in db_sqlx_postgres::dev::dev::tests - Rust +
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/tests/index.html b/db_sqlx_postgres/dev/dev/tests/index.html new file mode 100644 index 00000000..73f2840b --- /dev/null +++ b/db_sqlx_postgres/dev/dev/tests/index.html @@ -0,0 +1,12 @@ +db_sqlx_postgres::dev::dev::tests - Rust +
Expand description

Test utilities

+

Functions

+

test all database functions

+
+ \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/tests/sidebar-items.js b/db_sqlx_postgres/dev/dev/tests/sidebar-items.js new file mode 100644 index 00000000..4939af2f --- /dev/null +++ b/db_sqlx_postgres/dev/dev/tests/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html index 8d254ded..cf8bb798 100644 --- a/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::dev::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.Connect.html b/db_sqlx_postgres/dev/dev/trait.Connect.html index 143dc08c..64551139 100644 --- a/db_sqlx_postgres/dev/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.DBOps.html b/db_sqlx_postgres/dev/dev/trait.DBOps.html index 3faaf07b..fea50eb8 100644 --- a/db_sqlx_postgres/dev/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/dev/trait.GetConnection.html index 60623946..36ec29cf 100644 --- a/db_sqlx_postgres/dev/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/dev/trait.MCDatabase.html index faf175fe..49383660 100644 --- a/db_sqlx_postgres/dev/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::dev::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/trait.Migrate.html b/db_sqlx_postgres/dev/dev/trait.Migrate.html index d7e2f002..e537f505 100644 --- a/db_sqlx_postgres/dev/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/dev/type.BoxDynError.html index 1846d3af..e2117499 100644 --- a/db_sqlx_postgres/dev/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/dev/type.DBResult.html b/db_sqlx_postgres/dev/dev/type.DBResult.html index c7e8f3d2..d0ce9684 100644 --- a/db_sqlx_postgres/dev/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev::dev - Rust -
+

Type Definition db_sqlx_postgres::dev::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.DBError.html b/db_sqlx_postgres/dev/enum.DBError.html index eb54cde6..c400f482 100644 --- a/db_sqlx_postgres/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Error.html b/db_sqlx_postgres/dev/enum.Error.html index 8ed0d81d..2146423b 100644 --- a/db_sqlx_postgres/dev/enum.Error.html +++ b/db_sqlx_postgres/dev/enum.Error.html @@ -1,82 +1,83 @@ -Error in db_sqlx_postgres::dev - Rust -
#[non_exhaustive]
 pub enum Error {
-
Show 15 variants Configuration(Box<dyn Error + Sync + Send + 'static, Global>), - Database(Box<dyn DatabaseError + 'static, Global>), - Io(Error), - Tls(Box<dyn Error + Sync + Send + 'static, Global>), - Protocol(String), +
Show 15 variants Configuration(Box<dyn Error + Send + Sync + 'static, Global>), + Database(Box<dyn DatabaseError + 'static, Global>), + Io(Error), + Tls(Box<dyn Error + Send + Sync + 'static, Global>), + Protocol(String), RowNotFound, TypeNotFound { - type_name: String, + type_name: String, }, ColumnIndexOutOfBounds { - index: usize, - len: usize, + index: usize, + len: usize, }, - ColumnNotFound(String), + ColumnNotFound(String), ColumnDecode { - index: String, - source: Box<dyn Error + Sync + Send + 'static, Global>, + index: String, + source: Box<dyn Error + Send + Sync + 'static, Global>, }, - Decode(Box<dyn Error + Sync + Send + 'static, Global>), + Decode(Box<dyn Error + Send + Sync + 'static, Global>), PoolTimedOut, PoolClosed, WorkerCrashed, - Migrate(Box<MigrateError, Global>), + Migrate(Box<MigrateError, Global>),
}
Expand description

Represents all the ways a method can fail within SQLx.

-

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Configuration(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while parsing a connection string.

-

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

-

Io(Error)

Error communicating with the database backend.

-

Tls(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

-

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Configuration(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while parsing a connection string.

+

Database(Box<dyn DatabaseError + 'static, Global>)

Error returned from the database.

+

Io(Error)

Error communicating with the database backend.

+

Tls(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while attempting to establish a TLS connection.

+

Protocol(String)

Unexpected or invalid data encountered while communicating with the database.

This should indicate there is a programming error in a SQLx driver or there is something corrupted with the connection to the database itself.

RowNotFound

No rows returned by a query that expected to return at least one row.

-

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

-

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

-

ColumnNotFound(String)

No column found for the given name.

-

ColumnDecode

Fields

index: String
source: Box<dyn Error + Sync + Send + 'static, Global>

Error occurred while decoding a value from a specific column.

-

Decode(Box<dyn Error + Sync + Send + 'static, Global>)

Error occurred while decoding a value.

+

TypeNotFound

Fields

type_name: String

Type in query doesn’t exist. Likely due to typo or missing user type.

+

ColumnIndexOutOfBounds

Fields

index: usize
len: usize

Column index was out of bounds.

+

ColumnNotFound(String)

No column found for the given name.

+

ColumnDecode

Fields

index: String
source: Box<dyn Error + Send + Sync + 'static, Global>

Error occurred while decoding a value from a specific column.

+

Decode(Box<dyn Error + Send + Sync + 'static, Global>)

Error occurred while decoding a value.

PoolTimedOut

A Pool::acquire timed out due to connections not becoming available or because another task encountered too many errors while trying to open a new connection.

PoolClosed

Pool::close was called while we were waiting in Pool::acquire.

WorkerCrashed

A background worker has crashed.

-

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Migrate(Box<MigrateError, Global>)

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/enum.Login.html b/db_sqlx_postgres/dev/enum.Login.html index d09d9df0..61b3403d 100644 --- a/db_sqlx_postgres/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/enum.DBError.html b/db_sqlx_postgres/dev/errors/enum.DBError.html index d3ff59ab..ca20e96e 100644 --- a/db_sqlx_postgres/dev/errors/enum.DBError.html +++ b/db_sqlx_postgres/dev/errors/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev::errors - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/index.html b/db_sqlx_postgres/dev/errors/index.html index be1669b4..df96e32f 100644 --- a/db_sqlx_postgres/dev/errors/index.html +++ b/db_sqlx_postgres/dev/errors/index.html @@ -1,14 +1,15 @@ -db_sqlx_postgres::dev::errors - Rust -
Expand description

represents all the ways a trait can fail using this crate

Enums

Error data structure grouping various error subtypes

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/sidebar-items.js b/db_sqlx_postgres/dev/errors/sidebar-items.js index fdad20af..48f114ec 100644 --- a/db_sqlx_postgres/dev/errors/sidebar-items.js +++ b/db_sqlx_postgres/dev/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.BoxDynError.html b/db_sqlx_postgres/dev/errors/type.BoxDynError.html index 56559fca..c5fc7f4e 100644 --- a/db_sqlx_postgres/dev/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/errors/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev::errors - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/errors/type.DBResult.html b/db_sqlx_postgres/dev/errors/type.DBResult.html index c5a5f7b0..06bd2f59 100644 --- a/db_sqlx_postgres/dev/errors/type.DBResult.html +++ b/db_sqlx_postgres/dev/errors/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev::errors - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/index.html b/db_sqlx_postgres/dev/index.html index 3fc463ec..72319e51 100644 --- a/db_sqlx_postgres/dev/index.html +++ b/db_sqlx_postgres/dev/index.html @@ -1,11 +1,12 @@ -db_sqlx_postgres::dev - Rust -

Re-exports

-
pub use super::errors::*;
pub use super::Database;

Modules

+
pub use super::Database;
pub use super::errors::*;

Modules

useful imports for supporting a new database

represents all the ways a trait can fail using this crate

meta operations like migration and connecting to a database

@@ -39,5 +40,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/index.html b/db_sqlx_postgres/dev/ops/index.html index 588f26b8..036f1300 100644 --- a/db_sqlx_postgres/dev/ops/index.html +++ b/db_sqlx_postgres/dev/ops/index.html @@ -1,14 +1,15 @@ -db_sqlx_postgres::dev::ops - Rust -
Expand description

meta operations like migration and connecting to a database

Traits

Create database connection

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/sidebar-items.js b/db_sqlx_postgres/dev/ops/sidebar-items.js index bd2eb249..765f2b9c 100644 --- a/db_sqlx_postgres/dev/ops/sidebar-items.js +++ b/db_sqlx_postgres/dev/ops/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Connect.html b/db_sqlx_postgres/dev/ops/trait.Connect.html index 3e3f41b0..14b65ca0 100644 --- a/db_sqlx_postgres/dev/ops/trait.Connect.html +++ b/db_sqlx_postgres/dev/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::ops - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.DBOps.html b/db_sqlx_postgres/dev/ops/trait.DBOps.html index 3b55c9f4..0cc3548f 100644 --- a/db_sqlx_postgres/dev/ops/trait.DBOps.html +++ b/db_sqlx_postgres/dev/ops/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev::ops - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.GetConnection.html b/db_sqlx_postgres/dev/ops/trait.GetConnection.html index ac1045e5..f288aae1 100644 --- a/db_sqlx_postgres/dev/ops/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/ops/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev::ops - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/ops/trait.Migrate.html b/db_sqlx_postgres/dev/ops/trait.Migrate.html index 5c29378c..4f41a29d 100644 --- a/db_sqlx_postgres/dev/ops/trait.Migrate.html +++ b/db_sqlx_postgres/dev/ops/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev::ops - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html index a88093e4..e80f0aa1 100644 --- a/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html +++ b/db_sqlx_postgres/dev/prelude/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_postgres::dev::prelude::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html index 9eefc1dc..f57a9e69 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev::prelude::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html index 1e2472c6..f6a09081 100644 --- a/db_sqlx_postgres/dev/prelude/dev/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::dev::prelude::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/index.html b/db_sqlx_postgres/dev/prelude/dev/index.html index 12364fad..bc04418e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/index.html +++ b/db_sqlx_postgres/dev/prelude/dev/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::dev::prelude::dev - Rust -
Expand description

useful imports for supporting a new database

Structs

Data required to add notification

@@ -32,5 +33,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/sidebar-items.js b/db_sqlx_postgres/dev/prelude/dev/sidebar-items.js index 4cab52b1..b985d78d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/sidebar-items.js +++ b/db_sqlx_postgres/dev/prelude/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html index 258c3b0d..33e80e4d 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html index c55f055d..d9ed5dc4 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html index 2e2eaa8e..20156dc8 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html index 583c2e7b..0ec9c2fc 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html index dbf848bf..92399654 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html index 4b87f201..32f01a5e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html index 947c39fe..154c9f2e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html index 31ed3165..d5559479 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html index a6ae961f..68679f18 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html index 1c58538d..10107036 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html index 01f3178e..82cc83ed 100644 --- a/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html index ecc0280d..5e45742c 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html index 82389368..62c7fbc9 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html index 6c027983..b301b3c6 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html index a2c11ad6..3ebd52a3 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html index cc9d0422..ae938f66 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html index 81c1e021..f668193e 100644 --- a/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev::prelude::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html index e72133f5..2e6808c2 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev::prelude::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html index 6c9f8013..15beb707 100644 --- a/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev::prelude::dev - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.DBError.html b/db_sqlx_postgres/dev/prelude/enum.DBError.html index a7de7646..54911d7a 100644 --- a/db_sqlx_postgres/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/enum.Login.html b/db_sqlx_postgres/dev/prelude/enum.Login.html index 11692393..a5688692 100644 --- a/db_sqlx_postgres/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/index.html b/db_sqlx_postgres/dev/prelude/index.html index a8f0ca99..5372f918 100644 --- a/db_sqlx_postgres/dev/prelude/index.html +++ b/db_sqlx_postgres/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Modules

useful imports for supporting a new database

@@ -33,5 +34,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/sidebar-items.js b/db_sqlx_postgres/dev/prelude/sidebar-items.js index c23f2f03..65f35589 100644 --- a/db_sqlx_postgres/dev/prelude/sidebar-items.js +++ b/db_sqlx_postgres/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html index 29543b6e..c1c2833d 100644 --- a/db_sqlx_postgres/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/dev/prelude/struct.Captcha.html index db05d7de..a42d61c3 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html index f0f92b3d..a3f6cd32 100644 --- a/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Level.html b/db_sqlx_postgres/dev/prelude/struct.Level.html index 76263eb7..af75e348 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/dev/prelude/struct.NameHash.html index ba2b5e3c..c9f80f4c 100644 --- a/db_sqlx_postgres/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Notification.html b/db_sqlx_postgres/dev/prelude/struct.Notification.html index b7b98e70..dfa8d426 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Register.html b/db_sqlx_postgres/dev/prelude/struct.Register.html index 05c58e3a..3b011f93 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.Secret.html b/db_sqlx_postgres/dev/prelude/struct.Secret.html index 3f15a6ab..fe0bed7c 100644 --- a/db_sqlx_postgres/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html index 65a61737..9fed201d 100644 --- a/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html index 9e670ffe..079786a9 100644 --- a/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html index 67b73e34..9552fe6b 100644 --- a/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html index f84f2ac6..33522f8b 100644 --- a/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Connect.html b/db_sqlx_postgres/dev/prelude/trait.Connect.html index f90a6335..78e638ac 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/dev/prelude/trait.DBOps.html index bd18e6fb..36fe3c11 100644 --- a/db_sqlx_postgres/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html index 54951664..e7796d0b 100644 --- a/db_sqlx_postgres/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html index 64828a63..5b22139b 100644 --- a/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/dev/prelude/trait.Migrate.html index dd22d907..a244d49b 100644 --- a/db_sqlx_postgres/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html index c8871cc8..49c58c71 100644 --- a/db_sqlx_postgres/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/prelude/type.DBResult.html b/db_sqlx_postgres/dev/prelude/type.DBResult.html index 8f8b9865..bdcc5f34 100644 --- a/db_sqlx_postgres/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev::prelude - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/sidebar-items.js b/db_sqlx_postgres/dev/sidebar-items.js index bae92e28..4b939316 100644 --- a/db_sqlx_postgres/dev/sidebar-items.js +++ b/db_sqlx_postgres/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Error","Represents all the ways a method can fail within SQLx."],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Error","Represents all the ways a method can fail within SQLx."],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["prelude","useful imports for users working with a supported database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.AddNotification.html b/db_sqlx_postgres/dev/struct.AddNotification.html index 5983f44f..c72ada59 100644 --- a/db_sqlx_postgres/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Captcha.html b/db_sqlx_postgres/dev/struct.Captcha.html index 46883dd1..63ca6a64 100644 --- a/db_sqlx_postgres/dev/struct.Captcha.html +++ b/db_sqlx_postgres/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/dev/struct.CreateCaptcha.html index b2e8776c..bd05bad1 100644 --- a/db_sqlx_postgres/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Level.html b/db_sqlx_postgres/dev/struct.Level.html index cebe3147..44ac15a4 100644 --- a/db_sqlx_postgres/dev/struct.Level.html +++ b/db_sqlx_postgres/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.NameHash.html b/db_sqlx_postgres/dev/struct.NameHash.html index c766c967..a2808582 100644 --- a/db_sqlx_postgres/dev/struct.NameHash.html +++ b/db_sqlx_postgres/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Notification.html b/db_sqlx_postgres/dev/struct.Notification.html index 97a45845..8b1c945f 100644 --- a/db_sqlx_postgres/dev/struct.Notification.html +++ b/db_sqlx_postgres/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Register.html b/db_sqlx_postgres/dev/struct.Register.html index 526a77f0..284f97d0 100644 --- a/db_sqlx_postgres/dev/struct.Register.html +++ b/db_sqlx_postgres/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.Secret.html b/db_sqlx_postgres/dev/struct.Secret.html index 9c28765b..6da267a7 100644 --- a/db_sqlx_postgres/dev/struct.Secret.html +++ b/db_sqlx_postgres/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html index abc5a879..9adaebd3 100644 --- a/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.TrafficPattern.html b/db_sqlx_postgres/dev/struct.TrafficPattern.html index 2432763a..4c8abcbc 100644 --- a/db_sqlx_postgres/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/struct.UpdateEmail.html b/db_sqlx_postgres/dev/struct.UpdateEmail.html index 60a6624b..bb6d1530 100644 --- a/db_sqlx_postgres/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/fn.database_works.html b/db_sqlx_postgres/dev/tests/fn.database_works.html index 8ceeebce..f710112b 100644 --- a/db_sqlx_postgres/dev/tests/fn.database_works.html +++ b/db_sqlx_postgres/dev/tests/fn.database_works.html @@ -1,9 +1,10 @@ -database_works in db_sqlx_postgres::dev::tests - Rust -
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/index.html b/db_sqlx_postgres/dev/tests/index.html index 8a3cb381..a0561639 100644 --- a/db_sqlx_postgres/dev/tests/index.html +++ b/db_sqlx_postgres/dev/tests/index.html @@ -1,11 +1,12 @@ -db_sqlx_postgres::dev::tests - Rust -
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/tests/sidebar-items.js b/db_sqlx_postgres/dev/tests/sidebar-items.js index 55eac0b3..4939af2f 100644 --- a/db_sqlx_postgres/dev/tests/sidebar-items.js +++ b/db_sqlx_postgres/dev/tests/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["database_works","test all database functions"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html index b6d2b88f..9016f082 100644 --- a/db_sqlx_postgres/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Connect.html b/db_sqlx_postgres/dev/trait.Connect.html index 80bcc56d..05f8ee00 100644 --- a/db_sqlx_postgres/dev/trait.Connect.html +++ b/db_sqlx_postgres/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.DBOps.html b/db_sqlx_postgres/dev/trait.DBOps.html index 760b1f38..15d2fae3 100644 --- a/db_sqlx_postgres/dev/trait.DBOps.html +++ b/db_sqlx_postgres/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.GetConnection.html b/db_sqlx_postgres/dev/trait.GetConnection.html index a2d22051..9ad40828 100644 --- a/db_sqlx_postgres/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.MCDatabase.html b/db_sqlx_postgres/dev/trait.MCDatabase.html index 0a4b0ca0..dc162aa6 100644 --- a/db_sqlx_postgres/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/trait.Migrate.html b/db_sqlx_postgres/dev/trait.Migrate.html index 9020017f..fac7e9c7 100644 --- a/db_sqlx_postgres/dev/trait.Migrate.html +++ b/db_sqlx_postgres/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.BoxDynError.html b/db_sqlx_postgres/dev/type.BoxDynError.html index 2ab27872..5b2decc7 100644 --- a/db_sqlx_postgres/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/dev/type.DBResult.html b/db_sqlx_postgres/dev/type.DBResult.html index d0ea8779..f2460405 100644 --- a/db_sqlx_postgres/dev/type.DBResult.html +++ b/db_sqlx_postgres/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::dev - Rust -
+

Type Definition db_sqlx_postgres::dev::DBResult

source · []
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/enum.ConnectionOptions.html b/db_sqlx_postgres/enum.ConnectionOptions.html index 91459b94..fd700ec0 100644 --- a/db_sqlx_postgres/enum.ConnectionOptions.html +++ b/db_sqlx_postgres/enum.ConnectionOptions.html @@ -1,9 +1,10 @@ -ConnectionOptions in db_sqlx_postgres - Rust -
pub enum ConnectionOptions {
     Fresh(Fresh),
     Existing(Conn),
@@ -11,27 +12,27 @@
 

Variants

Fresh(Fresh)

fresh connection

Existing(Conn)

existing connection

Trait Implementations

database specific pool-type

-

database specific error-type +

database specific error-type create connection pool Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_register_err.html b/db_sqlx_postgres/errors/fn.map_register_err.html index c04fb330..51673f77 100644 --- a/db_sqlx_postgres/errors/fn.map_register_err.html +++ b/db_sqlx_postgres/errors/fn.map_register_err.html @@ -1,9 +1,10 @@ -map_register_err in db_sqlx_postgres::errors - Rust -
pub fn map_register_err(e: Error) -> DBError
Expand description

map postgres errors to DBError types

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html index cdcadf4d..f8f627ab 100644 --- a/db_sqlx_postgres/errors/fn.map_row_not_found_err.html +++ b/db_sqlx_postgres/errors/fn.map_row_not_found_err.html @@ -1,9 +1,10 @@ -map_row_not_found_err in db_sqlx_postgres::errors - Rust -
pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError
Expand description

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/index.html b/db_sqlx_postgres/errors/index.html index 33a638cf..2c0fc737 100644 --- a/db_sqlx_postgres/errors/index.html +++ b/db_sqlx_postgres/errors/index.html @@ -1,12 +1,13 @@ -db_sqlx_postgres::errors - Rust -
Expand description

Error-handling utilities

Functions

map postgres errors to DBError types

map custom row not found error to DB error

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/errors/sidebar-items.js b/db_sqlx_postgres/errors/sidebar-items.js index 5e820f17..21f20eeb 100644 --- a/db_sqlx_postgres/errors/sidebar-items.js +++ b/db_sqlx_postgres/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["map_register_err","map postgres errors to DBError types"],["map_row_not_found_err","map custom row not found error to DB error"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["map_register_err","map postgres errors to DBError types"],["map_row_not_found_err","map custom row not found error to DB error"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/index.html b/db_sqlx_postgres/index.html index e014f7b0..6ba674fd 100644 --- a/db_sqlx_postgres/index.html +++ b/db_sqlx_postgres/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres - Rust -

Modules

Error-handling utilities

Structs

@@ -11,5 +12,5 @@

Represents notification

Enums

Connect to database

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/attr.async_trait.html b/db_sqlx_postgres/prelude/dev/attr.async_trait.html index a7425cac..5e254404 100644 --- a/db_sqlx_postgres/prelude/dev/attr.async_trait.html +++ b/db_sqlx_postgres/prelude/dev/attr.async_trait.html @@ -1,8 +1,9 @@ -async_trait in db_sqlx_postgres::prelude::dev - Rust -
#[async_trait]
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/enum.DBError.html b/db_sqlx_postgres/prelude/dev/enum.DBError.html index 3589c2d7..d9ff7dbe 100644 --- a/db_sqlx_postgres/prelude/dev/enum.DBError.html +++ b/db_sqlx_postgres/prelude/dev/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::prelude::dev - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/enum.Login.html b/db_sqlx_postgres/prelude/dev/enum.Login.html index 4cbf4e60..4371e8a3 100644 --- a/db_sqlx_postgres/prelude/dev/enum.Login.html +++ b/db_sqlx_postgres/prelude/dev/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::prelude::dev - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/index.html b/db_sqlx_postgres/prelude/dev/index.html index 6bf9ac70..8c8dd3d6 100644 --- a/db_sqlx_postgres/prelude/dev/index.html +++ b/db_sqlx_postgres/prelude/dev/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::prelude::dev - Rust -
Expand description

useful imports for supporting a new database

Modules

useful imports for users working with a supported database

@@ -34,5 +35,5 @@ trait.

Convenience type alias for grouping driver-specific errors

Generic result data structure

Attribute Macros

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html b/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html index 7a869e2c..cfd6f565 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html +++ b/db_sqlx_postgres/prelude/dev/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html b/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html index a0ae41aa..60b199de 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html +++ b/db_sqlx_postgres/prelude/dev/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/index.html b/db_sqlx_postgres/prelude/dev/prelude/index.html index 5111c9f1..3d73283b 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/index.html +++ b/db_sqlx_postgres/prelude/dev/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::prelude::dev::prelude - Rust -
Expand description

useful imports for users working with a supported database

Structs

Data required to add notification

@@ -31,5 +32,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/sidebar-items.js b/db_sqlx_postgres/prelude/dev/prelude/sidebar-items.js index cf8a93da..0cfa29d1 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/sidebar-items.js +++ b/db_sqlx_postgres/prelude/dev/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html b/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html index 0b17b3d4..b4e38502 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html index 75c48b7d..fe558610 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html index d8018dfe..520d64cc 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html index 5446aa55..b657cbe0 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html b/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html index c8098e6d..9d8f02ea 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html index e06443a0..12b387ce 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html index b6b8e2e5..7371124c 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html b/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html index bb1d3a1b..3783ebf1 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html index f9188a8f..bd6f10d3 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html index 59cb1da2..9357875a 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html index f5566aac..82ba9d93 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/dev/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html index 13b4268b..03e2add2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html b/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html index dfab5347..ed396cc3 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html b/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html index 4962dd13..65b650d2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html b/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html index 3f0e4ec2..fb3f57f5 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html b/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html index f9834dad..96490c36 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html b/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html index 4152a120..f046728b 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/dev/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html b/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html index ddacd4f0..d331b892 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/dev/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html b/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html index a04917f9..490c28a2 100644 --- a/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html +++ b/db_sqlx_postgres/prelude/dev/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::prelude::dev::prelude - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/sidebar-items.js b/db_sqlx_postgres/prelude/dev/sidebar-items.js index 14fa0d6e..469ac311 100644 --- a/db_sqlx_postgres/prelude/dev/sidebar-items.js +++ b/db_sqlx_postgres/prelude/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":[["async_trait",""]],"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["prelude","useful imports for users working with a supported database"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.AddNotification.html b/db_sqlx_postgres/prelude/dev/struct.AddNotification.html index 7d36a7ee..33aa8ae3 100644 --- a/db_sqlx_postgres/prelude/dev/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/dev/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::prelude::dev - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Captcha.html b/db_sqlx_postgres/prelude/dev/struct.Captcha.html index 97f62dfb..239b6d22 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/dev/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::prelude::dev - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html index 6395386c..7bbf4445 100644 --- a/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/dev/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::prelude::dev - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Level.html b/db_sqlx_postgres/prelude/dev/struct.Level.html index db5c77c7..aa2ca375 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Level.html +++ b/db_sqlx_postgres/prelude/dev/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::prelude::dev - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.NameHash.html b/db_sqlx_postgres/prelude/dev/struct.NameHash.html index 3ca718d8..27ff0155 100644 --- a/db_sqlx_postgres/prelude/dev/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/dev/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::prelude::dev - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Notification.html b/db_sqlx_postgres/prelude/dev/struct.Notification.html index e5c27fcf..f9cdd228 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Notification.html +++ b/db_sqlx_postgres/prelude/dev/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::prelude::dev - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Register.html b/db_sqlx_postgres/prelude/dev/struct.Register.html index ecdb1042..b9e75a76 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Register.html +++ b/db_sqlx_postgres/prelude/dev/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::prelude::dev - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.Secret.html b/db_sqlx_postgres/prelude/dev/struct.Secret.html index a0d26daf..d8f2a509 100644 --- a/db_sqlx_postgres/prelude/dev/struct.Secret.html +++ b/db_sqlx_postgres/prelude/dev/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::prelude::dev - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html index 7a038134..be2a52e0 100644 --- a/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/dev/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::prelude::dev - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html index 2e72843c..0be2bdee 100644 --- a/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/dev/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::prelude::dev - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html index 7a1427ba..f7b4d399 100644 --- a/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/dev/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::prelude::dev - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html index a983844e..8ef8f4f7 100644 --- a/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/dev/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::prelude::dev - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.Connect.html b/db_sqlx_postgres/prelude/dev/trait.Connect.html index 78aaf386..65214299 100644 --- a/db_sqlx_postgres/prelude/dev/trait.Connect.html +++ b/db_sqlx_postgres/prelude/dev/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::prelude::dev - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.DBOps.html b/db_sqlx_postgres/prelude/dev/trait.DBOps.html index 55849e7e..1b118893 100644 --- a/db_sqlx_postgres/prelude/dev/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/dev/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::prelude::dev - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.GetConnection.html b/db_sqlx_postgres/prelude/dev/trait.GetConnection.html index c06f48c9..e66aaef0 100644 --- a/db_sqlx_postgres/prelude/dev/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/dev/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::prelude::dev - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html b/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html index fbcd5c0c..e8054628 100644 --- a/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/dev/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::prelude::dev - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/trait.Migrate.html b/db_sqlx_postgres/prelude/dev/trait.Migrate.html index aae27a49..c86704d1 100644 --- a/db_sqlx_postgres/prelude/dev/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/dev/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::prelude::dev - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/type.BoxDynError.html b/db_sqlx_postgres/prelude/dev/type.BoxDynError.html index f49b56bf..302c5e15 100644 --- a/db_sqlx_postgres/prelude/dev/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/dev/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::prelude::dev - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/dev/type.DBResult.html b/db_sqlx_postgres/prelude/dev/type.DBResult.html index d57942dd..2cb12d33 100644 --- a/db_sqlx_postgres/prelude/dev/type.DBResult.html +++ b/db_sqlx_postgres/prelude/dev/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::prelude::dev - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/enum.DBError.html b/db_sqlx_postgres/prelude/enum.DBError.html index c0376916..072b13ab 100644 --- a/db_sqlx_postgres/prelude/enum.DBError.html +++ b/db_sqlx_postgres/prelude/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::prelude - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/enum.Login.html b/db_sqlx_postgres/prelude/enum.Login.html index fba4bead..69787305 100644 --- a/db_sqlx_postgres/prelude/enum.Login.html +++ b/db_sqlx_postgres/prelude/enum.Login.html @@ -1,45 +1,46 @@ -Login in db_sqlx_postgres::prelude - Rust -
pub enum Login<'a> {
-    Username(&'a str),
-    Email(&'a str),
+    Username(&'a str),
+    Email(&'a str),
 }
Expand description

types of credentials used as identifiers during login

-

Variants

Username(&'a str)

username as login

-

Email(&'a str)

email as login

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/enum.DBError.html b/db_sqlx_postgres/prelude/errors/enum.DBError.html index 753fcc15..4243a98d 100644 --- a/db_sqlx_postgres/prelude/errors/enum.DBError.html +++ b/db_sqlx_postgres/prelude/errors/enum.DBError.html @@ -1,11 +1,12 @@ -DBError in db_sqlx_postgres::prelude::errors - Rust -
pub enum DBError {
-    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    DBError(Box<dyn Error + Send + Sync + 'static, Global>),
     UsernameTaken,
     EmailTaken,
     SecretTaken,
@@ -15,7 +16,7 @@
     TrafficPatternNotFound,
     NotificationNotFound,
 }
Expand description

Error data structure grouping various error subtypes

-

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

Variants

DBError(Box<dyn Error + Send + Sync + 'static, Global>)

errors that are specific to a database implementation

UsernameTaken

Username is taken

EmailTaken

Email is taken

SecretTaken

Secret is taken

@@ -24,32 +25,32 @@

CaptchaNotFound

Captcha not found

TrafficPatternNotFound

Traffic pattern not found

NotificationNotFound

Notification not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/index.html b/db_sqlx_postgres/prelude/errors/index.html index f90457a6..b659d5d4 100644 --- a/db_sqlx_postgres/prelude/errors/index.html +++ b/db_sqlx_postgres/prelude/errors/index.html @@ -1,14 +1,15 @@ -db_sqlx_postgres::prelude::errors - Rust -
Expand description

represents all the ways a trait can fail using this crate

Enums

Error data structure grouping various error subtypes

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/sidebar-items.js b/db_sqlx_postgres/prelude/errors/sidebar-items.js index fdad20af..48f114ec 100644 --- a/db_sqlx_postgres/prelude/errors/sidebar-items.js +++ b/db_sqlx_postgres/prelude/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/type.BoxDynError.html b/db_sqlx_postgres/prelude/errors/type.BoxDynError.html index 8a647358..2a72951d 100644 --- a/db_sqlx_postgres/prelude/errors/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/errors/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::prelude::errors - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/errors/type.DBResult.html b/db_sqlx_postgres/prelude/errors/type.DBResult.html index 3450ba20..62a520d6 100644 --- a/db_sqlx_postgres/prelude/errors/type.DBResult.html +++ b/db_sqlx_postgres/prelude/errors/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::prelude::errors - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/index.html b/db_sqlx_postgres/prelude/index.html index b0d70f30..8711b21a 100644 --- a/db_sqlx_postgres/prelude/index.html +++ b/db_sqlx_postgres/prelude/index.html @@ -1,9 +1,10 @@ -db_sqlx_postgres::prelude - Rust -

Re-exports

pub use super::*;

Modules

useful imports for supporting a new database

@@ -36,5 +37,5 @@ trait.

Type Definitions

Convenience type alias for grouping driver-specific errors

Generic result data structure

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/index.html b/db_sqlx_postgres/prelude/ops/index.html index ca3370d7..7055f1e0 100644 --- a/db_sqlx_postgres/prelude/ops/index.html +++ b/db_sqlx_postgres/prelude/ops/index.html @@ -1,14 +1,15 @@ -db_sqlx_postgres::prelude::ops - Rust -
Expand description

meta operations like migration and connecting to a database

Traits

Create database connection

Database operations trait(migrations, pool creation and fetching connection from pool)

Get database connection

database migrations

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/sidebar-items.js b/db_sqlx_postgres/prelude/ops/sidebar-items.js index bd2eb249..765f2b9c 100644 --- a/db_sqlx_postgres/prelude/ops/sidebar-items.js +++ b/db_sqlx_postgres/prelude/ops/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"trait":[["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["Migrate","database migrations"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.Connect.html b/db_sqlx_postgres/prelude/ops/trait.Connect.html index ff0bd4ea..af9cb43a 100644 --- a/db_sqlx_postgres/prelude/ops/trait.Connect.html +++ b/db_sqlx_postgres/prelude/ops/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::prelude::ops - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.DBOps.html b/db_sqlx_postgres/prelude/ops/trait.DBOps.html index 37162008..0957893b 100644 --- a/db_sqlx_postgres/prelude/ops/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/ops/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::prelude::ops - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.GetConnection.html b/db_sqlx_postgres/prelude/ops/trait.GetConnection.html index 0fbe0a35..ca8826b4 100644 --- a/db_sqlx_postgres/prelude/ops/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/ops/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::prelude::ops - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/ops/trait.Migrate.html b/db_sqlx_postgres/prelude/ops/trait.Migrate.html index cd08ad79..61ceaede 100644 --- a/db_sqlx_postgres/prelude/ops/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/ops/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::prelude::ops - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/sidebar-items.js b/db_sqlx_postgres/prelude/sidebar-items.js index 99027678..31ee6230 100644 --- a/db_sqlx_postgres/prelude/sidebar-items.js +++ b/db_sqlx_postgres/prelude/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"mod":[["dev","useful imports for supporting a new database"],["errors","represents all the ways a trait can fail using this crate"],["ops","meta operations like migration and connecting to a database"],["tests","Test utilities"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data required to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create database connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.AddNotification.html b/db_sqlx_postgres/prelude/struct.AddNotification.html index 1b5a9c03..2d6cd148 100644 --- a/db_sqlx_postgres/prelude/struct.AddNotification.html +++ b/db_sqlx_postgres/prelude/struct.AddNotification.html @@ -1,50 +1,51 @@ -AddNotification in db_sqlx_postgres::prelude - Rust -
pub struct AddNotification<'a> {
-    pub to: &'a str,
-    pub from: &'a str,
-    pub heading: &'a str,
-    pub message: &'a str,
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
 }
Expand description

Data required to add notification

-

Fields

to: &'a str

who is the notification addressed to?

-
from: &'a str

notification sender

-
heading: &'a str

heading of the notification

-
message: &'a str

message of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

message of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Captcha.html b/db_sqlx_postgres/prelude/struct.Captcha.html index d2e97773..831375ff 100644 --- a/db_sqlx_postgres/prelude/struct.Captcha.html +++ b/db_sqlx_postgres/prelude/struct.Captcha.html @@ -1,50 +1,51 @@ -Captcha in db_sqlx_postgres::prelude - Rust -
pub struct Captcha {
-    pub config_id: i32,
-    pub duration: i32,
-    pub description: String,
-    pub key: String,
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
 }
Expand description

Data representing a captcha

-

Fields

config_id: i32

Database assigned ID

-
duration: i32

cool down duration

-
description: String

description of the captcha

-
key: String

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.CreateCaptcha.html b/db_sqlx_postgres/prelude/struct.CreateCaptcha.html index 9d014084..7a6e9e55 100644 --- a/db_sqlx_postgres/prelude/struct.CreateCaptcha.html +++ b/db_sqlx_postgres/prelude/struct.CreateCaptcha.html @@ -1,48 +1,49 @@ -CreateCaptcha in db_sqlx_postgres::prelude - Rust -
pub struct CreateCaptcha<'a> {
-    pub duration: i32,
-    pub description: &'a str,
-    pub key: &'a str,
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
 }
Expand description

data required to create new captcha

-

Fields

duration: i32

cool down duration

-
description: &'a str

description of the captcha

-
key: &'a str

secret key of the captcha

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Level.html b/db_sqlx_postgres/prelude/struct.Level.html index 3fcac1c6..0766a093 100644 --- a/db_sqlx_postgres/prelude/struct.Level.html +++ b/db_sqlx_postgres/prelude/struct.Level.html @@ -1,43 +1,44 @@ -Level in db_sqlx_postgres::prelude - Rust -
pub struct Level {
-    pub visitor_threshold: u32,
-    pub difficulty_factor: u32,
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
 }
Expand description

Level struct that describes threshold-difficulty factor mapping

-

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.NameHash.html b/db_sqlx_postgres/prelude/struct.NameHash.html index 37565d4e..a88de5d8 100644 --- a/db_sqlx_postgres/prelude/struct.NameHash.html +++ b/db_sqlx_postgres/prelude/struct.NameHash.html @@ -1,45 +1,46 @@ -NameHash in db_sqlx_postgres::prelude - Rust -
pub struct NameHash {
-    pub username: String,
-    pub hash: String,
+    pub username: String,
+    pub hash: String,
 }
Expand description

type encapsulating username and hashed password of a user

-

Fields

username: String

username

-
hash: String

hashed password

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: String

username

+
hash: String

hashed password

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Notification.html b/db_sqlx_postgres/prelude/struct.Notification.html index dcb47b28..72c6779d 100644 --- a/db_sqlx_postgres/prelude/struct.Notification.html +++ b/db_sqlx_postgres/prelude/struct.Notification.html @@ -1,53 +1,54 @@ -Notification in db_sqlx_postgres::prelude - Rust -
pub struct Notification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<i64>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<i64>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<i64>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<i64>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Register.html b/db_sqlx_postgres/prelude/struct.Register.html index 7caf7bc6..272adc20 100644 --- a/db_sqlx_postgres/prelude/struct.Register.html +++ b/db_sqlx_postgres/prelude/struct.Register.html @@ -1,49 +1,50 @@ -Register in db_sqlx_postgres::prelude - Rust -
pub struct Register<'a> {
-    pub username: &'a str,
-    pub secret: &'a str,
-    pub hash: &'a str,
-    pub email: Option<&'a str>,
+    pub username: &'a str,
+    pub secret: &'a str,
+    pub hash: &'a str,
+    pub email: Option<&'a str>,
 }
Expand description

Data required to register a new user

-

Fields

username: &'a str

username of new user

-
secret: &'a str

secret of new user

-
hash: &'a str

hashed password of new use

-
email: Option<&'a str>

Optionally, email of new use

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of new user

+
secret: &'a str

secret of new user

+
hash: &'a str

hashed password of new use

+
email: Option<&'a str>

Optionally, email of new use

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.Secret.html b/db_sqlx_postgres/prelude/struct.Secret.html index a4e814ad..b8760e04 100644 --- a/db_sqlx_postgres/prelude/struct.Secret.html +++ b/db_sqlx_postgres/prelude/struct.Secret.html @@ -1,44 +1,45 @@ -Secret in db_sqlx_postgres::prelude - Rust -
pub struct Secret {
-    pub secret: String,
+    pub secret: String,
 }
Expand description

datastructure representing a user’s secret

-

Fields

secret: String

user’s secret

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

secret: String

user’s secret

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html b/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html index d59f7a0d..f4a35dc6 100644 --- a/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html +++ b/db_sqlx_postgres/prelude/struct.StatsUnixTimestamp.html @@ -1,48 +1,49 @@ -StatsUnixTimestamp in db_sqlx_postgres::prelude - Rust -
pub struct StatsUnixTimestamp {
-    pub config_fetches: Vec<i64, Global>,
-    pub solves: Vec<i64, Global>,
-    pub confirms: Vec<i64, Global>,
+    pub config_fetches: Vec<i64, Global>,
+    pub solves: Vec<i64, Global>,
+    pub confirms: Vec<i64, Global>,
 }
Expand description

Captcha statistics with time recorded in UNIX epoch formats

-

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

-
solves: Vec<i64, Global>

times at which the PoW was solved

-
confirms: Vec<i64, Global>

times at which the PoW token was verified

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

config_fetches: Vec<i64, Global>

times at which the configuration were fetched

+
solves: Vec<i64, Global>

times at which the PoW was solved

+
confirms: Vec<i64, Global>

times at which the PoW token was verified

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.TrafficPattern.html b/db_sqlx_postgres/prelude/struct.TrafficPattern.html index f8262a22..25e1a9e3 100644 --- a/db_sqlx_postgres/prelude/struct.TrafficPattern.html +++ b/db_sqlx_postgres/prelude/struct.TrafficPattern.html @@ -1,48 +1,49 @@ -TrafficPattern in db_sqlx_postgres::prelude - Rust -
pub struct TrafficPattern {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/struct.UpdateEmail.html b/db_sqlx_postgres/prelude/struct.UpdateEmail.html index 834b21df..ddbff417 100644 --- a/db_sqlx_postgres/prelude/struct.UpdateEmail.html +++ b/db_sqlx_postgres/prelude/struct.UpdateEmail.html @@ -1,45 +1,46 @@ -UpdateEmail in db_sqlx_postgres::prelude - Rust -
pub struct UpdateEmail<'a> {
-    pub username: &'a str,
-    pub new_email: &'a str,
+    pub username: &'a str,
+    pub new_email: &'a str,
 }
Expand description

data required to update them email of a user

-

Fields

username: &'a str

username of the user

-
new_email: &'a str

new email address of the user

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

username: &'a str

username of the user

+
new_email: &'a str

new email address of the user

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/tests/fn.database_works.html b/db_sqlx_postgres/prelude/tests/fn.database_works.html index 963b8a0c..91ef6d5a 100644 --- a/db_sqlx_postgres/prelude/tests/fn.database_works.html +++ b/db_sqlx_postgres/prelude/tests/fn.database_works.html @@ -1,9 +1,10 @@ -database_works in db_sqlx_postgres::prelude::tests - Rust -
pub async fn database_works<T>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
) where
    T: MCDatabase
Expand description

test all database functions

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/tests/index.html b/db_sqlx_postgres/prelude/tests/index.html index 71da061a..e0c9c645 100644 --- a/db_sqlx_postgres/prelude/tests/index.html +++ b/db_sqlx_postgres/prelude/tests/index.html @@ -1,11 +1,12 @@ -db_sqlx_postgres::prelude::tests - Rust -
Expand description

Test utilities

Functions

test all database functions

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/tests/sidebar-items.js b/db_sqlx_postgres/prelude/tests/sidebar-items.js index 55eac0b3..4939af2f 100644 --- a/db_sqlx_postgres/prelude/tests/sidebar-items.js +++ b/db_sqlx_postgres/prelude/tests/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["database_works","test all database functions"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["database_works","test all database functions"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html b/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html index ad5a3b86..462ecc0f 100644 --- a/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html +++ b/db_sqlx_postgres/prelude/trait.CloneSPDatabase.html @@ -1,12 +1,13 @@ -CloneSPDatabase in db_sqlx_postgres::prelude - Rust -
pub trait CloneSPDatabase {
-    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
+    fn clone_db(&self) -> Box<dyn MCDatabase + 'static, Global>;
 }
Expand description

Trait to clone MCDatabase

-

Required Methods

clone DB

-

Implementors

+

Required Methods

clone DB

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.Connect.html b/db_sqlx_postgres/prelude/trait.Connect.html index 61b9b0e7..62a3d1ec 100644 --- a/db_sqlx_postgres/prelude/trait.Connect.html +++ b/db_sqlx_postgres/prelude/trait.Connect.html @@ -1,16 +1,17 @@ -Connect in db_sqlx_postgres::prelude - Rust -
pub trait Connect {
     type Pool: MCDatabase;
 
-    fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; + fn connect<'async_trait>(
        self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Pool, DBError>> + Send + 'async_trait, Global>>
    where
        Self: 'async_trait
; }
Expand description

Create database connection

Required Associated Types

database specific pool-type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type create connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.DBOps.html b/db_sqlx_postgres/prelude/trait.DBOps.html index 2be71a48..beaf9f6c 100644 --- a/db_sqlx_postgres/prelude/trait.DBOps.html +++ b/db_sqlx_postgres/prelude/trait.DBOps.html @@ -1,9 +1,10 @@ -DBOps in db_sqlx_postgres::prelude - Rust -
pub trait DBOps: GetConnection + Migrate { }
Expand description

Database operations trait(migrations, pool creation and fetching connection from pool)

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.GetConnection.html b/db_sqlx_postgres/prelude/trait.GetConnection.html index 5fd16f62..a53a60b5 100644 --- a/db_sqlx_postgres/prelude/trait.GetConnection.html +++ b/db_sqlx_postgres/prelude/trait.GetConnection.html @@ -1,16 +1,17 @@ -GetConnection in db_sqlx_postgres::prelude - Rust -
pub trait GetConnection {
     type Conn;
 
-    fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn get_conn<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<Self::Conn, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

Get database connection

Required Associated Types

database connection type

-

Required Methods

database specific error-type +

Required Methods

database specific error-type get connection from connection pool

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.MCDatabase.html b/db_sqlx_postgres/prelude/trait.MCDatabase.html index 49c36f38..3f6098cc 100644 --- a/db_sqlx_postgres/prelude/trait.MCDatabase.html +++ b/db_sqlx_postgres/prelude/trait.MCDatabase.html @@ -1,83 +1,84 @@ -MCDatabase in db_sqlx_postgres::prelude - Rust -
pub trait MCDatabase: Send + Sync + CloneSPDatabase {
+
Show 36 methods fn ping<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn register<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 Register<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn delete_user<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn username_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn email_exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        email: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_email<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 UpdateEmail<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        l: &'life1 Login<'_>
    ) -> Pin<Box<dyn Future<Output = Result<NameHash, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_password<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 NameHash
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_username<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        current: &'life1 str,
        new: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_secret_from_captcha<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Secret, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_secret<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        secret: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_config<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Captcha, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_all_user_captchas<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Captcha, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_metadata<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        p: &'life2 CreateCaptcha<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn update_captcha_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        old_key: &'life2 str,
        new_key: &'life3 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn add_captcha_levels<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        levels: &'life3 [Level]
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn captcha_exists<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<bool, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_captcha<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_levels<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: Option<&'life1 str>,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Level, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn get_captcha_cooldown<'life0, 'life1, 'async_trait>(
        &'life0 self,
        captcha_key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<i32, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn add_traffic_pattern<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str,
        pattern: &'life3 TrafficPattern
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        'life3: 'async_trait,
        Self: 'async_trait
; + fn get_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<TrafficPattern, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn delete_traffic_pattern<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        captcha_key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn create_notification<'life0, 'life1, 'async_trait>(
        &'life0 self,
        p: &'life1 AddNotification<'_>
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn get_all_unread_notifications<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<Notification, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn mark_notification_read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        username: &'life1 str,
        id: i32
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_fetch<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_solve<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn record_confirm<'life0, 'life1, 'async_trait>(
        &'life0 self,
        key: &'life1 str
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; + fn fetch_config_fetched<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_solve<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; + fn fetch_confirm<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        user: &'life1 str,
        key: &'life2 str
    ) -> Pin<Box<dyn Future<Output = Result<Vec<i64, Global>, DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
;
}
Expand description

mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.

-

Required Methods

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

Implementors

+

Required Methods

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/trait.Migrate.html b/db_sqlx_postgres/prelude/trait.Migrate.html index 9266d680..3fc0e840 100644 --- a/db_sqlx_postgres/prelude/trait.Migrate.html +++ b/db_sqlx_postgres/prelude/trait.Migrate.html @@ -1,13 +1,14 @@ -Migrate in db_sqlx_postgres::prelude - Rust -
pub trait Migrate: MCDatabase {
-    fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; + fn migrate<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), DBError>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

database migrations

-

Required Methods

database specific error-type +

Required Methods

database specific error-type run migrations

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/type.BoxDynError.html b/db_sqlx_postgres/prelude/type.BoxDynError.html index be5c3fc7..457c7a92 100644 --- a/db_sqlx_postgres/prelude/type.BoxDynError.html +++ b/db_sqlx_postgres/prelude/type.BoxDynError.html @@ -1,9 +1,10 @@ -BoxDynError in db_sqlx_postgres::prelude - Rust -
pub type BoxDynError = Box<dyn Error + Send + Sync + 'static, Global>;
Expand description

Convenience type alias for grouping driver-specific errors

+
\ No newline at end of file diff --git a/db_sqlx_postgres/prelude/type.DBResult.html b/db_sqlx_postgres/prelude/type.DBResult.html index 63c35b34..dc0393ea 100644 --- a/db_sqlx_postgres/prelude/type.DBResult.html +++ b/db_sqlx_postgres/prelude/type.DBResult.html @@ -1,9 +1,10 @@ -DBResult in db_sqlx_postgres::prelude - Rust -
pub type DBResult<V> = Result<V, DBError>;
Expand description

Generic result data structure

+
\ No newline at end of file diff --git a/db_sqlx_postgres/sidebar-items.js b/db_sqlx_postgres/sidebar-items.js index 09f5d118..9dd85c80 100644 --- a/db_sqlx_postgres/sidebar-items.js +++ b/db_sqlx_postgres/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["ConnectionOptions","Connect to database"]],"mod":[["dev",""],["errors","Error-handling utilities"],["prelude",""]],"struct":[["Conn","Use an existing database pool"],["Database",""],["Fresh",""],["InnerNotification","Represents notification"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["ConnectionOptions","Connect to database"]],"mod":[["dev",""],["errors","Error-handling utilities"],["prelude",""]],"struct":[["Conn","Use an existing database pool"],["Database",""],["Fresh",""],["InnerNotification","Represents notification"]]}; \ No newline at end of file diff --git a/db_sqlx_postgres/struct.Conn.html b/db_sqlx_postgres/struct.Conn.html index 9451688d..0feb1666 100644 --- a/db_sqlx_postgres/struct.Conn.html +++ b/db_sqlx_postgres/struct.Conn.html @@ -1,29 +1,30 @@ -Conn in db_sqlx_postgres - Rust -
pub struct Conn(pub PgPool);
Expand description

Use an existing database pool

-

Tuple Fields

0: PgPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Tuple Fields

0: PgPool

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.Database.html b/db_sqlx_postgres/struct.Database.html index 3c53ba85..c4a2eb15 100644 --- a/db_sqlx_postgres/struct.Database.html +++ b/db_sqlx_postgres/struct.Database.html @@ -1,74 +1,75 @@ -Database in db_sqlx_postgres - Rust -
pub struct Database {
     pub pool: PgPool,
-}

Fields

pool: PgPool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

ping DB

-

register a new user

-

delete a user

-

check if username exists

-

get user email

-

check if email exists

-

update a user’s email

-

get a user’s password

-

update user’s password

-

update username

-

get a user’s secret

-

get a user’s secret from a captcha key

-

update a user’s secret

-

create new captcha

-

Get captcha config

-

Get all captchas belonging to user

-

update captcha metadata; doesn’t change captcha key

-

update captcha key; doesn’t change metadata

-

Add levels to captcha

-

check if captcha exists

-

Delete all levels of a captcha

-

Delete captcha

-

Get captcha levels

-

Get captcha’s cooldown period

-

Add traffic configuration

-

Get traffic configuration

-

Delete traffic configuration

-

create new notification

-

get all unread notifications

-

mark a notification read

-

record PoWConfig fetches

-

record PoWConfig solves

-

record PoWConfig confirms

-

fetch PoWConfig fetches

-

fetch PoWConfig solves

-

fetch PoWConfig confirms

-

database specific error-type +}

Fields

pool: PgPool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

ping DB

+

register a new user

+

delete a user

+

check if username exists

+

get user email

+

check if email exists

+

update a user’s email

+

get a user’s password

+

update user’s password

+

update username

+

get a user’s secret

+

get a user’s secret from a captcha key

+

update a user’s secret

+

create new captcha

+

Get captcha config

+

Get all captchas belonging to user

+

update captcha metadata; doesn’t change captcha key

+

update captcha key; doesn’t change metadata

+

Add levels to captcha

+

check if captcha exists

+

Delete all levels of a captcha

+

Delete captcha

+

Get captcha levels

+

Get captcha’s cooldown period

+

Add traffic configuration

+

Get traffic configuration

+

Delete traffic configuration

+

create new notification

+

get all unread notifications

+

mark a notification read

+

record PoWConfig fetches

+

record PoWConfig solves

+

record PoWConfig confirms

+

fetch PoWConfig fetches

+

fetch PoWConfig solves

+

fetch PoWConfig confirms

+

database specific error-type run migrations Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

clone DB

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

clone DB

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.Fresh.html b/db_sqlx_postgres/struct.Fresh.html index bceb1611..9e610abd 100644 --- a/db_sqlx_postgres/struct.Fresh.html +++ b/db_sqlx_postgres/struct.Fresh.html @@ -1,32 +1,33 @@ -Fresh in db_sqlx_postgres - Rust -
pub struct Fresh {
     pub pool_options: PgPoolOptions,
-    pub disable_logging: bool,
-    pub url: String,
-}

Fields

pool_options: PgPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub disable_logging: bool, + pub url: String, +}

Fields

pool_options: PgPoolOptionsdisable_logging: boolurl: String

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/db_sqlx_postgres/struct.InnerNotification.html b/db_sqlx_postgres/struct.InnerNotification.html index b3982993..0a3c9299 100644 --- a/db_sqlx_postgres/struct.InnerNotification.html +++ b/db_sqlx_postgres/struct.InnerNotification.html @@ -1,51 +1,52 @@ -InnerNotification in db_sqlx_postgres - Rust -
pub struct InnerNotification {
-    pub name: Option<String>,
-    pub heading: Option<String>,
-    pub message: Option<String>,
-    pub received: Option<OffsetDateTime>,
-    pub id: Option<i32>,
+    pub name: Option<String>,
+    pub heading: Option<String>,
+    pub message: Option<String>,
+    pub received: Option<OffsetDateTime>,
+    pub id: Option<i32>,
 }
Expand description

Represents notification

-

Fields

name: Option<String>

receiver name of the notification

-
heading: Option<String>

heading of the notification

-
message: Option<String>

message of the notification

-
received: Option<OffsetDateTime>

when notification was received

-
id: Option<i32>

db assigned ID of the notification

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

name: Option<String>

receiver name of the notification

+
heading: Option<String>

heading of the notification

+
message: Option<String>

message of the notification

+
received: Option<OffsetDateTime>

when notification was received

+
id: Option<i32>

db assigned ID of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js index 2792a853..ddd3ac2d 100644 --- a/implementors/core/clone/trait.Clone.js +++ b/implementors/core/clone/trait.Clone.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Clone for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Clone for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Clone for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Clone for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Clone for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Clone for Secret","synthetic":false,"types":["db_core::Secret"]},{"text":"impl Clone for Box<dyn MCDatabase>","synthetic":false,"types":["alloc::boxed::Box"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_maria::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_postgres::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Clone for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Clone for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Clone for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Clone for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Clone for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Clone for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Clone for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Clone for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for VerifyCaptchaResultPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Clone for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K: Clone, V: Clone> Clone for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Clone for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Clone for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Clone for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Clone for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Clone for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl Clone for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Clone for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Clone for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Clone for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["db_core"] = [{"text":"impl<'a> Clone for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Clone for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Clone for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Clone for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Clone for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Clone for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Clone for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Clone for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Clone for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Clone for Secret","synthetic":false,"types":["db_core::Secret"]},{"text":"impl Clone for Box<dyn MCDatabase>","synthetic":false,"types":["alloc::boxed::Box"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_maria::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Clone for Database","synthetic":false,"types":["db_sqlx_postgres::Database"]},{"text":"impl Clone for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Clone for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Clone for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Clone for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Clone for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Clone for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Clone for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Clone for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Clone for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Clone for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Clone for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Clone for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Clone for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Clone for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Clone for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Clone for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Clone for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Clone for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Clone for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Clone for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Clone for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Clone for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Clone for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Clone for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Clone for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Clone for VerifyCaptchaResultPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Clone for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K: Clone, V: Clone> Clone for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Clone for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl<'a> Clone for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Clone for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Clone for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Clone for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Clone for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Clone for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Clone for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Clone for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Clone for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Clone for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl Clone for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Clone for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Clone for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Clone for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Clone for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Clone for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Clone for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js index d6322b5d..19ab84a1 100644 --- a/implementors/core/cmp/trait.PartialEq.js +++ b/implementors/core/cmp/trait.PartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl PartialEq<StatsUnixTimestamp> for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl PartialEq<Notification> for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> PartialEq<AddNotification<'a>> for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl PartialEq<TrafficPattern> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> PartialEq<CreateCaptcha<'a>> for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl PartialEq<Captcha> for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl PartialEq<Secret> for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl PartialEq<AddNotificationRequest> for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl PartialEq<NotificationResp> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl PartialEq<DBErrorWrapper> for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl PartialEq<SmtpErrorWrapper> for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl PartialEq<DBType> for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl PartialEq<CaptchaStats> for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl PartialEq<Real> for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl PartialEq<Dummy> for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl<'a> PartialEq<Register<'a>> for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> PartialEq<UpdateEmail<'a>> for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> PartialEq<Login<'a>> for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl PartialEq<NameHash> for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl PartialEq<StatsUnixTimestamp> for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl PartialEq<Notification> for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> PartialEq<AddNotification<'a>> for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl PartialEq<TrafficPattern> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> PartialEq<CreateCaptcha<'a>> for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl PartialEq<Captcha> for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl PartialEq<Secret> for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl PartialEq<InnerNotification> for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl PartialEq<AddNotificationRequest> for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl PartialEq<NotificationResp> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl PartialEq<DBErrorWrapper> for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl PartialEq<SmtpErrorWrapper> for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl PartialEq<ServiceError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl PartialEq<PageError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl PartialEq<DBType> for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl PartialEq<CaptchaStats> for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl PartialEq<Real> for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl PartialEq<Dummy> for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js index 41b4bd9b..4ae8b62f 100644 --- a/implementors/core/convert/trait.From.js +++ b/implementors/core/convert/trait.From.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_sqlx_maria"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; -implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl From<&'_ TrafficPatternRequest> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult","synthetic":false,"types":["libmcaptcha::cache::messages::VerifyCaptchaResult"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<DBError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<RecvError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<MailboxError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<DBError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<Notification> for Notification","synthetic":false,"types":["mcaptcha::pages::panel::notifications::Notification"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl From<InnerNotification> for Notification","synthetic":false,"types":["db_core::Notification"]}]; +implementors["mcaptcha"] = [{"text":"impl From<ChangePasswordReqest> for UpdatePassword","synthetic":false,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl From<&TrafficPatternRequest> for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl From<UninitializedFieldError> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<String> for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl From<UninitializedFieldError> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<String> for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl From<Notification> for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl From<VerifyCaptchaResultPayload> for VerifyCaptchaResult","synthetic":false,"types":["libmcaptcha::cache::messages::VerifyCaptchaResult"]},{"text":"impl From<CredsError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<DBError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ValidationErrors> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ParseError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<CaptchaError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<Error> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<RecvError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<MailboxError> for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl From<ServiceError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<DBError> for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl From<Notification> for Notification","synthetic":false,"types":["mcaptcha::pages::panel::notifications::Notification"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js index 82776424..a31c9f96 100644 --- a/implementors/core/default/trait.Default.js +++ b/implementors/core/default/trait.Default.js @@ -1,5 +1,5 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Default for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Default for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Default for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Default for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Default for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Default for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Default for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Default for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Default for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Default for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Default for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Default for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Default for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Default for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Default for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl Default for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Default for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Default for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Default for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Default for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Default for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Default for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Default for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Default for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Default for BuildDetailsBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Default for HealthBuilder","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Default for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Default for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a> Default for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Default for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Default for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Default for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Default for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Default for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js index 12c2b02d..0b1e397a 100644 --- a/implementors/core/fmt/trait.Debug.js +++ b/implementors/core/fmt/trait.Debug.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Debug for DBError","synthetic":false,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Debug for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Debug for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Debug for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Debug for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Debug for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Debug for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Debug for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Debug for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Debug for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Debug for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Debug for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Debug for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Debug for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for VerifyCaptchaResultPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Debug for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl Debug for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Debug for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Debug for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl Debug for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Debug for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Debug for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Debug for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl Debug for DBError","synthetic":false,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Debug for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> Debug for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Debug for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl Debug for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl Debug for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Debug for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> Debug for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl Debug for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Debug for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl Debug for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Debug for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Debug for Email","synthetic":false,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Debug for ChangePasswordReqest","synthetic":false,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Debug for Username","synthetic":false,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Debug for AccountCheckPayload","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Debug for AccountCheckResp","synthetic":false,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Debug for Register","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Debug for Login","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Debug for Password","synthetic":false,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Debug for MCaptchaDetails","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Debug for DeleteCaptcha","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Debug for TrafficPatternRequest","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Debug for UpdateTrafficPattern","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Debug for Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Debug for I32Levels","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Debug for StatsPayload","synthetic":false,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Debug for BuildDetails","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Debug for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Debug for Health","synthetic":false,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Debug for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Debug for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Debug for GetConfigPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Debug for ValidationToken","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Debug for CaptchaValidateResp","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Debug for VerifyCaptchaResultPayload","synthetic":false,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Debug for Date","synthetic":false,"types":["mcaptcha::date::Date"]},{"text":"impl Debug for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Debug for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Debug for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Debug for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Debug for Server","synthetic":false,"types":["mcaptcha::settings::Server"]},{"text":"impl Debug for Captcha","synthetic":false,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Debug for DefaultDifficultyStrategy","synthetic":false,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Debug for Smtp","synthetic":false,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Debug for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl Debug for Database","synthetic":false,"types":["mcaptcha::settings::Database"]},{"text":"impl Debug for Redis","synthetic":false,"types":["mcaptcha::settings::Redis"]},{"text":"impl Debug for Settings","synthetic":false,"types":["mcaptcha::settings::Settings"]},{"text":"impl Debug for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Debug for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl Debug for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js index 710d2dd0..95492b25 100644 --- a/implementors/core/fmt/trait.Display.js +++ b/implementors/core/fmt/trait.Display.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Display for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; -implementors["mcaptcha"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Display for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Display for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]}]; +implementors["db_core"] = [{"text":"impl Display for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; +implementors["mcaptcha"] = [{"text":"impl Display for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Display for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Display for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Display for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Display for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Display for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl Display for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js index 9ffe9620..44a4b8d2 100644 --- a/implementors/core/marker/trait.Freeze.js +++ b/implementors/core/marker/trait.Freeze.js @@ -2,5 +2,5 @@ implementors["db_core"] = [{"text":"impl Freeze for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Freeze for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Freeze for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Freeze for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Freeze for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Freeze for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Freeze for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Freeze for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Freeze for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Freeze for Secret","synthetic":true,"types":["db_core::Secret"]}]; implementors["db_sqlx_maria"] = [{"text":"impl Freeze for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Freeze for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Freeze for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Freeze for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Freeze for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; implementors["db_sqlx_postgres"] = [{"text":"impl Freeze for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Freeze for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Freeze for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Freeze for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Freeze for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Freeze for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Freeze for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Freeze for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Freeze for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Freeze for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Freeze for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Freeze for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Freeze for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Freeze for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Freeze for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Freeze for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Freeze for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Freeze for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Freeze for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Freeze for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Freeze for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Freeze for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Freeze for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Freeze for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Freeze for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Freeze for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Freeze for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Freeze for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Freeze for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Freeze for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Freeze for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Freeze for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Freeze for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Freeze for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Freeze for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Freeze for SudoPage<'a, K, V>","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Freeze for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Freeze for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Freeze for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Freeze for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Freeze for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Freeze for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Freeze for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Freeze for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Freeze for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Freeze for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Freeze for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Freeze for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Freeze for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Freeze for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Freeze for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Freeze for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Freeze for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Freeze for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Freeze for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Freeze for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Freeze for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Freeze for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Freeze for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Freeze for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Freeze for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Freeze for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Freeze for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["mcaptcha"] = [{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Freeze for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Freeze for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Freeze for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Freeze for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Freeze for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Freeze for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Freeze for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Freeze for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Freeze for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Freeze for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Freeze for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Freeze for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Freeze for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Freeze for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Freeze for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Freeze for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Freeze for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Freeze for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Freeze for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Freeze for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Freeze for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Freeze for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Freeze for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Freeze for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Freeze for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Freeze for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Freeze for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Freeze for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Freeze for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Freeze for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Freeze for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Freeze for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Freeze for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Freeze for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Freeze for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Freeze for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Freeze for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Freeze for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Freeze for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Freeze for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Freeze for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Freeze for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Freeze for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Freeze for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Freeze for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Freeze for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Freeze for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Freeze for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Freeze for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Freeze for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Freeze for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Freeze for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Freeze for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Freeze for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Freeze for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Freeze for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Freeze for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Freeze for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Freeze for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Freeze for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Freeze for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Freeze for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Freeze for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Freeze for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Freeze for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Freeze for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Freeze for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Freeze for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Freeze for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Freeze for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Freeze for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Freeze for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Freeze for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Freeze for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Freeze for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Freeze for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Freeze for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Freeze for SudoPage<'a, K, V>","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Freeze for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Freeze for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Freeze for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Freeze for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Freeze for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Freeze for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Freeze for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Freeze for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Freeze for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Freeze for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Freeze for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Freeze for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Freeze for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Freeze for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Freeze for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Freeze for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Freeze for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Freeze for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Freeze for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Freeze for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Freeze for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Freeze for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Freeze for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Freeze for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Freeze for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Freeze for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Freeze for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Freeze for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Freeze for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Freeze for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Freeze for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Freeze for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Freeze for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Freeze for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Freeze for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Freeze for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Freeze for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Freeze for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Freeze for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Freeze for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Freeze for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Freeze for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Freeze for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Freeze for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Freeze for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Freeze for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Freeze for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Freeze for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Freeze for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Freeze for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Freeze for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Freeze for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Freeze for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Freeze for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Freeze for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Freeze for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Freeze for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Freeze for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Freeze for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Freeze for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Freeze for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Freeze for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Freeze for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Freeze for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Freeze for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Freeze for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js index cd66e376..9f2afb40 100644 --- a/implementors/core/marker/trait.Send.js +++ b/implementors/core/marker/trait.Send.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Send for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Send for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Send for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Send for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Send for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Send for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Send for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Send for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Send for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Send for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Send for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Send for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Send for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Send for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Send for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Send for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Send for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Send for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Send for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Send for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Send for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Send for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Send for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Send for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Send for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Send for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Send for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Send for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Send for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Send for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Send for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Send for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Send for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Send for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Send for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Send for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Send for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Send for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Send for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Send for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Send for SudoPage<'a, K, V> where
    K: Send,
    V: Send
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Send for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Send for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Send for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Send for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Send for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Send for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Send for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Send for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Send for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Send for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Send for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Send for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Send for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Send for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Send for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Send for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Send for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Send for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Send for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Send for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Send for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Send for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Send for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Send for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Send for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Send for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Send for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Send for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Send for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Send for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Send for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Send for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Send for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Send for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Send for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Send for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Send for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Send for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Send for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Send for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Send for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Send for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Send for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Send for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Send for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Send for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Send for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Send for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Send for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Send for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Send for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Send for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Send for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Send for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Send for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Send for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Send for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Send for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Send for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Send for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Send for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Send for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Send for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Send for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Send for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Send for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Send for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Send for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Send for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Send for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Send for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Send for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Send for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Send for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Send for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Send for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Send for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Send for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Send for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Send for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Send for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Send for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Send for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Send for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Send for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Send for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Send for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Send for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Send for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Send for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Send for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Send for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Send for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Send for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Send for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Send for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Send for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Send for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Send for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Send for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Send for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Send for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Send for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Send for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Send for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Send for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Send for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Send for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Send for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Send for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Send for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Send for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Send for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Send for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Send for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Send for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Send for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Send for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Send for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Send for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Send for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Send for SudoPage<'a, K, V> where
    K: Send,
    V: Send
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Send for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Send for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Send for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Send for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Send for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Send for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Send for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Send for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Send for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Send for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Send for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Send for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Send for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Send for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Send for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Send for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Send for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Send for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Send for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Send for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Send for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Send for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Send for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Send for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Send for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Send for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Send for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Send for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Send for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Send for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Send for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Send for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Send for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Send for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Send for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Send for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Send for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Send for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Send for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Send for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Send for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Send for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Send for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Send for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Send for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Send for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Send for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Send for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Send for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Send for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Send for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Send for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Send for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Send for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Send for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Send for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Send for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Send for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Send for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Send for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Send for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Send for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Send for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Send for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Send for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Send for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Send for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js index 860fea5b..65d58149 100644 --- a/implementors/core/marker/trait.StructuralPartialEq.js +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl StructuralPartialEq for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl StructuralPartialEq for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> StructuralPartialEq for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl StructuralPartialEq for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> StructuralPartialEq for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl StructuralPartialEq for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl StructuralPartialEq for Secret","synthetic":false,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl StructuralPartialEq for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl StructuralPartialEq for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl StructuralPartialEq for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl StructuralPartialEq for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl StructuralPartialEq for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; +implementors["db_core"] = [{"text":"impl<'a> StructuralPartialEq for Register<'a>","synthetic":false,"types":["db_core::Register"]},{"text":"impl<'a> StructuralPartialEq for UpdateEmail<'a>","synthetic":false,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> StructuralPartialEq for Login<'a>","synthetic":false,"types":["db_core::Login"]},{"text":"impl StructuralPartialEq for NameHash","synthetic":false,"types":["db_core::NameHash"]},{"text":"impl StructuralPartialEq for StatsUnixTimestamp","synthetic":false,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl StructuralPartialEq for Notification","synthetic":false,"types":["db_core::Notification"]},{"text":"impl<'a> StructuralPartialEq for AddNotification<'a>","synthetic":false,"types":["db_core::AddNotification"]},{"text":"impl StructuralPartialEq for TrafficPattern","synthetic":false,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> StructuralPartialEq for CreateCaptcha<'a>","synthetic":false,"types":["db_core::CreateCaptcha"]},{"text":"impl StructuralPartialEq for Captcha","synthetic":false,"types":["db_core::Captcha"]},{"text":"impl StructuralPartialEq for Secret","synthetic":false,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl StructuralPartialEq for InnerNotification","synthetic":false,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl StructuralPartialEq for AddNotificationRequest","synthetic":false,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl StructuralPartialEq for NotificationResp","synthetic":false,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl StructuralPartialEq for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl StructuralPartialEq for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]},{"text":"impl StructuralPartialEq for DBType","synthetic":false,"types":["mcaptcha::settings::DBType"]},{"text":"impl StructuralPartialEq for CaptchaStats","synthetic":false,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl StructuralPartialEq for Real","synthetic":false,"types":["mcaptcha::stats::Real"]},{"text":"impl StructuralPartialEq for Dummy","synthetic":false,"types":["mcaptcha::stats::Dummy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js index b9e9e559..70156527 100644 --- a/implementors/core/marker/trait.Sync.js +++ b/implementors/core/marker/trait.Sync.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Sync for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Sync for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Sync for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Sync for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Sync for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Sync for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Sync for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Sync for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Sync for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Sync for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Sync for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Sync for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Sync for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Sync for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Sync for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Sync for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Sync for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Sync for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Sync for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Sync for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Sync for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Sync for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Sync for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Sync for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Sync for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Sync for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Sync for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Sync for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Sync for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Sync for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Sync for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Sync for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Sync for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Sync for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Sync for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Sync for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Sync for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sync for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Sync for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Sync for SudoPage<'a, K, V> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Sync for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Sync for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Sync for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Sync for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Sync for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Sync for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Sync for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Sync for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Sync for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Sync for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Sync for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Sync for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Sync for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Sync for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Sync for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Sync for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Sync for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Sync for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Sync for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Sync for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Sync for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Sync for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Sync for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Sync for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Sync for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Sync for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Sync for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Sync for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Sync for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Sync for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Sync for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Sync for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Sync for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Sync for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Sync for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Sync for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Sync for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Sync for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Sync for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Sync for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Sync for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Sync for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Sync for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Sync for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Sync for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Sync for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Sync for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Sync for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Sync for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Sync for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Sync for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Sync for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Sync for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Sync for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Sync for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Sync for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Sync for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Sync for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Sync for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Sync for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Sync for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Sync for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Sync for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Sync for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Sync for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Sync for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Sync for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Sync for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Sync for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Sync for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Sync for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Sync for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Sync for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Sync for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Sync for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Sync for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Sync for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Sync for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Sync for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Sync for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Sync for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Sync for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Sync for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Sync for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Sync for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Sync for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Sync for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Sync for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Sync for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Sync for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Sync for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Sync for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Sync for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Sync for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Sync for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Sync for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Sync for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Sync for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Sync for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Sync for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Sync for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Sync for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Sync for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Sync for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Sync for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Sync for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Sync for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Sync for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Sync for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Sync for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Sync for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Sync for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Sync for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Sync for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sync for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Sync for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Sync for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Sync for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Sync for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Sync for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Sync for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Sync for SudoPage<'a, K, V> where
    K: Sync,
    V: Sync
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Sync for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Sync for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Sync for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sync for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Sync for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Sync for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Sync for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Sync for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Sync for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Sync for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Sync for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Sync for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Sync for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Sync for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Sync for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Sync for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Sync for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Sync for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Sync for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Sync for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sync for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sync for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sync for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Sync for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Sync for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sync for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Sync for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sync for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Sync for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Sync for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Sync for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Sync for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Sync for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Sync for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Sync for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Sync for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Sync for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Sync for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Sync for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Sync for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Sync for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Sync for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Sync for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Sync for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Sync for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Sync for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Sync for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Sync for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Sync for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Sync for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Sync for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Sync for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Sync for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Sync for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Sync for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Sync for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Sync for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Sync for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Sync for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Sync for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Sync for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Sync for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Sync for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Sync for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Sync for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Sync for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js index 03d8449b..9909a5f6 100644 --- a/implementors/core/marker/trait.Unpin.js +++ b/implementors/core/marker/trait.Unpin.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Unpin for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Unpin for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Unpin for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Unpin for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Unpin for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Unpin for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Unpin for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Unpin for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Unpin for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Unpin for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Unpin for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Unpin for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Unpin for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Unpin for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Unpin for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Unpin for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Unpin for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Unpin for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Unpin for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Unpin for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Unpin for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Unpin for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Unpin for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Unpin for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Unpin for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Unpin for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Unpin for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Unpin for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Unpin for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Unpin for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Unpin for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Unpin for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Unpin for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Unpin for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Unpin for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Unpin for SudoPage<'a, K, V> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Unpin for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Unpin for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Unpin for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Unpin for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Unpin for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Unpin for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Unpin for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Unpin for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Unpin for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Unpin for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Unpin for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Unpin for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Unpin for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Unpin for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Unpin for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Unpin for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Unpin for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Unpin for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Unpin for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Unpin for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Unpin for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Unpin for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Unpin for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Unpin for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Unpin for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Unpin for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Unpin for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl Unpin for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> Unpin for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> Unpin for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> Unpin for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl Unpin for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl Unpin for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> Unpin for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl Unpin for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> Unpin for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl Unpin for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl Unpin for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl Unpin for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl Unpin for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl Unpin for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl Unpin for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl Unpin for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl Unpin for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl Unpin for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl Unpin for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl Unpin for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl Unpin for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl Unpin for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl Unpin for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl Unpin for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl Unpin for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl Unpin for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl Unpin for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl Unpin for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl Unpin for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl Unpin for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl Unpin for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl Unpin for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl Unpin for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl Unpin for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl Unpin for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl Unpin for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl Unpin for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl Unpin for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl Unpin for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl Unpin for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl Unpin for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl Unpin for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl Unpin for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl Unpin for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl Unpin for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl Unpin for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl Unpin for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl Unpin for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl Unpin for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl Unpin for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl Unpin for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl Unpin for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl Unpin for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl Unpin for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl Unpin for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl Unpin for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Unpin for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl Unpin for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl Unpin for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl Unpin for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Unpin for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl Unpin for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl Unpin for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl Unpin for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl Unpin for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl Unpin for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl Unpin for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl Unpin for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl Unpin for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl Unpin for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl Unpin for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl Unpin for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl Unpin for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl Unpin for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl Unpin for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl Unpin for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl Unpin for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl Unpin for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl Unpin for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl Unpin for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl Unpin for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl Unpin for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl Unpin for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl Unpin for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl Unpin for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Unpin for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Unpin for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Unpin for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Unpin for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl Unpin for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Unpin for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Unpin for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> Unpin for SudoPage<'a, K, V> where
    K: Unpin,
    V: Unpin
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl Unpin for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl Unpin for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> Unpin for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Unpin for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Unpin for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Unpin for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl Unpin for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl Unpin for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> Unpin for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl Unpin for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl Unpin for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl Unpin for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl Unpin for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Unpin for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> Unpin for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> Unpin for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl Unpin for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl Unpin for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl Unpin for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> Unpin for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Unpin for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Unpin for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Unpin for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl Unpin for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl Unpin for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Unpin for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl Unpin for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Unpin for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Unpin for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl Unpin for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl Unpin for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl Unpin for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl Unpin for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl Unpin for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl Unpin for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl Unpin for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl Unpin for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl Unpin for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl Unpin for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Unpin for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Unpin for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Unpin for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Unpin for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Unpin for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Unpin for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Unpin for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Unpin for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Unpin for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Unpin for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl Unpin for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl Unpin for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl Unpin for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl Unpin for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl Unpin for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl Unpin for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl Unpin for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl Unpin for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl Unpin for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Unpin for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl Unpin for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl Unpin for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl Unpin for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl Unpin for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl Unpin for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Unpin for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Unpin for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/deref/trait.Deref.js b/implementors/core/ops/deref/trait.Deref.js index 444d3a0e..61d500b2 100644 --- a/implementors/core/ops/deref/trait.Deref.js +++ b/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for ADVANCE_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Deref for EASY_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Deref for KEY","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Deref for GITHUB","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Deref for HOME","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Deref for SETTINGS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Deref for CREDIT_CARD","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Deref for HELP_CIRCLE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Deref for MESSAGE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Deref for DOCS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Deref for MCAPTCHA_TRANS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Deref for BAR_CHART","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["mcaptcha"] = [{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl Deref for INTERNAL_SERVER_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl Deref for UNKNOWN_ERROR_BODY","synthetic":false,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl Deref for ADVANCE_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl Deref for EASY_INDEX","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl Deref for INDEX","synthetic":false,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl Deref for KEY","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl Deref for GITHUB","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl Deref for HOME","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl Deref for SETTINGS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl Deref for CREDIT_CARD","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl Deref for HELP_CIRCLE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl Deref for MESSAGE","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl Deref for DOCS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl Deref for MCAPTCHA_TRANS_ICON","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl Deref for BAR_CHART","synthetic":false,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl Deref for INDEX_PAGE","synthetic":false,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl Deref for SETTINGS","synthetic":false,"types":["mcaptcha::SETTINGS"]},{"text":"impl Deref for FILES","synthetic":false,"types":["mcaptcha::FILES"]},{"text":"impl Deref for JS","synthetic":false,"types":["mcaptcha::JS"]},{"text":"impl Deref for CSS","synthetic":false,"types":["mcaptcha::CSS"]},{"text":"impl Deref for MOBILE_CSS","synthetic":false,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_JS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl Deref for VERIFICATIN_WIDGET_CSS","synthetic":false,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl Deref for SOURCE_FILES_OF_INSTANCE","synthetic":false,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index d7b8f7a5..83991f5e 100644 --- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl !RefUnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl RefUnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> RefUnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl RefUnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> RefUnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl RefUnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl RefUnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl RefUnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl RefUnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl RefUnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl RefUnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl RefUnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl RefUnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl RefUnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl RefUnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl RefUnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl RefUnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl RefUnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl RefUnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl RefUnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !RefUnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl RefUnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl RefUnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl RefUnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl RefUnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !RefUnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !RefUnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !RefUnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl RefUnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl RefUnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl RefUnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl RefUnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl RefUnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl RefUnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl RefUnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl RefUnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl RefUnwindSafe for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl RefUnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl RefUnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl RefUnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl RefUnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl RefUnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl RefUnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl RefUnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl RefUnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl RefUnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl RefUnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl RefUnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl !RefUnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> RefUnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> RefUnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> RefUnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl RefUnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl RefUnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> RefUnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl RefUnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> RefUnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl RefUnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl !RefUnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !RefUnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !RefUnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !RefUnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl RefUnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl RefUnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl RefUnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl RefUnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl RefUnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl RefUnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl RefUnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl RefUnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl RefUnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl RefUnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl RefUnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl RefUnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl RefUnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl RefUnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl RefUnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl RefUnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl RefUnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl RefUnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl RefUnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl RefUnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl RefUnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl RefUnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl RefUnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl RefUnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl RefUnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl RefUnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl RefUnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl RefUnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl RefUnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl RefUnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl RefUnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl RefUnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl RefUnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl RefUnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl RefUnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl RefUnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl RefUnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl RefUnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl RefUnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl RefUnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl RefUnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl RefUnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl RefUnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl RefUnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl RefUnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl RefUnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl RefUnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl RefUnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl RefUnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl RefUnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl RefUnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl RefUnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl RefUnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl RefUnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl RefUnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl RefUnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl RefUnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl RefUnwindSafe for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl RefUnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl RefUnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl RefUnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !RefUnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !RefUnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl RefUnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl RefUnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl RefUnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl RefUnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl RefUnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl RefUnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !RefUnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !RefUnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !RefUnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl RefUnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !RefUnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl RefUnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl RefUnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> RefUnwindSafe for SudoPage<'a, K, V> where
    K: RefUnwindSafe,
    V: RefUnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl RefUnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl RefUnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> RefUnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl RefUnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl RefUnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl RefUnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl RefUnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl RefUnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> RefUnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl RefUnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl RefUnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl RefUnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl RefUnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl RefUnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> RefUnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl RefUnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl RefUnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl RefUnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> RefUnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl RefUnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl RefUnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl RefUnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl RefUnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl RefUnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl RefUnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl RefUnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl RefUnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl RefUnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl RefUnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl RefUnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl RefUnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl RefUnwindSafe for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl RefUnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl RefUnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl RefUnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl RefUnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl RefUnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl RefUnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl RefUnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl RefUnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl RefUnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl RefUnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl RefUnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl RefUnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl RefUnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl RefUnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl RefUnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl RefUnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl RefUnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl RefUnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl RefUnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl RefUnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl RefUnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl RefUnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl RefUnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl RefUnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl RefUnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl RefUnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl RefUnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl RefUnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl RefUnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl RefUnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl RefUnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl RefUnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index ea0e5168..60bc59ee 100644 --- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl !UnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl UnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> UnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl UnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> UnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; -implementors["db_sqlx_maria"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; -implementors["db_sqlx_postgres"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; -implementors["mcaptcha"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl UnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl UnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl UnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl UnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl UnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl UnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl UnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl UnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl UnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl UnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl UnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl UnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl UnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl UnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl UnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl UnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !UnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl UnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl UnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl UnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl UnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !UnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !UnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !UnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl UnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl UnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl UnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl UnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl UnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> UnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> UnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl UnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl UnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> UnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl UnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl UnwindSafe for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl UnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl UnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl UnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl UnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl UnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl UnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl UnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl UnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl UnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl UnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl UnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; +implementors["db_core"] = [{"text":"impl !UnwindSafe for DBError","synthetic":true,"types":["db_core::errors::DBError"]},{"text":"impl<'a> UnwindSafe for Register<'a>","synthetic":true,"types":["db_core::Register"]},{"text":"impl<'a> UnwindSafe for UpdateEmail<'a>","synthetic":true,"types":["db_core::UpdateEmail"]},{"text":"impl<'a> UnwindSafe for Login<'a>","synthetic":true,"types":["db_core::Login"]},{"text":"impl UnwindSafe for NameHash","synthetic":true,"types":["db_core::NameHash"]},{"text":"impl UnwindSafe for StatsUnixTimestamp","synthetic":true,"types":["db_core::StatsUnixTimestamp"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["db_core::Notification"]},{"text":"impl<'a> UnwindSafe for AddNotification<'a>","synthetic":true,"types":["db_core::AddNotification"]},{"text":"impl UnwindSafe for TrafficPattern","synthetic":true,"types":["db_core::TrafficPattern"]},{"text":"impl<'a> UnwindSafe for CreateCaptcha<'a>","synthetic":true,"types":["db_core::CreateCaptcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["db_core::Captcha"]},{"text":"impl UnwindSafe for Secret","synthetic":true,"types":["db_core::Secret"]}]; +implementors["db_sqlx_maria"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_maria::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_maria::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_maria::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_maria::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_maria::InnerNotification"]}]; +implementors["db_sqlx_postgres"] = [{"text":"impl !UnwindSafe for Database","synthetic":true,"types":["db_sqlx_postgres::Database"]},{"text":"impl !UnwindSafe for Conn","synthetic":true,"types":["db_sqlx_postgres::Conn"]},{"text":"impl !UnwindSafe for ConnectionOptions","synthetic":true,"types":["db_sqlx_postgres::ConnectionOptions"]},{"text":"impl !UnwindSafe for Fresh","synthetic":true,"types":["db_sqlx_postgres::Fresh"]},{"text":"impl UnwindSafe for InnerNotification","synthetic":true,"types":["db_sqlx_postgres::InnerNotification"]}]; +implementors["mcaptcha"] = [{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::api::v1::account::delete::delete_account"]},{"text":"impl UnwindSafe for Email","synthetic":true,"types":["mcaptcha::api::v1::account::email::Email"]},{"text":"impl UnwindSafe for email_exists","synthetic":true,"types":["mcaptcha::api::v1::account::email::email_exists"]},{"text":"impl UnwindSafe for set_email","synthetic":true,"types":["mcaptcha::api::v1::account::email::set_email"]},{"text":"impl UnwindSafe for ChangePasswordReqest","synthetic":true,"types":["mcaptcha::api::v1::account::password::ChangePasswordReqest"]},{"text":"impl UnwindSafe for UpdatePassword","synthetic":true,"types":["mcaptcha::api::v1::account::password::UpdatePassword"]},{"text":"impl UnwindSafe for update_user_password","synthetic":true,"types":["mcaptcha::api::v1::account::password::update_user_password"]},{"text":"impl UnwindSafe for get_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::get_secret"]},{"text":"impl UnwindSafe for update_user_secret","synthetic":true,"types":["mcaptcha::api::v1::account::secret::update_user_secret"]},{"text":"impl UnwindSafe for username_exists","synthetic":true,"types":["mcaptcha::api::v1::account::username::username_exists"]},{"text":"impl UnwindSafe for Username","synthetic":true,"types":["mcaptcha::api::v1::account::username::Username"]},{"text":"impl UnwindSafe for set_username","synthetic":true,"types":["mcaptcha::api::v1::account::username::set_username"]},{"text":"impl UnwindSafe for Account","synthetic":true,"types":["mcaptcha::api::v1::account::routes::Account"]},{"text":"impl UnwindSafe for AccountCheckPayload","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckPayload"]},{"text":"impl UnwindSafe for AccountCheckResp","synthetic":true,"types":["mcaptcha::api::v1::account::AccountCheckResp"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::api::v1::auth::routes::Auth"]},{"text":"impl UnwindSafe for Register","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Register"]},{"text":"impl UnwindSafe for Login","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Login"]},{"text":"impl UnwindSafe for Password","synthetic":true,"types":["mcaptcha::api::v1::auth::runners::Password"]},{"text":"impl UnwindSafe for register","synthetic":true,"types":["mcaptcha::api::v1::auth::register"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::api::v1::auth::login"]},{"text":"impl UnwindSafe for signout","synthetic":true,"types":["mcaptcha::api::v1::auth::signout"]},{"text":"impl UnwindSafe for CreateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::CreateCaptcha"]},{"text":"impl UnwindSafe for MCaptchaDetails","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::MCaptchaDetails"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::create::create"]},{"text":"impl UnwindSafe for DeleteCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::DeleteCaptcha"]},{"text":"impl UnwindSafe for delete","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::delete::delete"]},{"text":"impl UnwindSafe for Easy","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::routes::Easy"]},{"text":"impl UnwindSafe for TrafficPatternRequest","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::TrafficPatternRequest"]},{"text":"impl UnwindSafe for create","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::create"]},{"text":"impl UnwindSafe for UpdateTrafficPattern","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::UpdateTrafficPattern"]},{"text":"impl UnwindSafe for update","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::easy::update"]},{"text":"impl UnwindSafe for get_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::get_captcha"]},{"text":"impl UnwindSafe for Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::Levels"]},{"text":"impl UnwindSafe for I32Levels","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::get::I32Levels"]},{"text":"impl UnwindSafe for Stats","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::routes::Stats"]},{"text":"impl UnwindSafe for StatsPayload","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::StatsPayload"]},{"text":"impl UnwindSafe for get","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::stats::get"]},{"text":"impl UnwindSafe for update_key","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_key"]},{"text":"impl UnwindSafe for UpdateCaptcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::UpdateCaptcha"]},{"text":"impl UnwindSafe for update_captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::update::update_captcha"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::api::v1::mcaptcha::routes::Captcha"]},{"text":"impl UnwindSafe for Meta","synthetic":true,"types":["mcaptcha::api::v1::meta::routes::Meta"]},{"text":"impl UnwindSafe for BuildDetails","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetails"]},{"text":"impl UnwindSafe for BuildDetailsBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilder"]},{"text":"impl UnwindSafe for BuildDetailsBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl UnwindSafe for build_details","synthetic":true,"types":["mcaptcha::api::v1::meta::build_details"]},{"text":"impl UnwindSafe for Health","synthetic":true,"types":["mcaptcha::api::v1::meta::Health"]},{"text":"impl UnwindSafe for HealthBuilder","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilder"]},{"text":"impl UnwindSafe for HealthBuilderError","synthetic":true,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl UnwindSafe for health","synthetic":true,"types":["mcaptcha::api::v1::meta::health"]},{"text":"impl UnwindSafe for AddNotificationRequest","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::AddNotificationRequest"]},{"text":"impl UnwindSafe for add_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::add::add_notification"]},{"text":"impl UnwindSafe for NotificationResp","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::NotificationResp"]},{"text":"impl UnwindSafe for get_notification","synthetic":true,"types":["mcaptcha::api::v1::notifications::get::get_notification"]},{"text":"impl UnwindSafe for MarkReadReq","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::MarkReadReq"]},{"text":"impl UnwindSafe for mark_read","synthetic":true,"types":["mcaptcha::api::v1::notifications::mark_read::mark_read"]},{"text":"impl UnwindSafe for Notifications","synthetic":true,"types":["mcaptcha::api::v1::notifications::routes::Notifications"]},{"text":"impl UnwindSafe for GetConfigPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::GetConfigPayload"]},{"text":"impl UnwindSafe for get_config","synthetic":true,"types":["mcaptcha::api::v1::pow::get_config::get_config"]},{"text":"impl UnwindSafe for ValidationToken","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::ValidationToken"]},{"text":"impl UnwindSafe for verify_pow","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_pow::verify_pow"]},{"text":"impl UnwindSafe for CaptchaValidateResp","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::CaptchaValidateResp"]},{"text":"impl UnwindSafe for VerifyCaptchaResultPayload","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::VerifyCaptchaResultPayload"]},{"text":"impl UnwindSafe for validate_captcha_token","synthetic":true,"types":["mcaptcha::api::v1::pow::verify_token::validate_captcha_token"]},{"text":"impl UnwindSafe for PoW","synthetic":true,"types":["mcaptcha::api::v1::pow::routes::PoW"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::api::v1::routes::Routes"]},{"text":"impl UnwindSafe for RedirectQuery","synthetic":true,"types":["mcaptcha::api::v1::RedirectQuery"]},{"text":"impl !UnwindSafe for SystemGroup","synthetic":true,"types":["mcaptcha::data::SystemGroup"]},{"text":"impl !UnwindSafe for Data","synthetic":true,"types":["mcaptcha::data::Data"]},{"text":"impl UnwindSafe for Date","synthetic":true,"types":["mcaptcha::date::Date"]},{"text":"impl UnwindSafe for DemoUser","synthetic":true,"types":["mcaptcha::demo::DemoUser"]},{"text":"impl UnwindSafe for Docs","synthetic":true,"types":["mcaptcha::docs::routes::Docs"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::docs::Asset"]},{"text":"impl UnwindSafe for dist","synthetic":true,"types":["mcaptcha::docs::dist"]},{"text":"impl UnwindSafe for spec","synthetic":true,"types":["mcaptcha::docs::spec"]},{"text":"impl UnwindSafe for index","synthetic":true,"types":["mcaptcha::docs::index"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl !UnwindSafe for SmtpErrorWrapper","synthetic":true,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl !UnwindSafe for DBErrorWrapper","synthetic":true,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl !UnwindSafe for ServiceError","synthetic":true,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl UnwindSafe for ErrorToResponse","synthetic":true,"types":["mcaptcha::errors::ErrorToResponse"]},{"text":"impl !UnwindSafe for PageError","synthetic":true,"types":["mcaptcha::errors::PageError"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::login::INDEX"]},{"text":"impl UnwindSafe for login","synthetic":true,"types":["mcaptcha::pages::auth::login::login"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::auth::register::INDEX"]},{"text":"impl UnwindSafe for join","synthetic":true,"types":["mcaptcha::pages::auth::register::join"]},{"text":"impl<'a, K, V> UnwindSafe for SudoPage<'a, K, V> where
    K: UnwindSafe,
    V: UnwindSafe
","synthetic":true,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl UnwindSafe for Auth","synthetic":true,"types":["mcaptcha::pages::auth::routes::Auth"]},{"text":"impl UnwindSafe for Errors","synthetic":true,"types":["mcaptcha::pages::errors::routes::Errors"]},{"text":"impl<'a> UnwindSafe for ErrorPage<'a>","synthetic":true,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl UnwindSafe for INTERNAL_SERVER_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::INTERNAL_SERVER_ERROR_BODY"]},{"text":"impl UnwindSafe for UNKNOWN_ERROR_BODY","synthetic":true,"types":["mcaptcha::pages::errors::UNKNOWN_ERROR_BODY"]},{"text":"impl UnwindSafe for error","synthetic":true,"types":["mcaptcha::pages::errors::error"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl UnwindSafe for Notification","synthetic":true,"types":["mcaptcha::pages::panel::notifications::Notification"]},{"text":"impl UnwindSafe for notifications","synthetic":true,"types":["mcaptcha::pages::panel::notifications::notifications"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::routes::Settings"]},{"text":"impl<'a> UnwindSafe for IndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl UnwindSafe for settings","synthetic":true,"types":["mcaptcha::pages::panel::settings::settings"]},{"text":"impl UnwindSafe for delete_account","synthetic":true,"types":["mcaptcha::pages::panel::settings::delete_account"]},{"text":"impl UnwindSafe for update_secret","synthetic":true,"types":["mcaptcha::pages::panel::settings::update_secret"]},{"text":"impl UnwindSafe for ADVANCE_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::ADVANCE_INDEX"]},{"text":"impl UnwindSafe for EASY_INDEX","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EASY_INDEX"]},{"text":"impl<'a> UnwindSafe for AdvanceIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::advance"]},{"text":"impl<'a> UnwindSafe for EasyIndexPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::add::easy"]},{"text":"impl UnwindSafe for delete_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::delete::delete_sitekey"]},{"text":"impl UnwindSafe for AdvanceEditPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl UnwindSafe for advance","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::advance"]},{"text":"impl<'a> UnwindSafe for EasyEditPage<'a>","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl UnwindSafe for easy","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::edit::easy"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl UnwindSafe for list_sitekeys","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::list::list_sitekeys"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl UnwindSafe for view_sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::view::view_sitekey"]},{"text":"impl UnwindSafe for Sitekey","synthetic":true,"types":["mcaptcha::pages::panel::sitekey::routes::Sitekey"]},{"text":"impl UnwindSafe for Panel","synthetic":true,"types":["mcaptcha::pages::panel::routes::Panel"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl UnwindSafe for panel","synthetic":true,"types":["mcaptcha::pages::panel::panel"]},{"text":"impl UnwindSafe for Routes","synthetic":true,"types":["mcaptcha::pages::routes::Routes"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl UnwindSafe for INDEX","synthetic":true,"types":["mcaptcha::pages::sitemap::INDEX"]},{"text":"impl UnwindSafe for sitemap","synthetic":true,"types":["mcaptcha::pages::sitemap::sitemap"]},{"text":"impl UnwindSafe for Server","synthetic":true,"types":["mcaptcha::settings::Server"]},{"text":"impl UnwindSafe for Captcha","synthetic":true,"types":["mcaptcha::settings::Captcha"]},{"text":"impl UnwindSafe for DefaultDifficultyStrategy","synthetic":true,"types":["mcaptcha::settings::DefaultDifficultyStrategy"]},{"text":"impl UnwindSafe for Smtp","synthetic":true,"types":["mcaptcha::settings::Smtp"]},{"text":"impl UnwindSafe for DBType","synthetic":true,"types":["mcaptcha::settings::DBType"]},{"text":"impl UnwindSafe for Database","synthetic":true,"types":["mcaptcha::settings::Database"]},{"text":"impl UnwindSafe for Redis","synthetic":true,"types":["mcaptcha::settings::Redis"]},{"text":"impl UnwindSafe for Settings","synthetic":true,"types":["mcaptcha::settings::Settings"]},{"text":"impl UnwindSafe for FileMap","synthetic":true,"types":["mcaptcha::static_assets::filemap::FileMap"]},{"text":"impl UnwindSafe for KEY","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::KEY"]},{"text":"impl UnwindSafe for GITHUB","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::GITHUB"]},{"text":"impl UnwindSafe for HOME","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HOME"]},{"text":"impl UnwindSafe for SETTINGS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::SETTINGS_ICON"]},{"text":"impl UnwindSafe for CREDIT_CARD","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::CREDIT_CARD"]},{"text":"impl UnwindSafe for HELP_CIRCLE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::HELP_CIRCLE"]},{"text":"impl UnwindSafe for MESSAGE","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MESSAGE"]},{"text":"impl UnwindSafe for DOCS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::DOCS_ICON"]},{"text":"impl UnwindSafe for MCAPTCHA_TRANS_ICON","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::MCAPTCHA_TRANS_ICON"]},{"text":"impl UnwindSafe for BAR_CHART","synthetic":true,"types":["mcaptcha::static_assets::static_files::assets::BAR_CHART"]},{"text":"impl UnwindSafe for Asset","synthetic":true,"types":["mcaptcha::static_assets::static_files::Asset"]},{"text":"impl UnwindSafe for static_files","synthetic":true,"types":["mcaptcha::static_assets::static_files::static_files"]},{"text":"impl UnwindSafe for Favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::Favicons"]},{"text":"impl UnwindSafe for favicons","synthetic":true,"types":["mcaptcha::static_assets::static_files::favicons"]},{"text":"impl UnwindSafe for CaptchaStats","synthetic":true,"types":["mcaptcha::stats::CaptchaStats"]},{"text":"impl UnwindSafe for Real","synthetic":true,"types":["mcaptcha::stats::Real"]},{"text":"impl UnwindSafe for Dummy","synthetic":true,"types":["mcaptcha::stats::Dummy"]},{"text":"impl UnwindSafe for Widget","synthetic":true,"types":["mcaptcha::widget::routes::Widget"]},{"text":"impl UnwindSafe for IndexPage","synthetic":true,"types":["mcaptcha::widget::IndexPage"]},{"text":"impl UnwindSafe for INDEX_PAGE","synthetic":true,"types":["mcaptcha::widget::INDEX_PAGE"]},{"text":"impl UnwindSafe for show_widget","synthetic":true,"types":["mcaptcha::widget::show_widget"]},{"text":"impl UnwindSafe for SETTINGS","synthetic":true,"types":["mcaptcha::SETTINGS"]},{"text":"impl UnwindSafe for FILES","synthetic":true,"types":["mcaptcha::FILES"]},{"text":"impl UnwindSafe for JS","synthetic":true,"types":["mcaptcha::JS"]},{"text":"impl UnwindSafe for CSS","synthetic":true,"types":["mcaptcha::CSS"]},{"text":"impl UnwindSafe for MOBILE_CSS","synthetic":true,"types":["mcaptcha::MOBILE_CSS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_JS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_JS"]},{"text":"impl UnwindSafe for VERIFICATIN_WIDGET_CSS","synthetic":true,"types":["mcaptcha::VERIFICATIN_WIDGET_CSS"]},{"text":"impl UnwindSafe for SOURCE_FILES_OF_INSTANCE","synthetic":true,"types":["mcaptcha::SOURCE_FILES_OF_INSTANCE"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sailfish/private/trait.Sealed.js b/implementors/sailfish/private/trait.Sealed.js index f4571fd9..92672b3f 100644 --- a/implementors/sailfish/private/trait.Sealed.js +++ b/implementors/sailfish/private/trait.Sealed.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> Sealed for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Sealed for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Sealed for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sealed for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Sealed for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["mcaptcha"] = [{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> Sealed for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> Sealed for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> Sealed for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> Sealed for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> Sealed for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl Sealed for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> Sealed for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl Sealed for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/sailfish/trait.TemplateOnce.js b/implementors/sailfish/trait.TemplateOnce.js index 0814b2df..7baa7499 100644 --- a/implementors/sailfish/trait.TemplateOnce.js +++ b/implementors/sailfish/trait.TemplateOnce.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["mcaptcha"] = [{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> TemplateOnce for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> TemplateOnce for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl TemplateOnce for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> TemplateOnce for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; +implementors["mcaptcha"] = [{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::email::verification::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::login::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::auth::register::IndexPage"]},{"text":"impl<'a, K, V> TemplateOnce for SudoPage<'a, K, V> where
    K: Display + Render,
    V: Display + Render, 
","synthetic":false,"types":["mcaptcha::pages::auth::sudo::SudoPage"]},{"text":"impl<'a> TemplateOnce for ErrorPage<'a>","synthetic":false,"types":["mcaptcha::pages::errors::ErrorPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::notifications::IndexPage"]},{"text":"impl<'a> TemplateOnce for IndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::settings::IndexPage"]},{"text":"impl<'a> TemplateOnce for AdvanceIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::AdvanceIndexPage"]},{"text":"impl<'a> TemplateOnce for EasyIndexPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::add::EasyIndexPage"]},{"text":"impl TemplateOnce for AdvanceEditPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::AdvanceEditPage"]},{"text":"impl<'a> TemplateOnce for EasyEditPage<'a>","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::edit::EasyEditPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::list::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::sitekey::view::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::panel::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::pages::sitemap::IndexPage"]},{"text":"impl TemplateOnce for IndexPage","synthetic":false,"types":["mcaptcha::widget::IndexPage"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/std/error/trait.Error.js b/implementors/std/error/trait.Error.js index bbea1f2e..c7e8dc2a 100644 --- a/implementors/std/error/trait.Error.js +++ b/implementors/std/error/trait.Error.js @@ -1,4 +1,4 @@ (function() {var implementors = {}; -implementors["db_core"] = [{"text":"impl Error for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; -implementors["mcaptcha"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Error for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; +implementors["db_core"] = [{"text":"impl Error for DBError","synthetic":false,"types":["db_core::errors::DBError"]}]; +implementors["mcaptcha"] = [{"text":"impl Error for BuildDetailsBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::BuildDetailsBuilderError"]},{"text":"impl Error for HealthBuilderError","synthetic":false,"types":["mcaptcha::api::v1::meta::HealthBuilderError"]},{"text":"impl Error for SmtpErrorWrapper","synthetic":false,"types":["mcaptcha::errors::SmtpErrorWrapper"]},{"text":"impl Error for DBErrorWrapper","synthetic":false,"types":["mcaptcha::errors::DBErrorWrapper"]},{"text":"impl Error for ServiceError","synthetic":false,"types":["mcaptcha::errors::ServiceError"]},{"text":"impl Error for PageError","synthetic":false,"types":["mcaptcha::errors::PageError"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/light.css b/light.css index 90de68d6..ceb83fcc 100644 --- a/light.css +++ b/light.css @@ -1 +1 @@ - body{background-color:white;color:black;}h1,h2,h3,h4{color:black;}h1.fqn{border-bottom-color:#DDDDDD;}h2,h3,h4{border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre,.rustdoc.source .example-wrap{background-color:#F5F5F5;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#F5F5F5;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.rust-logo{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current,.sidebar a:hover{background-color:#fff;}.source .sidebar{background-color:#f1f1f1;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#FDFFD3 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#ddd;}.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#e7b1a0;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#e7b1a0;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#e7b1a0;}a.result-associatedtype:focus{background-color:#afc6e4;}a.result-foreigntype:focus{background-color:#e7b1a0;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#afc6e4;}a.result-primitive:focus{background-color:#e7b1a0;}a.result-keyword:focus{background-color:#afc6e4;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#AD378A;}.content span.struct,.content a.struct,.block a.current.struct{color:#AD378A;}.content span.type,.content a.type,.block a.current.type{color:#AD378A;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#3873AD;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#3873AD;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#AD378A;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#3873AD;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#AD378A;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#3873AD;}.content span.trait,.content a.trait,.block a.current.trait{color:#6E4FC9;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#5137AD;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#AD7C37;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#3873AD;}.sidebar a{color:#356da4;}.sidebar a.current.enum{color:#a63283;}.sidebar a.current.struct{color:#a63283;}.sidebar a.current.type{color:#a63283;}.sidebar a.current.associatedtype{color:#356da4;}.sidebar a.current.foreigntype{color:#356da4;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#067901;}.sidebar a.current.union{color:#a63283;}.sidebar a.current.constant .sidebar a.current.static{color:#356da4;}.sidebar a.current.primitive{color:#a63283;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#356da4;}.sidebar a.current.trait{color:#6849c3;}.sidebar a.current.traitalias{color:#4b349e;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#a67736;}.sidebar a.current.keyword{color:#356da4;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#3873AD;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#000;}.search-results a{color:initial;}a.test-arrow{color:#f5f5f5;}body.source .example-wrap pre.rust a{background:#eee;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search,.search-input{color:#555;background-color:white;border-color:#e0e0e0;}.search-input:focus{border-color:#66afe9;}.module-item .stab,.import-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help span.bottom,#help span.top{border-color:#bfbfbf;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgb(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background:#FDFFD3;border-right:3px solid #AD7C37;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#3873AD;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F5F5F5;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F5F5F5;border-right-color:#000;}#sidebar-filler{background-color:#F5F5F5;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#theme-picker,#settings-menu,#help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,#help-button:hover,#help-button:focus{border-color:#717171;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#F5F5F5;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F5F5F5;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file + body,#settings-menu #settings,#settings-menu #settings::before{background-color:white;color:black;}.setting-line .radio-line input{border-color:black;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px white;background-color:#2196f3;}.setting-line .radio-line input:focus{box-shadow:0 0 1px 1px #2196f3;}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px white,0 0 2px 2px #2196f3;}.setting-line .radio-line input:hover{border-color:#2196f3 !important;}.slider{background-color:#ccc;}.slider:before{background-color:white;}input:checked+.slider{background-color:#2196F3;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}h1,h2,h3,h4{color:black;}h1.fqn{border-bottom-color:#DDDDDD;}h2,h3,h4{border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre,.rustdoc.source .example-wrap{background-color:#F5F5F5;}.sidebar,.mobile-topbar,.sidebar-menu-toggle{background-color:#F5F5F5;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.rust-logo{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current,.sidebar a:hover{background-color:#fff;}.source .sidebar{background-color:#f1f1f1;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#FDFFD3 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5,.docblock h6{border-bottom-color:#ddd;}.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.search-results a:hover{background-color:#ddd;}.search-results a:focus{color:#000 !important;background-color:#ccc;}.search-results a:focus span{color:#000 !important;}a.result-trait:focus{background-color:#c7b6ff;}a.result-traitalias:focus{background-color:#c7b6ff;}a.result-mod:focus,a.result-externcrate:focus{background-color:#afc6e4;}a.result-enum:focus{background-color:#e7b1a0;}a.result-struct:focus{background-color:#e7b1a0;}a.result-union:focus{background-color:#e7b1a0;}a.result-fn:focus,a.result-method:focus,a.result-tymethod:focus{background-color:#c6afb3;}a.result-type:focus{background-color:#e7b1a0;}a.result-associatedtype:focus{background-color:#afc6e4;}a.result-foreigntype:focus{background-color:#e7b1a0;}a.result-attr:focus,a.result-derive:focus,a.result-macro:focus{background-color:#8ce488;}a.result-constant:focus,a.result-static:focus{background-color:#afc6e4;}a.result-primitive:focus{background-color:#e7b1a0;}a.result-keyword:focus{background-color:#afc6e4;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#AD378A;}.content span.struct,.content a.struct,.block a.current.struct{color:#AD378A;}.content span.type,.content a.type,.block a.current.type{color:#AD378A;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#3873AD;}.content span.associatedtype,.content a.associatedtype,.block a.current.associatedtype{color:#3873AD;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#AD378A;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#3873AD;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#AD378A;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#3873AD;}.content span.trait,.content a.trait,.block a.current.trait{color:#6E4FC9;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#5137AD;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#AD7C37;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#3873AD;}.sidebar a{color:#356da4;}.sidebar a.current.enum{color:#a63283;}.sidebar a.current.struct{color:#a63283;}.sidebar a.current.type{color:#a63283;}.sidebar a.current.associatedtype{color:#356da4;}.sidebar a.current.foreigntype{color:#356da4;}.sidebar a.current.attr,.sidebar a.current.derive,.sidebar a.current.macro{color:#067901;}.sidebar a.current.union{color:#a63283;}.sidebar a.current.constant .sidebar a.current.static{color:#356da4;}.sidebar a.current.primitive{color:#a63283;}.sidebar a.current.externcrate .sidebar a.current.mod{color:#356da4;}.sidebar a.current.trait{color:#6849c3;}.sidebar a.current.traitalias{color:#4b349e;}.sidebar a.current.fn,.sidebar a.current.method,.sidebar a.current.tymethod{color:#a67736;}.sidebar a.current.keyword{color:#356da4;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#3873AD;}a#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,.in-band a{color:#000;}.search-results a{color:initial;}a.test-arrow{color:#f5f5f5;}body.source .example-wrap pre.rust a{background:#eee;}details.rustdoc-toggle>summary.hideme>span,details.rustdoc-toggle>summary::before,details.undocumented>summary::before{color:#999;}#crate-search,.search-input{background-color:white;border-color:#e0e0e0 !important;}.search-input:focus{border-color:#66afe9;}.module-item .stab,.import-item .stab{color:#000;}.stab.empty-impl{background:#FFF5D6;border-color:#FFC600;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help span.bottom,#help span.top{border-color:#bfbfbf;}.rightside,.out-of-band{color:grey;}.result-name .primitive>i,.result-name .keyword>i{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgb(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label,.code-attribute{color:#999;}:target{background:#FDFFD3;border-right:3px solid #AD7C37;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#3873AD;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}.notable-traits-tooltiptext .notable{border-bottom-color:#DDDDDD;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F5F5F5;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F5F5F5;border-right-color:#000;}#sidebar-filler{background-color:#F5F5F5;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow:inset 0 -1px 0 #c6cbd1;}#settings-menu>a,#help-button{border-color:#e0e0e0;background-color:#fff;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button:hover,#help-button:focus{border-color:#717171;}#settings-menu #settings,#settings-menu #settings::before{border-color:#DDDDDD;}#copy-path{color:#999;}#copy-path>img{filter:invert(50%);}#copy-path:hover>img{filter:invert(35%);}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}.search-results .result-name span.alias{color:#000;}.search-results .result-name span.grey{color:#999;}#sidebar-toggle{background-color:#F5F5F5;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F5F5F5;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.scraped-example-list .scrape-help{border-color:#555;color:#333;}.scraped-example-list .scrape-help:hover{border-color:black;color:black;}.more-examples-toggle summary,.more-examples-toggle .hide-more{color:#999;}.scraped-example .example-wrap .rust span.highlight{background:#fcffd6;}.scraped-example .example-wrap .rust span.highlight.focus{background:#f6fdb0;}.scraped-example:not(.expanded) .code-wrapper:before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper:after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));}.toggle-line-inner{background:#ccc;}.toggle-line:hover .toggle-line-inner{background:#999;} \ No newline at end of file diff --git a/main.js b/main.js index 54450c14..a756f497 100644 --- a/main.js +++ b/main.js @@ -1,8 +1,8 @@ -"use strict";if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){const l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}(function(){window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");window.searchJS=resourcePath("search",".js");window.searchIndexJS=resourcePath("search-index",".js");window.settingsJS=resourcePath("settings",".js");const sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,};const mobileLocationTitle=document.querySelector(".mobile-topbar h2.location");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}const THEME_PICKER_ELEMENT_ID="theme-picker";const THEMES_ELEMENT_ID="theme-choices";const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function showThemeButtonState(){const themePicker=getThemePickerElement();const themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){const themePicker=getThemePickerElement();const themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}window.hideSettings=()=>{};(function(){if(!document.location.href.startsWith("file:///")){return}const themeChoices=getThemesElement();const themePicker=getThemePickerElement();const availableThemes=getVar("themes").split(",");removeClass(themeChoices.parentElement,"hidden");function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){const active=document.activeElement;const related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(item=>{const but=document.createElement("button");but.textContent=item;but.onclick=()=>{switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function loadCss(cssFileName){const link=document.createElement("link");link.href=resourcePath(cssFileName,".css");link.type="text/css";link.rel="stylesheet";document.getElementsByTagName("head")[0].appendChild(link)}(function(){function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{addClass(getSettingsButton(),"rotate");event.preventDefault();loadCss("settings");loadScript(window.settingsJS)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS);loadScript(window.searchIndexJS)}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search);loadSearch()}},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown");handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){searchState.clearInputTimeout();const help=getHelpElement(false);if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else{switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}ev.preventDefault()}searchState.defocus();hideThemeButtonState()}const disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}let themePicker;if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){const active=document.activeElement;const themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);window.initSidebarItems=items=>{const sidebar=document.getElementsByClassName("sidebar-elems")[0];let others;const current=window.sidebarCurrent;function addSidebarCrates(crates){if(!hasClass(document.body,"crate")){return}const div=document.createElement("div");div.className="block crate";div.innerHTML="

Crates

";const ul=document.createElement("ul");div.appendChild(ul);for(const crate of crates){let klass="crate";if(window.rootPath!=="./"&&crate===window.currentCrate){klass+=" current"}const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.className=klass;link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}others.appendChild(div)}function block(shortty,id,longty){const filtered=items[shortty];if(!filtered){return}const div=document.createElement("div");div.className="block "+shortty;const h3=document.createElement("h3");h3.innerHTML=`${longty}`;div.appendChild(h3);const ul=document.createElement("ul");for(const item of filtered){const name=item[0];const desc=item[1];let klass=shortty;if(name===current.name&&shortty===current.ty){klass+=" current"}let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const link=document.createElement("a");link.href=current.relpath+path;link.title=desc;link.className=klass;link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}div.appendChild(ul);others.appendChild(div)}if(sidebar){others=document.createElement("div");others.className="others";sidebar.appendChild(others);const isModule=hasClass(document.body,"mod");if(!isModule){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}addSidebarCrates(window.ALL_CRATES)}};window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector("h1.fqn > .in-band > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const ignoreExternCrates=document.querySelector("script[data-ignore-extern-crates]").getAttribute("data-ignore-extern-crates");for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct.synthetic?synthetic_implementors:implementors;if(struct.synthetic){for(const struct_type of struct.types){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct.text;addClass(code,"code-header");addClass(code,"in-band");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}let sectionIsCollapsed=false;if(hasClass(innerToggle,"will-expand")){removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hasClass(e,"type-contents-toggle")){e.open=true}});innerToggle.title="collapse all docs"}else{addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});sectionIsCollapsed=true;innerToggle.title="expand all docs"}innerToggle.children[0].innerText=labelForToggleButton(sectionIsCollapsed)}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());(function(){let lineNumbersFunc=()=>{};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=x=>{const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{if(hasClass(e,"compile_fail")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#f00"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}else if(hasClass(e,"ignore")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#ff9200"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}lineNumbersFunc(e)})}());function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}function handleClick(id,f){const elem=document.getElementById(id);if(elem){elem.addEventListener("click",f)}}handleClick("help-button",ev=>{displayHelp(true,ev)});handleClick(MAIN_ID,()=>{hideSidebar()});onEachLazy(document.getElementsByTagName("a"),el=>{if(el.hash){el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})}});onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.getElementsByClassName("notable-traits-tooltiptext")[0].classList.toggle("force-tooltip")}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){addClass(sidebar,"shown")}else{removeClass(sidebar,"shown")}})}let buildHelperPopup=()=>{const popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";popup.addEventListener("click",ev=>{if(ev.target===popup){displayHelp(false,ev)}});const book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ - the rustdoc book.";const container=document.createElement("div");const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>(index&1)===0?""+y+"":" "+y+" ").join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ +"use strict";if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){const l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}(function(){window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate")}());function setMobileTopbar(){const mobileLocationTitle=document.querySelector(".mobile-topbar h2.location");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}window.hideSettings=()=>{};function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function loadCss(cssFileName){const link=document.createElement("link");link.href=resourcePath(cssFileName,".css");link.type="text/css";link.rel="stylesheet";document.getElementsByTagName("head")[0].appendChild(link)}(function(){function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{addClass(getSettingsButton(),"rotate");event.preventDefault();loadCss("settings");loadScript(resourcePath("settings",".js"))};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(resourcePath("search",".js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search);loadSearch()}},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown");handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function getHelpElement(build){if(build){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&!hasClass(help,"hidden")){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){searchState.clearInputTimeout();const help=getHelpElement(false);if(help&&!hasClass(help,"hidden")){displayHelp(false,ev,help)}else{switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}ev.preventDefault()}searchState.defocus();window.hideSettings()}const disableShortcuts=getSettingValue("disable-shortcuts")==="true";function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();searchState.focus();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const div=document.createElement("div");div.className="block "+shortty;const h3=document.createElement("h3");h3.innerHTML=`${longty}`;div.appendChild(h3);const ul=document.createElement("ul");for(const item of filtered){const name=item[0];const desc=item[1];let klass=shortty;let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();if(path===current_page){klass+=" current"}const link=document.createElement("a");link.href=path;link.title=desc;link.className=klass;link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}div.appendChild(ul);sidebar.appendChild(div)}if(sidebar){const isModule=hasClass(document.body,"mod");if(!isModule){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector("h1.fqn > .in-band > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const ignoreExternCrates=document.querySelector("script[data-ignore-extern-crates]").getAttribute("data-ignore-extern-crates");for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct.synthetic?synthetic_implementors:implementors;if(struct.synthetic){for(const struct_type of struct.types){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct.text;addClass(code,"code-header");addClass(code,"in-band");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const div=document.createElement("div");div.className="block crate";div.innerHTML="

Crates

";const ul=document.createElement("ul");div.appendChild(ul);for(const crate of window.ALL_CRATES){let klass="crate";if(window.rootPath!=="./"&&crate===window.currentCrate){klass+=" current"}const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";link.className=klass;link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(div)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}let sectionIsCollapsed=false;if(hasClass(innerToggle,"will-expand")){removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hasClass(e,"type-contents-toggle")){e.open=true}});innerToggle.title="collapse all docs"}else{addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});sectionIsCollapsed=true;innerToggle.title="expand all docs"}innerToggle.children[0].innerText=labelForToggleButton(sectionIsCollapsed)}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("rustdoc-toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());(function(){let lineNumbersFunc=()=>{};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=x=>{const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{if(hasClass(e,"compile_fail")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#f00"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}else if(hasClass(e,"ignore")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#ff9200"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}lineNumbersFunc(e)})}());function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}function handleClick(id,f){const elem=document.getElementById(id);if(elem){elem.addEventListener("click",f)}}handleClick("help-button",ev=>{displayHelp(true,ev)});handleClick(MAIN_ID,()=>{hideSidebar()});onEachLazy(document.getElementsByTagName("a"),el=>{if(el.hash){el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})}});onEachLazy(document.querySelectorAll(".rustdoc-toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.getElementsByClassName("notable-traits-tooltiptext")[0].classList.toggle("force-tooltip")}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){addClass(sidebar,"shown")}else{removeClass(sidebar,"shown")}})}let buildHelperPopup=()=>{const popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";popup.addEventListener("click",ev=>{if(ev.target===popup){displayHelp(false,ev)}});const book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ + the rustdoc book.";const container=document.createElement("div");const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ and const.","Search functions by type signature (e.g., vec -> usize or \ * -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);container.appendChild(rustdoc_version);popup.appendChild(container);insertAfter(popup,document.querySelector("main"));buildHelperPopup=()=>{}};onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file + your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);container.appendChild(rustdoc_version);popup.appendChild(container);insertAfter(popup,document.querySelector("main"));buildHelperPopup=()=>{}};setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/mcaptcha/all.html b/mcaptcha/all.html index f2d0c80d..6bd51c42 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -1,7 +1,8 @@ -List of all items in this crate -

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/mcaptcha/api/index.html b/mcaptcha/api/index.html index 96ee2aa6..0e0c0050 100644 --- a/mcaptcha/api/index.html +++ b/mcaptcha/api/index.html @@ -1,9 +1,10 @@ -mcaptcha::api - Rust -

Modules

-
+
\ No newline at end of file diff --git a/mcaptcha/api/sidebar-items.js b/mcaptcha/api/sidebar-items.js index fabe6839..efde08df 100644 --- a/mcaptcha/api/sidebar-items.js +++ b/mcaptcha/api/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["v1",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["v1",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/fn.services.html b/mcaptcha/api/v1/account/delete/fn.services.html index 1bc49755..49de466a 100644 --- a/mcaptcha/api/v1/account/delete/fn.services.html +++ b/mcaptcha/api/v1/account/delete/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account::delete - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/index.html b/mcaptcha/api/v1/account/delete/index.html index 7aba8074..f71b7496 100644 --- a/mcaptcha/api/v1/account/delete/index.html +++ b/mcaptcha/api/v1/account/delete/index.html @@ -1,11 +1,12 @@ -mcaptcha::api::v1::account::delete - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html b/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html index afaab338..e8afc2fd 100644 --- a/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html +++ b/mcaptcha/api/v1/account/delete/runners/fn.delete_user.html @@ -1,8 +1,9 @@ -delete_user in mcaptcha::api::v1::account::delete::runners - Rust -
pub async fn delete_user(name: &str, data: &AppData) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/runners/index.html b/mcaptcha/api/v1/account/delete/runners/index.html index 9ec3d7ca..dfb63b02 100644 --- a/mcaptcha/api/v1/account/delete/runners/index.html +++ b/mcaptcha/api/v1/account/delete/runners/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::account::delete::runners - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/runners/sidebar-items.js b/mcaptcha/api/v1/account/delete/runners/sidebar-items.js index 9654a3e3..79a4ea67 100644 --- a/mcaptcha/api/v1/account/delete/runners/sidebar-items.js +++ b/mcaptcha/api/v1/account/delete/runners/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["delete_user",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["delete_user",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/sidebar-items.js b/mcaptcha/api/v1/account/delete/sidebar-items.js index ee655508..42111769 100644 --- a/mcaptcha/api/v1/account/delete/sidebar-items.js +++ b/mcaptcha/api/v1/account/delete/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["runners",""]],"struct":[["delete_account",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["runners",""]],"struct":[["delete_account",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/delete/struct.delete_account.html b/mcaptcha/api/v1/account/delete/struct.delete_account.html index 07cd81cb..56aacbb8 100644 --- a/mcaptcha/api/v1/account/delete/struct.delete_account.html +++ b/mcaptcha/api/v1/account/delete/struct.delete_account.html @@ -1,28 +1,29 @@ -delete_account in mcaptcha::api::v1::account::delete - Rust -
pub struct delete_account;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/fn.services.html b/mcaptcha/api/v1/account/email/fn.services.html index 8ae7f9d7..14a710be 100644 --- a/mcaptcha/api/v1/account/email/fn.services.html +++ b/mcaptcha/api/v1/account/email/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account::email - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/index.html b/mcaptcha/api/v1/account/email/index.html index db63aae1..4f59381e 100644 --- a/mcaptcha/api/v1/account/email/index.html +++ b/mcaptcha/api/v1/account/email/index.html @@ -1,11 +1,12 @@ -mcaptcha::api::v1::account::email - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/sidebar-items.js b/mcaptcha/api/v1/account/email/sidebar-items.js index c9f2c009..80ef2581 100644 --- a/mcaptcha/api/v1/account/email/sidebar-items.js +++ b/mcaptcha/api/v1/account/email/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"struct":[["Email",""],["email_exists",""],["set_email","update email"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"struct":[["Email",""],["email_exists",""],["set_email","update email"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.Email.html b/mcaptcha/api/v1/account/email/struct.Email.html index de68dbf0..4dba0646 100644 --- a/mcaptcha/api/v1/account/email/struct.Email.html +++ b/mcaptcha/api/v1/account/email/struct.Email.html @@ -1,38 +1,39 @@ -Email in mcaptcha::api::v1::account::email - Rust -
pub struct Email {
-    pub email: String,
-}

Fields

email: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub email: String, +}

Fields

email: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.email_exists.html b/mcaptcha/api/v1/account/email/struct.email_exists.html index cfffcfb3..fa96ac9f 100644 --- a/mcaptcha/api/v1/account/email/struct.email_exists.html +++ b/mcaptcha/api/v1/account/email/struct.email_exists.html @@ -1,28 +1,29 @@ -email_exists in mcaptcha::api::v1::account::email - Rust -
pub struct email_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/email/struct.set_email.html b/mcaptcha/api/v1/account/email/struct.set_email.html index 3286a903..659eadf0 100644 --- a/mcaptcha/api/v1/account/email/struct.set_email.html +++ b/mcaptcha/api/v1/account/email/struct.set_email.html @@ -1,29 +1,30 @@ -set_email in mcaptcha::api::v1::account::email - Rust -
pub struct set_email;
Expand description

update email

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/fn.services.html b/mcaptcha/api/v1/account/fn.services.html index f0034a76..14bd6dd6 100644 --- a/mcaptcha/api/v1/account/fn.services.html +++ b/mcaptcha/api/v1/account/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/index.html b/mcaptcha/api/v1/account/index.html index b2ef62fa..f3014504 100644 --- a/mcaptcha/api/v1/account/index.html +++ b/mcaptcha/api/v1/account/index.html @@ -1,12 +1,13 @@ -mcaptcha::api::v1::account - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/fn.services.html b/mcaptcha/api/v1/account/password/fn.services.html index 6ddbe9ec..695228f5 100644 --- a/mcaptcha/api/v1/account/password/fn.services.html +++ b/mcaptcha/api/v1/account/password/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account::password - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/fn.update_password_runner.html b/mcaptcha/api/v1/account/password/fn.update_password_runner.html index c8aaf9b5..9d682db4 100644 --- a/mcaptcha/api/v1/account/password/fn.update_password_runner.html +++ b/mcaptcha/api/v1/account/password/fn.update_password_runner.html @@ -1,8 +1,9 @@ -update_password_runner in mcaptcha::api::v1::account::password - Rust -
async fn update_password_runner(
    user: &str,
    update: UpdatePassword,
    data: &Data
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/index.html b/mcaptcha/api/v1/account/password/index.html index 5a648d99..ec003772 100644 --- a/mcaptcha/api/v1/account/password/index.html +++ b/mcaptcha/api/v1/account/password/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::account::password - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/sidebar-items.js b/mcaptcha/api/v1/account/password/sidebar-items.js index a9dee36a..b7b65359 100644 --- a/mcaptcha/api/v1/account/password/sidebar-items.js +++ b/mcaptcha/api/v1/account/password/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""],["update_password_runner",""]],"struct":[["ChangePasswordReqest",""],["UpdatePassword",""],["update_user_password",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""],["update_password_runner",""]],"struct":[["ChangePasswordReqest",""],["UpdatePassword",""],["update_user_password",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html b/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html index 3dddb211..832fa8eb 100644 --- a/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html +++ b/mcaptcha/api/v1/account/password/struct.ChangePasswordReqest.html @@ -1,41 +1,42 @@ -ChangePasswordReqest in mcaptcha::api::v1::account::password - Rust -
pub struct ChangePasswordReqest {
-    pub password: String,
-    pub new_password: String,
-    pub confirm_new_password: String,
-}

Fields

password: Stringnew_password: Stringconfirm_new_password: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub password: String, + pub new_password: String, + pub confirm_new_password: String, +}

Fields

password: Stringnew_password: Stringconfirm_new_password: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.UpdatePassword.html b/mcaptcha/api/v1/account/password/struct.UpdatePassword.html index 9c207880..e612c1a4 100644 --- a/mcaptcha/api/v1/account/password/struct.UpdatePassword.html +++ b/mcaptcha/api/v1/account/password/struct.UpdatePassword.html @@ -1,32 +1,33 @@ -UpdatePassword in mcaptcha::api::v1::account::password - Rust -
pub struct UpdatePassword {
-    pub new_password: String,
-    pub confirm_new_password: String,
-}

Fields

new_password: Stringconfirm_new_password: String

Trait Implementations

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub new_password: String, + pub confirm_new_password: String, +}

Fields

new_password: Stringconfirm_new_password: String

Trait Implementations

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/struct.update_user_password.html b/mcaptcha/api/v1/account/password/struct.update_user_password.html index 20c00a41..15cf69ec 100644 --- a/mcaptcha/api/v1/account/password/struct.update_user_password.html +++ b/mcaptcha/api/v1/account/password/struct.update_user_password.html @@ -1,28 +1,29 @@ -update_user_password in mcaptcha::api::v1::account::password - Rust -
pub struct update_user_password;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/routes/index.html b/mcaptcha/api/v1/account/routes/index.html index 1887738b..a6c1d047 100644 --- a/mcaptcha/api/v1/account/routes/index.html +++ b/mcaptcha/api/v1/account/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::account::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/routes/sidebar-items.js b/mcaptcha/api/v1/account/routes/sidebar-items.js index 5a0e6d76..556b42b8 100644 --- a/mcaptcha/api/v1/account/routes/sidebar-items.js +++ b/mcaptcha/api/v1/account/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Account",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Account",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/routes/struct.Account.html b/mcaptcha/api/v1/account/routes/struct.Account.html index a292d5fd..56184f06 100644 --- a/mcaptcha/api/v1/account/routes/struct.Account.html +++ b/mcaptcha/api/v1/account/routes/struct.Account.html @@ -1,37 +1,38 @@ -Account in mcaptcha::api::v1::account::routes - Rust -
pub struct Account {
-    pub delete: &'static str,
-    pub email_exists: &'static str,
-    pub get_secret: &'static str,
-    pub update_email: &'static str,
-    pub update_password: &'static str,
-    pub update_secret: &'static str,
-    pub username_exists: &'static str,
-    pub update_username: &'static str,
-}

Fields

delete: &'static stremail_exists: &'static strget_secret: &'static strupdate_email: &'static strupdate_password: &'static strupdate_secret: &'static strusername_exists: &'static strupdate_username: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub delete: &'static str, + pub email_exists: &'static str, + pub get_secret: &'static str, + pub update_email: &'static str, + pub update_password: &'static str, + pub update_secret: &'static str, + pub username_exists: &'static str, + pub update_username: &'static str, +}

Fields

delete: &'static stremail_exists: &'static strget_secret: &'static strupdate_email: &'static strupdate_password: &'static strupdate_secret: &'static strusername_exists: &'static strupdate_username: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/fn.services.html b/mcaptcha/api/v1/account/secret/fn.services.html index d5f76898..50623735 100644 --- a/mcaptcha/api/v1/account/secret/fn.services.html +++ b/mcaptcha/api/v1/account/secret/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account::secret - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/index.html b/mcaptcha/api/v1/account/secret/index.html index da9b8d34..d119f179 100644 --- a/mcaptcha/api/v1/account/secret/index.html +++ b/mcaptcha/api/v1/account/secret/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::account::secret - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/sidebar-items.js b/mcaptcha/api/v1/account/secret/sidebar-items.js index 7f1f1f31..25a389b1 100644 --- a/mcaptcha/api/v1/account/secret/sidebar-items.js +++ b/mcaptcha/api/v1/account/secret/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"struct":[["get_secret",""],["update_user_secret",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"struct":[["get_secret",""],["update_user_secret",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/struct.get_secret.html b/mcaptcha/api/v1/account/secret/struct.get_secret.html index 651c602d..e4a0f301 100644 --- a/mcaptcha/api/v1/account/secret/struct.get_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.get_secret.html @@ -1,28 +1,29 @@ -get_secret in mcaptcha::api::v1::account::secret - Rust -
pub struct get_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/secret/struct.update_user_secret.html b/mcaptcha/api/v1/account/secret/struct.update_user_secret.html index cc7e095e..3044af2d 100644 --- a/mcaptcha/api/v1/account/secret/struct.update_user_secret.html +++ b/mcaptcha/api/v1/account/secret/struct.update_user_secret.html @@ -1,28 +1,29 @@ -update_user_secret in mcaptcha::api::v1::account::secret - Rust -
pub struct update_user_secret;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/sidebar-items.js b/mcaptcha/api/v1/account/sidebar-items.js index 4dc977d3..62a1cbd6 100644 --- a/mcaptcha/api/v1/account/sidebar-items.js +++ b/mcaptcha/api/v1/account/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["delete",""],["email",""],["password",""],["routes",""],["secret",""],["username",""]],"struct":[["AccountCheckPayload",""],["AccountCheckResp",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["delete",""],["email",""],["password",""],["routes",""],["secret",""],["username",""]],"struct":[["AccountCheckPayload",""],["AccountCheckResp",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/struct.AccountCheckPayload.html b/mcaptcha/api/v1/account/struct.AccountCheckPayload.html index 2f0c1c8a..c466e842 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckPayload.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckPayload.html @@ -1,38 +1,39 @@ -AccountCheckPayload in mcaptcha::api::v1::account - Rust -
pub struct AccountCheckPayload {
-    pub val: String,
-}

Fields

val: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub val: String, +}

Fields

val: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/struct.AccountCheckResp.html b/mcaptcha/api/v1/account/struct.AccountCheckResp.html index 3f42a241..d618fd81 100644 --- a/mcaptcha/api/v1/account/struct.AccountCheckResp.html +++ b/mcaptcha/api/v1/account/struct.AccountCheckResp.html @@ -1,38 +1,39 @@ -AccountCheckResp in mcaptcha::api::v1::account - Rust -
pub struct AccountCheckResp {
-    pub exists: bool,
-}

Fields

exists: bool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub exists: bool, +}

Fields

exists: bool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/fn.services.html b/mcaptcha/api/v1/account/username/fn.services.html index c0e44c47..67ee9129 100644 --- a/mcaptcha/api/v1/account/username/fn.services.html +++ b/mcaptcha/api/v1/account/username/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::account::username - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/index.html b/mcaptcha/api/v1/account/username/index.html index c2843fba..2a7f946e 100644 --- a/mcaptcha/api/v1/account/username/index.html +++ b/mcaptcha/api/v1/account/username/index.html @@ -1,12 +1,13 @@ -mcaptcha::api::v1::account::username - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/runners/fn.username_exists.html b/mcaptcha/api/v1/account/username/runners/fn.username_exists.html index b9b14bb2..ce288d41 100644 --- a/mcaptcha/api/v1/account/username/runners/fn.username_exists.html +++ b/mcaptcha/api/v1/account/username/runners/fn.username_exists.html @@ -1,8 +1,9 @@ -username_exists in mcaptcha::api::v1::account::username::runners - Rust -
pub async fn username_exists(
    payload: &AccountCheckPayload,
    data: &AppData
) -> Result<AccountCheckResp, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/runners/index.html b/mcaptcha/api/v1/account/username/runners/index.html index 07aa6932..caf7df8f 100644 --- a/mcaptcha/api/v1/account/username/runners/index.html +++ b/mcaptcha/api/v1/account/username/runners/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::account::username::runners - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/runners/sidebar-items.js b/mcaptcha/api/v1/account/username/runners/sidebar-items.js index b2a6e171..d95b9974 100644 --- a/mcaptcha/api/v1/account/username/runners/sidebar-items.js +++ b/mcaptcha/api/v1/account/username/runners/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["username_exists",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["username_exists",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/sidebar-items.js b/mcaptcha/api/v1/account/username/sidebar-items.js index 8812b811..f9fbfe55 100644 --- a/mcaptcha/api/v1/account/username/sidebar-items.js +++ b/mcaptcha/api/v1/account/username/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["runners",""]],"struct":[["Username",""],["set_username","update username"],["username_exists",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["runners",""]],"struct":[["Username",""],["set_username","update username"],["username_exists",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.Username.html b/mcaptcha/api/v1/account/username/struct.Username.html index e3e6ba1e..599ba86b 100644 --- a/mcaptcha/api/v1/account/username/struct.Username.html +++ b/mcaptcha/api/v1/account/username/struct.Username.html @@ -1,38 +1,39 @@ -Username in mcaptcha::api::v1::account::username - Rust -
pub struct Username {
-    pub username: String,
-}

Fields

username: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub username: String, +}

Fields

username: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.set_username.html b/mcaptcha/api/v1/account/username/struct.set_username.html index 6ef8aa9c..c25e3e81 100644 --- a/mcaptcha/api/v1/account/username/struct.set_username.html +++ b/mcaptcha/api/v1/account/username/struct.set_username.html @@ -1,29 +1,30 @@ -set_username in mcaptcha::api::v1::account::username - Rust -
pub struct set_username;
Expand description

update username

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/account/username/struct.username_exists.html b/mcaptcha/api/v1/account/username/struct.username_exists.html index c20801cf..548ddf3e 100644 --- a/mcaptcha/api/v1/account/username/struct.username_exists.html +++ b/mcaptcha/api/v1/account/username/struct.username_exists.html @@ -1,28 +1,29 @@ -username_exists in mcaptcha::api::v1::account::username - Rust -
pub struct username_exists;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/fn.services.html b/mcaptcha/api/v1/auth/fn.services.html index aeec7065..630eb1b3 100644 --- a/mcaptcha/api/v1/auth/fn.services.html +++ b/mcaptcha/api/v1/auth/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::auth - Rust -
+

Function mcaptcha::api::v1::auth::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/index.html b/mcaptcha/api/v1/auth/index.html index 3b88d9ff..19420dc9 100644 --- a/mcaptcha/api/v1/auth/index.html +++ b/mcaptcha/api/v1/auth/index.html @@ -1,11 +1,12 @@ -mcaptcha::api::v1::auth - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/routes/index.html b/mcaptcha/api/v1/auth/routes/index.html index 0aa220ac..58ced886 100644 --- a/mcaptcha/api/v1/auth/routes/index.html +++ b/mcaptcha/api/v1/auth/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::auth::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/routes/sidebar-items.js b/mcaptcha/api/v1/auth/routes/sidebar-items.js index 1b1fd186..57506bd5 100644 --- a/mcaptcha/api/v1/auth/routes/sidebar-items.js +++ b/mcaptcha/api/v1/auth/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Auth",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Auth",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/auth/routes/struct.Auth.html b/mcaptcha/api/v1/auth/routes/struct.Auth.html index c65bc9ab..334fedf6 100644 --- a/mcaptcha/api/v1/auth/routes/struct.Auth.html +++ b/mcaptcha/api/v1/auth/routes/struct.Auth.html @@ -1,32 +1,33 @@ -Auth in mcaptcha::api::v1::auth::routes - Rust -
pub struct Auth {
-    pub logout: &'static str,
-    pub login: &'static str,
-    pub register: &'static str,
-}

Fields

logout: &'static strlogin: &'static strregister: &'static str

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub logout: &'static str, + pub login: &'static str, + pub register: &'static str, +}

Fields

logout: &'static strlogin: &'static strregister: &'static str

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/fn.login_runner.html b/mcaptcha/api/v1/auth/runners/fn.login_runner.html index 8b9fb254..cfe14844 100644 --- a/mcaptcha/api/v1/auth/runners/fn.login_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.login_runner.html @@ -1,9 +1,10 @@ -login_runner in mcaptcha::api::v1::auth::runners - Rust -
pub async fn login_runner(
    payload: Login,
    data: &AppData
) -> Result<String, ServiceError>
Expand description

returns Ok(()) when everything checks out and the user is authenticated. Errors otherwise

+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/fn.register_runner.html b/mcaptcha/api/v1/auth/runners/fn.register_runner.html index ba510476..799f796d 100644 --- a/mcaptcha/api/v1/auth/runners/fn.register_runner.html +++ b/mcaptcha/api/v1/auth/runners/fn.register_runner.html @@ -1,8 +1,9 @@ -register_runner in mcaptcha::api::v1::auth::runners - Rust -
pub async fn register_runner(
    payload: &Register,
    data: &AppData
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/index.html b/mcaptcha/api/v1/auth/runners/index.html index 8b32e85a..116b92b5 100644 --- a/mcaptcha/api/v1/auth/runners/index.html +++ b/mcaptcha/api/v1/auth/runners/index.html @@ -1,11 +1,12 @@ -mcaptcha::api::v1::auth::runners - Rust -

Structs

Functions

returns Ok(()) when everything checks out and the user is authenticated. Errors otherwise

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/sidebar-items.js b/mcaptcha/api/v1/auth/runners/sidebar-items.js index 6397a41e..a3fad908 100644 --- a/mcaptcha/api/v1/auth/runners/sidebar-items.js +++ b/mcaptcha/api/v1/auth/runners/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["login_runner","returns Ok(()) when everything checks out and the user is authenticated. Errors otherwise"],["register_runner",""]],"struct":[["Login",""],["Password",""],["Register",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["login_runner","returns Ok(()) when everything checks out and the user is authenticated. Errors otherwise"],["register_runner",""]],"struct":[["Login",""],["Password",""],["Register",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Login.html b/mcaptcha/api/v1/auth/runners/struct.Login.html index f5f23d56..5a14465c 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Login.html +++ b/mcaptcha/api/v1/auth/runners/struct.Login.html @@ -1,39 +1,40 @@ -Login in mcaptcha::api::v1::auth::runners - Rust -
pub struct Login {
-    pub login: String,
-    pub password: String,
-}

Fields

login: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub login: String, + pub password: String, +}

Fields

login: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Password.html b/mcaptcha/api/v1/auth/runners/struct.Password.html index 92ea37e4..0fa22abe 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Password.html +++ b/mcaptcha/api/v1/auth/runners/struct.Password.html @@ -1,38 +1,39 @@ -Password in mcaptcha::api::v1::auth::runners - Rust -
pub struct Password {
-    pub password: String,
-}

Fields

password: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub password: String, +}

Fields

password: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/runners/struct.Register.html b/mcaptcha/api/v1/auth/runners/struct.Register.html index aaf4550d..8fe39546 100644 --- a/mcaptcha/api/v1/auth/runners/struct.Register.html +++ b/mcaptcha/api/v1/auth/runners/struct.Register.html @@ -1,41 +1,42 @@ -Register in mcaptcha::api::v1::auth::runners - Rust -
pub struct Register {
-    pub username: String,
-    pub password: String,
-    pub confirm_password: String,
-    pub email: Option<String>,
-}

Fields

username: Stringpassword: Stringconfirm_password: Stringemail: Option<String>

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub username: String, + pub password: String, + pub confirm_password: String, + pub email: Option<String>, +}

Fields

username: Stringpassword: Stringconfirm_password: Stringemail: Option<String>

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/sidebar-items.js b/mcaptcha/api/v1/auth/sidebar-items.js index fd322a37..64fe3727 100644 --- a/mcaptcha/api/v1/auth/sidebar-items.js +++ b/mcaptcha/api/v1/auth/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["routes",""],["runners",""]],"struct":[["login",""],["register",""],["signout",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["routes",""],["runners",""]],"struct":[["login",""],["register",""],["signout",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.login.html b/mcaptcha/api/v1/auth/struct.login.html index c999e0ac..ce3b5908 100644 --- a/mcaptcha/api/v1/auth/struct.login.html +++ b/mcaptcha/api/v1/auth/struct.login.html @@ -1,28 +1,29 @@ -login in mcaptcha::api::v1::auth - Rust -
+

Struct mcaptcha::api::v1::auth::login

source · []
pub struct login;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.register.html b/mcaptcha/api/v1/auth/struct.register.html index 552848d5..3a137413 100644 --- a/mcaptcha/api/v1/auth/struct.register.html +++ b/mcaptcha/api/v1/auth/struct.register.html @@ -1,28 +1,29 @@ -register in mcaptcha::api::v1::auth - Rust -
pub struct register;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/auth/struct.signout.html b/mcaptcha/api/v1/auth/struct.signout.html index 6f00ba5f..e7ee69b8 100644 --- a/mcaptcha/api/v1/auth/struct.signout.html +++ b/mcaptcha/api/v1/auth/struct.signout.html @@ -1,28 +1,29 @@ -signout in mcaptcha::api::v1::auth - Rust -
pub struct signout;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/fn.get_middleware.html b/mcaptcha/api/v1/fn.get_middleware.html index 9efed5b1..ad47d609 100644 --- a/mcaptcha/api/v1/fn.get_middleware.html +++ b/mcaptcha/api/v1/fn.get_middleware.html @@ -1,8 +1,9 @@ -get_middleware in mcaptcha::api::v1 - Rust -
pub fn get_middleware() -> Authentication<Routes>
\ No newline at end of file diff --git a/mcaptcha/api/v1/fn.services.html b/mcaptcha/api/v1/fn.services.html index 4a3c5c0c..242128bb 100644 --- a/mcaptcha/api/v1/fn.services.html +++ b/mcaptcha/api/v1/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1 - Rust -
+

Function mcaptcha::api::v1::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/index.html b/mcaptcha/api/v1/index.html index a1d13f77..e5de8720 100644 --- a/mcaptcha/api/v1/index.html +++ b/mcaptcha/api/v1/index.html @@ -1,12 +1,13 @@ -mcaptcha::api::v1 - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/index.html b/mcaptcha/api/v1/mcaptcha/create/index.html index a5d1abe4..33ea782e 100644 --- a/mcaptcha/api/v1/mcaptcha/create/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::mcaptcha::create - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html b/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html index 4c4f4dfd..83fb527d 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/fn.create.html @@ -1,8 +1,9 @@ -create in mcaptcha::api::v1::mcaptcha::create::runner - Rust -
pub async fn create(
    payload: &CreateCaptcha,
    data: &AppData,
    username: &str
) -> Result<MCaptchaDetails, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/runner/index.html b/mcaptcha/api/v1/mcaptcha/create/runner/index.html index 5442bfd2..164ca4f4 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/create/runner/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::create::runner - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/runner/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/create/runner/sidebar-items.js index 32536341..9362ff1c 100644 --- a/mcaptcha/api/v1/mcaptcha/create/runner/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/create/runner/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["create",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["create",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/create/sidebar-items.js index 3f74bc28..6130a5d1 100644 --- a/mcaptcha/api/v1/mcaptcha/create/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/create/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["runner",""]],"struct":[["CreateCaptcha",""],["MCaptchaDetails",""],["create",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["runner",""]],"struct":[["CreateCaptcha",""],["MCaptchaDetails",""],["create",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html b/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html index c5663c88..a34dd47b 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.CreateCaptcha.html @@ -1,34 +1,35 @@ -CreateCaptcha in mcaptcha::api::v1::mcaptcha::create - Rust -
pub struct CreateCaptcha {
-    pub levels: Vec<Level>,
-    pub duration: u32,
-    pub description: String,
-}

Fields

levels: Vec<Level>duration: u32description: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub levels: Vec<Level>, + pub duration: u32, + pub description: String, +}

Fields

levels: Vec<Level>duration: u32description: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html b/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html index ebbf7f9a..d36946f1 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.MCaptchaDetails.html @@ -1,39 +1,40 @@ -MCaptchaDetails in mcaptcha::api::v1::mcaptcha::create - Rust -
pub struct MCaptchaDetails {
-    pub name: String,
-    pub key: String,
-}

Fields

name: Stringkey: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub name: String, + pub key: String, +}

Fields

name: Stringkey: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/create/struct.create.html b/mcaptcha/api/v1/mcaptcha/create/struct.create.html index 05369a8e..daea261a 100644 --- a/mcaptcha/api/v1/mcaptcha/create/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/create/struct.create.html @@ -1,28 +1,29 @@ -create in mcaptcha::api::v1::mcaptcha::create - Rust -
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/index.html b/mcaptcha/api/v1/mcaptcha/delete/index.html index 266794bc..14637c8e 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/index.html +++ b/mcaptcha/api/v1/mcaptcha/delete/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::delete - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/delete/sidebar-items.js index 1f191404..41780d66 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/delete/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["DeleteCaptcha",""],["delete",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["DeleteCaptcha",""],["delete",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html b/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html index 41a629cd..f9f2187b 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.DeleteCaptcha.html @@ -1,39 +1,40 @@ -DeleteCaptcha in mcaptcha::api::v1::mcaptcha::delete - Rust -
pub struct DeleteCaptcha {
-    pub key: String,
-    pub password: String,
-}

Fields

key: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, + pub password: String, +}

Fields

key: Stringpassword: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html b/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html index 1c70b137..df24f4f1 100644 --- a/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html +++ b/mcaptcha/api/v1/mcaptcha/delete/struct.delete.html @@ -1,28 +1,29 @@ -delete in mcaptcha::api::v1::mcaptcha::delete - Rust -
pub struct delete;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html index 5b67fecb..5efa4d2e 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.calculate.html @@ -1,8 +1,9 @@ -calculate in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub fn calculate(
    tp: &TrafficPattern,
    strategy: &DefaultDifficultyStrategy
) -> Result<Vec<Level>, ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html index ebf57db2..f79a7769 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/easy/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/index.html b/mcaptcha/api/v1/mcaptcha/easy/index.html index 5bd44352..ab9a2590 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -1,12 +1,13 @@ -mcaptcha::api::v1::mcaptcha::easy - Rust -

Modules

Structs

User’s traffic pattern; used in generating a captcha configuration

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/routes/index.html b/mcaptcha/api/v1/mcaptcha/easy/routes/index.html index 548e4ee2..4365f4d2 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::easy::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/routes/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/easy/routes/sidebar-items.js index e145f007..e7f6a113 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Easy",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Easy",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html b/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html index 401abe09..f44563f0 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html +++ b/mcaptcha/api/v1/mcaptcha/easy/routes/struct.Easy.html @@ -1,32 +1,33 @@ -Easy in mcaptcha::api::v1::mcaptcha::easy::routes - Rust -
pub struct Easy {
-    pub create: &'static str,
-    pub update: &'static str,
-}

Fields

create: &'static str

easy is using defaults

-
update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub create: &'static str, + pub update: &'static str, +}

Fields

create: &'static str

easy is using defaults

+
update: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js index 504c8b3a..2cb0ef07 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/easy/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["calculate",""],["services",""]],"mod":[["routes",""]],"struct":[["TrafficPatternRequest","User’s traffic pattern; used in generating a captcha configuration"],["UpdateTrafficPattern",""],["create",""],["update",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["calculate",""],["services",""]],"mod":[["routes",""]],"struct":[["TrafficPatternRequest","User’s traffic pattern; used in generating a captcha configuration"],["UpdateTrafficPattern",""],["create",""],["update",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html index f15862bb..256c2511 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.TrafficPatternRequest.html @@ -1,48 +1,49 @@ -TrafficPatternRequest in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub struct TrafficPatternRequest {
-    pub avg_traffic: u32,
-    pub peak_sustainable_traffic: u32,
-    pub broke_my_site_traffic: Option<u32>,
-    pub description: String,
+    pub avg_traffic: u32,
+    pub peak_sustainable_traffic: u32,
+    pub broke_my_site_traffic: Option<u32>,
+    pub description: String,
 }
Expand description

User’s traffic pattern; used in generating a captcha configuration

-

Fields

avg_traffic: u32

average traffic of user’s website

-
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

-
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

-
description: String

Captcha description

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

avg_traffic: u32

average traffic of user’s website

+
peak_sustainable_traffic: u32

the peak traffic that the user’s website can handle

+
broke_my_site_traffic: Option<u32>

traffic that bought the user’s website down; optional

+
description: String

Captcha description

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html index 8a9cfa7b..c9f41852 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.UpdateTrafficPattern.html @@ -1,39 +1,40 @@ -UpdateTrafficPattern in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub struct UpdateTrafficPattern {
     pub pattern: TrafficPatternRequest,
-    pub key: String,
-}

Fields

pattern: TrafficPatternRequestkey: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

pattern: TrafficPatternRequestkey: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html index 92cbde8b..d8a137e7 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.create.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.create.html @@ -1,28 +1,29 @@ -create in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub struct create;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html index 1d6c323e..8cd31389 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/struct.update.html +++ b/mcaptcha/api/v1/mcaptcha/easy/struct.update.html @@ -1,28 +1,29 @@ -update in mcaptcha::api::v1::mcaptcha::easy - Rust -
pub struct update;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/fn.get_random.html b/mcaptcha/api/v1/mcaptcha/fn.get_random.html index fa8ebefc..6f39b5e6 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.get_random.html +++ b/mcaptcha/api/v1/mcaptcha/fn.get_random.html @@ -1,8 +1,9 @@ -get_random in mcaptcha::api::v1::mcaptcha - Rust -
pub fn get_random(len: usize) -> String
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/fn.services.html b/mcaptcha/api/v1/mcaptcha/fn.services.html index a56c7375..7c202e34 100644 --- a/mcaptcha/api/v1/mcaptcha/fn.services.html +++ b/mcaptcha/api/v1/mcaptcha/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::mcaptcha - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/index.html b/mcaptcha/api/v1/mcaptcha/get/index.html index 7d5e3b1e..da567dc3 100644 --- a/mcaptcha/api/v1/mcaptcha/get/index.html +++ b/mcaptcha/api/v1/mcaptcha/get/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::get - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/get/sidebar-items.js index eb480e2c..3f82ef93 100644 --- a/mcaptcha/api/v1/mcaptcha/get/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/get/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["I32Levels",""],["Levels",""],["get_captcha",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["I32Levels",""],["Levels",""],["get_captcha",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html b/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html index 6e2ebad9..5ecd98e6 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.I32Levels.html @@ -1,39 +1,40 @@ -I32Levels in mcaptcha::api::v1::mcaptcha::get - Rust -
pub struct I32Levels {
-    pub difficulty_factor: i32,
-    pub visitor_threshold: i32,
-}

Fields

difficulty_factor: i32visitor_threshold: i32

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub difficulty_factor: i32, + pub visitor_threshold: i32, +}

Fields

difficulty_factor: i32visitor_threshold: i32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html b/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html index 5a27e490..b27fdaa5 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.Levels.html @@ -1,38 +1,39 @@ -Levels in mcaptcha::api::v1::mcaptcha::get - Rust -
pub struct Levels {
     levels: I32Levels,
-}

Fields

levels: I32Levels

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

levels: I32Levels

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html b/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html index f2c26020..18dd848b 100644 --- a/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/get/struct.get_captcha.html @@ -1,28 +1,29 @@ -get_captcha in mcaptcha::api::v1::mcaptcha::get - Rust -
pub struct get_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/index.html b/mcaptcha/api/v1/mcaptcha/index.html index be1cf634..4704281e 100644 --- a/mcaptcha/api/v1/mcaptcha/index.html +++ b/mcaptcha/api/v1/mcaptcha/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::mcaptcha - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/routes/index.html b/mcaptcha/api/v1/mcaptcha/routes/index.html index 6020e04f..cb4cd8fd 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/routes/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/routes/sidebar-items.js index eea3721e..7195c923 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Captcha",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Captcha",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html b/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html index 4b84747e..ee8e80cc 100644 --- a/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html +++ b/mcaptcha/api/v1/mcaptcha/routes/struct.Captcha.html @@ -1,36 +1,37 @@ -Captcha in mcaptcha::api::v1::mcaptcha::routes - Rust -
pub struct Captcha {
-    pub create: &'static str,
-    pub update: &'static str,
-    pub get: &'static str,
-    pub delete: &'static str,
-    pub update_key: &'static str,
+    pub create: &'static str,
+    pub update: &'static str,
+    pub get: &'static str,
+    pub delete: &'static str,
+    pub update_key: &'static str,
     pub easy: Easy,
     pub stats: Stats,
-}

Fields

create: &'static strupdate: &'static strget: &'static strdelete: &'static strupdate_key: &'static streasy: Easystats: Stats

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

create: &'static strupdate: &'static strget: &'static strdelete: &'static strupdate_key: &'static streasy: Easystats: Stats

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/sidebar-items.js index 522ab502..e5420593 100644 --- a/mcaptcha/api/v1/mcaptcha/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["get_random",""],["services",""]],"mod":[["create",""],["delete",""],["easy",""],["get",""],["routes",""],["stats",""],["update",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["get_random",""],["services",""]],"mod":[["create",""],["delete",""],["easy",""],["get",""],["routes",""],["stats",""],["update",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/index.html b/mcaptcha/api/v1/mcaptcha/stats/index.html index 1231ff2d..32ec8642 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::mcaptcha::stats - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/routes/index.html b/mcaptcha/api/v1/mcaptcha/stats/routes/index.html index 81cc1470..9e88fe29 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/index.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::stats::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/routes/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/stats/routes/sidebar-items.js index 7db65c03..72a775ea 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Stats",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Stats",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html b/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html index 309fa50e..b709e504 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html +++ b/mcaptcha/api/v1/mcaptcha/stats/routes/struct.Stats.html @@ -1,30 +1,31 @@ -Stats in mcaptcha::api::v1::mcaptcha::stats::routes - Rust -
pub struct Stats {
-    pub get: &'static str,
-}

Fields

get: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub get: &'static str, +}

Fields

get: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/stats/sidebar-items.js index e2d076c5..572ebd2a 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/stats/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["routes",""]],"struct":[["StatsPayload",""],["get",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["routes",""]],"struct":[["StatsPayload",""],["get",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html b/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html index 5d457948..808f750a 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.StatsPayload.html @@ -1,38 +1,39 @@ -StatsPayload in mcaptcha::api::v1::mcaptcha::stats - Rust -
pub struct StatsPayload {
-    pub key: String,
-}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/stats/struct.get.html b/mcaptcha/api/v1/mcaptcha/stats/struct.get.html index d38b0c72..f2528bf3 100644 --- a/mcaptcha/api/v1/mcaptcha/stats/struct.get.html +++ b/mcaptcha/api/v1/mcaptcha/stats/struct.get.html @@ -1,28 +1,29 @@ -get in mcaptcha::api::v1::mcaptcha::stats - Rust -
pub struct get;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/index.html b/mcaptcha/api/v1/mcaptcha/update/index.html index c41e4992..15cd0c0d 100644 --- a/mcaptcha/api/v1/mcaptcha/update/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::mcaptcha::update - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html index 04ad7c3f..614c4a32 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/fn.update_captcha.html @@ -1,8 +1,9 @@ -update_captcha in mcaptcha::api::v1::mcaptcha::update::runner - Rust -
pub async fn update_captcha(
    payload: &UpdateCaptcha,
    data: &AppData,
    username: &str
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/index.html b/mcaptcha/api/v1/mcaptcha/update/runner/index.html index d76c59f6..a5f16f9c 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/runner/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::mcaptcha::update::runner - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/runner/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/update/runner/sidebar-items.js index 42e25f60..76492d85 100644 --- a/mcaptcha/api/v1/mcaptcha/update/runner/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/update/runner/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["update_captcha",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["update_captcha",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/sidebar-items.js b/mcaptcha/api/v1/mcaptcha/update/sidebar-items.js index 1adb00d9..639b998a 100644 --- a/mcaptcha/api/v1/mcaptcha/update/sidebar-items.js +++ b/mcaptcha/api/v1/mcaptcha/update/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["runner",""]],"struct":[["UpdateCaptcha",""],["update_captcha",""],["update_key",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["runner",""]],"struct":[["UpdateCaptcha",""],["update_captcha",""],["update_key",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html b/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html index 87fd9099..ae157ccc 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.UpdateCaptcha.html @@ -1,35 +1,36 @@ -UpdateCaptcha in mcaptcha::api::v1::mcaptcha::update - Rust -
pub struct UpdateCaptcha {
-    pub levels: Vec<Level>,
-    pub duration: u32,
-    pub description: String,
-    pub key: String,
-}

Fields

levels: Vec<Level>duration: u32description: Stringkey: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub levels: Vec<Level>, + pub duration: u32, + pub description: String, + pub key: String, +}

Fields

levels: Vec<Level>duration: u32description: Stringkey: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html b/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html index 8ab5d334..9b13a8f8 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_captcha.html @@ -1,28 +1,29 @@ -update_captcha in mcaptcha::api::v1::mcaptcha::update - Rust -
pub struct update_captcha;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html b/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html index 79b58122..2e89dcf9 100644 --- a/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html +++ b/mcaptcha/api/v1/mcaptcha/update/struct.update_key.html @@ -1,28 +1,29 @@ -update_key in mcaptcha::api::v1::mcaptcha::update - Rust -
pub struct update_key;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html b/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html index ec9d4966..7265ea60 100644 --- a/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.BuildDetailsBuilderError.html @@ -1,44 +1,45 @@ -BuildDetailsBuilderError in mcaptcha::api::v1::meta - Rust -
#[non_exhaustive]
 pub enum BuildDetailsBuilderError {
-    UninitializedField(&'static str),
-    ValidationError(String),
+    UninitializedField(&'static str),
+    ValidationError(String),
 }
Expand description

Error type for BuildDetailsBuilder

-

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

UninitializedField(&'static str)

Uninitialized field

-

ValidationError(String)

Custom validation error

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

UninitializedField(&'static str)

Uninitialized field

+

ValidationError(String)

Custom validation error

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/enum.HealthBuilderError.html b/mcaptcha/api/v1/meta/enum.HealthBuilderError.html index 8aab2806..d242cefe 100644 --- a/mcaptcha/api/v1/meta/enum.HealthBuilderError.html +++ b/mcaptcha/api/v1/meta/enum.HealthBuilderError.html @@ -1,44 +1,45 @@ -HealthBuilderError in mcaptcha::api::v1::meta - Rust -
#[non_exhaustive]
 pub enum HealthBuilderError {
-    UninitializedField(&'static str),
-    ValidationError(String),
+    UninitializedField(&'static str),
+    ValidationError(String),
 }
Expand description

Error type for HealthBuilder

-

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

UninitializedField(&'static str)

Uninitialized field

-

ValidationError(String)

Custom validation error

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

UninitializedField(&'static str)

Uninitialized field

+

ValidationError(String)

Custom validation error

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/fn.services.html b/mcaptcha/api/v1/meta/fn.services.html index ecb53ced..6fb8b421 100644 --- a/mcaptcha/api/v1/meta/fn.services.html +++ b/mcaptcha/api/v1/meta/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::meta - Rust -
+

Function mcaptcha::api::v1::meta::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/index.html b/mcaptcha/api/v1/meta/index.html index 6c283b9f..306fe2f0 100644 --- a/mcaptcha/api/v1/meta/index.html +++ b/mcaptcha/api/v1/meta/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::meta - Rust -

Modules

Structs

Builder for BuildDetails.

@@ -15,5 +16,5 @@

Error type for BuildDetailsBuilder

Error type for HealthBuilder

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/routes/index.html b/mcaptcha/api/v1/meta/routes/index.html index f798c16e..8c61d627 100644 --- a/mcaptcha/api/v1/meta/routes/index.html +++ b/mcaptcha/api/v1/meta/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::meta::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/routes/sidebar-items.js b/mcaptcha/api/v1/meta/routes/sidebar-items.js index 7c6ba551..e777ce8e 100644 --- a/mcaptcha/api/v1/meta/routes/sidebar-items.js +++ b/mcaptcha/api/v1/meta/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Meta",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Meta",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/meta/routes/struct.Meta.html b/mcaptcha/api/v1/meta/routes/struct.Meta.html index 4575797f..ab6fcf1a 100644 --- a/mcaptcha/api/v1/meta/routes/struct.Meta.html +++ b/mcaptcha/api/v1/meta/routes/struct.Meta.html @@ -1,31 +1,32 @@ -Meta in mcaptcha::api::v1::meta::routes - Rust -
pub struct Meta {
-    pub build_details: &'static str,
-    pub health: &'static str,
-}

Fields

build_details: &'static strhealth: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub build_details: &'static str, + pub health: &'static str, +}

Fields

build_details: &'static strhealth: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/sidebar-items.js b/mcaptcha/api/v1/meta/sidebar-items.js index 519c8f4d..71166e90 100644 --- a/mcaptcha/api/v1/meta/sidebar-items.js +++ b/mcaptcha/api/v1/meta/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["BuildDetailsBuilderError","Error type for BuildDetailsBuilder"],["HealthBuilderError","Error type for HealthBuilder"]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["BuildDetails",""],["BuildDetailsBuilder","Builder for `BuildDetails`."],["Health","Health check return datatype"],["HealthBuilder","Builder for `Health`."],["build_details","emits build details of the bninary"],["health","checks all components of the system"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["BuildDetailsBuilderError","Error type for BuildDetailsBuilder"],["HealthBuilderError","Error type for HealthBuilder"]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["BuildDetails",""],["BuildDetailsBuilder","Builder for `BuildDetails`."],["Health","Health check return datatype"],["HealthBuilder","Builder for `Health`."],["build_details","emits build details of the bninary"],["health","checks all components of the system"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.BuildDetails.html b/mcaptcha/api/v1/meta/struct.BuildDetails.html index 178e1347..22927407 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetails.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetails.html @@ -1,39 +1,40 @@ -BuildDetails in mcaptcha::api::v1::meta - Rust -
pub struct BuildDetails {
-    pub version: &'static str,
-    pub git_commit_hash: &'static str,
-}

Fields

version: &'static strgit_commit_hash: &'static str

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub version: &'static str, + pub git_commit_hash: &'static str, +}

Fields

version: &'static strgit_commit_hash: &'static str

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html b/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html index 07871f1b..21041dec 100644 --- a/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html +++ b/mcaptcha/api/v1/meta/struct.BuildDetailsBuilder.html @@ -1,42 +1,43 @@ -BuildDetailsBuilder in mcaptcha::api::v1::meta - Rust -
pub struct BuildDetailsBuilder {
-    version: Option<&'static str>,
-    git_commit_hash: Option<&'static str>,
+    version: Option<&'static str>,
+    git_commit_hash: Option<&'static str>,
 }
Expand description

Builder for BuildDetails.

-

Fields

version: Option<&'static str>git_commit_hash: Option<&'static str>

Implementations

Builds a new BuildDetails.

+

Fields

version: Option<&'static str>git_commit_hash: Option<&'static str>

Implementations

Builds a new BuildDetails.

Errors

If a required field has not been initialized.

Create an empty builder, with all fields set to None or PhantomData.

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.Health.html b/mcaptcha/api/v1/meta/struct.Health.html index b97ce963..58978f62 100644 --- a/mcaptcha/api/v1/meta/struct.Health.html +++ b/mcaptcha/api/v1/meta/struct.Health.html @@ -1,40 +1,41 @@ -Health in mcaptcha::api::v1::meta - Rust -
pub struct Health {
-    db: bool,
-    redis: Option<bool>,
+    db: bool,
+    redis: Option<bool>,
 }
Expand description

Health check return datatype

-

Fields

db: boolredis: Option<bool>

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

db: boolredis: Option<bool>

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.HealthBuilder.html b/mcaptcha/api/v1/meta/struct.HealthBuilder.html index 72526ead..5bb695a3 100644 --- a/mcaptcha/api/v1/meta/struct.HealthBuilder.html +++ b/mcaptcha/api/v1/meta/struct.HealthBuilder.html @@ -1,42 +1,43 @@ -HealthBuilder in mcaptcha::api::v1::meta - Rust -
pub struct HealthBuilder {
-    db: Option<bool>,
-    redis: Option<Option<bool>>,
+    db: Option<bool>,
+    redis: Option<Option<bool>>,
 }
Expand description

Builder for Health.

-

Fields

db: Option<bool>redis: Option<Option<bool>>

Implementations

Builds a new Health.

+

Fields

db: Option<bool>redis: Option<Option<bool>>

Implementations

Builds a new Health.

Errors

If a required field has not been initialized.

Create an empty builder, with all fields set to None or PhantomData.

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.build_details.html b/mcaptcha/api/v1/meta/struct.build_details.html index 3902db7f..e9e48cd5 100644 --- a/mcaptcha/api/v1/meta/struct.build_details.html +++ b/mcaptcha/api/v1/meta/struct.build_details.html @@ -1,29 +1,30 @@ -build_details in mcaptcha::api::v1::meta - Rust -
pub struct build_details;
Expand description

emits build details of the bninary

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/struct.health.html b/mcaptcha/api/v1/meta/struct.health.html index 6b7a3956..ff2080dc 100644 --- a/mcaptcha/api/v1/meta/struct.health.html +++ b/mcaptcha/api/v1/meta/struct.health.html @@ -1,29 +1,30 @@ -health in mcaptcha::api::v1::meta - Rust -
pub struct health;
Expand description

checks all components of the system

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/index.html b/mcaptcha/api/v1/notifications/add/index.html index 6395f1b3..d43b0302 100644 --- a/mcaptcha/api/v1/notifications/add/index.html +++ b/mcaptcha/api/v1/notifications/add/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::notifications::add - Rust -

Structs

route handler that adds a notification message

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/sidebar-items.js b/mcaptcha/api/v1/notifications/add/sidebar-items.js index d086047e..1b681a6e 100644 --- a/mcaptcha/api/v1/notifications/add/sidebar-items.js +++ b/mcaptcha/api/v1/notifications/add/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["AddNotificationRequest",""],["add_notification","route handler that adds a notification message"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["AddNotificationRequest",""],["add_notification","route handler that adds a notification message"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html index 3bb2300a..c59f823b 100644 --- a/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html +++ b/mcaptcha/api/v1/notifications/add/struct.AddNotificationRequest.html @@ -1,44 +1,45 @@ -AddNotificationRequest in mcaptcha::api::v1::notifications::add - Rust -
pub struct AddNotificationRequest {
-    pub to: String,
-    pub heading: String,
-    pub message: String,
-}

Fields

to: Stringheading: Stringmessage: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub to: String, + pub heading: String, + pub message: String, +}

Fields

to: Stringheading: Stringmessage: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/add/struct.add_notification.html b/mcaptcha/api/v1/notifications/add/struct.add_notification.html index 8c0a9e0e..073ffeba 100644 --- a/mcaptcha/api/v1/notifications/add/struct.add_notification.html +++ b/mcaptcha/api/v1/notifications/add/struct.add_notification.html @@ -1,29 +1,30 @@ -add_notification in mcaptcha::api::v1::notifications::add - Rust -
pub struct add_notification;
Expand description

route handler that adds a notification message

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/fn.services.html b/mcaptcha/api/v1/notifications/fn.services.html index 6b876d5a..8f5314f0 100644 --- a/mcaptcha/api/v1/notifications/fn.services.html +++ b/mcaptcha/api/v1/notifications/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::notifications - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/index.html b/mcaptcha/api/v1/notifications/get/index.html index f9257d5b..6b479b9c 100644 --- a/mcaptcha/api/v1/notifications/get/index.html +++ b/mcaptcha/api/v1/notifications/get/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::notifications::get - Rust -

Structs

route handler that gets all unread notifications

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/sidebar-items.js b/mcaptcha/api/v1/notifications/get/sidebar-items.js index 73fc2a78..56d6d836 100644 --- a/mcaptcha/api/v1/notifications/get/sidebar-items.js +++ b/mcaptcha/api/v1/notifications/get/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["NotificationResp",""],["get_notification","route handler that gets all unread notifications"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["NotificationResp",""],["get_notification","route handler that gets all unread notifications"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html index 29510cd3..b389d5e2 100644 --- a/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html +++ b/mcaptcha/api/v1/notifications/get/struct.NotificationResp.html @@ -1,46 +1,47 @@ -NotificationResp in mcaptcha::api::v1::notifications::get - Rust -
pub struct NotificationResp {
-    pub name: String,
-    pub heading: String,
-    pub message: String,
-    pub received: i64,
-    pub id: i32,
-}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: i32

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Returns the “default value” for a type. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub name: String, + pub heading: String, + pub message: String, + pub received: i64, + pub id: i32, +}

Fields

name: Stringheading: Stringmessage: Stringreceived: i64id: i32

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/struct.get_notification.html b/mcaptcha/api/v1/notifications/get/struct.get_notification.html index 07e8e385..c0603645 100644 --- a/mcaptcha/api/v1/notifications/get/struct.get_notification.html +++ b/mcaptcha/api/v1/notifications/get/struct.get_notification.html @@ -1,29 +1,30 @@ -get_notification in mcaptcha::api::v1::notifications::get - Rust -
pub struct get_notification;
Expand description

route handler that gets all unread notifications

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/index.html b/mcaptcha/api/v1/notifications/index.html index c2e1e709..0b1ff57f 100644 --- a/mcaptcha/api/v1/notifications/index.html +++ b/mcaptcha/api/v1/notifications/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::notifications - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/index.html b/mcaptcha/api/v1/notifications/mark_read/index.html index d7ea3e86..ba3b4d05 100644 --- a/mcaptcha/api/v1/notifications/mark_read/index.html +++ b/mcaptcha/api/v1/notifications/mark_read/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::notifications::mark_read - Rust -

Structs

route handler that marks a notification read

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/sidebar-items.js b/mcaptcha/api/v1/notifications/mark_read/sidebar-items.js index af9b9b01..a1f55bc1 100644 --- a/mcaptcha/api/v1/notifications/mark_read/sidebar-items.js +++ b/mcaptcha/api/v1/notifications/mark_read/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["MarkReadReq",""],["mark_read","route handler that marks a notification read"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["MarkReadReq",""],["mark_read","route handler that marks a notification read"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html b/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html index f23db8bf..1cc654fd 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.MarkReadReq.html @@ -1,32 +1,33 @@ -MarkReadReq in mcaptcha::api::v1::notifications::mark_read - Rust -
pub struct MarkReadReq {
-    pub id: i32,
-}

Fields

id: i32

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub id: i32, +}

Fields

id: i32

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html b/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html index 3b56a571..799cc3ff 100644 --- a/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html +++ b/mcaptcha/api/v1/notifications/mark_read/struct.mark_read.html @@ -1,29 +1,30 @@ -mark_read in mcaptcha::api::v1::notifications::mark_read - Rust -
pub struct mark_read;
Expand description

route handler that marks a notification read

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/routes/index.html b/mcaptcha/api/v1/notifications/routes/index.html index e2ad01a7..69a99626 100644 --- a/mcaptcha/api/v1/notifications/routes/index.html +++ b/mcaptcha/api/v1/notifications/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::api::v1::notifications::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/routes/sidebar-items.js b/mcaptcha/api/v1/notifications/routes/sidebar-items.js index c0a8ffc6..689bf166 100644 --- a/mcaptcha/api/v1/notifications/routes/sidebar-items.js +++ b/mcaptcha/api/v1/notifications/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Notifications",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Notifications",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/routes/struct.Notifications.html b/mcaptcha/api/v1/notifications/routes/struct.Notifications.html index 38aa9dc7..493c79ea 100644 --- a/mcaptcha/api/v1/notifications/routes/struct.Notifications.html +++ b/mcaptcha/api/v1/notifications/routes/struct.Notifications.html @@ -1,32 +1,33 @@ -Notifications in mcaptcha::api::v1::notifications::routes - Rust -
pub struct Notifications {
-    pub add: &'static str,
-    pub mark_read: &'static str,
-    pub get: &'static str,
-}

Fields

add: &'static strmark_read: &'static strget: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub add: &'static str, + pub mark_read: &'static str, + pub get: &'static str, +}

Fields

add: &'static strmark_read: &'static strget: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/sidebar-items.js b/mcaptcha/api/v1/notifications/sidebar-items.js index a56d7335..9e078eca 100644 --- a/mcaptcha/api/v1/notifications/sidebar-items.js +++ b/mcaptcha/api/v1/notifications/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["add",""],["get",""],["mark_read",""],["routes",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["add",""],["get",""],["mark_read",""],["routes",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/fn.services.html b/mcaptcha/api/v1/pow/fn.services.html index edbdff30..17b73d47 100644 --- a/mcaptcha/api/v1/pow/fn.services.html +++ b/mcaptcha/api/v1/pow/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::api::v1::pow - Rust -
+

Function mcaptcha::api::v1::pow::services

source · []
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html b/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html index 20a0cf1d..63ffec90 100644 --- a/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html +++ b/mcaptcha/api/v1/pow/get_config/fn.init_mcaptcha.html @@ -1,11 +1,12 @@ -init_mcaptcha in mcaptcha::api::v1::pow::get_config - Rust -
pub async fn init_mcaptcha(
    data: &AppData,
    key: &str
) -> Result<(), ServiceError>
Expand description

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

This fn gets mcaptcha config from database, builds [Defense][libmcaptcha::Defense], creates [MCaptcha][libmcaptcha::MCaptcha] and adds it to [Master][libmcaptcha::Defense]

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/index.html b/mcaptcha/api/v1/pow/get_config/index.html index bac356dd..0d0fa4f6 100644 --- a/mcaptcha/api/v1/pow/get_config/index.html +++ b/mcaptcha/api/v1/pow/get_config/index.html @@ -1,12 +1,13 @@ -mcaptcha::api::v1::pow::get_config - Rust -

Structs

get PoW configuration for an mcaptcha key

Functions

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/sidebar-items.js b/mcaptcha/api/v1/pow/get_config/sidebar-items.js index 1eaac49f..c461efbc 100644 --- a/mcaptcha/api/v1/pow/get_config/sidebar-items.js +++ b/mcaptcha/api/v1/pow/get_config/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["init_mcaptcha","Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master."]],"struct":[["GetConfigPayload",""],["get_config","get PoW configuration for an mcaptcha key"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["init_mcaptcha","Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master."]],"struct":[["GetConfigPayload",""],["get_config","get PoW configuration for an mcaptcha key"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html b/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html index 053ca486..d9f15e5d 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html +++ b/mcaptcha/api/v1/pow/get_config/struct.GetConfigPayload.html @@ -1,38 +1,39 @@ -GetConfigPayload in mcaptcha::api::v1::pow::get_config - Rust -
pub struct GetConfigPayload {
-    pub key: String,
-}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub key: String, +}

Fields

key: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/struct.get_config.html b/mcaptcha/api/v1/pow/get_config/struct.get_config.html index a336302b..e26a9d8b 100644 --- a/mcaptcha/api/v1/pow/get_config/struct.get_config.html +++ b/mcaptcha/api/v1/pow/get_config/struct.get_config.html @@ -1,29 +1,30 @@ -get_config in mcaptcha::api::v1::pow::get_config - Rust -
pub struct get_config;
Expand description

get PoW configuration for an mcaptcha key

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/index.html b/mcaptcha/api/v1/pow/index.html index 25a6bf8b..027427ce 100644 --- a/mcaptcha/api/v1/pow/index.html +++ b/mcaptcha/api/v1/pow/index.html @@ -1,13 +1,14 @@ -mcaptcha::api::v1::pow - Rust -

Module mcaptcha::api::v1::pow

source · []

Re-exports

pub use super::mcaptcha::get::I32Levels;

Modules

PoW Verification module

PoW success token module

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/index.html b/mcaptcha/api/v1/pow/routes/index.html index 0a27f6e2..c239a692 100644 --- a/mcaptcha/api/v1/pow/routes/index.html +++ b/mcaptcha/api/v1/pow/routes/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::pow::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/macro.rm_scope.html b/mcaptcha/api/v1/pow/routes/macro.rm_scope.html index fd9eccba..7b3b6fe0 100644 --- a/mcaptcha/api/v1/pow/routes/macro.rm_scope.html +++ b/mcaptcha/api/v1/pow/routes/macro.rm_scope.html @@ -1,11 +1,12 @@ -rm_scope in mcaptcha::api::v1::pow::routes - Rust -
macro_rules! rm_scope {
     ($name:ident) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/sidebar-items.js b/mcaptcha/api/v1/pow/routes/sidebar-items.js index b40dcf97..67712a35 100644 --- a/mcaptcha/api/v1/pow/routes/sidebar-items.js +++ b/mcaptcha/api/v1/pow/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"macro":[["rm_scope",""]],"struct":[["PoW",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"macro":[["rm_scope",""]],"struct":[["PoW",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/routes/struct.PoW.html b/mcaptcha/api/v1/pow/routes/struct.PoW.html index baada53c..acebaff7 100644 --- a/mcaptcha/api/v1/pow/routes/struct.PoW.html +++ b/mcaptcha/api/v1/pow/routes/struct.PoW.html @@ -1,36 +1,37 @@ -PoW in mcaptcha::api::v1::pow::routes - Rust -
pub struct PoW {
-    pub get_config: &'static str,
-    pub verify_pow: &'static str,
-    pub validate_captcha_token: &'static str,
-    pub scope: &'static str,
-}

Fields

get_config: &'static strverify_pow: &'static strvalidate_captcha_token: &'static strscope: &'static str

Implementations

remove scope for $name route

-

remove scope for $name route

-

remove scope for $name route

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub get_config: &'static str, + pub verify_pow: &'static str, + pub validate_captcha_token: &'static str, + pub scope: &'static str, +}

Fields

get_config: &'static strverify_pow: &'static strvalidate_captcha_token: &'static strscope: &'static str

Implementations

remove scope for $name route

+

remove scope for $name route

+

remove scope for $name route

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/sidebar-items.js b/mcaptcha/api/v1/pow/sidebar-items.js index 9e96c3d0..4acee2f6 100644 --- a/mcaptcha/api/v1/pow/sidebar-items.js +++ b/mcaptcha/api/v1/pow/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["get_config",""],["routes",""],["verify_pow","PoW Verification module"],["verify_token","PoW success token module"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["get_config",""],["routes",""],["verify_pow","PoW Verification module"],["verify_token","PoW success token module"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/index.html b/mcaptcha/api/v1/pow/verify_pow/index.html index 674cb838..400ccc47 100644 --- a/mcaptcha/api/v1/pow/verify_pow/index.html +++ b/mcaptcha/api/v1/pow/verify_pow/index.html @@ -1,14 +1,15 @@ -mcaptcha::api::v1::pow::verify_pow - Rust -
Expand description

PoW Verification module

Structs

validation token that clients receive as proof for submiting valid PoW

route handler that verifies PoW and issues a solution token if verification is successful

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/sidebar-items.js b/mcaptcha/api/v1/pow/verify_pow/sidebar-items.js index a70e082d..1d0aa61d 100644 --- a/mcaptcha/api/v1/pow/verify_pow/sidebar-items.js +++ b/mcaptcha/api/v1/pow/verify_pow/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["ValidationToken","validation token that clients receive as proof for submiting valid PoW"],["verify_pow","route handler that verifies PoW and issues a solution token if verification is successful"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["ValidationToken","validation token that clients receive as proof for submiting valid PoW"],["verify_pow","route handler that verifies PoW and issues a solution token if verification is successful"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html b/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html index e0bcc095..cac2d4bc 100644 --- a/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html +++ b/mcaptcha/api/v1/pow/verify_pow/struct.ValidationToken.html @@ -1,40 +1,41 @@ -ValidationToken in mcaptcha::api::v1::pow::verify_pow - Rust -
pub struct ValidationToken {
-    pub token: String,
+    pub token: String,
 }
Expand description

validation token that clients receive as proof for submiting valid PoW

-

Fields

token: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Fields

token: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html b/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html index b8f58618..f27b29c3 100644 --- a/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html +++ b/mcaptcha/api/v1/pow/verify_pow/struct.verify_pow.html @@ -1,30 +1,31 @@ -verify_pow in mcaptcha::api::v1::pow::verify_pow - Rust -
pub struct verify_pow;
Expand description

route handler that verifies PoW and issues a solution token if verification is successful

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/index.html b/mcaptcha/api/v1/pow/verify_token/index.html index 14f97a30..223b0706 100644 --- a/mcaptcha/api/v1/pow/verify_token/index.html +++ b/mcaptcha/api/v1/pow/verify_token/index.html @@ -1,11 +1,12 @@ -mcaptcha::api::v1::pow::verify_token - Rust -
Expand description

PoW success token module

Structs

route handler that validates a PoW solution token

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/sidebar-items.js b/mcaptcha/api/v1/pow/verify_token/sidebar-items.js index 491c1096..26fa3060 100644 --- a/mcaptcha/api/v1/pow/verify_token/sidebar-items.js +++ b/mcaptcha/api/v1/pow/verify_token/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["CaptchaValidateResp",""],["VerifyCaptchaResultPayload",""],["validate_captcha_token","route handler that validates a PoW solution token"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["CaptchaValidateResp",""],["VerifyCaptchaResultPayload",""],["validate_captcha_token","route handler that validates a PoW solution token"]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html b/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html index f7d2c31e..0d8d0e69 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.CaptchaValidateResp.html @@ -1,38 +1,39 @@ -CaptchaValidateResp in mcaptcha::api::v1::pow::verify_token - Rust -
pub struct CaptchaValidateResp {
-    pub valid: bool,
-}

Fields

valid: bool

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub valid: bool, +}

Fields

valid: bool

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html b/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html index 39e025c9..faaccb33 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.VerifyCaptchaResultPayload.html @@ -1,41 +1,42 @@ -VerifyCaptchaResultPayload in mcaptcha::api::v1::pow::verify_token - Rust -
pub struct VerifyCaptchaResultPayload {
-    pub secret: String,
-    pub key: String,
-    pub token: String,
-}

Fields

secret: Stringkey: Stringtoken: String

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

-

Converts to this type from the input type.

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub secret: String, + pub key: String, + pub token: String, +}

Fields

secret: Stringkey: Stringtoken: String

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Converts to this type from the input type.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html b/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html index 4aa7cdfd..249221f9 100644 --- a/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html +++ b/mcaptcha/api/v1/pow/verify_token/struct.validate_captcha_token.html @@ -1,29 +1,30 @@ -validate_captcha_token in mcaptcha::api::v1::pow::verify_token - Rust -
pub struct validate_captcha_token;
Expand description

route handler that validates a PoW solution token

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/constant.ROUTES.html b/mcaptcha/api/v1/routes/constant.ROUTES.html index e4ee27a7..22af7d47 100644 --- a/mcaptcha/api/v1/routes/constant.ROUTES.html +++ b/mcaptcha/api/v1/routes/constant.ROUTES.html @@ -1,8 +1,9 @@ -ROUTES in mcaptcha::api::v1::routes - Rust -
+

Constant mcaptcha::api::v1::routes::ROUTES

source · []
pub const ROUTES: Routes;
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/index.html b/mcaptcha/api/v1/routes/index.html index 226f9835..b507de62 100644 --- a/mcaptcha/api/v1/routes/index.html +++ b/mcaptcha/api/v1/routes/index.html @@ -1,10 +1,11 @@ -mcaptcha::api::v1::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/routes/sidebar-items.js b/mcaptcha/api/v1/routes/sidebar-items.js index 12b4f18a..e8b484a1 100644 --- a/mcaptcha/api/v1/routes/sidebar-items.js +++ b/mcaptcha/api/v1/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["ROUTES",""]],"struct":[["Routes",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["ROUTES",""]],"struct":[["Routes",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/routes/struct.Routes.html b/mcaptcha/api/v1/routes/struct.Routes.html index 9456651e..b5d9f4b0 100644 --- a/mcaptcha/api/v1/routes/struct.Routes.html +++ b/mcaptcha/api/v1/routes/struct.Routes.html @@ -1,9 +1,10 @@ -Routes in mcaptcha::api::v1::routes - Rust -
pub struct Routes {
     pub auth: Auth,
     pub account: Account,
@@ -11,25 +12,25 @@
     pub meta: Meta,
     pub pow: PoW,
     pub notifications: Notifications,
-}

Fields

auth: Authaccount: Accountcaptcha: Captchameta: Metapow: PoWnotifications: Notifications

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

auth: Authaccount: Accountcaptcha: Captchameta: Metapow: PoWnotifications: Notifications

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/api/v1/sidebar-items.js b/mcaptcha/api/v1/sidebar-items.js index d4bf1de5..9d377002 100644 --- a/mcaptcha/api/v1/sidebar-items.js +++ b/mcaptcha/api/v1/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["get_middleware",""],["services",""]],"mod":[["account",""],["auth",""],["mcaptcha",""],["meta",""],["notifications",""],["pow",""],["routes",""]],"struct":[["RedirectQuery",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["get_middleware",""],["services",""]],"mod":[["account",""],["auth",""],["mcaptcha",""],["meta",""],["notifications",""],["pow",""],["routes",""]],"struct":[["RedirectQuery",""]]}; \ No newline at end of file diff --git a/mcaptcha/api/v1/struct.RedirectQuery.html b/mcaptcha/api/v1/struct.RedirectQuery.html index 48b5ef34..4933cbb9 100644 --- a/mcaptcha/api/v1/struct.RedirectQuery.html +++ b/mcaptcha/api/v1/struct.RedirectQuery.html @@ -1,31 +1,32 @@ -RedirectQuery in mcaptcha::api::v1 - Rust -
pub struct RedirectQuery {
-    pub redirect_to: Option<String>,
-}

Fields

redirect_to: Option<String>

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub redirect_to: Option<String>, +}

Fields

redirect_to: Option<String>

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/constant.CACHE_AGE.html b/mcaptcha/constant.CACHE_AGE.html index a0368204..ec92d204 100644 --- a/mcaptcha/constant.CACHE_AGE.html +++ b/mcaptcha/constant.CACHE_AGE.html @@ -1,8 +1,9 @@ -CACHE_AGE in mcaptcha - Rust -
pub const CACHE_AGE: u32 = 604800;
\ No newline at end of file diff --git a/mcaptcha/constant.COMPILED_DATE.html b/mcaptcha/constant.COMPILED_DATE.html index 92c20d92..5c1e44a9 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -1,8 +1,9 @@ -COMPILED_DATE in mcaptcha - Rust -
pub const COMPILED_DATE: &str = "22-08-12";
\ No newline at end of file diff --git a/mcaptcha/constant.DOCS.html b/mcaptcha/constant.DOCS.html index 9fb39956..f760245d 100644 --- a/mcaptcha/constant.DOCS.html +++ b/mcaptcha/constant.DOCS.html @@ -1,8 +1,9 @@ -DOCS in mcaptcha - Rust -
+

Constant mcaptcha::DOCS

source · []
pub const DOCS: Docs;
\ No newline at end of file diff --git a/mcaptcha/constant.GIT_COMMIT_HASH.html b/mcaptcha/constant.GIT_COMMIT_HASH.html index 9b71bc81..3a429f24 100644 --- a/mcaptcha/constant.GIT_COMMIT_HASH.html +++ b/mcaptcha/constant.GIT_COMMIT_HASH.html @@ -1,8 +1,9 @@ -GIT_COMMIT_HASH in mcaptcha - Rust -
pub const GIT_COMMIT_HASH: &str = "b3d00c89a6f35365a27f3821ef38e909e865094e";
\ No newline at end of file diff --git a/mcaptcha/constant.PAGES.html b/mcaptcha/constant.PAGES.html index 6785ff86..d3a54240 100644 --- a/mcaptcha/constant.PAGES.html +++ b/mcaptcha/constant.PAGES.html @@ -1,8 +1,9 @@ -PAGES in mcaptcha - Rust -
+

Constant mcaptcha::PAGES

source · []
pub const PAGES: Routes;
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_DESCRIPTION.html b/mcaptcha/constant.PKG_DESCRIPTION.html index 4845df45..8de62226 100644 --- a/mcaptcha/constant.PKG_DESCRIPTION.html +++ b/mcaptcha/constant.PKG_DESCRIPTION.html @@ -1,8 +1,9 @@ -PKG_DESCRIPTION in mcaptcha - Rust -
pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_HOMEPAGE.html b/mcaptcha/constant.PKG_HOMEPAGE.html index e1527485..e61782d6 100644 --- a/mcaptcha/constant.PKG_HOMEPAGE.html +++ b/mcaptcha/constant.PKG_HOMEPAGE.html @@ -1,8 +1,9 @@ -PKG_HOMEPAGE in mcaptcha - Rust -
pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_NAME.html b/mcaptcha/constant.PKG_NAME.html index c4fd4233..116317d1 100644 --- a/mcaptcha/constant.PKG_NAME.html +++ b/mcaptcha/constant.PKG_NAME.html @@ -1,8 +1,9 @@ -PKG_NAME in mcaptcha - Rust -
+

Constant mcaptcha::PKG_NAME

source · []
pub const PKG_NAME: &str = "mcaptcha";
\ No newline at end of file diff --git a/mcaptcha/constant.V1_API_ROUTES.html b/mcaptcha/constant.V1_API_ROUTES.html index 38ea36b5..212d2683 100644 --- a/mcaptcha/constant.V1_API_ROUTES.html +++ b/mcaptcha/constant.V1_API_ROUTES.html @@ -1,8 +1,9 @@ -V1_API_ROUTES in mcaptcha - Rust -
pub const V1_API_ROUTES: Routes;
\ No newline at end of file diff --git a/mcaptcha/constant.VERSION.html b/mcaptcha/constant.VERSION.html index 77ac4c5e..1268c1d9 100644 --- a/mcaptcha/constant.VERSION.html +++ b/mcaptcha/constant.VERSION.html @@ -1,8 +1,9 @@ -VERSION in mcaptcha - Rust -
+

Constant mcaptcha::VERSION

source · []
pub const VERSION: &str = "0.1.0";
\ No newline at end of file diff --git a/mcaptcha/constant.WIDGET_ROUTES.html b/mcaptcha/constant.WIDGET_ROUTES.html index e04ca9a7..842b8db1 100644 --- a/mcaptcha/constant.WIDGET_ROUTES.html +++ b/mcaptcha/constant.WIDGET_ROUTES.html @@ -1,8 +1,9 @@ -WIDGET_ROUTES in mcaptcha - Rust -
pub const WIDGET_ROUTES: Widget;
\ No newline at end of file diff --git a/mcaptcha/data/enum.SystemGroup.html b/mcaptcha/data/enum.SystemGroup.html index f6f7a796..599181f2 100644 --- a/mcaptcha/data/enum.SystemGroup.html +++ b/mcaptcha/data/enum.SystemGroup.html @@ -1,34 +1,35 @@ -SystemGroup in mcaptcha::data - Rust -
pub enum SystemGroup {
     Embedded(System<HashCache, EmbeddedMaster>),
     Redis(System<RedisCache, RedisMaster>),
 }
Expand description

Represents mCaptcha cache and master system. When Redis is configured, SystemGroup::Redis is used and in its absence, SystemGroup::Embedded is used

-

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/data/index.html b/mcaptcha/data/index.html index 1e13cd58..c1558b01 100644 --- a/mcaptcha/data/index.html +++ b/mcaptcha/data/index.html @@ -1,9 +1,10 @@ -mcaptcha::data - Rust -
Expand description

App data: redis cache, database connections, etc.

Macros

Structs

@@ -14,5 +15,5 @@ When Redis is configured, SystemGroup::Embedded is used

Type Definitions

Mailer data type AsyncSmtpTransport

-
+
\ No newline at end of file diff --git a/mcaptcha/data/macro.enum_system_actor.html b/mcaptcha/data/macro.enum_system_actor.html index e59bded0..636264ab 100644 --- a/mcaptcha/data/macro.enum_system_actor.html +++ b/mcaptcha/data/macro.enum_system_actor.html @@ -1,11 +1,12 @@ -enum_system_actor in mcaptcha::data - Rust -
macro_rules! enum_system_actor {
     ($name:ident, $type:ident) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/data/macro.enum_system_wrapper.html b/mcaptcha/data/macro.enum_system_wrapper.html index b6f60268..f7fa6184 100644 --- a/mcaptcha/data/macro.enum_system_wrapper.html +++ b/mcaptcha/data/macro.enum_system_wrapper.html @@ -1,11 +1,12 @@ -enum_system_wrapper in mcaptcha::data - Rust -
macro_rules! enum_system_wrapper {
     ($name:ident, $type:ty, $return_type:ty) => { ... };
 }
-
+
\ No newline at end of file diff --git a/mcaptcha/data/sidebar-items.js b/mcaptcha/data/sidebar-items.js index d3b6f3be..9c5bb020 100644 --- a/mcaptcha/data/sidebar-items.js +++ b/mcaptcha/data/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["SystemGroup","Represents mCaptcha cache and master system. When Redis is configured, [SystemGroup::Redis] is used and in its absence, [SystemGroup::Embedded] is used"]],"macro":[["enum_system_actor",""],["enum_system_wrapper",""]],"struct":[["Data","App data"]],"type":[["Mailer","Mailer data type AsyncSmtpTransport"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["SystemGroup","Represents mCaptcha cache and master system. When Redis is configured, [SystemGroup::Redis] is used and in its absence, [SystemGroup::Embedded] is used"]],"macro":[["enum_system_actor",""],["enum_system_wrapper",""]],"struct":[["Data","App data"]],"type":[["Mailer","Mailer data type AsyncSmtpTransport"]]}; \ No newline at end of file diff --git a/mcaptcha/data/struct.Data.html b/mcaptcha/data/struct.Data.html index f2bf14fb..d978462d 100644 --- a/mcaptcha/data/struct.Data.html +++ b/mcaptcha/data/struct.Data.html @@ -1,43 +1,44 @@ -Data in mcaptcha::data - Rust -
pub struct Data {
-    pub db: Box<dyn MCDatabase>,
+    pub db: Box<dyn MCDatabase>,
     pub creds: Config,
     pub captcha: SystemGroup,
-    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
+    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
     pub settings: Settings,
-    pub stats: Box<dyn Stats>,
+    pub stats: Box<dyn Stats>,
 }
Expand description

App data

-

Fields

db: Box<dyn MCDatabase>

database ops defined by db crates

+

Fields

db: Box<dyn MCDatabase>

database ops defined by db crates

creds: Config

credential management configuration

captcha: SystemGroup

mCaptcha system: Redis cache, etc.

-
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

+
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

settings: Settings

app settings

-
stats: Box<dyn Stats>

stats recorder

-

Implementations

create new instance of app data

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+
stats: Box<dyn Stats>

stats recorder

+

Implementations

create new instance of app data

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/data/type.Mailer.html b/mcaptcha/data/type.Mailer.html index ff08a09b..819aaab9 100644 --- a/mcaptcha/data/type.Mailer.html +++ b/mcaptcha/data/type.Mailer.html @@ -1,9 +1,10 @@ -Mailer in mcaptcha::data - Rust -

Type Definition mcaptcha::data::Mailer

source · []
Expand description

Mailer data type AsyncSmtpTransport

-
+
\ No newline at end of file diff --git a/mcaptcha/date/constant.DAY.html b/mcaptcha/date/constant.DAY.html index 815752ec..2e8d3ee6 100644 --- a/mcaptcha/date/constant.DAY.html +++ b/mcaptcha/date/constant.DAY.html @@ -1,8 +1,9 @@ -DAY in mcaptcha::date - Rust -
+

Constant mcaptcha::date::DAY

source · []
pub const DAY: i64 = HOUR * 24; // 86_400i64
\ No newline at end of file diff --git a/mcaptcha/date/constant.HOUR.html b/mcaptcha/date/constant.HOUR.html index 68254b44..11085508 100644 --- a/mcaptcha/date/constant.HOUR.html +++ b/mcaptcha/date/constant.HOUR.html @@ -1,8 +1,9 @@ -HOUR in mcaptcha::date - Rust -
+

Constant mcaptcha::date::HOUR

source · []
pub const HOUR: i64 = MINUTE * 60; // 3_600i64
\ No newline at end of file diff --git a/mcaptcha/date/constant.MINUTE.html b/mcaptcha/date/constant.MINUTE.html index 4523053c..1bf0d309 100644 --- a/mcaptcha/date/constant.MINUTE.html +++ b/mcaptcha/date/constant.MINUTE.html @@ -1,8 +1,9 @@ -MINUTE in mcaptcha::date - Rust -
+

Constant mcaptcha::date::MINUTE

source · []
pub const MINUTE: i64 = 60;
\ No newline at end of file diff --git a/mcaptcha/date/constant.WEEK.html b/mcaptcha/date/constant.WEEK.html index a70d2af8..beb8d6cf 100644 --- a/mcaptcha/date/constant.WEEK.html +++ b/mcaptcha/date/constant.WEEK.html @@ -1,8 +1,9 @@ -WEEK in mcaptcha::date - Rust -
+

Constant mcaptcha::date::WEEK

source · []
pub const WEEK: i64 = DAY * 7; // 604_800i64
\ No newline at end of file diff --git a/mcaptcha/date/index.html b/mcaptcha/date/index.html index 0208fd23..3661bc2f 100644 --- a/mcaptcha/date/index.html +++ b/mcaptcha/date/index.html @@ -1,10 +1,11 @@ -mcaptcha::date - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/date/sidebar-items.js b/mcaptcha/date/sidebar-items.js index 4f29cdeb..c31296d0 100644 --- a/mcaptcha/date/sidebar-items.js +++ b/mcaptcha/date/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["DAY",""],["HOUR",""],["MINUTE",""],["WEEK",""]],"struct":[["Date",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["DAY",""],["HOUR",""],["MINUTE",""],["WEEK",""]],"struct":[["Date",""]]}; \ No newline at end of file diff --git a/mcaptcha/date/struct.Date.html b/mcaptcha/date/struct.Date.html index cbeb539d..0836ee57 100644 --- a/mcaptcha/date/struct.Date.html +++ b/mcaptcha/date/struct.Date.html @@ -1,38 +1,39 @@ -Date in mcaptcha::date - Rust -
pub struct Date {
     pub time: OffsetDateTime,
-}

Fields

time: OffsetDateTime

Implementations

print relative time from date

-

print date

-

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+}

Fields

time: OffsetDateTime

Implementations

print relative time from date

+

print date

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/db/index.html b/mcaptcha/db/index.html index 35ad9e42..5cf9412e 100644 --- a/mcaptcha/db/index.html +++ b/mcaptcha/db/index.html @@ -1,10 +1,11 @@ -mcaptcha::db - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/db/maria/fn.get_data.html b/mcaptcha/db/maria/fn.get_data.html index bac560e5..652b0994 100644 --- a/mcaptcha/db/maria/fn.get_data.html +++ b/mcaptcha/db/maria/fn.get_data.html @@ -1,8 +1,9 @@ -get_data in mcaptcha::db::maria - Rust -
pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
\ No newline at end of file diff --git a/mcaptcha/db/maria/index.html b/mcaptcha/db/maria/index.html index a9c39cfa..5c511f1d 100644 --- a/mcaptcha/db/maria/index.html +++ b/mcaptcha/db/maria/index.html @@ -1,9 +1,10 @@ -mcaptcha::db::maria - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/db/maria/sidebar-items.js b/mcaptcha/db/maria/sidebar-items.js index d9eaaa4b..60fe8219 100644 --- a/mcaptcha/db/maria/sidebar-items.js +++ b/mcaptcha/db/maria/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["get_data",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["get_data",""]]}; \ No newline at end of file diff --git a/mcaptcha/db/pg/fn.get_data.html b/mcaptcha/db/pg/fn.get_data.html index 2d5de35a..10925606 100644 --- a/mcaptcha/db/pg/fn.get_data.html +++ b/mcaptcha/db/pg/fn.get_data.html @@ -1,8 +1,9 @@ -get_data in mcaptcha::db::pg - Rust -
+

Function mcaptcha::db::pg::get_data

source · []
pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
\ No newline at end of file diff --git a/mcaptcha/db/pg/index.html b/mcaptcha/db/pg/index.html index fe458283..63198ee5 100644 --- a/mcaptcha/db/pg/index.html +++ b/mcaptcha/db/pg/index.html @@ -1,9 +1,10 @@ -mcaptcha::db::pg - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/db/pg/sidebar-items.js b/mcaptcha/db/pg/sidebar-items.js index d9eaaa4b..60fe8219 100644 --- a/mcaptcha/db/pg/sidebar-items.js +++ b/mcaptcha/db/pg/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["get_data",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["get_data",""]]}; \ No newline at end of file diff --git a/mcaptcha/db/sidebar-items.js b/mcaptcha/db/sidebar-items.js index 08dd0158..54395f50 100644 --- a/mcaptcha/db/sidebar-items.js +++ b/mcaptcha/db/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["maria",""],["pg",""]],"type":[["BoxDB",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["maria",""],["pg",""]],"type":[["BoxDB",""]]}; \ No newline at end of file diff --git a/mcaptcha/db/type.BoxDB.html b/mcaptcha/db/type.BoxDB.html index 16d41e33..e9ec4576 100644 --- a/mcaptcha/db/type.BoxDB.html +++ b/mcaptcha/db/type.BoxDB.html @@ -1,8 +1,9 @@ -BoxDB in mcaptcha::db - Rust -
+

Type Definition mcaptcha::db::BoxDB

source · []
pub type BoxDB = Box<dyn MCDatabase>;
\ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_PASSWORD.html b/mcaptcha/demo/constant.DEMO_PASSWORD.html index a4f833aa..efbeb389 100644 --- a/mcaptcha/demo/constant.DEMO_PASSWORD.html +++ b/mcaptcha/demo/constant.DEMO_PASSWORD.html @@ -1,9 +1,10 @@ -DEMO_PASSWORD in mcaptcha::demo - Rust -
pub const DEMO_PASSWORD: &str = "password";
Expand description

Demo password

+
\ No newline at end of file diff --git a/mcaptcha/demo/constant.DEMO_USER.html b/mcaptcha/demo/constant.DEMO_USER.html index 13518f6a..49ff55f3 100644 --- a/mcaptcha/demo/constant.DEMO_USER.html +++ b/mcaptcha/demo/constant.DEMO_USER.html @@ -1,9 +1,10 @@ -DEMO_USER in mcaptcha::demo - Rust -
pub const DEMO_USER: &str = "aaronsw";
Expand description

Demo username

+
\ No newline at end of file diff --git a/mcaptcha/demo/index.html b/mcaptcha/demo/index.html index 3d6b70e4..1b61fda3 100644 --- a/mcaptcha/demo/index.html +++ b/mcaptcha/demo/index.html @@ -1,12 +1,13 @@ -mcaptcha::demo - Rust -

Structs

Constants

Demo password

Demo username

-
+
\ No newline at end of file diff --git a/mcaptcha/demo/sidebar-items.js b/mcaptcha/demo/sidebar-items.js index 1b1d53e3..f1e4f550 100644 --- a/mcaptcha/demo/sidebar-items.js +++ b/mcaptcha/demo/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["DEMO_PASSWORD","Demo password"],["DEMO_USER","Demo username"]],"struct":[["DemoUser",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["DEMO_PASSWORD","Demo password"],["DEMO_USER","Demo username"]],"struct":[["DemoUser",""]]}; \ No newline at end of file diff --git a/mcaptcha/demo/struct.DemoUser.html b/mcaptcha/demo/struct.DemoUser.html index be90fd82..5b51497b 100644 --- a/mcaptcha/demo/struct.DemoUser.html +++ b/mcaptcha/demo/struct.DemoUser.html @@ -1,31 +1,32 @@ -DemoUser in mcaptcha::demo - Rust -
pub struct DemoUser {
-    handle: JoinHandle<()>,
-}

Fields

handle: JoinHandle<()>

Implementations

register demo user runner

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ handle: JoinHandle<()>, +}

Fields

handle: JoinHandle<()>

Implementations

register demo user runner

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/constant.DOCS.html b/mcaptcha/docs/constant.DOCS.html index e26166d7..6b1025be 100644 --- a/mcaptcha/docs/constant.DOCS.html +++ b/mcaptcha/docs/constant.DOCS.html @@ -1,8 +1,9 @@ -DOCS in mcaptcha::docs - Rust -
+

Constant mcaptcha::docs::DOCS

source · []
pub const DOCS: Docs;
\ No newline at end of file diff --git a/mcaptcha/docs/constant.OPEN_API_SPEC.html b/mcaptcha/docs/constant.OPEN_API_SPEC.html index 9468efc0..e28f1725 100644 --- a/mcaptcha/docs/constant.OPEN_API_SPEC.html +++ b/mcaptcha/docs/constant.OPEN_API_SPEC.html @@ -1,8 +1,9 @@ -OPEN_API_SPEC in mcaptcha::docs - Rust -
const OPEN_API_SPEC: &str = "openapi: 3.0.0\ninfo:\n  version: 0.1.0\n  title: mCaptcha/guard\nservers:\n  - url: /\npaths:\n  /api/v1/signup:\n    post:\n      summary: Registration endpoint\n      operationId: registerUser\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/RegisterUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n              email: testuser@example.com\n      responses:\n        \'200\':\n          description: Successful registration\n        \'400\':\n          description: \'Bad request: username contains profainity/blacklisted words or email not acceptable or password too long/short or duplicate username/password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signin:\n    post:\n      summary: Login endpoint\n      operationId: loginUser\n      tags:\n        - user\n        - authentication\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/LoginUser\'\n            example:\n              username: testuser\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: Successful authentication\n        \'401\':\n          description: \'authentication failed, wrong password\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/signout:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Signout endpoint\n      operationId: signoutUser\n      tags:\n        - user\n        - authentication\n      responses:\n        \'200\':\n          description: OK\n  /api/v1/account/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete account\n      operationId: deleteAccount\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/DeleteUser\'\n            example:\n              password: mysuperlongandsecurepassword\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: username not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/username/exists:\n    post:\n      summary: Check if username exists\n      operationId: usernameExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/account/email/exists:\n    post:\n      summary: Check if email exists\n      operationId: emailExists\n      tags:\n        - user\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UserDetailCheck\'\n            example:\n              val: testuser@example.com\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/UserDetailCheckRes\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/meta/health:\n    get:\n      summary: Health check\n      operationId: healthCheck\n      tags:\n        - meta\n        - health\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Health\'\n  /api/v1/meta/build:\n    get:\n      summary: Get server binary build details\n      operationId: buildDetails\n      tags:\n        - meta\n        - build\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/BuildDetails\'\n  /api/v1/mcaptcha/domain/token/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add token for registered domain\n      operationId: addToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update token key\n      operationId: updateTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI or duplicate token name\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Get token key\n      operationId: getTokenKey\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/MCaptchaDetails\'\n        \'400\':\n          description: \'Bad request: Submited URI is not a URI\'\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'404\':\n          description: token name not found\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/delete:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Delete token from mcaptcha\n      operationId: deleteToken\n      tags:\n        - mcaptcha\n        - domain\n        - token\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/MCaptchaID\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/add:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Add levels to a token\n      operationId: addTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/update:\n    post:\n      security:\n        - cookieAuth: []\n      summary: Update levels of a token\n      operationId: updateTokenLevels\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: duplicate visitor count or difficulty_factor is zero or difficulty_factor decreases with increase in visitor count\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'401\':\n          description: authentication failed\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/delete:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Delete levels of a token\n      operationId: deleteTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/levels/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n      summary: Get levels of a token\n      operationId: getTokenLevels\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/AddLevels\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Levels\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/get:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: Get duration of a token\n      operationId: getTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/GetDuration\'\n      responses:\n        \'200\':\n          description: OK\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Duration\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n  /api/v1/mcaptcha/domain/token/token/update:\n    post:\n      security:\n        - cookieAuth: []\n      tags:\n        - mcaptcha\n        - domain\n        - token\n        - levels\n        - duration\n      summary: update duration of a token\n      operationId: updateTokenDuration\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: \'#/components/schemas/UpdateDuration\'\n      responses:\n        \'200\':\n          description: OK\n        \'400\':\n          description: \'Bad request: Duration must be greater than 0\'\n        \'401\':\n          description: (cookie)authentication required or wrong password\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\n        \'500\':\n          description: Internal server error\n          content:\n            application/json:\n              schema:\n                $ref: \'#/components/schemas/Error\'\ncomponents:\n  schemas:\n    RegisterUser:\n      type: object\n      required:\n        - username\n        - password\n        - email\n      properties:\n        username:\n          type: string\n        email:\n          type: string\n        password:\n          type: string\n          format: password\n    LoginUser:\n      type: object\n      required:\n        - username\n        - password\n      properties:\n        username:\n          type: string\n        password:\n          type: string\n          format: password\n    DeleteUser:\n      type: object\n      required:\n        - password\n      properties:\n        password:\n          type: string\n          format: password\n    Error:\n      type: object\n      required:\n        - error\n      properties:\n        error:\n          type: string\n    User:\n      type: object\n      required:\n        - id\n        - name\n      properties:\n        id:\n          type: integer\n          format: int64\n        name:\n          type: string\n    UserDetailCheck:\n      type: object\n      required:\n        - val\n      properties:\n        val:\n          type: string\n    Health:\n      type: object\n      required:\n        - db\n      properties:\n        db:\n          type: boolean\n    UserDetailCheckRes:\n      type: object\n      required:\n        - exists\n      properties:\n        val:\n          type: boolean\n    BuildDetails:\n      type: object\n      required:\n        - version\n        - git_commit_hash\n      properties:\n        version:\n          type: string\n        git_commit_hash:\n          type: string\n    AddDomain:\n      type: object\n      required:\n        - name\n      properties:\n        name:\n          type: string\n    DomainVerificationChallenge:\n      type: object\n      required:\n        - verification_challenge\n      properties:\n        verification_challenge:\n          type: string\n    MCaptchaID:\n      type: object\n      required:\n        - name\n        - domain\n      properties:\n        name:\n          type: string\n        domain:\n          type: string\n    MCaptchaDetails:\n      type: object\n      required:\n        - name\n        - key\n      properties:\n        name:\n          type: string\n        key:\n          type: string\n    Level:\n      type: object\n      required:\n        - visitor_threshold\n        - difficulty_factor\n      properties:\n        visitor_threshold:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n        difficulty_factor:\n          type: number\n          minimum: 1\n    GetLevels:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Levels:\n      type: array\n      items:\n        $ref: \'#/components/schemas/Level\'\n    AddLevels:\n      type: object\n      required:\n        - name\n        - levels\n      properties:\n        name:\n          type: string\n        levels:\n          type: array\n          items:\n            $ref: \'#/components/schemas/Level\'\n    GetDuration:\n      type: object\n      required:\n        - token\n      properties:\n        token:\n          type: string\n    Duration:\n      type: object\n      required:\n        - duration\n      properties:\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n    UpdateDuration:\n      type: object\n      required:\n        - duration\n        - token_name\n      properties:\n        token_name:\n          type: string\n        duration:\n          type: number\n          minimum: 1\n          maximum: 2147483647\n  securitySchemes:\n    cookieAuth:\n      type: apiKey\n      in: cookie\n      name: Authorization\n";
\ No newline at end of file diff --git a/mcaptcha/docs/fn.handle_embedded_file.html b/mcaptcha/docs/fn.handle_embedded_file.html index 5a5fb3dc..e2262e30 100644 --- a/mcaptcha/docs/fn.handle_embedded_file.html +++ b/mcaptcha/docs/fn.handle_embedded_file.html @@ -1,8 +1,9 @@ -handle_embedded_file in mcaptcha::docs - Rust -
pub fn handle_embedded_file(path: &str) -> HttpResponse
\ No newline at end of file diff --git a/mcaptcha/docs/fn.services.html b/mcaptcha/docs/fn.services.html index b5a5a7b3..bf616b46 100644 --- a/mcaptcha/docs/fn.services.html +++ b/mcaptcha/docs/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::docs - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/docs/index.html b/mcaptcha/docs/index.html index d4069376..c6d323ee 100644 --- a/mcaptcha/docs/index.html +++ b/mcaptcha/docs/index.html @@ -1,12 +1,13 @@ -mcaptcha::docs - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/docs/routes/index.html b/mcaptcha/docs/routes/index.html index 3a8be3c0..2f8cc191 100644 --- a/mcaptcha/docs/routes/index.html +++ b/mcaptcha/docs/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::docs::routes - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/docs/routes/sidebar-items.js b/mcaptcha/docs/routes/sidebar-items.js index ebdb2ce7..3e6993e3 100644 --- a/mcaptcha/docs/routes/sidebar-items.js +++ b/mcaptcha/docs/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Docs",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Docs",""]]}; \ No newline at end of file diff --git a/mcaptcha/docs/routes/struct.Docs.html b/mcaptcha/docs/routes/struct.Docs.html index 15e7888d..ea37b126 100644 --- a/mcaptcha/docs/routes/struct.Docs.html +++ b/mcaptcha/docs/routes/struct.Docs.html @@ -1,32 +1,33 @@ -Docs in mcaptcha::docs::routes - Rust -
pub struct Docs {
-    pub home: &'static str,
-    pub spec: &'static str,
-    pub assets: &'static str,
-}

Fields

home: &'static strspec: &'static strassets: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub home: &'static str, + pub spec: &'static str, + pub assets: &'static str, +}

Fields

home: &'static strspec: &'static strassets: &'static str

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/sidebar-items.js b/mcaptcha/docs/sidebar-items.js index 6a439054..33097dd5 100644 --- a/mcaptcha/docs/sidebar-items.js +++ b/mcaptcha/docs/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["DOCS",""],["OPEN_API_SPEC",""]],"fn":[["handle_embedded_file",""],["services",""]],"mod":[["routes",""]],"struct":[["Asset",""],["dist",""],["index",""],["spec",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["DOCS",""],["OPEN_API_SPEC",""]],"fn":[["handle_embedded_file",""],["services",""]],"mod":[["routes",""]],"struct":[["Asset",""],["dist",""],["index",""],["spec",""]]}; \ No newline at end of file diff --git a/mcaptcha/docs/struct.Asset.html b/mcaptcha/docs/struct.Asset.html index b178f6c8..3ef541ee 100644 --- a/mcaptcha/docs/struct.Asset.html +++ b/mcaptcha/docs/struct.Asset.html @@ -1,32 +1,33 @@ -Asset in mcaptcha::docs - Rust -
struct Asset;

Implementations

Get an embedded file and its metadata.

+

Iterates over the file paths in the folder.

+

Trait Implementations

Get an embedded file and its metadata. Read more

Iterates over the file paths in the folder. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.dist.html b/mcaptcha/docs/struct.dist.html index 6017a3b9..64292406 100644 --- a/mcaptcha/docs/struct.dist.html +++ b/mcaptcha/docs/struct.dist.html @@ -1,28 +1,29 @@ -dist in mcaptcha::docs - Rust -
+

Struct mcaptcha::docs::dist

source · []
pub struct dist;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.index.html b/mcaptcha/docs/struct.index.html index b7606738..2aaa6347 100644 --- a/mcaptcha/docs/struct.index.html +++ b/mcaptcha/docs/struct.index.html @@ -1,28 +1,29 @@ -index in mcaptcha::docs - Rust -
pub struct index;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/docs/struct.spec.html b/mcaptcha/docs/struct.spec.html index d4c8c66e..a49b1b58 100644 --- a/mcaptcha/docs/struct.spec.html +++ b/mcaptcha/docs/struct.spec.html @@ -1,28 +1,29 @@ -spec in mcaptcha::docs - Rust -
+

Struct mcaptcha::docs::spec

source · []
pub struct spec;

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/email/index.html b/mcaptcha/email/index.html index 4afbaa51..9aaf7982 100644 --- a/mcaptcha/email/index.html +++ b/mcaptcha/email/index.html @@ -1,10 +1,11 @@ -mcaptcha::email - Rust -

Modules

Email operations: verification, notification, etc

-
+
\ No newline at end of file diff --git a/mcaptcha/email/sidebar-items.js b/mcaptcha/email/sidebar-items.js index 36d3b81e..e612dd08 100644 --- a/mcaptcha/email/sidebar-items.js +++ b/mcaptcha/email/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"mod":[["verification","Email operations: verification, notification, etc"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["verification","Email operations: verification, notification, etc"]]}; \ No newline at end of file diff --git a/mcaptcha/email/verification/constant.PAGE.html b/mcaptcha/email/verification/constant.PAGE.html index 57869ec5..37f9704a 100644 --- a/mcaptcha/email/verification/constant.PAGE.html +++ b/mcaptcha/email/verification/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::email::verification - Rust -
const PAGE: &str = "Login";
\ No newline at end of file diff --git a/mcaptcha/email/verification/fn.verification.html b/mcaptcha/email/verification/fn.verification.html index e4439649..23bfe47d 100644 --- a/mcaptcha/email/verification/fn.verification.html +++ b/mcaptcha/email/verification/fn.verification.html @@ -1,8 +1,9 @@ -verification in mcaptcha::email::verification - Rust -
async fn verification(
    data: &Data,
    to: &str,
    verification_link: &str
) -> Result<(), ServiceError>
\ No newline at end of file diff --git a/mcaptcha/email/verification/index.html b/mcaptcha/email/verification/index.html index 4e9d8e46..1cc9aac9 100644 --- a/mcaptcha/email/verification/index.html +++ b/mcaptcha/email/verification/index.html @@ -1,12 +1,13 @@ -mcaptcha::email::verification - Rust -
Expand description

Email operations: verification, notification, etc

Structs

IndexPage 🔒

Constants

PAGE 🔒

Functions

-
+
\ No newline at end of file diff --git a/mcaptcha/email/verification/sidebar-items.js b/mcaptcha/email/verification/sidebar-items.js index c94d79ed..ee6df7e6 100644 --- a/mcaptcha/email/verification/sidebar-items.js +++ b/mcaptcha/email/verification/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"fn":[["verification",""]],"struct":[["IndexPage",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"fn":[["verification",""]],"struct":[["IndexPage",""]]}; \ No newline at end of file diff --git a/mcaptcha/email/verification/struct.IndexPage.html b/mcaptcha/email/verification/struct.IndexPage.html index 0dcbd009..18883c44 100644 --- a/mcaptcha/email/verification/struct.IndexPage.html +++ b/mcaptcha/email/verification/struct.IndexPage.html @@ -1,37 +1,38 @@ -IndexPage in mcaptcha::email::verification - Rust -
struct IndexPage<'a> {
-    verification_link: &'a str,
-}

Fields

verification_link: &'a str

Implementations

Trait Implementations

Returns a copy of the value. Read more

-

Performs copy-assignment from source. Read more

+ verification_link: &'a str, +}

Fields

verification_link: &'a str

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

Render the template and return the rendering result as RenderResult Read more

-

Render the template and append the result to buf. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Render the template and append the result to buf. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The resulting type after obtaining ownership.

-

Creates owned data from borrowed data, usually by cloning. Read more

-
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/enum.PageError.html b/mcaptcha/errors/enum.PageError.html index 6df053d7..1a182611 100644 --- a/mcaptcha/errors/enum.PageError.html +++ b/mcaptcha/errors/enum.PageError.html @@ -1,45 +1,46 @@ -PageError in mcaptcha::errors - Rust -
pub enum PageError {
     InternalServerError,
     ServiceError(ServiceError),
-}

Variants

InternalServerError

ServiceError(ServiceError)

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

+}

Variants

InternalServerError

ServiceError(ServiceError)

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

Creates full response for error. Read more

Returns appropriate status code for error. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/enum.ServiceError.html b/mcaptcha/errors/enum.ServiceError.html index 06d6bbff..6fddcda3 100644 --- a/mcaptcha/errors/enum.ServiceError.html +++ b/mcaptcha/errors/enum.ServiceError.html @@ -1,9 +1,10 @@ -ServiceError in mcaptcha::errors - Rust -
pub enum ServiceError {
 
Show 21 variants InternalServerError, ClosedForRegistration, @@ -38,46 +39,46 @@ profile

TokenNotFound

token not found

CaptchaError(CaptchaError)

DBError(DBErrorWrapper)

CaptchaNotFound

captcha not found

TrafficPatternNotFound

Traffic pattern not found

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

The lower-level source of this error, if any. Read more

-
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

-
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

-
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

Converts to this type from the input type.

-

This method tests for self and other values to be equal, and is used -by ==. Read more

-

This method tests for !=.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

Converts to this type from the input type.

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

Creates full response for error. Read more

Returns appropriate status code for error. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/index.html b/mcaptcha/errors/index.html index 2440f5ae..a992895b 100644 --- a/mcaptcha/errors/index.html +++ b/mcaptcha/errors/index.html @@ -1,11 +1,12 @@ -mcaptcha::errors - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/errors/sidebar-items.js b/mcaptcha/errors/sidebar-items.js index 20e700f8..5e3d8674 100644 --- a/mcaptcha/errors/sidebar-items.js +++ b/mcaptcha/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["PageError",""],["ServiceError",""]],"struct":[["DBErrorWrapper",""],["ErrorToResponse",""],["SmtpErrorWrapper",""]],"type":[["PageResult",""],["ServiceResult",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["PageError",""],["ServiceError",""]],"struct":[["DBErrorWrapper",""],["ErrorToResponse",""],["SmtpErrorWrapper",""]],"type":[["PageResult",""],["ServiceResult",""]]}; \ No newline at end of file diff --git a/mcaptcha/errors/struct.DBErrorWrapper.html b/mcaptcha/errors/struct.DBErrorWrapper.html index c09faf76..0c4703bc 100644 --- a/mcaptcha/errors/struct.DBErrorWrapper.html +++ b/mcaptcha/errors/struct.DBErrorWrapper.html @@ -1,38 +1,39 @@ -DBErrorWrapper in mcaptcha::errors - Rust -
pub struct DBErrorWrapper(DBError);

Tuple Fields

0: DBError

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/struct.ErrorToResponse.html b/mcaptcha/errors/struct.ErrorToResponse.html index d799a1ac..d5b163cf 100644 --- a/mcaptcha/errors/struct.ErrorToResponse.html +++ b/mcaptcha/errors/struct.ErrorToResponse.html @@ -1,32 +1,33 @@ -ErrorToResponse in mcaptcha::errors - Rust -
pub struct ErrorToResponse {
-    pub error: String,
-}

Fields

error: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

-

Serialize this value into the given Serde serializer. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Returns the argument unchanged.

+ pub error: String, +}

Fields

error: String

Trait Implementations

Deserialize this value from the given Serde deserializer. Read more

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/struct.SmtpErrorWrapper.html b/mcaptcha/errors/struct.SmtpErrorWrapper.html index cc347e73..b452ca59 100644 --- a/mcaptcha/errors/struct.SmtpErrorWrapper.html +++ b/mcaptcha/errors/struct.SmtpErrorWrapper.html @@ -1,38 +1,39 @@ -SmtpErrorWrapper in mcaptcha::errors - Rust -
pub struct SmtpErrorWrapper(SmtpError);

Tuple Fields

0: SmtpError

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

-

Calls U::from(self).

+

Calls U::from(self).

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

+From<T> for U chooses to do.

Should always be Self

-

Converts the given value to a String. Read more

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Attaches the provided Subscriber to this type, returning a +

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

-
+
\ No newline at end of file diff --git a/mcaptcha/errors/type.PageResult.html b/mcaptcha/errors/type.PageResult.html index 2ad07695..c701aae7 100644 --- a/mcaptcha/errors/type.PageResult.html +++ b/mcaptcha/errors/type.PageResult.html @@ -1,8 +1,9 @@ -PageResult in mcaptcha::errors - Rust -
+

Type Definition mcaptcha::errors::PageResult

source · []
pub type PageResult<V> = Result<V, PageError>;
\ No newline at end of file diff --git a/mcaptcha/errors/type.ServiceResult.html b/mcaptcha/errors/type.ServiceResult.html index c455945c..e19e98fe 100644 --- a/mcaptcha/errors/type.ServiceResult.html +++ b/mcaptcha/errors/type.ServiceResult.html @@ -1,8 +1,9 @@ -ServiceResult in mcaptcha::errors - Rust -
+

Type Definition mcaptcha::errors::ServiceResult

source · []
pub type ServiceResult<V> = Result<V, ServiceError>;
\ No newline at end of file diff --git a/mcaptcha/fn.get_identity_service.html b/mcaptcha/fn.get_identity_service.html index 26997db6..c888d350 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -1,8 +1,9 @@ -get_identity_service in mcaptcha - Rust -
pub fn get_identity_service(
    settings: &Settings
) -> IdentityService<CookieIdentityPolicy>
\ No newline at end of file diff --git a/mcaptcha/fn.get_json_err.html b/mcaptcha/fn.get_json_err.html index fd05eacf..7455c647 100644 --- a/mcaptcha/fn.get_json_err.html +++ b/mcaptcha/fn.get_json_err.html @@ -1,8 +1,9 @@ -get_json_err in mcaptcha - Rust -
pub fn get_json_err() -> JsonConfig
\ No newline at end of file diff --git a/mcaptcha/fn.main.html b/mcaptcha/fn.main.html index c9daac90..6d31cf97 100644 --- a/mcaptcha/fn.main.html +++ b/mcaptcha/fn.main.html @@ -1,8 +1,9 @@ -main in mcaptcha - Rust -
+

Function mcaptcha::main

source · []
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/mcaptcha/index.html b/mcaptcha/index.html index 600f6ede..9c5db495 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -1,9 +1,10 @@ -mcaptcha - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/pages/auth/fn.services.html b/mcaptcha/pages/auth/fn.services.html index 0f4a36c4..b507dccb 100644 --- a/mcaptcha/pages/auth/fn.services.html +++ b/mcaptcha/pages/auth/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages::auth - Rust -
pub fn services(cfg: &mut ServiceConfig)
\ No newline at end of file diff --git a/mcaptcha/pages/auth/index.html b/mcaptcha/pages/auth/index.html index fb384c4a..82b6ac01 100644 --- a/mcaptcha/pages/auth/index.html +++ b/mcaptcha/pages/auth/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::auth - Rust -
+
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/constant.PAGE.html b/mcaptcha/pages/auth/login/constant.PAGE.html index b3cc8838..c51aed24 100644 --- a/mcaptcha/pages/auth/login/constant.PAGE.html +++ b/mcaptcha/pages/auth/login/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::auth::login - Rust -
const PAGE: &str = "Login";
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/index.html b/mcaptcha/pages/auth/login/index.html index 4da527d4..2c5cd2ab 100644 --- a/mcaptcha/pages/auth/login/index.html +++ b/mcaptcha/pages/auth/login/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::auth::login - Rust -
+
PAGE 🔒
\ No newline at end of file diff --git a/mcaptcha/pages/auth/login/sidebar-items.js b/mcaptcha/pages/auth/login/sidebar-items.js index 4097ec41..b7f08a60 100644 --- a/mcaptcha/pages/auth/login/sidebar-items.js +++ b/mcaptcha/pages/auth/login/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["INDEX",""],["IndexPage",""],["login",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["INDEX",""],["IndexPage",""],["login",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.INDEX.html b/mcaptcha/pages/auth/login/struct.INDEX.html index 7db001b5..390cbf2b 100644 --- a/mcaptcha/pages/auth/login/struct.INDEX.html +++ b/mcaptcha/pages/auth/login/struct.INDEX.html @@ -1,34 +1,35 @@ -INDEX in mcaptcha::pages::auth::login - Rust -
struct INDEX {
-    __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = String>

Extracts a string slice containing the entire String.

+ __private_field: (), +}

Fields

__private_field: ()

Methods from Deref<Target = String>

Extracts a string slice containing the entire String.

Examples

Basic usage:

let s = String::from("foo");
 
 assert_eq!("foo", s.as_str());
-

Returns this String’s capacity, in bytes.

+

Returns this String’s capacity, in bytes.

Examples

Basic usage:

let s = String::with_capacity(10);
 
 assert!(s.capacity() >= 10);
-

Returns a byte slice of this String’s contents.

-

The inverse of this method is from_utf8.

+

Returns a byte slice of this String’s contents.

+

The inverse of this method is from_utf8.

Examples

Basic usage:

let s = String::from("hello");
 
 assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
-

Returns the length of this String, in bytes, not chars or +

Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

Examples
@@ -40,7 +41,7 @@ length of the string.

let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
-

Returns true if this String has a length of zero, and false otherwise.

+

Returns true if this String has a length of zero, and false otherwise.

Examples

Basic usage:

@@ -49,8 +50,8 @@ length of the string.

v.push('a'); assert!(!v.is_empty());
-

Methods from Deref<Target = str>

Returns the length of self.

-

This length is in bytes, not chars or graphemes. In other words, +

Methods from Deref<Target = str>

Returns the length of self.

+

This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

Examples

Basic usage:

@@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
-

Returns true if self has a length of zero bytes.

+

Returns true if self has a length of zero bytes.

Examples

Basic usage:

@@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

let s = "not empty"; assert!(!s.is_empty());
-

Checks that index-th byte is the first byte in a UTF-8 code point +

Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

The start and end of the string (when index == self.len()) are considered to be boundaries.

@@ -86,7 +87,7 @@ considered to be boundaries.

// third byte of `老` assert!(!s.is_char_boundary(8));
-
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not exceeding index where is_char_boundary(x) is true.

+
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not exceeding index where is_char_boundary(x) is true.

This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
-
🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not below index where is_char_boundary(x) is true.

-

This method is the natural complement to floor_char_boundary. See that method +

🔬 This is a nightly-only experimental API. (round_char_boundary)

Finds the closest x not below index where is_char_boundary(x) is true.

+

This method is the natural complement to floor_char_boundary. See that method for more details.

Panics

Panics if index > self.len().

@@ -115,14 +116,14 @@ for more details.

let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
-

Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

+

Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

Examples

Basic usage:

let bytes = "bors".as_bytes();
 assert_eq!(b"bors", bytes);
-

Converts a mutable string slice to a mutable byte slice.

+

Converts a mutable string slice to a mutable byte slice.

Safety

The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

@@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

} assert_eq!("🍔∈🌏", s);
-

Converts a string slice to a raw pointer.

+

Converts a string slice to a raw pointer.

As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

+If you need to mutate the contents of the string slice, use as_mut_ptr.

Examples

Basic usage:

let s = "Hello";
 let ptr = s.as_ptr();
-

Converts a mutable string slice to a raw pointer.

+

Converts a mutable string slice to a raw pointer.

As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

-

Returns a subslice of str.

+

Returns a subslice of str.

This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

+None whenever equivalent indexing operation would panic.

Examples
let v = String::from("🗻∈🌏");
 
@@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

// out of bounds assert!(v.get(..42).is_none());
-

Returns a mutable subslice of str.

+

Returns a mutable subslice of str.

This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

+None whenever equivalent indexing operation would panic.

Examples
let mut v = String::from("hello");
 // correct length
@@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
-

Returns an unchecked subslice of str.

+

Returns an unchecked subslice of str.

This is the unchecked alternative to indexing the str.

Safety

Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
-

Returns a mutable, unchecked subslice of str.

+

Returns a mutable, unchecked subslice of str.

This is the unchecked alternative to indexing the str.

Safety

Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
-
👎 Deprecated since 1.29.0:

use get_unchecked(begin..end) instead

+
👎 Deprecated since 1.29.0:

use get_unchecked(begin..end) instead

Creates a string slice from another string slice, bypassing safety checks.

This is generally not recommended, use with caution! For a safe -alternative see str and Index.

+alternative see str and Index.

This new slice goes from begin to end, including begin but excluding end.

To get a mutable string slice instead, see the -slice_mut_unchecked method.

+slice_mut_unchecked method.

Safety

Callers of this function are responsible that three preconditions are satisfied:

@@ -269,15 +270,15 @@ satisfied:

unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
-
👎 Deprecated since 1.29.0:

use get_unchecked_mut(begin..end) instead

+
👎 Deprecated since 1.29.0:

use get_unchecked_mut(begin..end) instead

Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

+alternative see str and IndexMut.

This new slice goes from begin to end, including begin but excluding end.

To get an immutable string slice instead, see the -slice_unchecked method.

+slice_unchecked method.

Safety

Callers of this function are responsible that three preconditions are satisfied:

@@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.IndexPage.html b/mcaptcha/pages/auth/login/struct.IndexPage.html index 97f053ff..265ddbba 100644 --- a/mcaptcha/pages/auth/login/struct.IndexPage.html +++ b/mcaptcha/pages/auth/login/struct.IndexPage.html @@ -1,36 +1,37 @@ -IndexPage in mcaptcha::pages::auth::login - Rust -
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/login/struct.login.html b/mcaptcha/pages/auth/login/struct.login.html index dff59fe3..954b5459 100644 --- a/mcaptcha/pages/auth/login/struct.login.html +++ b/mcaptcha/pages/auth/login/struct.login.html @@ -1,28 +1,29 @@ -login in mcaptcha::pages::auth::login - Rust -
    pub struct login;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/constant.PAGE.html b/mcaptcha/pages/auth/register/constant.PAGE.html index 3f66241f..b0d98ef9 100644 --- a/mcaptcha/pages/auth/register/constant.PAGE.html +++ b/mcaptcha/pages/auth/register/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::auth::register - Rust -
    const PAGE: &str = "Join";
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/index.html b/mcaptcha/pages/auth/register/index.html index 06e0fe41..d401e9a5 100644 --- a/mcaptcha/pages/auth/register/index.html +++ b/mcaptcha/pages/auth/register/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::auth::register - Rust -
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/sidebar-items.js b/mcaptcha/pages/auth/register/sidebar-items.js index 27c590a9..21c91dab 100644 --- a/mcaptcha/pages/auth/register/sidebar-items.js +++ b/mcaptcha/pages/auth/register/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["INDEX",""],["IndexPage",""],["join",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["INDEX",""],["IndexPage",""],["join",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.INDEX.html b/mcaptcha/pages/auth/register/struct.INDEX.html index 5a758f83..3cd270b0 100644 --- a/mcaptcha/pages/auth/register/struct.INDEX.html +++ b/mcaptcha/pages/auth/register/struct.INDEX.html @@ -1,34 +1,35 @@ -INDEX in mcaptcha::pages::auth::register - Rust -
    struct INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.IndexPage.html b/mcaptcha/pages/auth/register/struct.IndexPage.html index 2e623962..57e57b4a 100644 --- a/mcaptcha/pages/auth/register/struct.IndexPage.html +++ b/mcaptcha/pages/auth/register/struct.IndexPage.html @@ -1,36 +1,37 @@ -IndexPage in mcaptcha::pages::auth::register - Rust -
    struct IndexPage;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/register/struct.join.html b/mcaptcha/pages/auth/register/struct.join.html index 832d6697..c91ac271 100644 --- a/mcaptcha/pages/auth/register/struct.join.html +++ b/mcaptcha/pages/auth/register/struct.join.html @@ -1,28 +1,29 @@ -join in mcaptcha::pages::auth::register - Rust -
    pub struct join;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/routes/index.html b/mcaptcha/pages/auth/routes/index.html index db9a0777..c3f8bab4 100644 --- a/mcaptcha/pages/auth/routes/index.html +++ b/mcaptcha/pages/auth/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::auth::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/routes/sidebar-items.js b/mcaptcha/pages/auth/routes/sidebar-items.js index 1b1fd186..57506bd5 100644 --- a/mcaptcha/pages/auth/routes/sidebar-items.js +++ b/mcaptcha/pages/auth/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Auth",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Auth",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/auth/routes/struct.Auth.html b/mcaptcha/pages/auth/routes/struct.Auth.html index cded5961..e79e501c 100644 --- a/mcaptcha/pages/auth/routes/struct.Auth.html +++ b/mcaptcha/pages/auth/routes/struct.Auth.html @@ -1,31 +1,32 @@ -Auth in mcaptcha::pages::auth::routes - Rust -
    pub struct Auth {
    -    pub login: &'static str,
    -    pub join: &'static str,
    -}

    Fields

    login: &'static strjoin: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub login: &'static str, + pub join: &'static str, +}

    Fields

    login: &'static strjoin: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sidebar-items.js b/mcaptcha/pages/auth/sidebar-items.js index 05ab04c0..c5aaef1a 100644 --- a/mcaptcha/pages/auth/sidebar-items.js +++ b/mcaptcha/pages/auth/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["login",""],["register",""],["routes",""],["sudo",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["login",""],["register",""],["routes",""],["sudo",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/constant.PAGE.html b/mcaptcha/pages/auth/sudo/constant.PAGE.html index c63c5466..500bfd8b 100644 --- a/mcaptcha/pages/auth/sudo/constant.PAGE.html +++ b/mcaptcha/pages/auth/sudo/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::auth::sudo - Rust -
    +

    Constant mcaptcha::pages::auth::sudo::PAGE

    source · []
    pub const PAGE: &str = "Confirm Access";
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/index.html b/mcaptcha/pages/auth/sudo/index.html index 6db4cfbd..6a272ad9 100644 --- a/mcaptcha/pages/auth/sudo/index.html +++ b/mcaptcha/pages/auth/sudo/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::auth::sudo - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/sidebar-items.js b/mcaptcha/pages/auth/sudo/sidebar-items.js index 27d4f147..8c4ef186 100644 --- a/mcaptcha/pages/auth/sudo/sidebar-items.js +++ b/mcaptcha/pages/auth/sudo/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["SudoPage",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["SudoPage",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/auth/sudo/struct.SudoPage.html b/mcaptcha/pages/auth/sudo/struct.SudoPage.html index 1eb542e8..b8697534 100644 --- a/mcaptcha/pages/auth/sudo/struct.SudoPage.html +++ b/mcaptcha/pages/auth/sudo/struct.SudoPage.html @@ -1,38 +1,39 @@ -SudoPage in mcaptcha::pages::auth::sudo - Rust -
    pub struct SudoPage<'a, K, V> where
        K: Display + Render,
        V: Display + Render, 
    { + url: &'a str, + data: Option<Vec<(K, V)>>, +}

    Fields

    url: &'a strdata: Option<Vec<(K, V)>>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Render the template and return the rendering result as RenderResult Read more

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/constant.NAME.html b/mcaptcha/pages/constant.NAME.html index fba9b09e..ba8836a2 100644 --- a/mcaptcha/pages/constant.NAME.html +++ b/mcaptcha/pages/constant.NAME.html @@ -1,8 +1,9 @@ -NAME in mcaptcha::pages - Rust -
    +

    Constant mcaptcha::pages::NAME

    source · []
    pub const NAME: &str = "mCaptcha";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/constant.ERROR_ROUTE.html b/mcaptcha/pages/errors/constant.ERROR_ROUTE.html index aede7602..19c1f526 100644 --- a/mcaptcha/pages/errors/constant.ERROR_ROUTE.html +++ b/mcaptcha/pages/errors/constant.ERROR_ROUTE.html @@ -1,8 +1,9 @@ -ERROR_ROUTE in mcaptcha::pages::errors - Rust -
    const ERROR_ROUTE: &str = "/error/{id}";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/constant.PAGE.html b/mcaptcha/pages/errors/constant.PAGE.html index a64f7860..c3ab83ca 100644 --- a/mcaptcha/pages/errors/constant.PAGE.html +++ b/mcaptcha/pages/errors/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::errors - Rust -
    const PAGE: &str = "Error";
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/fn.services.html b/mcaptcha/pages/errors/fn.services.html index 25cfd6c3..ff9e325e 100644 --- a/mcaptcha/pages/errors/fn.services.html +++ b/mcaptcha/pages/errors/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages::errors - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/index.html b/mcaptcha/pages/errors/index.html index 1ec06bc8..0d648681 100644 --- a/mcaptcha/pages/errors/index.html +++ b/mcaptcha/pages/errors/index.html @@ -1,12 +1,13 @@ -mcaptcha::pages::errors - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/index.html b/mcaptcha/pages/errors/routes/index.html index 832ca551..29f701b5 100644 --- a/mcaptcha/pages/errors/routes/index.html +++ b/mcaptcha/pages/errors/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::errors::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/sidebar-items.js b/mcaptcha/pages/errors/routes/sidebar-items.js index 6391170d..fe108e43 100644 --- a/mcaptcha/pages/errors/routes/sidebar-items.js +++ b/mcaptcha/pages/errors/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Errors",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Errors",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/errors/routes/struct.Errors.html b/mcaptcha/pages/errors/routes/struct.Errors.html index bef8daef..0e4a5a45 100644 --- a/mcaptcha/pages/errors/routes/struct.Errors.html +++ b/mcaptcha/pages/errors/routes/struct.Errors.html @@ -1,31 +1,32 @@ -Errors in mcaptcha::pages::errors::routes - Rust -
    pub struct Errors {
    -    pub internal_server_error: &'static str,
    -    pub unknown_error: &'static str,
    -}

    Fields

    internal_server_error: &'static strunknown_error: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub internal_server_error: &'static str, + pub unknown_error: &'static str, +}

    Fields

    internal_server_error: &'static strunknown_error: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/sidebar-items.js b/mcaptcha/pages/errors/sidebar-items.js index dde788b9..9af14c39 100644 --- a/mcaptcha/pages/errors/sidebar-items.js +++ b/mcaptcha/pages/errors/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["ERROR_ROUTE",""],["PAGE",""]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["ErrorPage",""],["INTERNAL_SERVER_ERROR_BODY",""],["UNKNOWN_ERROR_BODY",""],["error",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["ERROR_ROUTE",""],["PAGE",""]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["ErrorPage",""],["INTERNAL_SERVER_ERROR_BODY",""],["UNKNOWN_ERROR_BODY",""],["error",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.ErrorPage.html b/mcaptcha/pages/errors/struct.ErrorPage.html index 7741af47..2b802cb2 100644 --- a/mcaptcha/pages/errors/struct.ErrorPage.html +++ b/mcaptcha/pages/errors/struct.ErrorPage.html @@ -1,38 +1,39 @@ -ErrorPage in mcaptcha::pages::errors - Rust -
    struct ErrorPage<'a> {
    -    title: &'a str,
    -    message: &'a str,
    -}

    Fields

    title: &'a strmessage: &'a str

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + title: &'a str, + message: &'a str, +}

    Fields

    title: &'a strmessage: &'a str

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html b/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html index 62809c9e..ad0f8e47 100644 --- a/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.INTERNAL_SERVER_ERROR_BODY.html @@ -1,34 +1,35 @@ -INTERNAL_SERVER_ERROR_BODY in mcaptcha::pages::errors - Rust -
    struct INTERNAL_SERVER_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html b/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html index 58c558f6..60967bbf 100644 --- a/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html +++ b/mcaptcha/pages/errors/struct.UNKNOWN_ERROR_BODY.html @@ -1,34 +1,35 @@ -UNKNOWN_ERROR_BODY in mcaptcha::pages::errors - Rust -
    struct UNKNOWN_ERROR_BODY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/errors/struct.error.html b/mcaptcha/pages/errors/struct.error.html index f2c56977..265eb071 100644 --- a/mcaptcha/pages/errors/struct.error.html +++ b/mcaptcha/pages/errors/struct.error.html @@ -1,28 +1,29 @@ -error in mcaptcha::pages::errors - Rust -
    pub struct error;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/fn.get_middleware.html b/mcaptcha/pages/fn.get_middleware.html index 89c09c28..e18745f2 100644 --- a/mcaptcha/pages/fn.get_middleware.html +++ b/mcaptcha/pages/fn.get_middleware.html @@ -1,8 +1,9 @@ -get_middleware in mcaptcha::pages - Rust -
    pub fn get_middleware() -> Authentication<Routes>
    \ No newline at end of file diff --git a/mcaptcha/pages/fn.services.html b/mcaptcha/pages/fn.services.html index cdffc14d..49372d34 100644 --- a/mcaptcha/pages/fn.services.html +++ b/mcaptcha/pages/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/index.html b/mcaptcha/pages/index.html index f0f40f7c..30a95e58 100644 --- a/mcaptcha/pages/index.html +++ b/mcaptcha/pages/index.html @@ -1,11 +1,12 @@ -mcaptcha::pages - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/constant.PAGE.html b/mcaptcha/pages/panel/constant.PAGE.html index 3ac3cb93..009b1271 100644 --- a/mcaptcha/pages/panel/constant.PAGE.html +++ b/mcaptcha/pages/panel/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel - Rust -
    +

    Constant mcaptcha::pages::panel::PAGE

    source · []
    const PAGE: &str = "Dashboard";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/fn.services.html b/mcaptcha/pages/panel/fn.services.html index 41302bcc..b5163dec 100644 --- a/mcaptcha/pages/panel/fn.services.html +++ b/mcaptcha/pages/panel/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages::panel - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/index.html b/mcaptcha/pages/panel/index.html index a1118726..36103c8b 100644 --- a/mcaptcha/pages/panel/index.html +++ b/mcaptcha/pages/panel/index.html @@ -1,12 +1,13 @@ -mcaptcha::pages::panel - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/constant.PAGE.html b/mcaptcha/pages/panel/notifications/constant.PAGE.html index 8a8c1299..4ffefff6 100644 --- a/mcaptcha/pages/panel/notifications/constant.PAGE.html +++ b/mcaptcha/pages/panel/notifications/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::notifications - Rust -
    const PAGE: &str = "Notifications";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/index.html b/mcaptcha/pages/panel/notifications/index.html index d90ab3b9..9f332664 100644 --- a/mcaptcha/pages/panel/notifications/index.html +++ b/mcaptcha/pages/panel/notifications/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::panel::notifications - Rust -
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/sidebar-items.js b/mcaptcha/pages/panel/notifications/sidebar-items.js index 883a9954..7d877d92 100644 --- a/mcaptcha/pages/panel/notifications/sidebar-items.js +++ b/mcaptcha/pages/panel/notifications/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["IndexPage",""],["Notification",""],["notifications",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["IndexPage",""],["Notification",""],["notifications",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.IndexPage.html b/mcaptcha/pages/panel/notifications/struct.IndexPage.html index d0400902..be499889 100644 --- a/mcaptcha/pages/panel/notifications/struct.IndexPage.html +++ b/mcaptcha/pages/panel/notifications/struct.IndexPage.html @@ -1,33 +1,34 @@ -IndexPage in mcaptcha::pages::panel::notifications - Rust -
    pub struct IndexPage {
    -    n: Vec<Notification>,
    -}

    Fields

    n: Vec<Notification>

    notifications

    -

    Implementations

    Trait Implementations

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + n: Vec<Notification>, +}

    Fields

    n: Vec<Notification>

    notifications

    +

    Implementations

    Trait Implementations

    Render the template and return the rendering result as RenderResult Read more

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.Notification.html b/mcaptcha/pages/panel/notifications/struct.Notification.html index 4932a4eb..798f9f4f 100644 --- a/mcaptcha/pages/panel/notifications/struct.Notification.html +++ b/mcaptcha/pages/panel/notifications/struct.Notification.html @@ -1,35 +1,36 @@ -Notification in mcaptcha::pages::panel::notifications - Rust -
    pub struct Notification {
    -    pub name: String,
    -    pub heading: String,
    -    pub message: String,
    +    pub name: String,
    +    pub heading: String,
    +    pub message: String,
         pub received: OffsetDateTime,
    -    pub id: i32,
    -}

    Fields

    name: Stringheading: Stringmessage: Stringreceived: OffsetDateTimeid: i32

    Implementations

    Trait Implementations

    Converts to this type from the input type.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub id: i32, +}

    Fields

    name: Stringheading: Stringmessage: Stringreceived: OffsetDateTimeid: i32

    Implementations

    Trait Implementations

    Converts to this type from the input type.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/notifications/struct.notifications.html b/mcaptcha/pages/panel/notifications/struct.notifications.html index 833891a9..d679b028 100644 --- a/mcaptcha/pages/panel/notifications/struct.notifications.html +++ b/mcaptcha/pages/panel/notifications/struct.notifications.html @@ -1,28 +1,29 @@ -notifications in mcaptcha::pages::panel::notifications - Rust -
    pub struct notifications;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/routes/index.html b/mcaptcha/pages/panel/routes/index.html index 93fff728..8663eb14 100644 --- a/mcaptcha/pages/panel/routes/index.html +++ b/mcaptcha/pages/panel/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::panel::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/routes/sidebar-items.js b/mcaptcha/pages/panel/routes/sidebar-items.js index f34c566b..0c231265 100644 --- a/mcaptcha/pages/panel/routes/sidebar-items.js +++ b/mcaptcha/pages/panel/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Panel",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Panel",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/routes/struct.Panel.html b/mcaptcha/pages/panel/routes/struct.Panel.html index c3262fd0..8d160792 100644 --- a/mcaptcha/pages/panel/routes/struct.Panel.html +++ b/mcaptcha/pages/panel/routes/struct.Panel.html @@ -1,33 +1,34 @@ -Panel in mcaptcha::pages::panel::routes - Rust -
    pub struct Panel {
    -    pub home: &'static str,
    +    pub home: &'static str,
         pub sitekey: Sitekey,
    -    pub notifications: &'static str,
    +    pub notifications: &'static str,
         pub settings: Settings,
    -}

    Fields

    home: &'static strsitekey: Sitekeynotifications: &'static strsettings: Settings

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    home: &'static strsitekey: Sitekeynotifications: &'static strsettings: Settings

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/constant.PAGE.html b/mcaptcha/pages/panel/settings/constant.PAGE.html index 38323a48..59b1ca3f 100644 --- a/mcaptcha/pages/panel/settings/constant.PAGE.html +++ b/mcaptcha/pages/panel/settings/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::settings - Rust -
    const PAGE: &str = "Settings";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/fn.services.html b/mcaptcha/pages/panel/settings/fn.services.html index b4708f79..e7ebc1e0 100644 --- a/mcaptcha/pages/panel/settings/fn.services.html +++ b/mcaptcha/pages/panel/settings/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages::panel::settings - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/index.html b/mcaptcha/pages/panel/settings/index.html index 860d4186..520b7e1b 100644 --- a/mcaptcha/pages/panel/settings/index.html +++ b/mcaptcha/pages/panel/settings/index.html @@ -1,12 +1,13 @@ -mcaptcha::pages::panel::settings - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/routes/index.html b/mcaptcha/pages/panel/settings/routes/index.html index 35c7175f..a8522fcd 100644 --- a/mcaptcha/pages/panel/settings/routes/index.html +++ b/mcaptcha/pages/panel/settings/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::panel::settings::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/routes/sidebar-items.js b/mcaptcha/pages/panel/settings/routes/sidebar-items.js index c8bd4fbe..337f67eb 100644 --- a/mcaptcha/pages/panel/settings/routes/sidebar-items.js +++ b/mcaptcha/pages/panel/settings/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Settings",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Settings",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/routes/struct.Settings.html b/mcaptcha/pages/panel/settings/routes/struct.Settings.html index 276e4b90..6675276b 100644 --- a/mcaptcha/pages/panel/settings/routes/struct.Settings.html +++ b/mcaptcha/pages/panel/settings/routes/struct.Settings.html @@ -1,32 +1,33 @@ -Settings in mcaptcha::pages::panel::settings::routes - Rust -
    pub struct Settings {
    -    pub home: &'static str,
    -    pub delete_account: &'static str,
    -    pub update_secret: &'static str,
    -}

    Fields

    home: &'static strdelete_account: &'static strupdate_secret: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub home: &'static str, + pub delete_account: &'static str, + pub update_secret: &'static str, +}

    Fields

    home: &'static strdelete_account: &'static strupdate_secret: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/sidebar-items.js b/mcaptcha/pages/panel/settings/sidebar-items.js index 3a80df18..ff8311e0 100644 --- a/mcaptcha/pages/panel/settings/sidebar-items.js +++ b/mcaptcha/pages/panel/settings/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["IndexPage",""],["delete_account",""],["settings",""],["update_secret",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"fn":[["services",""]],"mod":[["routes",""]],"struct":[["IndexPage",""],["delete_account",""],["settings",""],["update_secret",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.IndexPage.html b/mcaptcha/pages/panel/settings/struct.IndexPage.html index 78e006da..769976c0 100644 --- a/mcaptcha/pages/panel/settings/struct.IndexPage.html +++ b/mcaptcha/pages/panel/settings/struct.IndexPage.html @@ -1,39 +1,40 @@ -IndexPage in mcaptcha::pages::panel::settings - Rust -
    pub struct IndexPage<'a> {
    -    email: Option<String>,
    -    secret: String,
    -    username: &'a str,
    -}

    Fields

    email: Option<String>secret: Stringusername: &'a str

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + email: Option<String>, + secret: String, + username: &'a str, +}

    Fields

    email: Option<String>secret: Stringusername: &'a str

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.delete_account.html b/mcaptcha/pages/panel/settings/struct.delete_account.html index 5e59a6f3..bb8aabf7 100644 --- a/mcaptcha/pages/panel/settings/struct.delete_account.html +++ b/mcaptcha/pages/panel/settings/struct.delete_account.html @@ -1,28 +1,29 @@ -delete_account in mcaptcha::pages::panel::settings - Rust -
    pub struct delete_account;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.settings.html b/mcaptcha/pages/panel/settings/struct.settings.html index e7d9b277..669fc901 100644 --- a/mcaptcha/pages/panel/settings/struct.settings.html +++ b/mcaptcha/pages/panel/settings/struct.settings.html @@ -1,28 +1,29 @@ -settings in mcaptcha::pages::panel::settings - Rust -
    pub struct settings;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/settings/struct.update_secret.html b/mcaptcha/pages/panel/settings/struct.update_secret.html index 9a28c7b6..0981457e 100644 --- a/mcaptcha/pages/panel/settings/struct.update_secret.html +++ b/mcaptcha/pages/panel/settings/struct.update_secret.html @@ -1,28 +1,29 @@ -update_secret in mcaptcha::pages::panel::settings - Rust -
    pub struct update_secret;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sidebar-items.js b/mcaptcha/pages/panel/sidebar-items.js index fd55062f..9382e322 100644 --- a/mcaptcha/pages/panel/sidebar-items.js +++ b/mcaptcha/pages/panel/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"fn":[["services",""]],"mod":[["notifications",""],["routes",""],["settings",""],["sitekey",""]],"struct":[["IndexPage",""],["panel",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"fn":[["services",""]],"mod":[["notifications",""],["routes",""],["settings",""],["sitekey",""]],"struct":[["IndexPage",""],["panel",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html index 581ec619..2d1df7ad 100644 --- a/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/add/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::sitekey::add - Rust -
    const PAGE: &str = "Add Sitekey";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/index.html b/mcaptcha/pages/panel/sitekey/add/index.html index 2e384020..4d9b018b 100644 --- a/mcaptcha/pages/panel/sitekey/add/index.html +++ b/mcaptcha/pages/panel/sitekey/add/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::panel::sitekey::add - Rust -
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/sidebar-items.js b/mcaptcha/pages/panel/sitekey/add/sidebar-items.js index 0cb9bf40..b95a9516 100644 --- a/mcaptcha/pages/panel/sitekey/add/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/add/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["ADVANCE_INDEX",""],["AdvanceIndexPage",""],["EASY_INDEX",""],["EasyIndexPage",""],["advance",""],["easy",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["ADVANCE_INDEX",""],["AdvanceIndexPage",""],["EASY_INDEX",""],["EasyIndexPage",""],["advance",""],["easy",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html b/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html index aa4eebcf..095c7335 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.ADVANCE_INDEX.html @@ -1,34 +1,35 @@ -ADVANCE_INDEX in mcaptcha::pages::panel::sitekey::add - Rust -
    struct ADVANCE_INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html b/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html index 1de35005..99d2680f 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.AdvanceIndexPage.html @@ -1,41 +1,42 @@ -AdvanceIndexPage in mcaptcha::pages::panel::sitekey::add - Rust -
    pub struct AdvanceIndexPage<'a> {
    -    pub levels: usize,
    -    pub form_title: &'a str,
    -    pub form_description: &'a str,
    -    pub form_duration: usize,
    -}

    Fields

    levels: usizeform_title: &'a strform_description: &'a strform_duration: usize

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + pub levels: usize, + pub form_title: &'a str, + pub form_description: &'a str, + pub form_duration: usize, +}

    Fields

    levels: usizeform_title: &'a strform_description: &'a strform_duration: usize

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html b/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html index ac12a6b2..d3acc64a 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EASY_INDEX.html @@ -1,34 +1,35 @@ -EASY_INDEX in mcaptcha::pages::panel::sitekey::add - Rust -
    struct EASY_INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html b/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html index 4ef3af1b..2791f803 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.EasyIndexPage.html @@ -1,42 +1,43 @@ -EasyIndexPage in mcaptcha::pages::panel::sitekey::add - Rust -
    pub struct EasyIndexPage<'a> {
    -    pub form_description: &'a str,
    -    pub form_title: &'a str,
    -    pub peak_sustainable_traffic: Option<usize>,
    -    pub avg_traffic: Option<usize>,
    -    pub broke_my_site_traffic: Option<usize>,
    -}

    Fields

    form_description: &'a strform_title: &'a strpeak_sustainable_traffic: Option<usize>avg_traffic: Option<usize>broke_my_site_traffic: Option<usize>

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + pub form_description: &'a str, + pub form_title: &'a str, + pub peak_sustainable_traffic: Option<usize>, + pub avg_traffic: Option<usize>, + pub broke_my_site_traffic: Option<usize>, +}

    Fields

    form_description: &'a strform_title: &'a strpeak_sustainable_traffic: Option<usize>avg_traffic: Option<usize>broke_my_site_traffic: Option<usize>

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.advance.html b/mcaptcha/pages/panel/sitekey/add/struct.advance.html index efdbf30f..66d17190 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.advance.html @@ -1,28 +1,29 @@ -advance in mcaptcha::pages::panel::sitekey::add - Rust -
    pub struct advance;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/add/struct.easy.html b/mcaptcha/pages/panel/sitekey/add/struct.easy.html index 3c304c2a..b498e9a2 100644 --- a/mcaptcha/pages/panel/sitekey/add/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/add/struct.easy.html @@ -1,28 +1,29 @@ -easy in mcaptcha::pages::panel::sitekey::add - Rust -
    pub struct easy;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/delete/index.html b/mcaptcha/pages/panel/sitekey/delete/index.html index 0afeeb33..6aac2a14 100644 --- a/mcaptcha/pages/panel/sitekey/delete/index.html +++ b/mcaptcha/pages/panel/sitekey/delete/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::panel::sitekey::delete - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/delete/sidebar-items.js b/mcaptcha/pages/panel/sitekey/delete/sidebar-items.js index 37d2962e..0e42780f 100644 --- a/mcaptcha/pages/panel/sitekey/delete/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/delete/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["delete_sitekey",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["delete_sitekey",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html b/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html index 877db1f5..4b71dd42 100644 --- a/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/delete/struct.delete_sitekey.html @@ -1,28 +1,29 @@ -delete_sitekey in mcaptcha::pages::panel::sitekey::delete - Rust -
    pub struct delete_sitekey;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html index 01af73fc..229c73b5 100644 --- a/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/edit/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::sitekey::edit - Rust -
    const PAGE: &str = "Edit Sitekey";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/index.html b/mcaptcha/pages/panel/sitekey/edit/index.html index 9b7512a7..b612a9d4 100644 --- a/mcaptcha/pages/panel/sitekey/edit/index.html +++ b/mcaptcha/pages/panel/sitekey/edit/index.html @@ -1,12 +1,13 @@ -mcaptcha::pages::panel::sitekey::edit - Rust -

    Structs

    route handler that renders individual views for sitekeys

    route handler that renders individual views for sitekeys

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/sidebar-items.js b/mcaptcha/pages/panel/sitekey/edit/sidebar-items.js index ff283f2c..69758b64 100644 --- a/mcaptcha/pages/panel/sitekey/edit/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/edit/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["AdvanceEditPage",""],["EasyEditPage",""],["advance","route handler that renders individual views for sitekeys"],["easy","route handler that renders individual views for sitekeys"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["AdvanceEditPage",""],["EasyEditPage",""],["advance","route handler that renders individual views for sitekeys"],["easy","route handler that renders individual views for sitekeys"]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html b/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html index da9d5c65..5eff1037 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.AdvanceEditPage.html @@ -1,40 +1,41 @@ -AdvanceEditPage in mcaptcha::pages::panel::sitekey::edit - Rust -
    struct AdvanceEditPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    -}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + duration: u32, + name: String, + key: String, + levels: Vec<Level>, +}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html b/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html index 77fba3c5..94a618aa 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.EasyEditPage.html @@ -1,39 +1,40 @@ -EasyEditPage in mcaptcha::pages::panel::sitekey::edit - Rust -
    pub struct EasyEditPage<'a> {
    -    pub form_title: &'a str,
    +    pub form_title: &'a str,
         pub pattern: TrafficPatternRequest,
    -    pub key: String,
    -}

    Fields

    form_title: &'a strpattern: TrafficPatternRequestkey: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + pub key: String, +}

    Fields

    form_title: &'a strpattern: TrafficPatternRequestkey: String

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.advance.html b/mcaptcha/pages/panel/sitekey/edit/struct.advance.html index 5d4e0b3e..354199a8 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.advance.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.advance.html @@ -1,29 +1,30 @@ -advance in mcaptcha::pages::panel::sitekey::edit - Rust -
    pub struct advance;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/edit/struct.easy.html b/mcaptcha/pages/panel/sitekey/edit/struct.easy.html index 2eb241c5..f41dfe90 100644 --- a/mcaptcha/pages/panel/sitekey/edit/struct.easy.html +++ b/mcaptcha/pages/panel/sitekey/edit/struct.easy.html @@ -1,29 +1,30 @@ -easy in mcaptcha::pages::panel::sitekey::edit - Rust -
    pub struct easy;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/fn.services.html b/mcaptcha/pages/panel/sitekey/fn.services.html index 27cb0308..32e44e30 100644 --- a/mcaptcha/pages/panel/sitekey/fn.services.html +++ b/mcaptcha/pages/panel/sitekey/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::pages::panel::sitekey - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/index.html b/mcaptcha/pages/panel/sitekey/index.html index 8e18decc..742b0c33 100644 --- a/mcaptcha/pages/panel/sitekey/index.html +++ b/mcaptcha/pages/panel/sitekey/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::panel::sitekey - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html index 5b554f55..ea0dc13d 100644 --- a/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/list/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::sitekey::list - Rust -
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/index.html b/mcaptcha/pages/panel/sitekey/list/index.html index 8788b248..31d1f4aa 100644 --- a/mcaptcha/pages/panel/sitekey/list/index.html +++ b/mcaptcha/pages/panel/sitekey/list/index.html @@ -1,11 +1,12 @@ -mcaptcha::pages::panel::sitekey::list - Rust -

    Structs

    render a list of all sitekeys that a user has

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/sidebar-items.js b/mcaptcha/pages/panel/sitekey/list/sidebar-items.js index f31f6674..808981e6 100644 --- a/mcaptcha/pages/panel/sitekey/list/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/list/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["IndexPage",""],["list_sitekeys","render a list of all sitekeys that a user has"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["IndexPage",""],["list_sitekeys","render a list of all sitekeys that a user has"]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html b/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html index 13229b62..6d93eaf0 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.IndexPage.html @@ -1,37 +1,38 @@ -IndexPage in mcaptcha::pages::panel::sitekey::list - Rust -
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + sitekeys: Vec<Captcha>, +}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html b/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html index 21ea70ba..275f0cd3 100644 --- a/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html +++ b/mcaptcha/pages/panel/sitekey/list/struct.list_sitekeys.html @@ -1,29 +1,30 @@ -list_sitekeys in mcaptcha::pages::panel::sitekey::list - Rust -
    pub struct list_sitekeys;
    Expand description

    render a list of all sitekeys that a user has

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/index.html b/mcaptcha/pages/panel/sitekey/routes/index.html index 8184e176..12298d13 100644 --- a/mcaptcha/pages/panel/sitekey/routes/index.html +++ b/mcaptcha/pages/panel/sitekey/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::panel::sitekey::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/sidebar-items.js b/mcaptcha/pages/panel/sitekey/routes/sidebar-items.js index 142bc422..e36f8902 100644 --- a/mcaptcha/pages/panel/sitekey/routes/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Sitekey",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Sitekey",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html b/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html index 5f18c158..f2c7f8db 100644 --- a/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html +++ b/mcaptcha/pages/panel/sitekey/routes/struct.Sitekey.html @@ -1,36 +1,37 @@ -Sitekey in mcaptcha::pages::panel::sitekey::routes - Rust -
    pub struct Sitekey {
    -    pub list: &'static str,
    -    pub add_easy: &'static str,
    -    pub add_advance: &'static str,
    -    pub view: &'static str,
    -    pub edit_easy: &'static str,
    -    pub edit_advance: &'static str,
    -    pub delete: &'static str,
    -}

    Fields

    list: &'static stradd_easy: &'static stradd_advance: &'static strview: &'static stredit_easy: &'static stredit_advance: &'static strdelete: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub list: &'static str, + pub add_easy: &'static str, + pub add_advance: &'static str, + pub view: &'static str, + pub edit_easy: &'static str, + pub edit_advance: &'static str, + pub delete: &'static str, +}

    Fields

    list: &'static stradd_easy: &'static stradd_advance: &'static strview: &'static stredit_easy: &'static stredit_advance: &'static strdelete: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/sidebar-items.js b/mcaptcha/pages/panel/sitekey/sidebar-items.js index cbe59b88..2a9cad02 100644 --- a/mcaptcha/pages/panel/sitekey/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["add",""],["delete",""],["edit",""],["list",""],["routes",""],["view",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["add",""],["delete",""],["edit",""],["list",""],["routes",""],["view",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html b/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html index 1373f39f..1ff337f6 100644 --- a/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html +++ b/mcaptcha/pages/panel/sitekey/view/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::pages::panel::sitekey::view - Rust -
    const PAGE: &str = "SiteKeys";
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/index.html b/mcaptcha/pages/panel/sitekey/view/index.html index 9dc2b9b5..69baa8d5 100644 --- a/mcaptcha/pages/panel/sitekey/view/index.html +++ b/mcaptcha/pages/panel/sitekey/view/index.html @@ -1,11 +1,12 @@ -mcaptcha::pages::panel::sitekey::view - Rust -

    Structs

    IndexPage 🔒

    route handler that renders individual views for sitekeys

    Constants

    -
    PAGE 🔒
    +
    PAGE 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/sidebar-items.js b/mcaptcha/pages/panel/sitekey/view/sidebar-items.js index 14a5ee36..b3e70078 100644 --- a/mcaptcha/pages/panel/sitekey/view/sidebar-items.js +++ b/mcaptcha/pages/panel/sitekey/view/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""]],"struct":[["IndexPage",""],["view_sitekey","route handler that renders individual views for sitekeys"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""]],"struct":[["IndexPage",""],["view_sitekey","route handler that renders individual views for sitekeys"]]}; \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html b/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html index 08dd211a..6c122eba 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.IndexPage.html @@ -1,41 +1,42 @@ -IndexPage in mcaptcha::pages::panel::sitekey::view - Rust -
    struct IndexPage {
    -    duration: u32,
    -    name: String,
    -    key: String,
    -    levels: Vec<Level>,
    +    duration: u32,
    +    name: String,
    +    key: String,
    +    levels: Vec<Level>,
         stats: CaptchaStats,
    -}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>stats: CaptchaStats

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    +}

    Fields

    duration: u32name: Stringkey: Stringlevels: Vec<Level>stats: CaptchaStats

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html b/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html index 486f18c2..70aa68a2 100644 --- a/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html +++ b/mcaptcha/pages/panel/sitekey/view/struct.view_sitekey.html @@ -1,29 +1,30 @@ -view_sitekey in mcaptcha::pages::panel::sitekey::view - Rust -
    pub struct view_sitekey;
    Expand description

    route handler that renders individual views for sitekeys

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/struct.IndexPage.html b/mcaptcha/pages/panel/struct.IndexPage.html index 3449440e..d8f7216f 100644 --- a/mcaptcha/pages/panel/struct.IndexPage.html +++ b/mcaptcha/pages/panel/struct.IndexPage.html @@ -1,37 +1,38 @@ -IndexPage in mcaptcha::pages::panel - Rust -
    pub struct IndexPage {
    -    sitekeys: Vec<Captcha>,
    -}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    + sitekeys: Vec<Captcha>, +}

    Fields

    sitekeys: Vec<Captcha>

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/panel/struct.panel.html b/mcaptcha/pages/panel/struct.panel.html index 6a890ea8..1fb72059 100644 --- a/mcaptcha/pages/panel/struct.panel.html +++ b/mcaptcha/pages/panel/struct.panel.html @@ -1,28 +1,29 @@ -panel in mcaptcha::pages::panel - Rust -
    pub struct panel;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/constant.ROUTES.html b/mcaptcha/pages/routes/constant.ROUTES.html index 5a37826c..22938dd6 100644 --- a/mcaptcha/pages/routes/constant.ROUTES.html +++ b/mcaptcha/pages/routes/constant.ROUTES.html @@ -1,8 +1,9 @@ -ROUTES in mcaptcha::pages::routes - Rust -
    pub const ROUTES: Routes;
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/index.html b/mcaptcha/pages/routes/index.html index 445058cd..c2c80926 100644 --- a/mcaptcha/pages/routes/index.html +++ b/mcaptcha/pages/routes/index.html @@ -1,10 +1,11 @@ -mcaptcha::pages::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/routes/sidebar-items.js b/mcaptcha/pages/routes/sidebar-items.js index 12b4f18a..e8b484a1 100644 --- a/mcaptcha/pages/routes/sidebar-items.js +++ b/mcaptcha/pages/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["ROUTES",""]],"struct":[["Routes",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["ROUTES",""]],"struct":[["Routes",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/routes/struct.Routes.html b/mcaptcha/pages/routes/struct.Routes.html index 248bd2da..56076b94 100644 --- a/mcaptcha/pages/routes/struct.Routes.html +++ b/mcaptcha/pages/routes/struct.Routes.html @@ -1,39 +1,40 @@ -Routes in mcaptcha::pages::routes - Rust -
    pub struct Routes {
    -    pub home: &'static str,
    +    pub home: &'static str,
         pub auth: Auth,
         pub panel: Panel,
         pub errors: Errors,
    -    pub about: &'static str,
    -    pub sitemap: &'static str,
    -    pub thanks: &'static str,
    -    pub donate: &'static str,
    -    pub security: &'static str,
    -    pub privacy: &'static str,
    -}

    Fields

    home: &'static strauth: Authpanel: Panelerrors: Errorsabout: &'static strsitemap: &'static strthanks: &'static strdonate: &'static strsecurity: &'static strprivacy: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub about: &'static str, + pub sitemap: &'static str, + pub thanks: &'static str, + pub donate: &'static str, + pub security: &'static str, + pub privacy: &'static str, +}

    Fields

    home: &'static strauth: Authpanel: Panelerrors: Errorsabout: &'static strsitemap: &'static strthanks: &'static strdonate: &'static strsecurity: &'static strprivacy: &'static str

    Implementations

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sidebar-items.js b/mcaptcha/pages/sidebar-items.js index b9628bb1..1b7e028a 100644 --- a/mcaptcha/pages/sidebar-items.js +++ b/mcaptcha/pages/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["NAME",""]],"fn":[["get_middleware",""],["services",""]],"mod":[["auth",""],["errors",""],["panel",""],["routes",""],["sitemap",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["NAME",""]],"fn":[["get_middleware",""],["services",""]],"mod":[["auth",""],["errors",""],["panel",""],["routes",""],["sitemap",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/index.html b/mcaptcha/pages/sitemap/index.html index df049423..47223d6c 100644 --- a/mcaptcha/pages/sitemap/index.html +++ b/mcaptcha/pages/sitemap/index.html @@ -1,9 +1,10 @@ -mcaptcha::pages::sitemap - Rust -
    +
    INDEX 🔒
    IndexPage 🔒
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/sidebar-items.js b/mcaptcha/pages/sitemap/sidebar-items.js index e232ec22..6c257780 100644 --- a/mcaptcha/pages/sitemap/sidebar-items.js +++ b/mcaptcha/pages/sitemap/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["INDEX",""],["IndexPage",""],["sitemap",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["INDEX",""],["IndexPage",""],["sitemap",""]]}; \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.INDEX.html b/mcaptcha/pages/sitemap/struct.INDEX.html index 7e045e3a..fb93a7da 100644 --- a/mcaptcha/pages/sitemap/struct.INDEX.html +++ b/mcaptcha/pages/sitemap/struct.INDEX.html @@ -1,34 +1,35 @@ -INDEX in mcaptcha::pages::sitemap - Rust -
    struct INDEX {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.IndexPage.html b/mcaptcha/pages/sitemap/struct.IndexPage.html index ce842816..e310e4ae 100644 --- a/mcaptcha/pages/sitemap/struct.IndexPage.html +++ b/mcaptcha/pages/sitemap/struct.IndexPage.html @@ -1,39 +1,40 @@ -IndexPage in mcaptcha::pages::sitemap - Rust -
    struct IndexPage {
    -    urls: [&'static str; 7],
    -    domain: &'static str,
    -}

    Fields

    urls: [&'static str; 7]domain: &'static str

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Returns the “default value” for a type. Read more

    + urls: [&'static str; 7], + domain: &'static str, +}

    Fields

    urls: [&'static str; 7]domain: &'static str

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Returns the “default value” for a type. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/pages/sitemap/struct.sitemap.html b/mcaptcha/pages/sitemap/struct.sitemap.html index 2a52efb5..7f19a6cc 100644 --- a/mcaptcha/pages/sitemap/struct.sitemap.html +++ b/mcaptcha/pages/sitemap/struct.sitemap.html @@ -1,28 +1,29 @@ -sitemap in mcaptcha::pages::sitemap - Rust -
    pub struct sitemap;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/routes/fn.services.html b/mcaptcha/routes/fn.services.html index 71f08ec8..00fbb7e8 100644 --- a/mcaptcha/routes/fn.services.html +++ b/mcaptcha/routes/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::routes - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/routes/index.html b/mcaptcha/routes/index.html index 667487ec..d62eb2ee 100644 --- a/mcaptcha/routes/index.html +++ b/mcaptcha/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/routes/sidebar-items.js b/mcaptcha/routes/sidebar-items.js index dddadfb4..c11bb208 100644 --- a/mcaptcha/routes/sidebar-items.js +++ b/mcaptcha/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]]}; \ No newline at end of file diff --git a/mcaptcha/settings/enum.DBType.html b/mcaptcha/settings/enum.DBType.html index 6309c272..6b3c010f 100644 --- a/mcaptcha/settings/enum.DBType.html +++ b/mcaptcha/settings/enum.DBType.html @@ -1,44 +1,45 @@ -DBType in mcaptcha::settings - Rust -
    pub enum DBType {
         Postgres,
         Maria,
    -}

    Variants

    Postgres

    Maria

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Formats the value using the given formatter. Read more

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    Serialize this value into the given Serde serializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Variants

    Postgres

    Maria

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Formats the value using the given formatter. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    Serialize this value into the given Serde serializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    Converts the given value to a String. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    Converts the given value to a String. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/fn.check_url.html b/mcaptcha/settings/fn.check_url.html index e3b2d602..8c402f14 100644 --- a/mcaptcha/settings/fn.check_url.html +++ b/mcaptcha/settings/fn.check_url.html @@ -1,8 +1,9 @@ -check_url in mcaptcha::settings - Rust -
    fn check_url(s: &Config)
    \ No newline at end of file diff --git a/mcaptcha/settings/fn.set_database_url.html b/mcaptcha/settings/fn.set_database_url.html index f294c350..beed0575 100644 --- a/mcaptcha/settings/fn.set_database_url.html +++ b/mcaptcha/settings/fn.set_database_url.html @@ -1,8 +1,9 @@ -set_database_url in mcaptcha::settings - Rust -
    fn set_database_url(s: &mut Config)
    \ No newline at end of file diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index bb4fd0b1..ee2e0046 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -1,11 +1,12 @@ -mcaptcha::settings - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/sidebar-items.js b/mcaptcha/settings/sidebar-items.js index 4a80c3de..27fe452c 100644 --- a/mcaptcha/settings/sidebar-items.js +++ b/mcaptcha/settings/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["DBType",""]],"fn":[["check_url",""],["set_database_url",""]],"struct":[["Captcha",""],["Database",""],["DefaultDifficultyStrategy",""],["Redis",""],["Server",""],["Settings",""],["Smtp",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":[["DBType",""]],"fn":[["check_url",""],["set_database_url",""]],"struct":[["Captcha",""],["Database",""],["DefaultDifficultyStrategy",""],["Redis",""],["Server",""],["Settings",""],["Smtp",""]]}; \ No newline at end of file diff --git a/mcaptcha/settings/struct.Captcha.html b/mcaptcha/settings/struct.Captcha.html index ab4d57be..78528f57 100644 --- a/mcaptcha/settings/struct.Captcha.html +++ b/mcaptcha/settings/struct.Captcha.html @@ -1,42 +1,43 @@ -Captcha in mcaptcha::settings - Rust -
    pub struct Captcha {
    -    pub salt: String,
    -    pub gc: u64,
    -    pub runners: Option<usize>,
    -    pub queue_length: usize,
    -    pub enable_stats: bool,
    +    pub salt: String,
    +    pub gc: u64,
    +    pub runners: Option<usize>,
    +    pub queue_length: usize,
    +    pub enable_stats: bool,
         pub default_difficulty_strategy: DefaultDifficultyStrategy,
    -}

    Fields

    salt: Stringgc: u64runners: Option<usize>queue_length: usizeenable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    salt: Stringgc: u64runners: Option<usize>queue_length: usizeenable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Database.html b/mcaptcha/settings/struct.Database.html index afeaac27..09b5b879 100644 --- a/mcaptcha/settings/struct.Database.html +++ b/mcaptcha/settings/struct.Database.html @@ -1,39 +1,40 @@ -Database in mcaptcha::settings - Rust -
    pub struct Database {
    -    pub url: String,
    -    pub pool: u32,
    +    pub url: String,
    +    pub pool: u32,
         pub database_type: DBType,
    -}

    Fields

    url: Stringpool: u32database_type: DBType

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    url: Stringpool: u32database_type: DBType

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html index 94b9c8b9..d1aaf641 100644 --- a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html +++ b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html @@ -1,40 +1,41 @@ -DefaultDifficultyStrategy in mcaptcha::settings - Rust -
    pub struct DefaultDifficultyStrategy {
    -    pub avg_traffic_difficulty: u32,
    -    pub broke_my_site_traffic_difficulty: u32,
    -    pub peak_sustainable_traffic_difficulty: u32,
    -    pub duration: u32,
    -}

    Fields

    avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub avg_traffic_difficulty: u32, + pub broke_my_site_traffic_difficulty: u32, + pub peak_sustainable_traffic_difficulty: u32, + pub duration: u32, +}

    Fields

    avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Redis.html b/mcaptcha/settings/struct.Redis.html index 58efd1ad..00594365 100644 --- a/mcaptcha/settings/struct.Redis.html +++ b/mcaptcha/settings/struct.Redis.html @@ -1,38 +1,39 @@ -Redis in mcaptcha::settings - Rust -
    pub struct Redis {
    -    pub url: String,
    -    pub pool: u32,
    -}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub url: String, + pub pool: u32, +}

    Fields

    url: Stringpool: u32

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Server.html b/mcaptcha/settings/struct.Server.html index d9b1787a..29df1680 100644 --- a/mcaptcha/settings/struct.Server.html +++ b/mcaptcha/settings/struct.Server.html @@ -1,42 +1,43 @@ -Server in mcaptcha::settings - Rust -
    pub struct Server {
    -    pub port: u32,
    -    pub domain: String,
    -    pub cookie_secret: String,
    -    pub ip: String,
    -    pub url_prefix: Option<String>,
    -    pub proxy_has_tls: bool,
    -}

    Fields

    port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub port: u32, + pub domain: String, + pub cookie_secret: String, + pub ip: String, + pub url_prefix: Option<String>, + pub proxy_has_tls: bool, +}

    Fields

    port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index d34d7c1d..2d597a4f 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -1,46 +1,47 @@ -Settings in mcaptcha::settings - Rust -
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    +    pub debug: bool,
    +    pub commercial: bool,
         pub database: Database,
    -    pub redis: Option<Redis>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub source_code: String,
    -    pub smtp: Option<Smtp>,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    -}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub source_code: String, + pub smtp: Option<Smtp>, + pub allow_registration: bool, + pub allow_demo: bool, +}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/settings/struct.Smtp.html b/mcaptcha/settings/struct.Smtp.html index 3c093392..c3f34bba 100644 --- a/mcaptcha/settings/struct.Smtp.html +++ b/mcaptcha/settings/struct.Smtp.html @@ -1,42 +1,43 @@ -Smtp in mcaptcha::settings - Rust -
    pub struct Smtp {
    -    pub from: String,
    -    pub reply: String,
    -    pub url: String,
    -    pub username: String,
    -    pub password: String,
    -    pub port: u16,
    -}

    Fields

    from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub from: String, + pub reply: String, + pub url: String, + pub username: String, + pub password: String, + pub port: u16, +}

    Fields

    from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/sidebar-items.js b/mcaptcha/sidebar-items.js index 7c955815..f763886c 100644 --- a/mcaptcha/sidebar-items.js +++ b/mcaptcha/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["CACHE_AGE",""],["COMPILED_DATE",""],["DOCS",""],["GIT_COMMIT_HASH",""],["PAGES",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""],["WIDGET_ROUTES",""]],"fn":[["get_identity_service",""],["get_json_err",""],["main",""]],"mod":[["api",""],["data","App data: redis cache, database connections, etc."],["date",""],["db",""],["demo",""],["docs",""],["email",""],["errors",""],["pages",""],["routes",""],["settings",""],["static_assets",""],["stats",""],["widget","User facing CAPTCHA widget"]],"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["CSS",""],["DOCS_ICON",""],["Data","App data"],["FILES",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["JS",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["MOBILE_CSS",""],["SETTINGS",""],["SETTINGS_ICON",""],["SOURCE_FILES_OF_INSTANCE","points to source files matching build commit"],["Settings",""],["VERIFICATIN_WIDGET_CSS",""],["VERIFICATIN_WIDGET_JS",""]],"type":[["AppData",""],["ArcData",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["CACHE_AGE",""],["COMPILED_DATE",""],["DOCS",""],["GIT_COMMIT_HASH",""],["PAGES",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""],["WIDGET_ROUTES",""]],"fn":[["get_identity_service",""],["get_json_err",""],["main",""]],"mod":[["api",""],["data","App data: redis cache, database connections, etc."],["date",""],["db",""],["demo",""],["docs",""],["email",""],["errors",""],["pages",""],["routes",""],["settings",""],["static_assets",""],["stats",""],["widget","User facing CAPTCHA widget"]],"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["CSS",""],["DOCS_ICON",""],["Data","App data"],["FILES",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["JS",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["MOBILE_CSS",""],["SETTINGS",""],["SETTINGS_ICON",""],["SOURCE_FILES_OF_INSTANCE","points to source files matching build commit"],["Settings",""],["VERIFICATIN_WIDGET_CSS",""],["VERIFICATIN_WIDGET_JS",""]],"type":[["AppData",""],["ArcData",""]]}; \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/index.html b/mcaptcha/static_assets/filemap/index.html index d9326e6e..303dd451 100644 --- a/mcaptcha/static_assets/filemap/index.html +++ b/mcaptcha/static_assets/filemap/index.html @@ -1,9 +1,10 @@ -mcaptcha::static_assets::filemap - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/sidebar-items.js b/mcaptcha/static_assets/filemap/sidebar-items.js index 03ff705e..61fe2e49 100644 --- a/mcaptcha/static_assets/filemap/sidebar-items.js +++ b/mcaptcha/static_assets/filemap/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["FileMap",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["FileMap",""]]}; \ No newline at end of file diff --git a/mcaptcha/static_assets/filemap/struct.FileMap.html b/mcaptcha/static_assets/filemap/struct.FileMap.html index 3e3ab77d..54738333 100644 --- a/mcaptcha/static_assets/filemap/struct.FileMap.html +++ b/mcaptcha/static_assets/filemap/struct.FileMap.html @@ -1,30 +1,31 @@ -FileMap in mcaptcha::static_assets::filemap - Rust -
    pub struct FileMap {
         pub files: Files,
    -}

    Fields

    files: Files

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +}

    Fields

    files: Files

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/fn.services.html b/mcaptcha/static_assets/fn.services.html index 446de59f..f8ef309b 100644 --- a/mcaptcha/static_assets/fn.services.html +++ b/mcaptcha/static_assets/fn.services.html @@ -1,8 +1,9 @@ -services in mcaptcha::static_assets - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    \ No newline at end of file diff --git a/mcaptcha/static_assets/index.html b/mcaptcha/static_assets/index.html index 4dea04f2..6a41be3c 100644 --- a/mcaptcha/static_assets/index.html +++ b/mcaptcha/static_assets/index.html @@ -1,11 +1,12 @@ -mcaptcha::static_assets - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/sidebar-items.js b/mcaptcha/static_assets/sidebar-items.js index eaf72582..15f3ef2b 100644 --- a/mcaptcha/static_assets/sidebar-items.js +++ b/mcaptcha/static_assets/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["services",""]],"mod":[["filemap",""],["static_files",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["services",""]],"mod":[["filemap",""],["static_files",""]]}; \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/index.html b/mcaptcha/static_assets/static_files/assets/index.html index 4b0eab43..d08d892f 100644 --- a/mcaptcha/static_assets/static_files/assets/index.html +++ b/mcaptcha/static_assets/static_files/assets/index.html @@ -1,10 +1,11 @@ -mcaptcha::static_assets::static_files::assets - Rust -
    +
    Img 🔒
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/sidebar-items.js b/mcaptcha/static_assets/static_files/assets/sidebar-items.js index 41896e8b..b9bd8bda 100644 --- a/mcaptcha/static_assets/static_files/assets/sidebar-items.js +++ b/mcaptcha/static_assets/static_files/assets/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["DOCS_ICON",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["SETTINGS_ICON",""]],"type":[["Img",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["DOCS_ICON",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["SETTINGS_ICON",""]],"type":[["Img",""]]}; \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html b/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html index bc4923bd..228dfceb 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html +++ b/mcaptcha/static_assets/static_files/assets/struct.BAR_CHART.html @@ -1,32 +1,33 @@ -BAR_CHART in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html b/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html index 40ec660c..a4bbbc52 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html +++ b/mcaptcha/static_assets/static_files/assets/struct.CREDIT_CARD.html @@ -1,32 +1,33 @@ -CREDIT_CARD in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html index c93c0f27..408aa604 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.DOCS_ICON.html @@ -1,32 +1,33 @@ -DOCS_ICON in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html b/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html index b5e966c2..3bde8e30 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html +++ b/mcaptcha/static_assets/static_files/assets/struct.GITHUB.html @@ -1,32 +1,33 @@ -GITHUB in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html b/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html index 6a847bae..125e7b62 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HELP_CIRCLE.html @@ -1,32 +1,33 @@ -HELP_CIRCLE in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.HOME.html b/mcaptcha/static_assets/static_files/assets/struct.HOME.html index 7695bfd1..20bb013b 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.HOME.html +++ b/mcaptcha/static_assets/static_files/assets/struct.HOME.html @@ -1,32 +1,33 @@ -HOME in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.KEY.html b/mcaptcha/static_assets/static_files/assets/struct.KEY.html index 8a6ea795..8a717577 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.KEY.html +++ b/mcaptcha/static_assets/static_files/assets/struct.KEY.html @@ -1,32 +1,33 @@ -KEY in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html index d902f246..6c57dc70 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.MCAPTCHA_TRANS_ICON.html @@ -1,32 +1,33 @@ -MCAPTCHA_TRANS_ICON in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html b/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html index 07f991ad..4c3ba809 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html +++ b/mcaptcha/static_assets/static_files/assets/struct.MESSAGE.html @@ -1,32 +1,33 @@ -MESSAGE in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html b/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html index 9ee7c55e..4bfa8065 100644 --- a/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html +++ b/mcaptcha/static_assets/static_files/assets/struct.SETTINGS_ICON.html @@ -1,32 +1,33 @@ -SETTINGS_ICON in mcaptcha::static_assets::static_files::assets - Rust -
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/assets/type.Img.html b/mcaptcha/static_assets/static_files/assets/type.Img.html index af7e6002..b2e050d0 100644 --- a/mcaptcha/static_assets/static_files/assets/type.Img.html +++ b/mcaptcha/static_assets/static_files/assets/type.Img.html @@ -1,8 +1,9 @@ -Img in mcaptcha::static_assets::static_files::assets - Rust -
    type Img = (&'static str, &'static str);
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/fn.handle_assets.html b/mcaptcha/static_assets/static_files/fn.handle_assets.html index f71ce4d0..cb121606 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_assets.html +++ b/mcaptcha/static_assets/static_files/fn.handle_assets.html @@ -1,8 +1,9 @@ -handle_assets in mcaptcha::static_assets::static_files - Rust -
    fn handle_assets(path: &str) -> HttpResponse
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/fn.handle_favicons.html b/mcaptcha/static_assets/static_files/fn.handle_favicons.html index 6e72a0b6..5fd0ee72 100644 --- a/mcaptcha/static_assets/static_files/fn.handle_favicons.html +++ b/mcaptcha/static_assets/static_files/fn.handle_favicons.html @@ -1,8 +1,9 @@ -handle_favicons in mcaptcha::static_assets::static_files - Rust -
    fn handle_favicons(path: &str) -> HttpResponse
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/index.html b/mcaptcha/static_assets/static_files/index.html index 0b5a4eba..83597171 100644 --- a/mcaptcha/static_assets/static_files/index.html +++ b/mcaptcha/static_assets/static_files/index.html @@ -1,11 +1,12 @@ -mcaptcha::static_assets::static_files - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/sidebar-items.js b/mcaptcha/static_assets/static_files/sidebar-items.js index 009ac35c..cc7c0522 100644 --- a/mcaptcha/static_assets/static_files/sidebar-items.js +++ b/mcaptcha/static_assets/static_files/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["handle_assets",""],["handle_favicons",""]],"mod":[["assets",""]],"struct":[["Asset",""],["Favicons",""],["favicons",""],["static_files",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["handle_assets",""],["handle_favicons",""]],"mod":[["assets",""]],"struct":[["Asset",""],["Favicons",""],["favicons",""],["static_files",""]]}; \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.Asset.html b/mcaptcha/static_assets/static_files/struct.Asset.html index 2e648484..4e684e8a 100644 --- a/mcaptcha/static_assets/static_files/struct.Asset.html +++ b/mcaptcha/static_assets/static_files/struct.Asset.html @@ -1,32 +1,33 @@ -Asset in mcaptcha::static_assets::static_files - Rust -
    struct Asset;

    Implementations

    Get an embedded file and its metadata.

    +

    Iterates over the file paths in the folder.

    +

    Trait Implementations

    Get an embedded file and its metadata. Read more

    Iterates over the file paths in the folder. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.Favicons.html b/mcaptcha/static_assets/static_files/struct.Favicons.html index 687a0ab6..e23001e7 100644 --- a/mcaptcha/static_assets/static_files/struct.Favicons.html +++ b/mcaptcha/static_assets/static_files/struct.Favicons.html @@ -1,32 +1,33 @@ -Favicons in mcaptcha::static_assets::static_files - Rust -
    struct Favicons;

    Implementations

    Get an embedded file and its metadata.

    +

    Iterates over the file paths in the folder.

    +

    Trait Implementations

    Get an embedded file and its metadata. Read more

    Iterates over the file paths in the folder. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.favicons.html b/mcaptcha/static_assets/static_files/struct.favicons.html index e4ee8d9f..8dc37191 100644 --- a/mcaptcha/static_assets/static_files/struct.favicons.html +++ b/mcaptcha/static_assets/static_files/struct.favicons.html @@ -1,28 +1,29 @@ -favicons in mcaptcha::static_assets::static_files - Rust -
    pub struct favicons;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/static_assets/static_files/struct.static_files.html b/mcaptcha/static_assets/static_files/struct.static_files.html index 60ae3f5f..152dd0c2 100644 --- a/mcaptcha/static_assets/static_files/struct.static_files.html +++ b/mcaptcha/static_assets/static_files/struct.static_files.html @@ -1,28 +1,29 @@ -static_files in mcaptcha::static_assets::static_files - Rust -
    pub struct static_files;

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/index.html b/mcaptcha/stats/index.html index ca0fc1e5..833ba52d 100644 --- a/mcaptcha/stats/index.html +++ b/mcaptcha/stats/index.html @@ -1,11 +1,12 @@ -mcaptcha::stats - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/sidebar-items.js b/mcaptcha/stats/sidebar-items.js index 1f6d9b95..d724372d 100644 --- a/mcaptcha/stats/sidebar-items.js +++ b/mcaptcha/stats/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["CaptchaStats",""],["Dummy",""],["Real",""]],"trait":[["CloneStats","Trait to clone MCDatabase"],["Stats",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["CaptchaStats",""],["Dummy",""],["Real",""]],"trait":[["CloneStats","Trait to clone MCDatabase"],["Stats",""]]}; \ No newline at end of file diff --git a/mcaptcha/stats/struct.CaptchaStats.html b/mcaptcha/stats/struct.CaptchaStats.html index e0e5975d..b88bd63d 100644 --- a/mcaptcha/stats/struct.CaptchaStats.html +++ b/mcaptcha/stats/struct.CaptchaStats.html @@ -1,44 +1,45 @@ -CaptchaStats in mcaptcha::stats - Rust -
    pub struct CaptchaStats {
    -    pub config_fetches: Vec<i64>,
    -    pub solves: Vec<i64>,
    -    pub confirms: Vec<i64>,
    -}

    Fields

    config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Returns the “default value” for a type. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    This method tests for self and other values to be equal, and is used -by ==. Read more

    -

    This method tests for !=.

    -

    Serialize this value into the given Serde serializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub config_fetches: Vec<i64>, + pub solves: Vec<i64>, + pub confirms: Vec<i64>, +}

    Fields

    config_fetches: Vec<i64>solves: Vec<i64>confirms: Vec<i64>

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    Serialize this value into the given Serde serializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Dummy.html b/mcaptcha/stats/struct.Dummy.html index d717fe8e..6cb46a05 100644 --- a/mcaptcha/stats/struct.Dummy.html +++ b/mcaptcha/stats/struct.Dummy.html @@ -1,42 +1,43 @@ -Dummy in mcaptcha::stats - Rust -
    pub struct Dummy;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/struct.Real.html b/mcaptcha/stats/struct.Real.html index a709f48c..4cab6868 100644 --- a/mcaptcha/stats/struct.Real.html +++ b/mcaptcha/stats/struct.Real.html @@ -1,42 +1,43 @@ -Real in mcaptcha::stats - Rust -
    pub struct Real;

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Returns the “default value” for a type. Read more

    +

    This method tests for self and other values to be equal, and is used +by ==. Read more

    +

    This method tests for !=.

    +

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/stats/trait.CloneStats.html b/mcaptcha/stats/trait.CloneStats.html index 0324da99..894637ef 100644 --- a/mcaptcha/stats/trait.CloneStats.html +++ b/mcaptcha/stats/trait.CloneStats.html @@ -1,12 +1,13 @@ -CloneStats in mcaptcha::stats - Rust -
    pub trait CloneStats {
    -    fn clone_stats(&self) -> Box<dyn Stats>;
    +    fn clone_stats(&self) -> Box<dyn Stats>;
     }
    Expand description

    Trait to clone MCDatabase

    -

    Required Methods

    clone DB

    -

    Implementors

    +

    Required Methods

    clone DB

    +

    Implementors

    \ No newline at end of file diff --git a/mcaptcha/stats/trait.Stats.html b/mcaptcha/stats/trait.Stats.html index 6525b894..055376c9 100644 --- a/mcaptcha/stats/trait.Stats.html +++ b/mcaptcha/stats/trait.Stats.html @@ -1,17 +1,18 @@ -Stats in mcaptcha::stats - Rust -
    pub trait Stats: Send + Sync + CloneStats {
    +    fn record_fetch<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn record_solve<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn record_confirm<'life0, 'life1, 'life2, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            key: &'life2 str
        ) -> Pin<Box<dyn Future<Output = DBResult<()>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            Self: 'async_trait
    ; + fn fetch<'life0, 'life1, 'life2, 'life3, 'async_trait>(
            &'life0 self,
            d: &'life1 Data,
            user: &'life2 str,
            key: &'life3 str
        ) -> Pin<Box<dyn Future<Output = DBResult<CaptchaStats>> + Send + 'async_trait>>
        where
            'life0: 'async_trait,
            'life1: 'async_trait,
            'life2: 'async_trait,
            'life3: 'async_trait,
            Self: 'async_trait
    ; +}

    Required Methods

    record PoWConfig fetches

    +

    record PoWConfig solves

    +

    record PoWConfig confirms

    +

    fetch stats

    +

    Implementors

    \ No newline at end of file diff --git a/mcaptcha/struct.BAR_CHART.html b/mcaptcha/struct.BAR_CHART.html index 4ec3437b..1484d19a 100644 --- a/mcaptcha/struct.BAR_CHART.html +++ b/mcaptcha/struct.BAR_CHART.html @@ -1,32 +1,33 @@ -BAR_CHART in mcaptcha - Rust -
    pub struct BAR_CHART {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.CREDIT_CARD.html b/mcaptcha/struct.CREDIT_CARD.html index 58d56541..f273bcb9 100644 --- a/mcaptcha/struct.CREDIT_CARD.html +++ b/mcaptcha/struct.CREDIT_CARD.html @@ -1,32 +1,33 @@ -CREDIT_CARD in mcaptcha - Rust -
    pub struct CREDIT_CARD {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.CSS.html b/mcaptcha/struct.CSS.html index c3fc730d..8db16ba5 100644 --- a/mcaptcha/struct.CSS.html +++ b/mcaptcha/struct.CSS.html @@ -1,13 +1,14 @@ -CSS in mcaptcha - Rust -
    pub struct CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +18,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +27,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +44,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +59,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +73,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +105,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +124,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +155,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +174,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +200,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +210,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +236,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +250,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +264,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +290,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +314,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +343,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +355,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +367,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +379,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +391,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +418,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +443,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +515,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +533,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +560,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +585,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +597,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +608,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +637,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +663,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +694,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +711,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +734,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +756,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +765,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +785,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +805,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +827,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +849,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +864,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +881,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +921,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +939,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +960,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +986,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1019,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1036,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1053,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1060,13 +1062,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1083,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1110,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1132,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1143,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.DOCS_ICON.html b/mcaptcha/struct.DOCS_ICON.html index 5c6dd73f..495f6985 100644 --- a/mcaptcha/struct.DOCS_ICON.html +++ b/mcaptcha/struct.DOCS_ICON.html @@ -1,32 +1,33 @@ -DOCS_ICON in mcaptcha - Rust -
    pub struct DOCS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.Data.html b/mcaptcha/struct.Data.html index 9589f13f..69f41104 100644 --- a/mcaptcha/struct.Data.html +++ b/mcaptcha/struct.Data.html @@ -1,43 +1,44 @@ -Data in mcaptcha - Rust -
    pub struct Data {
    -    pub db: Box<dyn MCDatabase>,
    +    pub db: Box<dyn MCDatabase>,
         pub creds: Config,
         pub captcha: SystemGroup,
    -    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
    +    pub mailer: Option<AsyncSmtpTransport<Tokio1Executor>>,
         pub settings: Settings,
    -    pub stats: Box<dyn Stats>,
    +    pub stats: Box<dyn Stats>,
     }
    Expand description

    App data

    -

    Fields

    db: Box<dyn MCDatabase>

    database ops defined by db crates

    +

    Fields

    db: Box<dyn MCDatabase>

    database ops defined by db crates

    creds: Config

    credential management configuration

    captcha: SystemGroup

    mCaptcha system: Redis cache, etc.

    -
    mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    +
    mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

    email client

    settings: Settings

    app settings

    -
    stats: Box<dyn Stats>

    stats recorder

    -

    Implementations

    create new instance of app data

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +
    stats: Box<dyn Stats>

    stats recorder

    +

    Implementations

    create new instance of app data

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.FILES.html b/mcaptcha/struct.FILES.html index 8cb97b28..57caca1f 100644 --- a/mcaptcha/struct.FILES.html +++ b/mcaptcha/struct.FILES.html @@ -1,32 +1,33 @@ -FILES in mcaptcha - Rust -
    pub struct FILES {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = FileMap>

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = FileMap>

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.GITHUB.html b/mcaptcha/struct.GITHUB.html index b1fbc8db..1b8c64df 100644 --- a/mcaptcha/struct.GITHUB.html +++ b/mcaptcha/struct.GITHUB.html @@ -1,32 +1,33 @@ -GITHUB in mcaptcha - Rust -
    pub struct GITHUB {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.HELP_CIRCLE.html b/mcaptcha/struct.HELP_CIRCLE.html index 8e030cd5..33d7234d 100644 --- a/mcaptcha/struct.HELP_CIRCLE.html +++ b/mcaptcha/struct.HELP_CIRCLE.html @@ -1,32 +1,33 @@ -HELP_CIRCLE in mcaptcha - Rust -
    pub struct HELP_CIRCLE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.HOME.html b/mcaptcha/struct.HOME.html index 88a90aa7..f9dbf3d7 100644 --- a/mcaptcha/struct.HOME.html +++ b/mcaptcha/struct.HOME.html @@ -1,32 +1,33 @@ -HOME in mcaptcha - Rust -
    pub struct HOME {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.JS.html b/mcaptcha/struct.JS.html index b66b1b2f..0a3cf92f 100644 --- a/mcaptcha/struct.JS.html +++ b/mcaptcha/struct.JS.html @@ -1,13 +1,14 @@ -JS in mcaptcha - Rust -

    Struct mcaptcha::JS

    source · []
    pub struct JS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +18,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +27,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +44,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +59,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +73,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +105,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +124,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +155,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +174,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +200,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +210,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +236,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +250,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +264,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +290,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +314,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +343,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +355,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +367,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +379,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +391,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +418,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +443,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +515,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +533,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +560,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +585,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +597,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +608,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +637,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +663,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +694,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +711,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +734,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +756,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +765,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +785,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +805,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +827,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +849,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +864,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +881,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +921,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +939,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +960,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +986,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1019,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1036,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1053,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1060,13 +1062,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1083,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1110,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1132,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1143,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.KEY.html b/mcaptcha/struct.KEY.html index e03866ce..53ede920 100644 --- a/mcaptcha/struct.KEY.html +++ b/mcaptcha/struct.KEY.html @@ -1,32 +1,33 @@ -KEY in mcaptcha - Rust -
    pub struct KEY {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html b/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html index f7f2613c..4f4f2041 100644 --- a/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html +++ b/mcaptcha/struct.MCAPTCHA_TRANS_ICON.html @@ -1,32 +1,33 @@ -MCAPTCHA_TRANS_ICON in mcaptcha - Rust -
    pub struct MCAPTCHA_TRANS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MESSAGE.html b/mcaptcha/struct.MESSAGE.html index 733575ba..880f235b 100644 --- a/mcaptcha/struct.MESSAGE.html +++ b/mcaptcha/struct.MESSAGE.html @@ -1,32 +1,33 @@ -MESSAGE in mcaptcha - Rust -
    pub struct MESSAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.MOBILE_CSS.html b/mcaptcha/struct.MOBILE_CSS.html index 22453718..faa843de 100644 --- a/mcaptcha/struct.MOBILE_CSS.html +++ b/mcaptcha/struct.MOBILE_CSS.html @@ -1,13 +1,14 @@ -MOBILE_CSS in mcaptcha - Rust -
    pub struct MOBILE_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +18,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +27,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +44,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +59,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +73,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +105,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +124,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +155,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +174,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +200,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +210,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +236,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +250,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +264,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +290,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +314,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +343,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +355,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +367,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +379,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +391,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +418,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +443,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +515,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +533,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +560,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +585,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +597,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +608,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +637,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +663,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +694,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +711,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +734,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +756,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +765,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +785,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +805,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +827,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +849,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +864,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +881,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +921,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +939,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +960,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +986,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1019,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1036,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1053,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1060,13 +1062,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1083,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1110,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1132,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1143,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index 06215ddb..436dce3d 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -1,32 +1,33 @@ -SETTINGS in mcaptcha - Rust -
    pub struct SETTINGS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SETTINGS_ICON.html b/mcaptcha/struct.SETTINGS_ICON.html index de78e4d2..178aec8b 100644 --- a/mcaptcha/struct.SETTINGS_ICON.html +++ b/mcaptcha/struct.SETTINGS_ICON.html @@ -1,32 +1,33 @@ -SETTINGS_ICON in mcaptcha - Rust -
    pub struct SETTINGS_ICON {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html index 13b75bb3..93fda9f8 100644 --- a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html +++ b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html @@ -1,35 +1,36 @@ -SOURCE_FILES_OF_INSTANCE in mcaptcha - Rust -
    pub struct SOURCE_FILES_OF_INSTANCE {
    -    pub(crate) __private_field: (),
    +    pub(crate) __private_field: (),
     }
    Expand description

    points to source files matching build commit

    -

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    +

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -41,7 +42,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -50,8 +51,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -61,7 +62,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -70,7 +71,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -87,7 +88,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -102,8 +103,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -116,14 +117,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -149,26 +150,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -180,9 +181,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -201,7 +202,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -220,7 +221,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -239,15 +240,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -270,15 +271,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -287,12 +288,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -306,12 +307,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -326,10 +327,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -352,7 +353,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -362,12 +363,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -388,7 +389,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -402,7 +403,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -416,12 +417,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -442,10 +443,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -466,7 +467,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -495,9 +496,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -507,10 +508,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -519,10 +520,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -531,10 +532,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -543,10 +544,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -570,10 +571,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -595,16 +596,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -667,12 +668,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -685,15 +686,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -712,20 +713,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -737,11 +738,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -749,7 +750,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -760,16 +761,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -789,17 +790,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -815,28 +816,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -845,15 +847,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -862,18 +864,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -885,17 +887,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -907,7 +909,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -916,7 +918,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -936,7 +938,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -956,7 +958,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -978,7 +980,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -1000,9 +1002,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1015,9 +1017,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1032,29 +1034,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1072,10 +1074,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1090,10 +1092,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1111,15 +1113,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1137,21 +1139,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1162,7 +1164,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1173,7 +1175,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1192,7 +1194,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1209,7 +1211,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1226,8 +1228,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1235,13 +1237,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1255,11 +1258,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1282,11 +1285,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1304,7 +1307,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1315,49 +1318,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index 423c7485..dda68b5b 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -1,46 +1,47 @@ -Settings in mcaptcha - Rust -
    pub struct Settings {
    -    pub debug: bool,
    -    pub commercial: bool,
    +    pub debug: bool,
    +    pub commercial: bool,
         pub database: Database,
    -    pub redis: Option<Redis>,
    +    pub redis: Option<Redis>,
         pub server: Server,
         pub captcha: Captcha,
    -    pub source_code: String,
    -    pub smtp: Option<Smtp>,
    -    pub allow_registration: bool,
    -    pub allow_demo: bool,
    -}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    -

    Performs copy-assignment from source. Read more

    -

    Formats the value using the given formatter. Read more

    -

    Deserialize this value from the given Serde deserializer. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub source_code: String, + pub smtp: Option<Smtp>, + pub allow_registration: bool, + pub allow_demo: bool, +}

    Fields

    debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    +

    Formats the value using the given formatter. Read more

    +

    Deserialize this value from the given Serde deserializer. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html index 50127085..91239730 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html @@ -1,13 +1,14 @@ -VERIFICATIN_WIDGET_CSS in mcaptcha - Rust -
    pub struct VERIFICATIN_WIDGET_CSS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +18,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +27,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +44,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +59,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +73,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +105,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +124,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +155,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +174,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +200,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +210,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +236,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +250,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +264,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +290,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +314,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +343,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +355,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +367,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +379,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +391,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +418,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +443,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +515,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +533,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +560,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +585,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +597,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +608,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +637,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +663,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +694,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +711,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +734,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +756,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +765,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +785,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +805,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +827,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +849,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +864,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +881,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +921,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +939,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +960,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +986,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1019,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1036,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1053,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1060,13 +1062,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1083,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1110,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1132,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1143,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html index 7e8ff141..994eb2ee 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html @@ -1,13 +1,14 @@ -VERIFICATIN_WIDGET_JS in mcaptcha - Rust -
    pub struct VERIFICATIN_WIDGET_JS {
    -    pub(crate) __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, + pub(crate) __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = &'static str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -17,7 +18,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -26,7 +27,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -43,7 +44,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -58,8 +59,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -72,27 +73,27 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -104,7 +105,7 @@ If you need to mutate the contents of the string slice, use // out of bounds
     assert!(v.get(..42).is_none());
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -123,15 +124,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -154,12 +155,12 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -173,10 +174,10 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -199,7 +200,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -209,12 +210,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -235,7 +236,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -249,7 +250,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -263,12 +264,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -289,10 +290,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -313,7 +314,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -342,9 +343,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -354,10 +355,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -366,10 +367,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -378,10 +379,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -390,10 +391,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -417,10 +418,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -442,16 +443,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -514,12 +515,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -532,15 +533,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -559,20 +560,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -584,11 +585,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -596,7 +597,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -607,16 +608,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -636,17 +637,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -662,28 +663,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -692,15 +694,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -709,18 +711,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -732,17 +734,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -754,7 +756,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -763,7 +765,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -783,7 +785,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -803,7 +805,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -825,7 +827,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -847,9 +849,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -862,9 +864,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -879,29 +881,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -919,10 +921,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -937,10 +939,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -958,15 +960,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -984,21 +986,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1017,7 +1019,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1034,7 +1036,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1051,8 +1053,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1060,13 +1062,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1080,11 +1083,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1107,11 +1110,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1129,7 +1132,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1140,49 +1143,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/type.AppData.html b/mcaptcha/type.AppData.html index d99b456a..381b233d 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -1,8 +1,9 @@ -AppData in mcaptcha - Rust -
    +

    Type Definition mcaptcha::AppData

    source · []
    pub type AppData = Data<ArcData>;
    \ No newline at end of file diff --git a/mcaptcha/type.ArcData.html b/mcaptcha/type.ArcData.html index 6e80b742..3bb42057 100644 --- a/mcaptcha/type.ArcData.html +++ b/mcaptcha/type.ArcData.html @@ -1,8 +1,9 @@ -ArcData in mcaptcha - Rust -
    +

    Type Definition mcaptcha::ArcData

    source · []
    pub type ArcData = Arc<Data>;
    \ No newline at end of file diff --git a/mcaptcha/widget/constant.PAGE.html b/mcaptcha/widget/constant.PAGE.html index 87666e4b..5cc49cc1 100644 --- a/mcaptcha/widget/constant.PAGE.html +++ b/mcaptcha/widget/constant.PAGE.html @@ -1,8 +1,9 @@ -PAGE in mcaptcha::widget - Rust -
    +

    Constant mcaptcha::widget::PAGE

    source · []
    const PAGE: &str = "mCaptcha CAPTCHA verification";
    \ No newline at end of file diff --git a/mcaptcha/widget/constant.WIDGET_ROUTES.html b/mcaptcha/widget/constant.WIDGET_ROUTES.html index 90376abc..f6304b80 100644 --- a/mcaptcha/widget/constant.WIDGET_ROUTES.html +++ b/mcaptcha/widget/constant.WIDGET_ROUTES.html @@ -1,8 +1,9 @@ -WIDGET_ROUTES in mcaptcha::widget - Rust -
    pub const WIDGET_ROUTES: Widget;
    \ No newline at end of file diff --git a/mcaptcha/widget/fn.services.html b/mcaptcha/widget/fn.services.html index ea5a4aea..919e8dcc 100644 --- a/mcaptcha/widget/fn.services.html +++ b/mcaptcha/widget/fn.services.html @@ -1,9 +1,10 @@ -services in mcaptcha::widget - Rust -
    pub fn services(cfg: &mut ServiceConfig)
    Expand description

    widget services

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/index.html b/mcaptcha/widget/index.html index 8a538797..006243f5 100644 --- a/mcaptcha/widget/index.html +++ b/mcaptcha/widget/index.html @@ -1,9 +1,10 @@ -mcaptcha::widget - Rust -
    Expand description

    User facing CAPTCHA widget

    Modules

    Structs

    @@ -11,5 +12,5 @@

    Constants

    Functions

    widget services

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/routes/index.html b/mcaptcha/widget/routes/index.html index a47c4dd6..178538fb 100644 --- a/mcaptcha/widget/routes/index.html +++ b/mcaptcha/widget/routes/index.html @@ -1,9 +1,10 @@ -mcaptcha::widget::routes - Rust -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/routes/sidebar-items.js b/mcaptcha/widget/routes/sidebar-items.js index 534e6145..086d6cad 100644 --- a/mcaptcha/widget/routes/sidebar-items.js +++ b/mcaptcha/widget/routes/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["Widget",""]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":[["Widget",""]]}; \ No newline at end of file diff --git a/mcaptcha/widget/routes/struct.Widget.html b/mcaptcha/widget/routes/struct.Widget.html index 5a5de674..facd92c7 100644 --- a/mcaptcha/widget/routes/struct.Widget.html +++ b/mcaptcha/widget/routes/struct.Widget.html @@ -1,30 +1,31 @@ -Widget in mcaptcha::widget::routes - Rust -
    pub struct Widget {
    -    pub verification_widget: &'static str,
    -}

    Fields

    verification_widget: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    + pub verification_widget: &'static str, +}

    Fields

    verification_widget: &'static str

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/sidebar-items.js b/mcaptcha/widget/sidebar-items.js index f6ff17f8..5c5d6f0e 100644 --- a/mcaptcha/widget/sidebar-items.js +++ b/mcaptcha/widget/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["PAGE",""],["WIDGET_ROUTES",""]],"fn":[["services","widget services"]],"mod":[["routes",""]],"struct":[["INDEX_PAGE",""],["IndexPage",""],["show_widget","render a client side widget for CAPTCHA verification"]]}); \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["PAGE",""],["WIDGET_ROUTES",""]],"fn":[["services","widget services"]],"mod":[["routes",""]],"struct":[["INDEX_PAGE",""],["IndexPage",""],["show_widget","render a client side widget for CAPTCHA verification"]]}; \ No newline at end of file diff --git a/mcaptcha/widget/struct.INDEX_PAGE.html b/mcaptcha/widget/struct.INDEX_PAGE.html index 8fea8c5d..e43f57e8 100644 --- a/mcaptcha/widget/struct.INDEX_PAGE.html +++ b/mcaptcha/widget/struct.INDEX_PAGE.html @@ -1,34 +1,35 @@ -INDEX_PAGE in mcaptcha::widget - Rust -
    struct INDEX_PAGE {
    -    __private_field: (),
    -}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    + __private_field: (), +}

    Fields

    __private_field: ()

    Methods from Deref<Target = String>

    Extracts a string slice containing the entire String.

    Examples

    Basic usage:

    let s = String::from("foo");
     
     assert_eq!("foo", s.as_str());
    -

    Returns this String’s capacity, in bytes.

    +

    Returns this String’s capacity, in bytes.

    Examples

    Basic usage:

    let s = String::with_capacity(10);
     
     assert!(s.capacity() >= 10);
    -

    Returns a byte slice of this String’s contents.

    -

    The inverse of this method is from_utf8.

    +

    Returns a byte slice of this String’s contents.

    +

    The inverse of this method is from_utf8.

    Examples

    Basic usage:

    let s = String::from("hello");
     
     assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    -

    Returns the length of this String, in bytes, not chars or +

    Returns the length of this String, in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples
    @@ -40,7 +41,7 @@ length of the string.

    let fancy_f = String::from("ƒoo"); assert_eq!(fancy_f.len(), 4); assert_eq!(fancy_f.chars().count(), 3);
    -

    Returns true if this String has a length of zero, and false otherwise.

    +

    Returns true if this String has a length of zero, and false otherwise.

    Examples

    Basic usage:

    @@ -49,8 +50,8 @@ length of the string.

    v.push('a'); assert!(!v.is_empty());
    -

    Methods from Deref<Target = str>

    Returns the length of self.

    -

    This length is in bytes, not chars or graphemes. In other words, +

    Methods from Deref<Target = str>

    Returns the length of self.

    +

    This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

    Examples

    Basic usage:

    @@ -60,7 +61,7 @@ it might not be what a human considers the length of the string.

    assert_eq!("ƒoo".len(), 4); // fancy f! assert_eq!("ƒoo".chars().count(), 3);
    -

    Returns true if self has a length of zero bytes.

    +

    Returns true if self has a length of zero bytes.

    Examples

    Basic usage:

    @@ -69,7 +70,7 @@ it might not be what a human considers the length of the string.

    let s = "not empty"; assert!(!s.is_empty());
    -

    Checks that index-th byte is the first byte in a UTF-8 code point +

    Checks that index-th byte is the first byte in a UTF-8 code point sequence or the end of the string.

    The start and end of the string (when index == self.len()) are considered to be boundaries.

    @@ -86,7 +87,7 @@ considered to be boundaries.

    // third byte of `老` assert!(!s.is_char_boundary(8));
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    +
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t exceed a given number of bytes. Note that this is done purely at the character level and can still visually split graphemes, even though the underlying characters aren’t @@ -101,8 +102,8 @@ includes 🧑 (person) instead.

    let closest = s.floor_char_boundary(13); assert_eq!(closest, 10); assert_eq!(&s[..closest], "❤️🧡");
    -
    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    -

    This method is the natural complement to floor_char_boundary. See that method +

    🔬 This is a nightly-only experimental API. (round_char_boundary)

    Finds the closest x not below index where is_char_boundary(x) is true.

    +

    This method is the natural complement to floor_char_boundary. See that method for more details.

    Panics

    Panics if index > self.len().

    @@ -115,14 +116,14 @@ for more details.

    let closest = s.ceil_char_boundary(13); assert_eq!(closest, 14); assert_eq!(&s[..closest], "❤️🧡💛");
    -

    Converts a string slice to a byte slice. To convert the byte slice back -into a string slice, use the from_utf8 function.

    +

    Converts a string slice to a byte slice. To convert the byte slice back +into a string slice, use the from_utf8 function.

    Examples

    Basic usage:

    let bytes = "bors".as_bytes();
     assert_eq!(b"bors", bytes);
    -

    Converts a mutable string slice to a mutable byte slice.

    +

    Converts a mutable string slice to a mutable byte slice.

    Safety

    The caller must ensure that the content of the slice is valid UTF-8 before the borrow ends and the underlying str is used.

    @@ -148,26 +149,26 @@ before the borrow ends and the underlying str is used.

    } assert_eq!("🍔∈🌏", s);
    -

    Converts a string slice to a raw pointer.

    +

    Converts a string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    The caller must ensure that the returned pointer is never written to. -If you need to mutate the contents of the string slice, use as_mut_ptr.

    +If you need to mutate the contents of the string slice, use as_mut_ptr.

    Examples

    Basic usage:

    let s = "Hello";
     let ptr = s.as_ptr();
    -

    Converts a mutable string slice to a raw pointer.

    +

    Converts a mutable string slice to a raw pointer.

    As string slices are a slice of bytes, the raw pointer points to a -u8. This pointer will be pointing to the first byte of the string +u8. This pointer will be pointing to the first byte of the string slice.

    It is your responsibility to make sure that the string slice only gets modified in a way that it remains valid UTF-8.

    -

    Returns a subslice of str.

    +

    Returns a subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let v = String::from("🗻∈🌏");
     
    @@ -179,9 +180,9 @@ modified in a way that it remains valid UTF-8.

    // out of bounds assert!(v.get(..42).is_none());
    -

    Returns a mutable subslice of str.

    +

    Returns a mutable subslice of str.

    This is the non-panicking alternative to indexing the str. Returns -None whenever equivalent indexing operation would panic.

    +None whenever equivalent indexing operation would panic.

    Examples
    let mut v = String::from("hello");
     // correct length
    @@ -200,7 +201,7 @@ modified in a way that it remains valid UTF-8.

    assert_eq!(Some("HE"), s); } assert_eq!("HEllo", v);
    -

    Returns an unchecked subslice of str.

    +

    Returns an unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -219,7 +220,7 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked(4..7)); assert_eq!("🌏", v.get_unchecked(7..11)); }
    -

    Returns a mutable, unchecked subslice of str.

    +

    Returns a mutable, unchecked subslice of str.

    This is the unchecked alternative to indexing the str.

    Safety

    Callers of this function are responsible that these preconditions are @@ -238,15 +239,15 @@ violate the invariants communicated by the str type.

    assert_eq!("∈", v.get_unchecked_mut(4..7)); assert_eq!("🌏", v.get_unchecked_mut(7..11)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks.

    This is generally not recommended, use with caution! For a safe -alternative see str and Index.

    +alternative see str and Index.

    This new slice goes from begin to end, including begin but excluding end.

    To get a mutable string slice instead, see the -slice_mut_unchecked method.

    +slice_mut_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -269,15 +270,15 @@ satisfied:

    unsafe { assert_eq!("world", s.slice_unchecked(7, 12)); }
    -
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    +
    👎 Deprecated since 1.29.0:

    use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety checks. This is generally not recommended, use with caution! For a safe -alternative see str and IndexMut.

    +alternative see str and IndexMut.

    This new slice goes from begin to end, including begin but excluding end.

    To get an immutable string slice instead, see the -slice_unchecked method.

    +slice_unchecked method.

    Safety

    Callers of this function are responsible that three preconditions are satisfied:

    @@ -286,12 +287,12 @@ satisfied:

  • begin and end must be byte positions within the string slice.
  • begin and end must lie on UTF-8 sequence boundaries.
  • -

    Divide one string slice into two at an index.

    +

    Divide one string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get mutable string slices instead, see the split_at_mut +

    To get mutable string slices instead, see the split_at_mut method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is @@ -305,12 +306,12 @@ past the end of the last code point of the string slice.

    assert_eq!("Per", first); assert_eq!(" Martin-Löf", last);
    -

    Divide one mutable string slice into two at an index.

    +

    Divide one mutable string slice into two at an index.

    The argument, mid, should be a byte offset from the start of the string. It must also be on the boundary of a UTF-8 code point.

    The two slices returned go from the start of the string slice to mid, and from mid to the end of the string slice.

    -

    To get immutable string slices instead, see the split_at method.

    +

    To get immutable string slices instead, see the split_at method.

    Panics

    Panics if mid is not on a UTF-8 code point boundary, or if it is past the end of the last code point of the string slice.

    @@ -325,10 +326,10 @@ past the end of the last code point of the string slice.

    assert_eq!(" Martin-Löf", last); } assert_eq!("PER Martin-Löf", s);
    -

    Returns an iterator over the chars of a string slice.

    +

    Returns an iterator over the chars of a string slice.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns such an iterator.

    -

    It’s important to remember that char represents a Unicode Scalar +string slice by char. This method returns such an iterator.

    +

    It’s important to remember that char represents a Unicode Scalar Value, and might not match your idea of what a ‘character’ is. Iteration over grapheme clusters may be what you actually want. This functionality is not provided by Rust’s standard library, check crates.io instead.

    @@ -351,7 +352,7 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('e'), chars.next()); assert_eq!(None, chars.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let y = "y̆";
     
    @@ -361,12 +362,12 @@ is not provided by Rust’s standard library, check crates.io instead.

    assert_eq!(Some('\u{0306}'), chars.next()); assert_eq!(None, chars.next());
    -

    Returns an iterator over the chars of a string slice, and their +

    Returns an iterator over the chars of a string slice, and their positions.

    As a string slice consists of valid UTF-8, we can iterate through a -string slice by char. This method returns an iterator of both -these chars, as well as their byte positions.

    -

    The iterator yields tuples. The position is first, the char is +string slice by char. This method returns an iterator of both +these chars, as well as their byte positions.

    +

    The iterator yields tuples. The position is first, the char is second.

    Examples

    Basic usage:

    @@ -387,7 +388,7 @@ second.

    assert_eq!(Some((6, 'e')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    Remember, chars might not match your intuition about characters:

    +

    Remember, chars might not match your intuition about characters:

    let yes = "y̆es";
     
    @@ -401,7 +402,7 @@ second.

    assert_eq!(Some((4, 's')), char_indices.next()); assert_eq!(None, char_indices.next());
    -

    An iterator over the bytes of a string slice.

    +

    An iterator over the bytes of a string slice.

    As a string slice consists of a sequence of bytes, we can iterate through a string slice by byte. This method returns such an iterator.

    Examples
    @@ -415,12 +416,12 @@ through a string slice by byte. This method returns such an iterator.

    assert_eq!(Some(b's'), bytes.next()); assert_eq!(None, bytes.next());
    -

    Splits a string slice by whitespace.

    +

    Splits a string slice by whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of whitespace.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space. If you only want to split on ASCII whitespace -instead, use split_ascii_whitespace.

    +instead, use split_ascii_whitespace.

    Examples

    Basic usage:

    @@ -441,10 +442,10 @@ instead, use assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    Splits a string slice by ASCII whitespace.

    +

    Splits a string slice by ASCII whitespace.

    The iterator returned will return string slices that are sub-slices of the original string slice, separated by any amount of ASCII whitespace.

    -

    To split by Unicode Whitespace instead, use split_whitespace.

    +

    To split by Unicode Whitespace instead, use split_whitespace.

    Examples

    Basic usage:

    @@ -465,7 +466,7 @@ the original string slice, separated by any amount of ASCII whitespace.

    assert_eq!(Some("lamb"), iter.next()); assert_eq!(None, iter.next());
    -

    An iterator over the lines of a string, as string slices.

    +

    An iterator over the lines of a string, as string slices.

    Lines are ended with either a newline (\n) or a carriage return with a line feed (\r\n).

    The final line ending is optional. A string that ends with a final line @@ -494,9 +495,9 @@ without a final line ending.

    assert_eq!(Some("baz"), lines.next()); assert_eq!(None, lines.next());
    -
    👎 Deprecated since 1.4.0:

    use lines() instead now

    +
    👎 Deprecated since 1.4.0:

    use lines() instead now

    An iterator over the lines of a string.

    -

    Returns an iterator of u16 over the string encoded as UTF-16.

    +

    Returns an iterator of u16 over the string encoded as UTF-16.

    Examples

    Basic usage:

    @@ -506,10 +507,10 @@ without a final line ending.

    let utf16_len = text.encode_utf16().count(); assert!(utf16_len <= utf8_len);
    -

    Returns true if the given pattern matches a sub-slice of +

    Returns true if the given pattern matches a sub-slice of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -518,10 +519,10 @@ function or closure that determines if a character matches.

    assert!(bananas.contains("nana")); assert!(!bananas.contains("apples"));
    -

    Returns true if the given pattern matches a prefix of this +

    Returns true if the given pattern matches a prefix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -530,10 +531,10 @@ function or closure that determines if a character matches.

    assert!(bananas.starts_with("bana")); assert!(!bananas.starts_with("nana"));
    -

    Returns true if the given pattern matches a suffix of this +

    Returns true if the given pattern matches a suffix of this string slice.

    Returns false if it does not.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Basic usage:

    @@ -542,10 +543,10 @@ function or closure that determines if a character matches.

    assert!(bananas.ends_with("anas")); assert!(!bananas.ends_with("nana"));
    -

    Returns the byte index of the first character of this string slice that +

    Returns the byte index of the first character of this string slice that matches the pattern.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -569,10 +570,10 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.find(x), None);
    -

    Returns the byte index for the first character of the rightmost match of the pattern in +

    Returns the byte index for the first character of the last match of the pattern in this string slice.

    -

    Returns None if the pattern doesn’t match.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    Returns None if the pattern doesn’t match.

    +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -594,16 +595,16 @@ function or closure that determines if a character matches.

    let x: &[_] = &['1', '2']; assert_eq!(s.rfind(x), None);
    -

    An iterator over substrings of this string slice, separated by +

    An iterator over substrings of this string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit method can be used.

    +from a forward search, the rsplit method can be used.

    Examples

    Simple patterns:

    @@ -666,12 +667,12 @@ when whitespace is used as the separator. This code is correct:

    It does not give you:

    assert_eq!(d, &["a", "b", "c"]);
    -

    Use split_whitespace for this behavior.

    -

    An iterator over substrings of this string slice, separated by +

    Use split_whitespace for this behavior.

    +

    An iterator over substrings of this string slice, separated by characters matched by a pattern. Differs from the iterator produced by split in that split_inclusive leaves the matched part as the terminator of the substring.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb."
    @@ -684,15 +685,15 @@ That substring will be the last item returned by the iterator.

    let v: Vec<&str> = "Mary had a little lamb\nlittle lamb\nlittle lamb.\n"
         .split_inclusive('\n').collect();
     assert_eq!(v, ["Mary had a little lamb\n", "little lamb\n", "little lamb.\n"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split method can be used.

    +

    For iterating from the front, the split method can be used.

    Examples

    Simple patterns:

    @@ -711,20 +712,20 @@ search yields the same elements.

    let v: Vec<&str> = "abc1defXghi".rsplit(|c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "def", "abc"]);
    -

    An iterator over substrings of the given string slice, separated by +

    An iterator over substrings of the given string slice, separated by characters matched by a pattern.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rsplit_terminator method can be used.

    +from a forward search, the rsplit_terminator method can be used.

    Examples

    Basic usage:

    @@ -736,11 +737,11 @@ from a forward search, the let v: Vec<&str> = "A.B:C.D".split_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["A", "B", "C", "D"]);
    -

    An iterator over substrings of self, separated by characters +

    An iterator over substrings of self, separated by characters matched by a pattern and yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    -

    Equivalent to split, except that the trailing substring is +

    Equivalent to split, except that the trailing substring is skipped if empty.

    This method can be used for string data that is terminated, rather than separated by a pattern.

    @@ -748,7 +749,7 @@ rather than separated by a pattern.

    The returned iterator requires that the pattern supports a reverse search, and it will be double ended if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the split_terminator method can be +

    For iterating from the front, the split_terminator method can be used.

    Examples
    let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
    @@ -759,16 +760,16 @@ used.

    let v: Vec<&str> = "A.B:C.D".rsplit_terminator(&['.', ':'][..]).collect(); assert_eq!(v, ["D", "C", "B", "A"]);
    -

    An iterator over substrings of the given string slice, separated by a +

    An iterator over substrings of the given string slice, separated by a pattern, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    If the pattern allows a reverse search, the rsplitn method can be +

    If the pattern allows a reverse search, the rsplitn method can be used.

    Examples

    Simple patterns:

    @@ -788,17 +789,17 @@ used.

    let v: Vec<&str> = "abc1defXghi".splitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["abc", "defXghi"]);
    -

    An iterator over substrings of this string slice, separated by a +

    An iterator over substrings of this string slice, separated by a pattern, starting from the end of the string, restricted to returning at most n items.

    If n substrings are returned, the last substring (the nth substring) will contain the remainder of the string.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator will not be double ended, because it is not efficient to support.

    -

    For splitting from the front, the splitn method can be used.

    +

    For splitting from the front, the splitn method can be used.

    Examples

    Simple patterns:

    @@ -814,28 +815,29 @@ efficient to support.

    let v: Vec<&str> = "abc1defXghi".rsplitn(2, |c| c == '1' || c == 'X').collect();
     assert_eq!(v, ["ghi", "abc1def"]);
    -

    Splits the string on the first occurrence of the specified delimiter and +

    Splits the string on the first occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".split_once('='), None);
    +assert_eq!("cfg=".split_once('='), Some(("cfg", "")));
     assert_eq!("cfg=foo".split_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".split_once('='), Some(("cfg", "foo=bar")));
    -

    Splits the string on the last occurrence of the specified delimiter and +

    Splits the string on the last occurrence of the specified delimiter and returns prefix before delimiter and suffix after delimiter.

    Examples
    assert_eq!("cfg".rsplit_once('='), None);
     assert_eq!("cfg=foo".rsplit_once('='), Some(("cfg", "foo")));
     assert_eq!("cfg=foo=bar".rsplit_once('='), Some(("cfg=foo", "bar")));
    -

    An iterator over the disjoint matches of a pattern within the given string +

    An iterator over the disjoint matches of a pattern within the given string slice.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatches method can be used.

    +from a forward search, the rmatches method can be used.

    Examples

    Basic usage:

    @@ -844,15 +846,15 @@ from a forward search, the let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect(); assert_eq!(v, ["1", "2", "3"]);
    -

    An iterator over the disjoint matches of a pattern within this string slice, +

    An iterator over the disjoint matches of a pattern within this string slice, yielded in reverse order.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the matches method can be used.

    +

    For iterating from the front, the matches method can be used.

    Examples

    Basic usage:

    @@ -861,18 +863,18 @@ search yields the same elements.

    let v: Vec<&str> = "1abc2abc3".rmatches(char::is_numeric).collect(); assert_eq!(v, ["3", "2", "1"]);
    -

    An iterator over the disjoint matches of a pattern within this string +

    An iterator over the disjoint matches of a pattern within this string slice as well as the index that the match starts at.

    For matches of pat within self that overlap, only the indices corresponding to the first match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior
    -

    The returned iterator will be a DoubleEndedIterator if the pattern +

    The returned iterator will be a DoubleEndedIterator if the pattern allows a reverse search and forward/reverse search yields the same -elements. This is true for, e.g., char, but not for &str.

    +elements. This is true for, e.g., char, but not for &str.

    If the pattern allows a reverse search but its results might differ -from a forward search, the rmatch_indices method can be used.

    +from a forward search, the rmatch_indices method can be used.

    Examples

    Basic usage:

    @@ -884,17 +886,17 @@ from a forward search, the let v: Vec<_> = "ababa".match_indices("aba").collect(); assert_eq!(v, [(0, "aba")]); // only the first `aba`
    -

    An iterator over the disjoint matches of a pattern within self, +

    An iterator over the disjoint matches of a pattern within self, yielded in reverse order along with the index of the match.

    For matches of pat within self that overlap, only the indices corresponding to the last match are returned.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Iterator behavior

    The returned iterator requires that the pattern supports a reverse -search, and it will be a DoubleEndedIterator if a forward/reverse +search, and it will be a DoubleEndedIterator if a forward/reverse search yields the same elements.

    -

    For iterating from the front, the match_indices method can be used.

    +

    For iterating from the front, the match_indices method can be used.

    Examples

    Basic usage:

    @@ -906,7 +908,7 @@ search yields the same elements.

    let v: Vec<_> = "ababa".rmatch_indices("aba").collect(); assert_eq!(v, [(2, "aba")]); // only the last `aba`
    -

    Returns a string slice with leading and trailing whitespace removed.

    +

    Returns a string slice with leading and trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Examples
    @@ -915,7 +917,7 @@ Core Property White_Space, which includes newlines.

    let s = "\n Hello\tworld\t\n";
     
     assert_eq!("Hello\tworld", s.trim());
    -

    Returns a string slice with leading whitespace removed.

    +

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -935,7 +937,7 @@ Arabic or Hebrew, this will be the right side.

    let s = " עברית "; assert!(Some('ע') == s.trim_start().chars().next());
    -

    Returns a string slice with trailing whitespace removed.

    +

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space, which includes newlines.

    Text directionality
    @@ -955,7 +957,7 @@ Arabic or Hebrew, this will be the left side.

    let s = " עברית "; assert!(Some('ת') == s.trim_end().chars().rev().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start

    Returns a string slice with leading whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -977,7 +979,7 @@ the right side, not the left.

    let s = " עברית"; assert!(Some('ע') == s.trim_left().chars().next());
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    ‘Whitespace’ is defined according to the terms of the Unicode Derived Core Property White_Space.

    @@ -999,9 +1001,9 @@ the left side, not the right.

    let s = "עברית "; assert!(Some('ת') == s.trim_right().chars().rev().next());
    -

    Returns a string slice with all prefixes and suffixes that match a +

    Returns a string slice with all prefixes and suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a char, a slice of chars, or a function +

    The pattern can be a char, a slice of chars, or a function or closure that determines if a character matches.

    Examples

    Simple patterns:

    @@ -1014,9 +1016,9 @@ or closure that determines if a character matches.

    A more complex pattern, using a closure:

    assert_eq!("1foo1barXX".trim_matches(|c| c == '1' || c == 'X'), "foo1bar");
    -

    Returns a string slice with all prefixes that match a pattern +

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. start in this context means the first @@ -1031,29 +1033,29 @@ Arabic or Hebrew, this will be the right side.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_start_matches(x), "foo1bar12");
    -

    Returns a string slice with the prefix removed.

    +

    Returns a string slice with the prefix removed.

    If the string starts with the pattern prefix, returns substring after the prefix, wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    If the string does not start with prefix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("foo:bar".strip_prefix("foo:"), Some("bar"));
     assert_eq!("foo:bar".strip_prefix("bar"), None);
     assert_eq!("foofoo".strip_prefix("foo"), Some("foo"));
    -

    Returns a string slice with the suffix removed.

    +

    Returns a string slice with the suffix removed.

    If the string ends with the pattern suffix, returns the substring before the suffix, wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    If the string does not end with suffix, returns None.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Examples
    assert_eq!("bar:foo".strip_suffix(":foo"), Some("bar"));
     assert_eq!("bar:foo".strip_suffix("bar"), None);
     assert_eq!("foofoo".strip_suffix("foo"), Some("foo"));
    -

    Returns a string slice with all suffixes that match a pattern +

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. end in this context means the last @@ -1071,10 +1073,10 @@ Arabic or Hebrew, this will be the left side.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_end_matches(|c| c == '1' || c == 'X'), "1foo");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Left’ in this context means the first @@ -1089,10 +1091,10 @@ the right side, not the left.

    let x: &[_] = &['1', '2']; assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
    -
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    +
    👎 Deprecated since 1.33.0:

    superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern repeatedly removed.

    -

    The pattern can be a &str, char, a slice of chars, or a +

    The pattern can be a &str, char, a slice of chars, or a function or closure that determines if a character matches.

    Text directionality

    A string is a sequence of bytes. ‘Right’ in this context means the last @@ -1110,15 +1112,15 @@ the left side, not the right.

    A more complex pattern, using a closure:

    assert_eq!("1fooX".trim_right_matches(|c| c == '1' || c == 'X'), "1foo");
    -

    Parses this string slice into another type.

    +

    Parses this string slice into another type.

    Because parse is so general, it can cause problems with type inference. As such, parse is one of the few times you’ll see the syntax affectionately known as the ‘turbofish’: ::<>. This helps the inference algorithm understand specifically which type you’re trying to parse into.

    -

    parse can parse into any type that implements the FromStr trait.

    +

    parse can parse into any type that implements the FromStr trait.

    Errors
    -

    Will return Err if it’s not possible to parse this string slice into +

    Will return Err if it’s not possible to parse this string slice into the desired type.

    Examples

    Basic usage

    @@ -1136,21 +1138,21 @@ the desired type.

    let nope = "j".parse::<u32>();
     
     assert!(nope.is_err());
    -

    Checks if all characters in this string are within the ASCII range.

    +

    Checks if all characters in this string are within the ASCII range.

    Examples
    let ascii = "hello!\n";
     let non_ascii = "Grüße, Jürgen ❤";
     
     assert!(ascii.is_ascii());
     assert!(!non_ascii.is_ascii());
    -

    Checks that two strings are an ASCII case-insensitive match.

    +

    Checks that two strings are an ASCII case-insensitive match.

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), but without allocating and copying temporaries.

    Examples
    assert!("Ferris".eq_ignore_ascii_case("FERRIS"));
     assert!("Ferrös".eq_ignore_ascii_case("FERRöS"));
     assert!(!"Ferrös".eq_ignore_ascii_case("FERRÖS"));
    -

    Converts this string to its ASCII upper case equivalent in-place.

    +

    Converts this string to its ASCII upper case equivalent in-place.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    To return a new uppercased value without modifying the existing one, use @@ -1161,7 +1163,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_uppercase(); assert_eq!("GRüßE, JüRGEN ❤", s);
    -

    Converts this string to its ASCII lower case equivalent in-place.

    +

    Converts this string to its ASCII lower case equivalent in-place.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    To return a new lowercased value without modifying the existing one, use @@ -1172,7 +1174,7 @@ but non-ASCII letters are unchanged.

    s.make_ascii_lowercase(); assert_eq!("grÜße, jÜrgen ❤", s);
    -

    Return an iterator that escapes each char in self with char::escape_debug.

    +

    Return an iterator that escapes each char in self with char::escape_debug.

    Note: only extended grapheme codepoints that begin the string will be escaped.

    Examples
    @@ -1191,7 +1193,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_debug().to_string(), "❤\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_default.

    +

    Return an iterator that escapes each char in self with char::escape_default.

    Examples

    As an iterator:

    @@ -1208,7 +1210,7 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_default().to_string(), "\\u{2764}\\n!");
    -

    Return an iterator that escapes each char in self with char::escape_unicode.

    +

    Return an iterator that escapes each char in self with char::escape_unicode.

    Examples

    As an iterator:

    @@ -1225,8 +1227,8 @@ escaped.

    Using to_string:

    assert_eq!("❤\n!".escape_unicode().to_string(), "\\u{2764}\\u{a}\\u{21}");
    -

    Replaces all matches of a pattern with another string.

    -

    replace creates a new String, and copies the data from this string slice into it. +

    Replaces all matches of a pattern with another string.

    +

    replace creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice.

    Examples
    @@ -1234,13 +1236,14 @@ replaces them with the replacement string slice.

    let s = "this is old";
     
    -assert_eq!("this is new", s.replace("old", "new"));
    +assert_eq!("this is new", s.replace("old", "new")); +assert_eq!("than an old", s.replace("is", "an"));

    When the pattern doesn’t match:

    let s = "this is old";
     assert_eq!(s, s.replace("cookie monster", "little lamb"));
    -

    Replaces first N matches of a pattern with another string.

    -

    replacen creates a new String, and copies the data from this string slice into it. +

    Replaces first N matches of a pattern with another string.

    +

    replacen creates a new String, and copies the data from this string slice into it. While doing so, it attempts to find matches of a pattern. If it finds any, it replaces them with the replacement string slice at most count times.

    Examples
    @@ -1254,11 +1257,11 @@ replaces them with the replacement string slice at most count times
    let s = "this is old";
     assert_eq!(s, s.replacen("cookie monster", "little lamb", 10));
    -

    Returns the lowercase equivalent of this string slice, as a new String.

    +

    Returns the lowercase equivalent of this string slice, as a new String.

    ‘Lowercase’ is defined according to the terms of the Unicode Derived Core Property Lowercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1281,11 +1284,11 @@ parameter in-place.

    let new_year = "农历新年";
     
     assert_eq!(new_year, new_year.to_lowercase());
    -

    Returns the uppercase equivalent of this string slice, as a new String.

    +

    Returns the uppercase equivalent of this string slice, as a new String.

    ‘Uppercase’ is defined according to the terms of the Unicode Derived Core Property Uppercase.

    Since some characters can expand into multiple characters when changing -the case, this function returns a String instead of modifying the +the case, this function returns a String instead of modifying the parameter in-place.

    Examples

    Basic usage:

    @@ -1303,7 +1306,7 @@ parameter in-place.

    let s = "tschüß";
     
     assert_eq!("TSCHÜSS", s.to_uppercase());
    -

    Creates a new String by repeating a string n times.

    +

    Creates a new String by repeating a string n times.

    Panics

    This function will panic if the capacity would overflow.

    Examples
    @@ -1314,49 +1317,49 @@ parameter in-place.

    // this will panic at runtime
     let huge = "0123456789abcdef".repeat(usize::MAX);
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII upper case equivalent.

    ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, but non-ASCII letters are unchanged.

    -

    To uppercase the value in-place, use make_ascii_uppercase.

    +

    To uppercase the value in-place, use make_ascii_uppercase.

    To uppercase ASCII characters in addition to non-ASCII characters, use to_uppercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("GRüßE, JüRGEN ❤", s.to_ascii_uppercase());
    -

    Returns a copy of this string where each character is mapped to its +

    Returns a copy of this string where each character is mapped to its ASCII lower case equivalent.

    ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, but non-ASCII letters are unchanged.

    -

    To lowercase the value in-place, use make_ascii_lowercase.

    +

    To lowercase the value in-place, use make_ascii_lowercase.

    To lowercase ASCII characters in addition to non-ASCII characters, use to_lowercase.

    Examples
    let s = "Grüße, Jürgen ❤";
     
     assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
    -

    Trait Implementations

    The resulting type after dereferencing.

    -

    Dereferences the value.

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    The resulting type after dereferencing.

    +

    Dereferences the value.

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/struct.IndexPage.html b/mcaptcha/widget/struct.IndexPage.html index da59a09a..a50b60c7 100644 --- a/mcaptcha/widget/struct.IndexPage.html +++ b/mcaptcha/widget/struct.IndexPage.html @@ -1,35 +1,36 @@ -IndexPage in mcaptcha::widget - Rust -
    pub struct IndexPage;

    Implementations

    Trait Implementations

    Returns a copy of the value. Read more

    +

    Performs copy-assignment from source. Read more

    Render the template and return the rendering result as RenderResult Read more

    -

    Render the template and append the result to buf. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Render the template and append the result to buf. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The resulting type after obtaining ownership.

    -

    Creates owned data from borrowed data, usually by cloning. Read more

    -
    🔬 This is a nightly-only experimental API. (toowned_clone_into)

    Uses borrowed data to replace owned data, usually by cloning. Read more

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The resulting type after obtaining ownership.

    +

    Creates owned data from borrowed data, usually by cloning. Read more

    +

    Uses borrowed data to replace owned data, usually by cloning. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/mcaptcha/widget/struct.show_widget.html b/mcaptcha/widget/struct.show_widget.html index edfc280d..68e77cf2 100644 --- a/mcaptcha/widget/struct.show_widget.html +++ b/mcaptcha/widget/struct.show_widget.html @@ -1,29 +1,30 @@ -show_widget in mcaptcha::widget - Rust -
    pub struct show_widget;
    Expand description

    render a client side widget for CAPTCHA verification

    -

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    -

    Immutably borrows from an owned value. Read more

    -

    Mutably borrows from an owned value. Read more

    -

    Returns the argument unchanged.

    +

    Trait Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Returns the argument unchanged.

    Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more

    -

    Calls U::from(self).

    +

    Calls U::from(self).

    That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

    +From<T> for U chooses to do.

    Should always be Self

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    The type returned in the event of a conversion error.

    -

    Performs the conversion.

    -

    Attaches the provided Subscriber to this type, returning a +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

    Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

    -
    +
    \ No newline at end of file diff --git a/noscript.css b/noscript.css index 8ad88640..d850bb38 100644 --- a/noscript.css +++ b/noscript.css @@ -1 +1 @@ - #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}.sub{display:none;}#theme-picker{display:none;} \ No newline at end of file + #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}.sub{display:none;} \ No newline at end of file diff --git a/rustdoc.css b/rustdoc.css index 46b58774..26904c7b 100644 --- a/rustdoc.css +++ b/rustdoc.css @@ -1 +1 @@ - @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc h3,.top-doc h4{border-bottom:1px solid;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.source .sidebar>*:not(#sidebar-toggle){opacity:0;visibility:hidden;}.source .sidebar.expanded{overflow-y:auto;}.source .sidebar.expanded>*:not(#sidebar-toggle){opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.line-numbers{text-align:right;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information):not(.more-examples-toggle){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}#main-content{position:relative;}#main-content>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.item-info{display:block;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;margin-left:0.25em;padding-left:0.3125em;padding-right:23px;border:0;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;transition:border-color 300ms ease;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.item-info .stab{display:inline-block;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:first-child:last-child{margin-right:1px;width:calc(100% - 1px);}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;cursor:pointer;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:-38px;top:4px;}.theme-picker button{outline:none;}#settings-menu,#help-button{margin-left:4px;outline:none;}#theme-picker,#copy-path{height:34px;}#theme-picker,#settings-menu,#help-button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate img{animation:rotating 2s linear infinite;}#help-button{font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.625rem;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.undocumented[open] >summary::before,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.undocumented>summary::before,details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.sidebar.expanded+main .width-limiter .sub-logo-container.rust-logo{display:none;}.source .sidebar.expanded{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;background-color:rgba(0,0,0,0);margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.source .sidebar{top:0;padding:0;}.sidebar.shown,.sidebar.expanded,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.source nav:not(.sidebar).sub{margin-left:32px;}#theme-picker{display:none;width:0;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}.sidebar.expanded #sidebar-toggle{font-size:1.5rem;}.sidebar:not(.expanded) #sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source .sidebar.expanded{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;border:0;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}.sidebar:not(.expanded) #sidebar-toggle{top:10px;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;background:transparent;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example-title{font-family:'Fira Sans';}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:240px;}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow-x:hidden;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-examples-toggle summary,.more-examples-toggle .hide-more{font-family:'Fira Sans';}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;font-family:'Fira Sans';}.example-links ul{margin-bottom:0;} \ No newline at end of file + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:20px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}h1.fqn{margin:0;padding:0;}.main-heading{display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:6px;margin-bottom:15px;}.main-heading a:hover{text-decoration:underline;}#toggle-all-docs{text-decoration:none;}h2,.top-doc h3,.top-doc h4{border-bottom:1px solid;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;border-bottom-style:none;margin:0;padding:0;margin-top:0.6em;margin-bottom:0.4em;}.impl,.impl-items .method,.methods .method,.impl-items .type,.methods .type,.impl-items .associatedconstant,.methods .associatedconstant,.impl-items .associatedtype,.methods .associatedtype{flex-basis:100%;font-weight:600;position:relative;}div.impl-items>div{padding-left:0;}h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,a.source,.search-input,.search-results .result-name,.content table td:first-child>a,.item-left>a,.out-of-band,span.since,#source-sidebar,#sidebar-toggle,details.rustdoc-toggle>summary::before,div.impl-items>div:not(.docblock):not(.item-info),.content ul.crate a.crate,a.srclink,#main-content>ul.docblock>li>a{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}summary{outline:none;}td,th{padding:0;}table{border-collapse:collapse;}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;}button{padding:1px 6px;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}.source .width-limiter{max-width:unset;}details:not(.rustdoc-toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;}.docblock.item-decl{margin-left:0;}.item-decl pre{overflow-x:auto;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{max-width:none;overflow:visible;margin-left:0px;}nav.sub{position:relative;font-size:1rem;}.sub-container{display:flex;flex-direction:row;flex-wrap:nowrap;}.sub-logo-container{display:none;margin-right:20px;}.source .sub-logo-container{display:block;}.source .sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.sidebar{font-size:0.875rem;width:250px;min-width:200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.sidebar-elems,.sidebar>.location{padding-left:24px;}.sidebar .location{overflow-wrap:anywhere;}.rustdoc.source .sidebar{width:50px;min-width:0px;max-width:300px;flex-grow:0;flex-shrink:0;flex-basis:auto;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.rustdoc.source .sidebar .sidebar-logo{display:none;}.source .sidebar>*:not(#sidebar-toggle){opacity:0;visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;}.source-sidebar-expanded .source .sidebar>*:not(#sidebar-toggle){opacity:1;visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.hidden{display:none !important;}.sidebar .logo-container{display:flex;margin-top:10px;margin-bottom:10px;justify-content:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}.location:empty{border:none;}.location a:first-of-type{font-weight:500;}.block{padding:0;}.block ul,.block li{padding:0;margin:0;list-style:none;}.block a,h2.location a{display:block;padding:0.25rem;margin-left:-0.25rem;text-overflow:ellipsis;overflow:hidden;}.sidebar h2{border-bottom:none;font-weight:500;padding:0;margin:0;margin-top:0.7rem;margin-bottom:0.7rem;}.sidebar h3{font-size:1.125rem;font-weight:500;padding:0;margin:0;}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;}.mobile-topbar{display:none;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;padding:13px 8px;text-align:right;border-top-left-radius:5px;border-bottom-left-radius:5px;}.example-wrap>pre.rust a:hover{text-decoration:underline;}.line-numbers{text-align:right;}.rustdoc:not(.source) .example-wrap>pre:not(.line-number){width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre.line-numbers{width:auto;overflow-x:visible;}.rustdoc .example-wrap>pre{margin:0;}#search{position:relative;}.search-loading{text-align:center;}#results>table{width:100%;table-layout:fixed;}.content>.example-wrap pre.line-numbers{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.information):not(.more-examples-toggle){max-width:100%;overflow-x:auto;}.content .out-of-band{flex-grow:0;font-size:1.125rem;font-weight:normal;float:right;}.method>.code-header,.trait-impl>.code-header{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{flex-grow:1;margin:0px;padding:0px;overflow-wrap:break-word;overflow-wrap:anywhere;}.in-band>code,.in-band>.code-header{display:inline-block;}#main-content{position:relative;}#main-content>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.125rem;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);overflow-x:auto;display:block;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content>.methods>.method{font-size:1rem;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.875rem;}.content .methods>div:not(.notable-traits):not(.method){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.item-info{display:block;}.content .item-info code{font-size:0.875rem;}.content .item-info{position:relative;margin-left:24px;}.sub-variant>div>.item-info{margin-top:initial;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main-content>.item-info{margin-top:0;margin-left:0;}nav.sub{flex-grow:1;margin-bottom:25px;}.source nav.sub{margin-left:32px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}a{text-decoration:none;background:transparent;}.small-section-header{display:flex;justify-content:space-between;position:relative;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor,.associatedtype.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.anchor::before{content:'§';}.docblock a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.srclink):not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.block a.current.crate{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-container{position:relative;display:flex;height:34px;}.search-container>*{height:100%;}.search-results-title{display:inline;}#search-settings{font-size:1.5rem;font-weight:500;margin-bottom:20px;}#crate-search{min-width:115px;margin-top:5px;margin-left:0.25em;padding-left:0.3125em;padding-right:23px;border:1px solid;border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;background-image:url("down-arrow.svg");}.search-container{margin-top:4px;}.search-input{-webkit-appearance:none;-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:1px solid;border-radius:2px;padding:8px;font-size:1rem;transition:border-color 300ms ease;width:100%;}.search-results{display:none;padding-bottom:2em;}.search-results.active{display:block;clear:both;}.search-results .desc>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results>a{display:block;width:100%;margin-left:2px;margin-right:2px;border-bottom:1px solid #aaa3;}.search-results>a>div{display:flex;flex-flow:row wrap;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:50%;}.search-results .result-name{padding-right:1em;}.search-results .result-name>span{display:inline-block;margin:0;font-weight:normal;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{text-align:center;display:block;margin:10px 0;border-bottom:1px solid;padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.item-info .stab{display:inline-block;}.stab{padding:3px;margin-bottom:5px;font-size:0.875rem;font-weight:normal;}.stab p{display:inline;}.stab .emoji{font-size:1.25rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab,.import-item .stab{border-radius:3px;display:inline-block;font-size:0.875rem;line-height:1.2;margin-bottom:0;margin-left:0.3125em;padding:2px;vertical-align:text-bottom;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{font-weight:normal;font-size:1rem;}.rightside{float:right;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;}.example-wrap:hover .test-arrow{visibility:visible;}a.test-arrow:hover{text-decoration:none;}.code-attribute{font-weight:300;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:1.25rem;}h3.variant{font-weight:600;font-size:1.125rem;margin-bottom:10px;border-bottom:none;}.sub-variant h4{font-size:1rem;font-weight:400;border-bottom:none;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}:target>code,:target>.code-header{opacity:1;}:target{padding-right:3px;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:1.25rem;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:1rem;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .notable{margin:0;margin-bottom:13px;font-size:1.1875rem;font-weight:600;display:block;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:1.25rem;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:1.125rem;cursor:pointer;border:0;border-top:2px solid;}#titles>button:first-child:last-child{margin-right:1px;width:calc(100% - 1px);}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:1rem;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}#sidebar-toggle{position:sticky;top:0;left:0;cursor:pointer;font-weight:bold;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:center;align-items:center;z-index:10;}#source-sidebar{width:100%;z-index:1;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid;margin-bottom:6px;}#settings-menu,#help-button{margin-left:4px;outline:none;}#copy-path{height:34px;}#settings-menu>a,#help-button,#copy-path{padding:5px;width:33px;border:1px solid;border-radius:2px;cursor:pointer;}#settings-menu{padding:0;}#settings-menu>a{padding:5px;width:100%;height:100%;display:block;}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}#help-button{font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:20px;padding-top:2px;}#copy-path{background:initial;margin-left:10px;padding:0;padding-left:2px;border:0;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);overflow-wrap:normal;}#theme-choices>button:not(:first-child){border-top:1px solid;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:1rem;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:1.125rem;display:block;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main-content>ul{padding-left:10px;}#main-content>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.625rem;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}details.rustdoc-toggle>summary.hideme{cursor:pointer;}details.rustdoc-toggle>summary{list-style:none;}details.rustdoc-toggle>summary::-webkit-details-marker,details.rustdoc-toggle>summary::marker{display:none;}details.rustdoc-toggle>summary.hideme>span{margin-left:9px;}details.rustdoc-toggle>summary::before{content:"";cursor:pointer;width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;vertical-align:middle;opacity:.5;}details.rustdoc-toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.rustdoc-toggle>summary.hideme::after{content:"";}details.rustdoc-toggle>summary:focus::before,details.rustdoc-toggle>summary:hover::before{opacity:1;}details.rustdoc-toggle.top-doc>summary,details.rustdoc-toggle.top-doc>summary::before,details.rustdoc-toggle.non-exhaustive>summary,details.rustdoc-toggle.non-exhaustive>summary::before{font-family:'Fira Sans';font-size:1rem;}details.non-exhaustive{margin-bottom:8px;}details.rustdoc-toggle>summary.hideme::before{position:relative;}details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.rustdoc-toggle[open] >summary.hideme{position:absolute;}details.rustdoc-toggle{position:relative;}details.rustdoc-toggle[open] >summary.hideme>span{display:none;}details.undocumented[open] >summary::before,details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{background-image:url("toggle-minus.svg");}details.undocumented>summary::before,details.rustdoc-toggle>summary::before{background-image:url("toggle-plus.svg");}details.rustdoc-toggle[open] >summary::before,details.rustdoc-toggle[open] >summary.hideme::before{width:16px;height:16px;background-repeat:no-repeat;background-position:top left;display:inline-block;content:"";}details.rustdoc-toggle[open] >summary::after,details.rustdoc-toggle[open] >summary.hideme::after{content:"Collapse";}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}.source-sidebar-expanded .source .sidebar+main .width-limiter .sub-logo-container.rust-logo{display:none;}.source-sidebar-expanded .source .sidebar{width:300px;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{padding-top:0px;display:block;}main{padding-left:15px;padding-top:0px;}.rustdoc,.main-heading{flex-direction:column;}.content .out-of-band{text-align:left;margin-left:initial;padding:initial;}.content .out-of-band .since::before{content:"Since ";}#copy-path{display:none;}.sidebar .sidebar-logo,.sidebar .location{display:none;}.sidebar-elems{margin-top:1em;}.sidebar{position:fixed;top:45px;left:-1000px;margin-left:0;background-color:rgba(0,0,0,0);margin:0;padding:0;z-index:11;height:calc(100vh - 45px);}.source main,.source .sidebar{top:0;padding:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.sidebar:focus-within{left:0;}.rustdoc.source>.sidebar{position:fixed;margin:0;z-index:11;width:0;}.mobile-topbar .location a{padding:0;margin:0;}.mobile-topbar .location{border:none;padding:0;margin:auto 0.5em auto auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:24px;}.mobile-topbar .logo-container{max-height:45px;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin-left:20px;margin-top:5px;margin-bottom:5px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.source .mobile-topbar{display:none;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;}.source nav:not(.sidebar).sub{margin-left:32px;}.content{margin-left:0px;}.source .content{margin-top:10px;}#search{margin-left:0;padding:0;}.anchor{display:none !important;}.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}#main-content>details.rustdoc-toggle>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}#sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;border:1px solid;border-left:0;}.source-sidebar-expanded #sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;}#source-sidebar{z-index:11;}#main-content>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}#help-button{display:none;}.item-table{display:block;}.item-row{display:flex;flex-flow:column wrap;}.item-left,.item-right{width:100%;}.search-results>a{border-bottom:1px solid #aaa9;padding:5px 0px;}.search-results .result-name,.search-results div.desc,.search-results .result-description{width:100%;}.search-results div.desc,.search-results .result-description,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.rustdoc-toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.rustdoc-toggle>summary:not(.hideme)::before,#main-content>details.rustdoc-toggle:not(.top-doc)>summary::before,#main-content>div>details.rustdoc-toggle>summary::before{left:-11px;}}@media print{nav.sub,.content .out-of-band{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main-content>table:not(.table-display) td{word-break:break-word;width:50%;}#crate-search{border-radius:4px;}.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}.sub-container{flex-direction:column;}.sub-logo-container{align-self:center;}.source .sub-logo-container>img{height:35px;width:35px;}#sidebar-toggle{top:10px;}.source-sidebar-expanded #sidebar-toggle{top:unset;}}.method-toggle summary,.implementors-toggle summary,.impl{margin-bottom:0.75em;}.method-toggle[open]{margin-bottom:2em;}.implementors-toggle[open]{margin-bottom:2em;}#trait-implementations-list .method-toggle,#synthetic-implementations-list .method-toggle,#blanket-implementations-list .method-toggle{margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;background:transparent;border-width:1px;border-style:solid;border-radius:50px;}.scraped-example-title{font-family:'Fira Sans';}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:240px;}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;max-height:240px;padding-bottom:0;}.scraped-example:not(.expanded) .code-wrapper pre.line-numbers{overflow-x:hidden;}.scraped-example .code-wrapper .prev{position:absolute;top:0.25em;right:2.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .next{position:absolute;top:0.25em;right:1.25em;z-index:100;cursor:pointer;}.scraped-example .code-wrapper .expand{position:absolute;top:0.25em;right:0.25em;z-index:100;cursor:pointer;}.scraped-example:not(.expanded) .code-wrapper:before{content:" ";width:100%;height:5px;position:absolute;z-index:100;top:0;}.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:100;bottom:0;}.scraped-example .code-wrapper .line-numbers{margin:0;padding:14px 0;}.scraped-example .code-wrapper .line-numbers span{padding:0 14px;}.scraped-example .code-wrapper .example-wrap{flex:1;overflow-x:auto;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .code-wrapper .example-wrap pre.rust{overflow-x:inherit;width:inherit;overflow-y:hidden;}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;margin-bottom:5px;cursor:pointer;}.more-examples-toggle summary,.more-examples-toggle .hide-more{font-family:'Fira Sans';}.more-scraped-examples{margin-left:5px;display:flex;flex-direction:row;}.more-scraped-examples-inner{width:calc(100% - 20px);}.toggle-line{align-self:stretch;margin-right:10px;margin-top:5px;padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;}.more-scraped-examples .scraped-example{margin-bottom:20px;}.more-scraped-examples .scraped-example:last-child{margin-bottom:0;}.example-links a{margin-top:20px;font-family:'Fira Sans';}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/search-index.js b/search-index.js index 72096820..fa2c8db5 100644 --- a/search-index.js +++ b/search-index.js @@ -1,7 +1,8 @@ var searchIndex = JSON.parse('{\ -"db_core":{"doc":"mCaptcha database operations","t":[3,3,8,3,13,2,3,4,8,3,3,3,3,3,3,3,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,0,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,23,13,6,13,13,4,13,6,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,16,8,8,8,8,16,10,10,10,5],"n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_core","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_core::Login","","db_core::dev","db_core::errors","","","","","","","","","","","","","","","","","","","","","","","","db_core::errors::DBError","db_core::ops","","","","","","","","","db_core::tests"],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name of the notification","","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","times at which the PoW was solved","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,3,2,4,5,1,6,7,8,9,3,10,11,12,13,14,4,5,1,6,7,8,9,3,10,11,12,13,7,12,7,2,2,7,8,9,3,10,12,13,2,2,2,2,10,12,4,5,1,6,7,8,9,3,10,11,12,13,0,11,10,12,4,2,4,5,1,6,7,8,9,3,10,11,12,13,0,2,2,2,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,9,2,2,2,2,2,2,2,2,2,2,4,6,8,9,8,4,5,1,6,7,8,9,3,10,11,12,13,10,12,2,8,9,8,4,5,1,6,7,8,9,3,10,11,12,13,5,0,3,2,0,8,2,2,2,2,4,13,4,5,1,6,7,8,9,3,10,11,12,13,7,0,9,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,2,2,2,2,2,2,4,5,6,2,11,4,5,1,6,7,8,9,3,10,11,12,13,15,16,0,17,0,17,17,0,17,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,19,0,0,0,0,20,20,19,21,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["level",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4,[["level",3]]]],[[],["result",4]],[[],["result",4]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[4,"Login"],[8,"MCDatabase"],[3,"TrafficPattern"],[3,"Register"],[3,"UpdateEmail"],[3,"NameHash"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"AddNotification"],[3,"CreateCaptcha"],[3,"Level"],[3,"Captcha"],[3,"Secret"],[8,"CloneSPDatabase"],[13,"Username"],[13,"Email"],[4,"DBError"],[13,"DBError"],[8,"GetConnection"],[8,"Connect"],[8,"Migrate"]]},\ -"db_sqlx_maria":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_secret_from_captcha","get_secret_from_captcha","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_maria","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::ConnectionOptions","","db_sqlx_maria::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::DBError","","db_sqlx_maria::dev::Error","","","","","","","","","","","","","db_sqlx_maria::dev::Login","","","","db_sqlx_maria::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::DBError","db_sqlx_maria::dev::dev::Login","","db_sqlx_maria::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::prelude::DBError","db_sqlx_maria::dev::dev::prelude::Login","","db_sqlx_maria::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::errors::DBError","","db_sqlx_maria::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::DBError","db_sqlx_maria::dev::prelude::Login","","db_sqlx_maria::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::dev::DBError","db_sqlx_maria::dev::prelude::dev::Login","","db_sqlx_maria::dev::tests","","db_sqlx_maria::errors","","db_sqlx_maria::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::DBError","db_sqlx_maria::prelude::Login","","db_sqlx_maria::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::DBError","db_sqlx_maria::prelude::dev::Login","","db_sqlx_maria::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::prelude::DBError","db_sqlx_maria::prelude::dev::prelude::Login","","db_sqlx_maria::prelude::errors","","","","","","","","","","","","db_sqlx_maria::prelude::errors::DBError","db_sqlx_maria::prelude::ops","","","","","","","","","db_sqlx_maria::prelude::tests"],"d":["","Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create database connection","Create database connection","data required to create new captcha","data required to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","traffic that bought the user’s website down; optional","traffic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig confirms","fetch PoWConfig solves","fetch PoWConfig solves","","","","","","","Returns the argument unchanged.","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","get a user’s secret from a captcha key","get a user’s secret from a captcha key","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","message of the notification","message of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create database connection","Create database connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[],["error",4]],[[["migrateerror",4]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["error",3]],["error",4]],[[]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ -"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_secret_from_captcha","get_secret_from_captcha","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","","db_sqlx_postgres::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create database connection","Create database connection","data required to create new captcha","data required to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","traffic that bought the user’s website down; optional","traffic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig confirms","fetch PoWConfig solves","fetch PoWConfig solves","","","","Returns the argument unchanged.","","","","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","get a user’s secret from a captcha key","get a user’s secret from a captcha key","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","message of the notification","message of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create database connection","Create database connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["migrateerror",4]],["error",4]],[[]],[[["error",3]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[],["error",4]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ -"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,6,0,0,5,5,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,4,3,3,13,13,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","DBType","Database","DefaultDifficultyStrategy","Maria","Postgres","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","into","into","into","into","into","into","into","into","ip","new","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","proxy_has_tls","queue_length","redis","reply","runners","salt","serialize","server","set_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::db","","","mcaptcha::db::maria","mcaptcha::db::pg","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,0,89,90,91,89,90,91,89,90,89,90,89,90,89,90,89,90,91,89,90,91,90,91,90,89,90,89,90,90,89,90,91,89,90,91,89,90,91,89,0,89,90,91,0,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,93,0,93,0,93,93,20,93,20,20,20,20,0,0,93,20,20,20,93,93,20,20,93,20,93,93,93,20,20,93,20,93,20,93,20,93,93,93,20,94,95,0,0,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,98,99,100,101,98,99,100,101,0,98,99,100,101,98,98,0,0,98,99,100,101,98,98,99,100,101,0,0,0,98,99,100,101,98,99,100,101,98,99,100,101,98,99,100,101,0,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,103,103,103,103,103,103,103,103,103,103,103,103,103,0,103,103,104,105,106,106,106,106,106,106,0,106,0,106,107,106,106,0,0,106,106,106,106,0,107,0,0,106,106,106,106,106,106,106,104,105,106,108,107,104,105,106,108,107,108,104,105,106,107,108,106,107,104,104,105,105,106,106,107,107,104,105,106,106,106,106,106,106,106,106,106,108,107,107,107,104,105,106,108,107,106,107,108,104,105,106,107,106,107,104,105,106,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,109,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,144,145,146,147,144,145,146,147,144,146,144,146,144,0,146,144,145,146,147,144,145,146,147,144,146,144,144,144,146,146,145,147,144,146,144,146,144,146,144,145,146,147,144,145,146,147,144,145,146,147,144,145,146,147,0,0,148,149,148,149,148,148,148,149,148,149,0,148,149,148,148,148,148,148,149,148,149,148,149,148,149,0,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,0,0,151,152,151,152,151,151,151,151,152,151,152,151,151,151,151,152,151,151,151,151,151,152,151,152,151,152,0,151,152,0,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,154,155,154,156,155,154,156,155,155,155,154,155,155,154,156,155,154,156,156,155,155,0,155,155,154,156,155,154,156,155,154,156,155,155,154,156,0,0,0,0,0,157,157,0,0,0,0,19,19,158,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,158,19,0,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,19,159,19,162,19,160,159,160,158,161,157,162,163,19,159,158,160,157,159,160,158,161,157,157,162,163,19,159,160,158,161,157,162,163,19,161,157,160,159,159,160,158,161,157,162,163,19,159,19,161,158,162,163,159,161,159,160,19,161,160,160,157,19,0,19,19,159,160,158,161,157,162,163,19,157,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,161,162,163,159,161,159,160,158,161,157,162,163,19,0,0,0,0,0,164,164,164,164,164,164,164,164,164,164,164,0,0,0,165,166,167,168,165,166,167,168,0,165,166,167,168,165,165,167,167,0,0,165,166,167,168,165,165,167,167,166,168,0,165,166,167,168,165,166,167,168,165,166,167,168,165,166,167,168,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,169,170,171,169,170,171,169,170,171,169,170,171,172,169,169,169,170,171,169,169,170,171,173,170,171,169,170,171,169,170,171,169,170,171,169,173,170,171,173,170,171,173,170,171,169,169,169,170,171,169,170,171,169,170,171,169,170,171,169,170,171,0,0,0,0,174,175,174,176,175,174,176,175,175,174,175,174,176,175,174,176,175,176,175,175,0,0,0,175,175,174,176,175,174,176,175,174,176,175,174,176,0,177,177,177,177,177,177,177,177,177,177],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["settings",3]],[[["",0]],["filemap",3]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accountcheckpayload",3]],[[["",0]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["email",3]],[[["",0],["",0]]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[["changepasswordreqest",3]]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["username",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["register",3]],[[["",0]],["login",3]],[[["",0]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]]],null,null,null,[[["register",3],["appdata",6]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpatternrequest",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["levels",3]],[[["",0]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["",0]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["",0]],["builddetails",3]],[[["",0]],["builddetailsbuilder",3]],[[["",0]],["health",3]],[[["",0]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0],["bool",0]],["",0]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["uninitializedfielderror",3]]],[[["string",3]]],[[]],[[]],[[]],[[]],[[["uninitializedfielderror",3]]],[[["string",3]]],[[]],[[]],[[["",0],["str",0]],["",0]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["",0],["option",4,[["bool",0]]]],["",0]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0]],["",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4]],[[["",0],["addnotificationrequest",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["",0],["addnotificationrequest",3]],["bool",0]],[[["appservice",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4]],[[["",0],["notificationresp",3]],["bool",0]],[[]],[[["notification",3]]],[[]],[[["vec",3,[["notification",3]]]],["vec",3]],null,null,null,[[]],[[]],null,null,[[["",0],["notificationresp",3]],["bool",0]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0]],["str",0]],null,[[]],[[]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["str",0]],null,[[["",0]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchavalidateresp",3]],[[["",0]],["verifycaptcharesultpayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0],["addsite",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[["settings",3]]],[[["settings",3]]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["verifycaptcharesult",3]]],[[["",0],["work",3],["string",3]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["date",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]]],[[["",0]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["option",4,[["settings",3]]]]],[[["option",4,[["settings",3]]]]],null,null,null,[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]]],[[]],null,[[]],[[["appdata",6]]],[[["appdata",6],["duration",3]]],[[["appdata",6],["duration",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[],["filenames",4]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["mailboxerror",4]]],[[]],[[["credserror",4]],["serviceerror",4]],[[["dberror",4]],["serviceerror",4]],[[["validationerrors",3]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["smtperror",3]]],[[["captchaerror",4]],["serviceerror",4]],[[["recverror",3]]],[[]],[[]],[[["dberror",4]]],[[["serviceerror",4]]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sudopage",3]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["errorpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]]],null,null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["notification",3]]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]]],null,[[["",0]],["string",3]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["advanceindexpage",3]],[[["",0]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpatternrequest",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[]],[[["",0],["str",0]],["string",3]],[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["",0]],["server",3]],[[["",0]],["captcha",3]],[[["",0]],["defaultdifficultystrategy",3]],[[["",0]],["smtp",3]],[[["",0]],["dbtype",4]],[[["",0]],["database",3]],[[["",0]],["redis",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,[[["",0],["dbtype",4]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["url",3]],["result",4,[["configerror",4]]]],null,[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",4,[["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["result",4]],null,[[["config",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["str",0]],["option",4,[["str",0]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[]],[[],["filenames",4]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchastats",3]],[[["",0]],["real",3]],[[["",0]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["real",3]],["bool",0]],[[["",0],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[4,"DBType"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ +"db_core":{"doc":"mCaptcha database operations","t":[3,3,8,3,13,2,3,4,8,3,3,3,3,3,3,3,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,0,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,23,13,6,13,13,4,13,6,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,16,8,8,8,8,16,10,10,10,5],"n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_core","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_core::Login","","db_core::dev","db_core::errors","","","","","","","","","","","","","","","","","","","","","","","","db_core::errors::DBError","db_core::ops","","","","","","","","","db_core::tests"],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","receiver name of the notification","","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","times at which the PoW was solved","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,3,2,4,5,1,6,7,8,9,3,10,11,12,13,14,4,5,1,6,7,8,9,3,10,11,12,13,7,12,7,2,2,7,8,9,3,10,12,13,2,2,2,2,10,12,4,5,1,6,7,8,9,3,10,11,12,13,0,11,10,12,4,2,4,5,1,6,7,8,9,3,10,11,12,13,0,2,2,2,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,9,2,2,2,2,2,2,2,2,2,2,4,6,8,9,8,4,5,1,6,7,8,9,3,10,11,12,13,10,12,2,8,9,8,4,5,1,6,7,8,9,3,10,11,12,13,5,0,3,2,0,8,2,2,2,2,4,13,4,5,1,6,7,8,9,3,10,11,12,13,7,0,9,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,4,5,1,6,7,8,9,3,10,11,12,13,2,2,2,2,2,2,4,5,6,2,11,4,5,1,6,7,8,9,3,10,11,12,13,15,16,0,17,0,17,17,0,17,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,19,0,0,0,0,20,20,19,21,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["register",3]],["register",3]],[[["updateemail",3]],["updateemail",3]],[[["login",4]],["login",4]],[[["namehash",3]],["namehash",3]],[[["statsunixtimestamp",3]],["statsunixtimestamp",3]],[[["notification",3]],["notification",3]],[[["addnotification",3]],["addnotification",3]],[[["trafficpattern",3]],["trafficpattern",3]],[[["createcaptcha",3]],["createcaptcha",3]],[[["level",3]],["level",3]],[[["captcha",3]],["captcha",3]],[[["secret",3]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["level",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["level",3],["level",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["register",3],["formatter",3]],["result",6]],[[["updateemail",3],["formatter",3]],["result",6]],[[["login",4],["formatter",3]],["result",6]],[[["namehash",3],["formatter",3]],["result",6]],[[["statsunixtimestamp",3],["formatter",3]],["result",6]],[[["notification",3],["formatter",3]],["result",6]],[[["addnotification",3],["formatter",3]],["result",6]],[[["trafficpattern",3],["formatter",3]],["result",6]],[[["createcaptcha",3],["formatter",3]],["result",6]],[[["level",3],["formatter",3]],["result",4,[["error",3]]]],[[["captcha",3],["formatter",3]],["result",6]],[[["secret",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["level",3],["level",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["register",3]],["result",4]],[[["updateemail",3]],["result",4]],[[["login",4]],["result",4]],[[["namehash",3]],["result",4]],[[["statsunixtimestamp",3]],["result",4]],[[["notification",3]],["result",4]],[[["addnotification",3]],["result",4]],[[["trafficpattern",3]],["result",4]],[[["createcaptcha",3]],["result",4]],[[["level",3]],["result",4]],[[["captcha",3]],["result",4]],[[["secret",3]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["dberror",4],["formatter",3]],["result",6]],[[["dberror",4],["formatter",3]],["result",6]],[[]],[[]],[[["dberror",4]],["option",4,[["error",8]]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]]],"p":[[4,"Login"],[8,"MCDatabase"],[3,"TrafficPattern"],[3,"Register"],[3,"UpdateEmail"],[3,"NameHash"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"AddNotification"],[3,"CreateCaptcha"],[3,"Level"],[3,"Captcha"],[3,"Secret"],[8,"CloneSPDatabase"],[13,"Username"],[13,"Email"],[4,"DBError"],[13,"DBError"],[8,"GetConnection"],[8,"Connect"],[8,"Migrate"]]},\ +"db_sqlx_maria":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,3,6,3,13,13,8,13,13,13,13,16,8,3,4,13,8,6,2,13,13,13,13,4,8,13,3,4,8,8,13,3,3,13,16,13,13,13,3,13,3,13,3,13,3,13,13,3,13,13,13,10,10,11,23,12,11,11,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,0,10,10,10,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,12,12,10,12,12,10,12,12,0,12,10,0,12,10,10,10,10,12,12,12,11,0,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,0,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,0,12,10,0,12,10,10,10,10,12,12,12,0,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","as_database_error","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","source","tests","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","tests","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_maria","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::ConnectionOptions","","db_sqlx_maria::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::DBError","db_sqlx_maria::dev::Error","","","","","","","","","","","","","db_sqlx_maria::dev::Login","","db_sqlx_maria::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::DBError","db_sqlx_maria::dev::dev::Login","","db_sqlx_maria::dev::dev::errors","","","","","","","","","","","","db_sqlx_maria::dev::dev::errors::DBError","db_sqlx_maria::dev::dev::ops","","","","","","","","","db_sqlx_maria::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::prelude::DBError","db_sqlx_maria::dev::dev::prelude::Login","","db_sqlx_maria::dev::dev::tests","db_sqlx_maria::dev::errors","","","","","","","","","","","","db_sqlx_maria::dev::errors::DBError","db_sqlx_maria::dev::ops","","","","","","","","","db_sqlx_maria::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::DBError","db_sqlx_maria::dev::prelude::Login","","db_sqlx_maria::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::dev::DBError","db_sqlx_maria::dev::prelude::dev::Login","","db_sqlx_maria::dev::tests","db_sqlx_maria::errors","","db_sqlx_maria::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::DBError","db_sqlx_maria::prelude::Login","","db_sqlx_maria::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::DBError","db_sqlx_maria::prelude::dev::Login","","db_sqlx_maria::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::prelude::DBError","db_sqlx_maria::prelude::dev::prelude::Login","","db_sqlx_maria::prelude::errors","","","","","","","","","","","","db_sqlx_maria::prelude::errors::DBError","db_sqlx_maria::prelude::ops","","","","","","","","","db_sqlx_maria::prelude::tests"],"d":["","Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","Returns the argument unchanged.","","","","","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Test utilities","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,0,0,0,8,8,0,9,9,9,9,10,0,0,0,8,0,0,0,9,9,11,8,0,0,9,0,0,0,0,9,0,0,8,12,9,9,9,0,9,0,8,0,9,0,8,9,0,11,8,9,13,13,9,0,14,9,9,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,0,13,13,13,9,9,9,9,9,9,9,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,9,9,18,17,13,23,21,24,23,25,0,14,13,0,23,13,13,13,13,20,26,16,9,0,21,9,9,9,9,13,13,13,13,13,13,20,25,22,13,19,9,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,0,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,0,14,13,0,23,13,13,13,13,20,26,16,0,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["database",3],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3]],["database",3]],[[["innernotification",3]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["connectionoptions",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["innernotification",3],["innernotification",3]],["bool",0]],null,[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["innernotification",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["database",3],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["database",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["innernotification",3],["innernotification",3]],["bool",0]],[[["database",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["database",3],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["error",4]],["option",4,[["databaseerror",8]]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["error",4],["formatter",3]],["result",4,[["error",3]]]],[[["error",4],["formatter",3]],["result",4,[["error",3]]]],[[]],[[],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["error",3]],["error",4]],[[["migrateerror",4]],["error",4]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[["error",4]],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["error",4]],["option",4,[["error",8]]]],null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["register",3]],["register",3]],[[["updateemail",3]],["updateemail",3]],[[["login",4]],["login",4]],[[["namehash",3]],["namehash",3]],[[["statsunixtimestamp",3]],["statsunixtimestamp",3]],[[["notification",3]],["notification",3]],[[["addnotification",3]],["addnotification",3]],[[["trafficpattern",3]],["trafficpattern",3]],[[["createcaptcha",3]],["createcaptcha",3]],[[["captcha",3]],["captcha",3]],[[["secret",3]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["dberror",4],["formatter",3]],["result",4,[["error",3]]]],[[["dberror",4],["formatter",3]],["result",4,[["error",3]]]],[[["register",3],["formatter",3]],["result",4,[["error",3]]]],[[["updateemail",3],["formatter",3]],["result",4,[["error",3]]]],[[["login",4],["formatter",3]],["result",4,[["error",3]]]],[[["namehash",3],["formatter",3]],["result",4,[["error",3]]]],[[["statsunixtimestamp",3],["formatter",3]],["result",4,[["error",3]]]],[[["notification",3],["formatter",3]],["result",4,[["error",3]]]],[[["addnotification",3],["formatter",3]],["result",4,[["error",3]]]],[[["trafficpattern",3],["formatter",3]],["result",4,[["error",3]]]],[[["createcaptcha",3],["formatter",3]],["result",4,[["error",3]]]],[[["captcha",3],["formatter",3]],["result",4,[["error",3]]]],[[["secret",3],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]],["notification",3]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["register",3]],["result",4]],[[["updateemail",3]],["result",4]],[[["login",4]],["result",4]],[[["namehash",3]],["result",4]],[[["statsunixtimestamp",3]],["result",4]],[[["notification",3]],["result",4]],[[["addnotification",3]],["result",4]],[[["trafficpattern",3]],["result",4]],[[["createcaptcha",3]],["result",4]],[[["captcha",3]],["result",4]],[[["secret",3]],["result",4]],null,[[["dberror",4]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["level",3],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["level",3]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ +"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,3,6,3,13,13,8,13,13,13,13,16,8,3,4,13,8,6,2,13,13,13,13,4,8,13,3,4,8,8,13,3,3,13,16,13,13,13,3,13,3,13,3,13,3,13,13,3,13,13,13,10,10,11,23,12,11,11,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,0,10,10,10,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,12,12,10,12,12,10,12,12,0,12,10,0,12,10,10,10,10,12,12,12,11,0,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,0,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,0,12,10,0,12,10,10,10,10,12,12,12,0,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","as_database_error","async_trait","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","source","tests","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","tests","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::errors","","","","","","","","","","","","db_sqlx_postgres::dev::dev::errors::DBError","db_sqlx_postgres::dev::dev::ops","","","","","","","","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::dev::tests","db_sqlx_postgres::dev::errors","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","db_sqlx_postgres::dev::ops","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","","","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","Returns the argument unchanged.","","","","","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","Test utilities","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","traffic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","traffic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create database connection","data required to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","traffic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create database connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,0,0,0,8,8,0,9,9,9,9,10,0,0,0,8,0,0,0,9,9,11,8,0,0,9,0,0,0,0,9,0,0,8,12,9,9,9,0,9,0,8,0,9,0,8,9,0,11,8,9,13,13,9,0,14,9,9,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,0,13,13,13,9,9,9,9,9,9,9,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,9,9,18,17,13,23,21,24,23,25,0,14,13,0,23,13,13,13,13,20,26,16,9,0,21,9,9,9,9,13,13,13,13,13,13,20,25,22,13,19,9,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,0,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,0,14,13,0,23,13,13,13,13,20,26,16,0,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["database",3],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3]],["database",3]],[[["innernotification",3]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["connectionoptions",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["innernotification",3],["innernotification",3]],["bool",0]],null,[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["innernotification",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["database",3],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["database",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["innernotification",3],["innernotification",3]],["bool",0]],[[["database",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["database",3],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["database",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["database",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["error",4]],["option",4,[["databaseerror",8]]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["error",4],["formatter",3]],["result",4,[["error",3]]]],[[["error",4],["formatter",3]],["result",4,[["error",3]]]],[[]],[[["migrateerror",4]],["error",4]],[[],["error",4]],[[["error",3]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[["error",4]],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["error",4]],["option",4,[["error",8]]]],null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["register",3]],["register",3]],[[["updateemail",3]],["updateemail",3]],[[["login",4]],["login",4]],[[["namehash",3]],["namehash",3]],[[["statsunixtimestamp",3]],["statsunixtimestamp",3]],[[["notification",3]],["notification",3]],[[["addnotification",3]],["addnotification",3]],[[["trafficpattern",3]],["trafficpattern",3]],[[["createcaptcha",3]],["createcaptcha",3]],[[["captcha",3]],["captcha",3]],[[["secret",3]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["dberror",4],["formatter",3]],["result",4,[["error",3]]]],[[["dberror",4],["formatter",3]],["result",4,[["error",3]]]],[[["register",3],["formatter",3]],["result",4,[["error",3]]]],[[["updateemail",3],["formatter",3]],["result",4,[["error",3]]]],[[["login",4],["formatter",3]],["result",4,[["error",3]]]],[[["namehash",3],["formatter",3]],["result",4,[["error",3]]]],[[["statsunixtimestamp",3],["formatter",3]],["result",4,[["error",3]]]],[[["notification",3],["formatter",3]],["result",4,[["error",3]]]],[[["addnotification",3],["formatter",3]],["result",4,[["error",3]]]],[[["trafficpattern",3],["formatter",3]],["result",4,[["error",3]]]],[[["createcaptcha",3],["formatter",3]],["result",4,[["error",3]]]],[[["captcha",3],["formatter",3]],["result",4,[["error",3]]]],[[["secret",3],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]],["notification",3]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["register",3],["register",3]],["bool",0]],[[["updateemail",3],["updateemail",3]],["bool",0]],[[["login",4],["login",4]],["bool",0]],[[["namehash",3],["namehash",3]],["bool",0]],[[["statsunixtimestamp",3],["statsunixtimestamp",3]],["bool",0]],[[["notification",3],["notification",3]],["bool",0]],[[["addnotification",3],["addnotification",3]],["bool",0]],[[["trafficpattern",3],["trafficpattern",3]],["bool",0]],[[["createcaptcha",3],["createcaptcha",3]],["bool",0]],[[["captcha",3],["captcha",3]],["bool",0]],[[["secret",3],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["register",3]],["result",4]],[[["updateemail",3]],["result",4]],[[["login",4]],["result",4]],[[["namehash",3]],["result",4]],[[["statsunixtimestamp",3]],["result",4]],[[["notification",3]],["result",4]],[[["addnotification",3]],["result",4]],[[["trafficpattern",3]],["result",4]],[[["createcaptcha",3]],["result",4]],[[["captcha",3]],["result",4]],[[["secret",3]],["result",4]],null,[[["dberror",4]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["level",3],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["level",3],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["level",3]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]],["future",8]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ +"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,6,0,0,5,5,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,4,3,3,13,13,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","DBType","Database","DefaultDifficultyStrategy","Maria","Postgres","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","into","into","into","into","into","into","into","into","ip","new","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","proxy_has_tls","queue_length","redis","reply","runners","salt","serialize","server","set_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::db","","","mcaptcha::db::maria","mcaptcha::db::pg","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","traffic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route handler that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Get an embedded file and its metadata.","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,0,89,90,91,89,90,91,89,90,89,90,89,90,89,90,89,90,91,89,90,91,90,91,90,89,90,89,90,90,89,90,91,89,90,91,89,90,91,89,0,89,90,91,0,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,93,0,93,0,93,93,20,93,20,20,20,20,0,0,93,20,20,20,93,93,20,20,93,20,93,93,93,20,20,93,20,93,20,93,20,93,93,93,20,94,95,0,0,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,98,99,100,101,98,99,100,101,0,98,99,100,101,98,98,0,0,98,99,100,101,98,98,99,100,101,0,0,0,98,99,100,101,98,99,100,101,98,99,100,101,98,99,100,101,0,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,103,103,103,103,103,103,103,103,103,103,103,103,103,0,103,103,104,105,106,106,106,106,106,106,0,106,0,106,107,106,106,0,0,106,106,106,106,0,107,0,0,106,106,106,106,106,106,106,104,105,106,108,107,104,105,106,108,107,108,104,105,106,107,108,106,107,104,104,105,105,106,106,107,107,104,105,106,106,106,106,106,106,106,106,106,108,107,107,107,104,105,106,108,107,106,107,108,104,105,106,107,106,107,104,105,106,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,109,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,144,145,146,147,144,145,146,147,144,146,144,146,144,0,146,144,145,146,147,144,145,146,147,144,146,144,144,144,146,146,145,147,144,146,144,146,144,146,144,145,146,147,144,145,146,147,144,145,146,147,144,145,146,147,0,0,148,149,148,149,148,148,148,149,148,149,0,148,149,148,148,148,148,148,149,148,149,148,149,148,149,0,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,0,0,151,152,151,152,151,151,151,151,152,151,152,151,151,151,151,152,151,151,151,151,151,152,151,152,151,152,0,151,152,0,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,154,155,154,156,155,154,156,155,155,155,154,155,155,154,156,155,154,156,156,155,155,0,155,155,154,156,155,154,156,155,154,156,155,155,154,156,0,0,0,0,0,157,157,0,0,0,0,19,19,158,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,158,19,0,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,19,159,19,162,19,160,159,160,158,161,157,162,163,19,159,158,160,157,159,160,158,161,157,157,162,163,19,159,160,158,161,157,162,163,19,161,157,160,159,159,160,158,161,157,162,163,19,159,19,161,158,162,163,159,161,159,160,19,161,160,160,157,19,0,19,19,159,160,158,161,157,162,163,19,157,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,161,162,163,159,161,159,160,158,161,157,162,163,19,0,0,0,0,0,164,164,164,164,164,164,164,164,164,164,164,0,0,0,165,166,167,168,165,166,167,168,0,165,166,167,168,165,165,167,167,0,0,165,166,167,168,165,165,167,167,166,168,0,165,166,167,168,165,166,167,168,165,166,167,168,165,166,167,168,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,169,170,171,169,170,171,169,170,171,169,170,171,172,169,169,169,170,171,169,169,170,171,173,170,171,169,170,171,169,170,171,169,170,171,169,173,170,171,173,170,171,173,170,171,169,169,169,170,171,169,170,171,169,170,171,169,170,171,169,170,171,0,0,0,0,174,175,174,176,175,174,176,175,175,174,175,174,176,175,174,176,175,176,175,175,0,0,0,175,175,174,176,175,174,176,175,174,176,175,174,176,0,177,177,177,177,177,177,177,177,177,177],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,null,[[["settings",3]],["settings",3]],[[["files",3]],["filemap",3]],[[["js",3]],["str",0]],[[["css",3]],["str",0]],[[["mobile_css",3]],["str",0]],[[["verificatin_widget_js",3]],["str",0]],[[["verificatin_widget_css",3]],["str",0]],[[["source_files_of_instance",3]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4,[["redirectquery",3]]]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["accountcheckpayload",3]],["accountcheckpayload",3]],[[["accountcheckresp",3]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4,[["accountcheckpayload",3]]]],[[],["result",4,[["accountcheckresp",3]]]],null,null,[[["accountcheckpayload",3],["formatter",3]],["result",6]],[[["accountcheckresp",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["accountcheckpayload",3]],["result",4]],[[["accountcheckresp",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["delete_account",3],["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]],["future",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["email",3]],["email",3]],[[["",0],["",0]]],[[],["result",4,[["email",3]]]],null,null,[[["email",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["email_exists",3],["appservice",3]]],[[["set_email",3],["appservice",3]]],[[["email",3]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["changepasswordreqest",3]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4,[["changepasswordreqest",3]]]],[[["changepasswordreqest",3],["formatter",3]],["result",6]],[[["changepasswordreqest",3]],["updatepassword",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["update_user_password",3],["appservice",3]]],[[["changepasswordreqest",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]],["future",8]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["get_secret",3],["appservice",3]]],[[["update_user_secret",3],["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["username",3]],["username",3]],[[["",0],["",0]]],[[],["result",4,[["username",3]]]],[[["username",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["username_exists",3],["appservice",3]]],[[["set_username",3],["appservice",3]]],null,[[["username",3]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]],["future",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["register",3],["appservice",3]]],[[["login",3],["appservice",3]]],[[["signout",3],["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["auth",3],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["register",3]],["register",3]],[[["login",3]],["login",3]],[[["password",3]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4,[["register",3]]]],[[],["result",4,[["login",3]]]],[[],["result",4,[["password",3]]]],null,[[["register",3],["formatter",3]],["result",6]],[[["login",3],["formatter",3]],["result",6]],[[["password",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]],["future",8]],null,null,null,[[["register",3],["appdata",6]],["future",8]],[[["register",3]],["result",4]],[[["login",3]],["result",4]],[[["password",3]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["mcaptchadetails",3]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["mcaptchadetails",3]]]],null,[[["mcaptchadetails",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["create",3],["appservice",3]]],null,[[["createcaptcha",3]],["result",4]],[[["mcaptchadetails",3]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]],["future",8]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["deletecaptcha",3]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4,[["deletecaptcha",3]]]],[[["deletecaptcha",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["delete",3],["appservice",3]]],[[["deletecaptcha",3]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["trafficpatternrequest",3]],["trafficpatternrequest",3]],[[["updatetrafficpattern",3]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4,[["trafficpatternrequest",3]]]],[[],["result",4,[["updatetrafficpattern",3]]]],[[["trafficpatternrequest",3],["formatter",3]],["result",6]],[[["updatetrafficpattern",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["create",3],["appservice",3]]],[[["update",3],["appservice",3]]],null,[[["trafficpatternrequest",3]],["result",4]],[[["updatetrafficpattern",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[],["easy",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["levels",3]],["levels",3]],[[["i32levels",3]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4,[["levels",3]]]],[[],["result",4,[["i32levels",3]]]],null,[[["levels",3],["formatter",3]],["result",6]],[[["i32levels",3],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["get_captcha",3],["appservice",3]]],[[["levels",3]],["result",4]],[[["i32levels",3]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[],["captcha",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["statspayload",3]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4,[["statspayload",3]]]],[[["statspayload",3],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["get",3],["appservice",3]]],null,[[["statspayload",3]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[],["stats",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4,[["updatecaptcha",3]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["update_key",3],["appservice",3]]],[[["update_captcha",3],["appservice",3]]],null,[[["updatecaptcha",3]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]],["future",8]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["builddetailsbuilder",3]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["healthbuilder",3]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["builddetails",3]],["builddetails",3]],[[["builddetailsbuilder",3]],["builddetailsbuilder",3]],[[["health",3]],["health",3]],[[["healthbuilder",3]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["builddetailsbuilder",3]],[[],["healthbuilder",3]],[[["healthbuilder",3],["bool",0]],["healthbuilder",3]],null,null,[[],["builddetailsbuilder",3]],[[],["healthbuilder",3]],[[],["result",4,[["builddetails",3]]]],[[],["result",4,[["health",3]]]],[[["builddetails",3],["formatter",3]],["result",6]],[[["builddetailsbuildererror",4],["formatter",3]],["result",6]],[[["builddetailsbuildererror",4],["formatter",3]],["result",6]],[[["health",3],["formatter",3]],["result",6]],[[["healthbuildererror",4],["formatter",3]],["result",6]],[[["healthbuildererror",4],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["string",3]],["builddetailsbuildererror",4]],[[["uninitializedfielderror",3]],["builddetailsbuildererror",4]],[[]],[[]],[[]],[[["uninitializedfielderror",3]],["healthbuildererror",4]],[[]],[[["string",3]],["healthbuildererror",4]],[[]],[[["builddetailsbuilder",3],["str",0]],["builddetailsbuilder",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["healthbuilder",3],["option",4,[["bool",0]]]],["healthbuilder",3]],null,null,[[["build_details",3],["appservice",3]]],[[["health",3],["appservice",3]]],null,[[["builddetails",3]],["result",4]],[[["health",3]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["builddetailsbuilder",3],["str",0]],["builddetailsbuilder",3]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[],["meta",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["addnotificationrequest",3]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4,[["addnotificationrequest",3]]]],[[["addnotificationrequest",3],["addnotificationrequest",3]],["bool",0]],[[["addnotificationrequest",3],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["addnotificationrequest",3],["addnotificationrequest",3]],["bool",0]],[[["add_notification",3],["appservice",3]]],[[["addnotificationrequest",3]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["notificationresp",3]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4,[["notificationresp",3]]]],[[["notificationresp",3],["notificationresp",3]],["bool",0]],[[["notification",3]],["notificationresp",3]],[[]],[[]],[[["vec",3,[["notification",3]]]],["vec",3,[["notificationresp",3]]]],null,null,null,[[]],[[]],null,null,[[["notificationresp",3],["notificationresp",3]],["bool",0]],null,[[["get_notification",3],["appservice",3]]],[[["notificationresp",3]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4,[["markreadreq",3]]]],[[]],[[]],null,[[]],[[]],null,[[["mark_read",3],["appservice",3]]],[[["markreadreq",3]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["getconfigpayload",3]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4,[["getconfigpayload",3]]]],[[["getconfigpayload",3],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]],["future",8]],[[]],[[]],null,[[["get_config",3],["appservice",3]]],[[["getconfigpayload",3]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["pow",3]],["str",0]],null,[[]],[[],["pow",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["pow",3]],["str",0]],null,[[["pow",3]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["validationtoken",3]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4,[["validationtoken",3]]]],[[["validationtoken",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["verify_pow",3],["appservice",3]]],[[["validationtoken",3]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["captchavalidateresp",3]],["captchavalidateresp",3]],[[["verifycaptcharesultpayload",3]],["verifycaptcharesultpayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4,[["captchavalidateresp",3]]]],[[],["result",4,[["verifycaptcharesultpayload",3]]]],[[["captchavalidateresp",3],["formatter",3]],["result",6]],[[["verifycaptcharesultpayload",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["validate_captcha_token",3],["appservice",3]]],null,[[["captchavalidateresp",3]],["result",4]],[[["verifycaptcharesultpayload",3]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["routes",3],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["systemgroup",4],["addsite",3]],["future",8]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["systemgroup",4],["string",3]],["future",8]],[[]],[[]],null,[[["settings",3]],["future",8]],[[["settings",3]],["future",8]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["systemgroup",4],["removecaptcha",3]],["future",8]],[[["systemgroup",4],["rename",3]],["future",8]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["systemgroup",4],["verifycaptcharesult",3]],["future",8]],[[["systemgroup",4],["work",3],["string",3]],["future",8]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["date",3]],["date",3]],[[["",0],["",0]]],[[["date",3]],["string",3]],[[["date",3],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]],["date",3]],[[["date",3]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["option",4,[["settings",3]]]],["future",8]],[[["option",4,[["settings",3]]]],["future",8]],null,null,null,[[["demouser",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]],["future",8]],[[]],null,[[]],[[["appdata",6]],["future",8]],[[["appdata",6],["duration",3]],["future",8]],[[["appdata",6],["duration",3]],["future",8]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[],["iterator",8]],[[],["filenames",4]],[[["dist",3],["appservice",3]]],[[["spec",3],["appservice",3]]],[[["index",3],["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[],["docs",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]],["indexpage",3]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]],["future",8]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4,[["errortoresponse",3]]]],[[["smtperrorwrapper",3],["smtperrorwrapper",3]],["bool",0]],[[["dberrorwrapper",3],["dberrorwrapper",3]],["bool",0]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],[[["pageerror",4],["pageerror",4]],["bool",0]],null,[[["serviceerror",4]],["httpresponse",3]],[[["pageerror",4]],["httpresponse",3]],[[["smtperrorwrapper",3],["formatter",3]],["result",6]],[[["smtperrorwrapper",3],["formatter",3]],["result",6]],[[["dberrorwrapper",3],["formatter",3]],["result",6]],[[["dberrorwrapper",3],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["serviceerror",4],["formatter",3]],["result",6]],[[["pageerror",4],["formatter",3]],["result",6]],[[["pageerror",4],["formatter",3]],["result",6]],[[]],[[]],[[["credserror",4]],["serviceerror",4]],[[["validationerrors",3]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["captchaerror",4]],["serviceerror",4]],[[["smtperror",3]],["serviceerror",4]],[[["recverror",3]],["serviceerror",4]],[[["mailboxerror",4]],["serviceerror",4]],[[["dberror",4]],["serviceerror",4]],[[]],[[]],[[["serviceerror",4]],["pageerror",4]],[[["dberror",4]],["pageerror",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[["serviceerror",4],["serviceerror",4]],["bool",0]],[[["pageerror",4],["pageerror",4]],["bool",0]],[[["errortoresponse",3]],["result",4]],[[["smtperrorwrapper",3]],["option",4,[["error",8]]]],[[["dberrorwrapper",3]],["option",4,[["error",8]]]],[[["serviceerror",4]],["option",4,[["error",8]]]],[[["pageerror",4]],["option",4,[["error",8]]]],[[["serviceerror",4]],["statuscode",3]],[[["pageerror",4]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[],["indexpage",3]],[[["index",3]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[],["indexpage",3]],[[["index",3]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["join",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["auth",3],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["sudopage",3,[["clone",8],["clone",8]]]],["sudopage",3,[["clone",8],["clone",8]]]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]],["sudopage",3]],[[["sudopage",3]],["renderresult",6]],[[["sudopage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["errorpage",3]],["errorpage",3]],[[["",0],["",0]]],[[["internal_server_error_body",3]],["string",3]],[[["unknown_error_body",3]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]],["errorpage",3]],[[["error",3],["appservice",3]]],[[["errorpage",3]],["renderresult",6]],[[["errorpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[],["errors",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]],["indexpage",3]],null,null,[[["panel",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["notification",3]],["notification",3]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]],["indexpage",3]],null,[[["notification",3]],["string",3]],null,[[["notifications",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[],["panel",3]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3],["appservice",3]]],[[["delete_account",3],["appservice",3]]],[[["update_secret",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[],["settings",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["advanceindexpage",3]],["advanceindexpage",3]],[[["easyindexpage",3]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["advanceindexpage",3]],[[],["easyindexpage",3]],[[["advance_index",3]],["string",3]],[[["easy_index",3]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["advance",3],["appservice",3]]],[[["easy",3],["appservice",3]]],[[["advanceindexpage",3]],["renderresult",6]],[[["easyindexpage",3]],["renderresult",6]],[[["advanceindexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["easyindexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["delete_sitekey",3],["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["advanceeditpage",3]],["advanceeditpage",3]],[[["easyeditpage",3]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]],["advanceeditpage",3]],[[["string",3],["trafficpatternrequest",3]],["easyeditpage",3]],null,[[["advance",3],["appservice",3]]],[[["easy",3],["appservice",3]]],[[["advanceeditpage",3]],["renderresult",6]],[[["easyeditpage",3]],["renderresult",6]],[[["advanceeditpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["easyeditpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]],["indexpage",3]],[[["list_sitekeys",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["sitekey",3],["str",0]],["string",3]],[[["sitekey",3],["str",0]],["string",3]],[[["sitekey",3],["str",0]],["string",3]],[[]],[[["sitekey",3],["str",0]],["string",3]],[[]],null,[[],["sitekey",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]],["indexpage",3]],[[["view_sitekey",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["routes",3],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[],["indexpage",3]],[[["index",3]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["sitemap",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["server",3]],["server",3]],[[["captcha",3]],["captcha",3]],[[["defaultdifficultystrategy",3]],["defaultdifficultystrategy",3]],[[["smtp",3]],["smtp",3]],[[["dbtype",4]],["dbtype",4]],[[["database",3]],["database",3]],[[["redis",3]],["redis",3]],[[["settings",3]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,[[],["result",4,[["server",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["defaultdifficultystrategy",3]]]],[[],["result",4,[["smtp",3]]]],[[],["result",4,[["dbtype",4]]]],[[],["result",4,[["database",3]]]],[[],["result",4,[["redis",3]]]],[[],["result",4,[["settings",3]]]],null,null,null,[[["dbtype",4],["dbtype",4]],["bool",0]],[[["server",3],["formatter",3]],["result",6]],[[["captcha",3],["formatter",3]],["result",6]],[[["defaultdifficultystrategy",3],["formatter",3]],["result",6]],[[["smtp",3],["formatter",3]],["result",6]],[[["dbtype",4],["formatter",3]],["result",6]],[[["dbtype",4],["formatter",3]],["result",6]],[[["database",3],["formatter",3]],["result",6]],[[["redis",3],["formatter",3]],["result",6]],[[["settings",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["url",3]],["result",4,[["dbtype",4],["configerror",4]]]],null,[[["server",3]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",4,[["settings",3],["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,[[["dbtype",4]],["result",4]],null,[[["config",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["filemap",3],["str",0]],["option",4,[["str",0]]]],[[]],[[],["filemap",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[],["iterator",8]],[[],["filenames",4]],[[],["iterator",8]],[[["static_files",3],["appservice",3]]],[[["favicons",3],["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["key",3]]],[[["github",3]]],[[["home",3]]],[[["settings_icon",3]]],[[["credit_card",3]]],[[["help_circle",3]]],[[["message",3]]],[[["docs_icon",3]]],[[["mcaptcha_trans_icon",3]]],[[["bar_chart",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["captchastats",3]],["captchastats",3]],[[["real",3]],["real",3]],[[["dummy",3]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4,[["captchastats",3]]]],[[["captchastats",3],["captchastats",3]],["bool",0]],[[["real",3],["real",3]],["bool",0]],[[["dummy",3],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["real",3],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["dummy",3],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["captchastats",3],["formatter",3]],["result",6]],[[["real",3],["formatter",3]],["result",6]],[[["dummy",3],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["captchastats",3],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["real",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["dummy",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["real",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["dummy",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["real",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["dummy",3],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["captchastats",3]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["indexpage",3]],["indexpage",3]],[[["",0],["",0]]],[[["index_page",3]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["indexpage",3]],[[["show_widget",3],["appservice",3]]],[[["indexpage",3]],["renderresult",6]],[[["indexpage",3],["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[],["widget",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[4,"DBType"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ }'); -if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file +if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; +if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/search.js b/search.js index 860a5957..8fd46df6 100644 --- a/search.js +++ b/search.js @@ -1 +1 @@ -"use strict";(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("titles").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb}else if(nb!=0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1{const MAX_LEV_DISTANCE=3;const MAX_RESULTS=200;const GENERICS_DATA=2;const NAME=0;const INPUTS_DATA=0;const OUTPUT_DATA=1;const NO_TYPE_FILTER=-1;let searchIndex;let currentResults;const ALIASES=Object.create(null);const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i0){throw new Error("Cannot use literal search when there is more than one element")}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("Cannot have empty string element")}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)=="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)=="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==window.currentCrate);b=(bbb.item.crate!==window.currentCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.length<=GENERICS_DATA||row[GENERICS_DATA].length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row[GENERICS_DATA].length>0&&row[GENERICS_DATA][0][NAME]===""){if(row.length>GENERICS_DATA){return checkGenerics(row[GENERICS_DATA][0],elem,defaultLev)}return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}let elem_name;if(elem.generics.length>0&&row[GENERICS_DATA].length>=elem.generics.length){const elems=Object.create(null);for(const entry of row[GENERICS_DATA]){elem_name=entry[NAME];if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row[GENERICS_DATA]){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row[NAME].length===0){if(row.length>GENERICS_DATA){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row[NAME],elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=(row.length>GENERICS_DATA&&row[GENERICS_DATA].length>0);if(checkGeneric&&row[GENERICS_DATA].findIndex(tmp_elem=>tmp_elem[NAME]===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.length>GENERICS_DATA){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type[INPUTS_DATA]&&row.type[INPUTS_DATA].length>0){for(const input of row.type[INPUTS_DATA]){if(!typePassesFilter(typeFilter,input[1])){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.length>OUTPUT_DATA){let ret=row.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty[1])){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;ilength){break}let lev_total=0;let aborted=false;for(let x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===window.currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][lowerQuery];for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}})}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}function addIntoResults(results,fullId,id,index,lev){if(lev===0||(!parsedQuery.literalSearch&&lev<=MAX_LEV_DISTANCE)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,lev_add=0,index=-1;const fullId=row.id;const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,index,in_args);addIntoResults(results_returned,fullId,pos,index,returned);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const searchWord=searchWords[pos];if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,-1,0)}return}if(elem.name.length===0){if(row.type!==null){lev=checkGenerics(row.type,elem,MAX_LEV_DISTANCE+1);addIntoResults(results_others,fullId,pos,index,lev)}return}if(elem.fullPath.length>1){lev=checkPath(elem.pathWithoutLast,row);if(lev>MAX_LEV_DISTANCE||(parsedQuery.literalSearch&&lev!==0)){return}else if(lev>0){lev_add=lev/10}}if(searchWord.indexOf(elem.pathLast)>-1||row.normalizedName.indexOf(elem.pathLast)>-1){if(!results_others[fullId]!==undefined){index=row.normalizedName.indexOf(elem.pathLast)}}lev=levenshtein(searchWord,elem.pathLast);if(lev>0&&elem.pathLast.length>2&&searchWord.indexOf(elem.pathLast)>-1){if(elem.pathLast.length<6){lev=1}else{lev=0}}lev+=lev_add;if(lev>MAX_LEV_DISTANCE){return}else if(index!==-1&&elem.fullPath.length<2){lev-=1}if(lev<0){lev=0}addIntoResults(results_others,fullId,pos,index,lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){const h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const wrapper=document.createElement("div");const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");wrapper.appendChild(resultName);const description=document.createElement("div");description.className="desc";const spanDesc=document.createElement("span");spanDesc.insertAdjacentHTML("beforeend",item.desc);description.appendChild(spanDesc);wrapper.appendChild(description);link.appendChild(wrapper);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";if(window.ALL_CRATES.length>1){crates=" in "}let typeFilter="";if(results.query.typeFilter!==NO_TYPE_FILTER){typeFilter=" (type: "+escape(itemTypes[results.query.typeFilter])+")"}let output="
    "+`

    Results for ${escape(results.query.userQuery)}`+`${typeFilter}

    in ${crates}
    `;if(results.query.error!==null){output+=`

    Query parser error: "${results.query.error}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("titles").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>{printTab(j)};searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function search(e,forced){const params=searchState.getQueryStringParams();const query=parseQuery(searchState.input.value.trim());if(e){e.preventDefault()}if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}let filterCrates=getFilterCrates();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates),params.go_to_first,filterCrates)}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;let len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="All crates"){const params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);registerSearchEvents();function runSearchIfNeeded(){if(searchState.getQueryStringParams().search){search()}}runSearchIfNeeded()};if(window.searchIndex!==undefined){initSearch(window.searchIndex)}})() \ No newline at end of file +"use strict";(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("titles").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb}else if(nb!==0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i0){throw new Error("Cannot use literal search when there is more than one element")}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("Cannot have empty string element")}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.length<=GENERICS_DATA||row[GENERICS_DATA].length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row[GENERICS_DATA].length>0&&row[GENERICS_DATA][0][NAME]===""){if(row.length>GENERICS_DATA){return checkGenerics(row[GENERICS_DATA][0],elem,defaultLev)}return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}let elem_name;if(elem.generics.length>0&&row[GENERICS_DATA].length>=elem.generics.length){const elems=Object.create(null);for(const entry of row[GENERICS_DATA]){elem_name=entry[NAME];if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row[GENERICS_DATA]){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row[NAME].length===0){if(row.length>GENERICS_DATA){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row[NAME],elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=(row.length>GENERICS_DATA&&row[GENERICS_DATA].length>0);if(checkGeneric&&row[GENERICS_DATA].findIndex(tmp_elem=>tmp_elem[NAME]===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.length>GENERICS_DATA){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type[INPUTS_DATA]&&row.type[INPUTS_DATA].length>0){for(const input of row.type[INPUTS_DATA]){if(!typePassesFilter(typeFilter,input[1])){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.length>OUTPUT_DATA){let ret=row.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty[1])){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;ilength){break}let lev_total=0;let aborted=false;for(let x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][lowerQuery];for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}})}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,lev){if(lev===0||(!parsedQuery.literalSearch&&lev<=MAX_LEV_DISTANCE)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,lev_add=0,index=-1;const fullId=row.id;const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,index,in_args);addIntoResults(results_returned,fullId,pos,index,returned);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const searchWord=searchWords[pos];if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,-1,0)}return}if(elem.name.length===0){if(row.type!==null){lev=checkGenerics(row.type,elem,MAX_LEV_DISTANCE+1);addIntoResults(results_others,fullId,pos,index,lev)}return}if(elem.fullPath.length>1){lev=checkPath(elem.pathWithoutLast,row);if(lev>MAX_LEV_DISTANCE||(parsedQuery.literalSearch&&lev!==0)){return}else if(lev>0){lev_add=lev/10}}if(searchWord.indexOf(elem.pathLast)>-1||row.normalizedName.indexOf(elem.pathLast)>-1){index=row.normalizedName.indexOf(elem.pathLast)}lev=levenshtein(searchWord,elem.pathLast);if(lev>0&&elem.pathLast.length>2&&searchWord.indexOf(elem.pathLast)>-1){if(elem.pathLast.length<6){lev=1}else{lev=0}}lev+=lev_add;if(lev>MAX_LEV_DISTANCE){return}else if(index!==-1&&elem.fullPath.length<2){lev-=1}if(lev<0){lev=0}addIntoResults(results_others,fullId,pos,index,lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#titles > button").item(searchState.currentTab);if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){const h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const wrapper=document.createElement("div");const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");wrapper.appendChild(resultName);const description=document.createElement("div");description.className="desc";const spanDesc=document.createElement("span");spanDesc.insertAdjacentHTML("beforeend",item.desc);description.appendChild(spanDesc);wrapper.appendChild(description);link.appendChild(wrapper);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
    "+"Try on DuckDuckGo?

    "+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in "}let typeFilter="";if(results.query.typeFilter!==NO_TYPE_FILTER){typeFilter=" (type: "+escape(itemTypes[results.query.typeFilter])+")"}let output="
    "+`

    Results for ${escape(results.query.userQuery)}`+`${typeFilter}

    ${crates}
    `;if(results.query.error!==null){output+=`

    Query parser error: "${results.query.error}".

    `;output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+"
    ";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
    "+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
    "}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
    "+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
    ";currentTab=0}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("titles").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function search(e,forced){const params=searchState.getQueryStringParams();const query=parseQuery(searchState.input.value.trim());if(e){e.preventDefault()}if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}let filterCrates=getFilterCrates();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;let len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="All crates"){const params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/settings.css b/settings.css index a76a580d..2be35b25 100644 --- a/settings.css +++ b/settings.css @@ -1 +1 @@ -.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line>div{display:inline-block;vertical-align:top;font-size:17px;padding-top:2px;}.setting-line>.title{font-size:19px;width:100%;max-width:none;border-bottom:1px solid;}.setting-line .radio-line,.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line .setting-name{flex-grow:1;margin-top:auto;margin-bottom:auto;}.setting-line .radio-line input{margin-right:0.3em;}.radio-line .choice{border-radius:0.1em;border:1px solid;margin-left:0.5em;margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;}.toggle{position:relative;display:inline-block;width:45px;height:27px;margin-right:20px;}.toggle input{opacity:0;position:absolute;}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;background-color:white;transition:.3s;}input:checked+.slider{background-color:#2196F3;}input:focus+.slider{box-shadow:0 0 0 2px #0a84ff,0 0 0 6px rgba(10,132,255,0.3);}input:checked+.slider:before{transform:translateX(19px);}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;} \ No newline at end of file +.setting-line{margin:0.6em 0 0.6em 0.3em;position:relative;}.setting-line .choices{display:flex;flex-wrap:wrap;}.setting-line .radio-line input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:1px solid;outline:none;-webkit-appearance:none;cursor:pointer;border-radius:50%;}.setting-line .radio-line input+span{padding-bottom:1px;}.radio-line .setting-name{width:100%;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.toggle{position:relative;display:inline-block;width:100%;height:27px;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.toggle input{opacity:0;position:absolute;}.slider{position:relative;width:45px;display:block;height:28px;margin-right:20px;cursor:pointer;background-color:#ccc;transition:.3s;}.slider:before{position:absolute;content:"";height:19px;width:19px;left:4px;bottom:4px;transition:.3s;}input:checked+.slider:before{transform:translateX(19px);}.setting-line>.sub-settings{padding-left:42px;width:100%;display:block;}div#settings{position:absolute;right:0;z-index:1;display:block;margin-top:7px;border-radius:3px;border:1px solid;}#settings .setting-line{margin:1.2em 0.6em;}div#settings::before{content:'';position:absolute;right:11px;border:solid;border-width:1px 1px 0 0;display:inline-block;padding:4px;transform:rotate(-45deg);top:-5px;} \ No newline at end of file diff --git a/settings.html b/settings.html index d1de3f3c..0ea0bbf7 100644 --- a/settings.html +++ b/settings.html @@ -1,7 +1,8 @@ -Rustdoc settings -

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/settings.js b/settings.js index a68768c6..35d65a9f 100644 --- a/settings.js +++ b/settings.js @@ -3,17 +3,9 @@
    `;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";output+=``});output+="
    "}else{const checked=setting["default"]===true?" checked":"";output+=` - -
    ${setting_name}
    `}output+=""}return output}function buildSettingsPage(){const themes=getVar("themes").split(",");const settings=[{"name":"Use system theme","js_name":"use-system-theme","default":true,},{"name":"Theme","js_name":"theme","default":"light","options":themes,},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":themes,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":themes,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const el=document.createElement("section");el.id="settings";let innerHTML=` -
    -

    - Rustdoc settings -

    - `;if(isSettingsPage){innerHTML+="Back"}else{innerHTML+="Back"}innerHTML+=` -
    -
    ${buildSettingsPageSections(settings)}
    `;el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{getNotDisplayedElem().appendChild(el)}return el}const settingsMenu=buildSettingsPage();if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();settingsButton.onclick=function(event){event.preventDefault();if(settingsMenu.parentElement.id===NOT_DISPLAYED_ID){switchDisplayedElement(settingsMenu)}else{window.hideSettings()}};window.hideSettings=function(){switchDisplayedElement(null)}}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){switchDisplayedElement(settingsMenu)}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file + ${option}\ + `});output+=""}else{const checked=setting["default"]===true?" checked":"";output+=``}output+=""}return output}function buildSettingsPage(){const themes=getVar("themes").split(",");const settings=[{"name":"Use system theme","js_name":"use-system-theme","default":true,},{"name":"Theme","js_name":"theme","default":"light","options":themes,},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":themes,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":themes,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
    ${buildSettingsPageSections(settings)}
    `;const el=document.createElement(elementKind);el.id="settings";el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event){const settingsButton=getSettingsButton();if(!elemIsInParent(document.activeElement,settingsButton)&&!elemIsInParent(event.relatedTarget,settingsButton)){window.hideSettings()}}if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");window.hideSettings=function(){settingsMenu.style.display="none"};settingsButton.onclick=function(event){if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();if(settingsMenu.style.display!=="none"){window.hideSettings()}else{displaySettings()}};settingsButton.onblur=blurHandler;settingsButton.querySelector("a").onblur=blurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=blurHandler});settingsMenu.onblur=blurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/source-script.js b/source-script.js index 96e6c421..c8856707 100644 --- a/source-script.js +++ b/source-script.js @@ -1 +1 @@ -"use strict";(function(){function getCurrentFilePath(){const parts=window.location.pathname.split("/");const rootPathParts=window.rootPath.split("/");for(const rootPathPart of rootPathParts){if(rootPathPart===".."){parts.pop()}}let file=window.location.pathname.substring(parts.join("/").length);if(file.startsWith("/")){file=file.substring(1)}return file.substring(0,file.length-5)}function createDirEntry(elem,parent,fullPath,currentFile,hasFoundFile){const name=document.createElement("div");name.className="name";fullPath+=elem["name"]+"/";name.onclick=()=>{if(hasClass(this,"expand")){removeClass(this,"expand")}else{addClass(this,"expand")}};name.innerText=elem["name"];const children=document.createElement("div");children.className="children";const folders=document.createElement("div");folders.className="folders";if(elem.dirs){for(const dir of elem.dirs){if(createDirEntry(dir,folders,fullPath,currentFile,hasFoundFile)){addClass(name,"expand");hasFoundFile=true}}}children.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem.files){for(const file_text of elem.files){const file=document.createElement("a");file.innerText=file_text;file.href=window.rootPath+"src/"+fullPath+file_text+".html";if(!hasFoundFile&¤tFile===fullPath+file_text){file.className="selected";addClass(name,"expand");hasFoundFile=true}files.appendChild(file)}}children.appendChild(files);parent.appendChild(name);parent.appendChild(children);return hasFoundFile&¤tFile.startsWith(fullPath)}function toggleSidebar(){const sidebar=document.querySelector("nav.sidebar");const child=this.children[0];if(child.innerText===">"){sidebar.classList.add("expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{sidebar.classList.remove("expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;const inner=document.createElement("div");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){if(!window.rootPath.endsWith("/")){window.rootPath+="/"}const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";if(getCurrentValue("source-sidebar-show")!=="true"){container.classList.remove("expanded")}else{container.classList.add("expanded")}const currentFile=getCurrentFilePath();let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",currentFile,hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("span"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file +"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;function createDirEntry(elem,parent,fullPath,hasFoundFile){const name=document.createElement("div");name.className="name";fullPath+=elem["name"]+"/";name.onclick=ev=>{if(hasClass(ev.target,"expand")){removeClass(ev.target,"expand")}else{addClass(ev.target,"expand")}};name.innerText=elem["name"];const children=document.createElement("div");children.className="children";const folders=document.createElement("div");folders.className="folders";if(elem.dirs){for(const dir of elem.dirs){if(createDirEntry(dir,folders,fullPath,hasFoundFile)){addClass(name,"expand");hasFoundFile=true}}}children.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem.files){for(const file_text of elem.files){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";const w=window.location.href.split("#")[0];if(!hasFoundFile&&w===file.href){file.className="selected";addClass(name,"expand");hasFoundFile=true}files.appendChild(file)}}children.appendChild(files);parent.appendChild(name);parent.appendChild(children);return hasFoundFile}function toggleSidebar(){const child=this.children[0];if(child.innerText===">"){addClass(document.documentElement,"source-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{removeClass(document.documentElement,"source-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="sidebar-toggle";sidebarToggle.onclick=toggleSidebar;const inner=document.createElement("div");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key].name=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("span"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/src/db_core/errors.rs.html b/src/db_core/errors.rs.html index b0df1b71..a4c538eb 100644 --- a/src/db_core/errors.rs.html +++ b/src/db_core/errors.rs.html @@ -1,9 +1,10 @@ -errors.rs - source -
    1
     2
     3
     4
    @@ -126,5 +127,5 @@
     /// Generic result data structure
     pub type DBResult<V> = std::result::Result<V, DBError>;
     
    -
    +
    \ No newline at end of file diff --git a/src/db_core/lib.rs.html b/src/db_core/lib.rs.html index 6cee2117..5dfe9f84 100644 --- a/src/db_core/lib.rs.html +++ b/src/db_core/lib.rs.html @@ -1,9 +1,10 @@ -lib.rs - source -
    1
     2
     3
     4
    @@ -714,5 +715,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_core/ops.rs.html b/src/db_core/ops.rs.html index f3a430b6..c14c11f0 100644 --- a/src/db_core/ops.rs.html +++ b/src/db_core/ops.rs.html @@ -1,9 +1,10 @@ -ops.rs - source -
    1
     2
     3
     4
    @@ -102,5 +103,5 @@
         async fn migrate(&self) -> DBResult<()>;
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_core/tests.rs.html b/src/db_core/tests.rs.html index f1b16d27..7019b558 100644 --- a/src/db_core/tests.rs.html +++ b/src/db_core/tests.rs.html @@ -1,9 +1,10 @@ -tests.rs - source -
    1
     2
     3
     4
    @@ -600,5 +601,5 @@
         assert!(!db.captcha_exists(Some(p.username), c.key).await.unwrap());
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_maria/errors.rs.html b/src/db_sqlx_maria/errors.rs.html index 5f0b52e9..17972f97 100644 --- a/src/db_sqlx_maria/errors.rs.html +++ b/src/db_sqlx_maria/errors.rs.html @@ -1,9 +1,10 @@ -errors.rs - source -
    1
     2
     3
     4
    @@ -114,5 +115,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_maria/lib.rs.html b/src/db_sqlx_maria/lib.rs.html index a11cf2e8..43374206 100644 --- a/src/db_sqlx_maria/lib.rs.html +++ b/src/db_sqlx_maria/lib.rs.html @@ -1,9 +1,10 @@ -lib.rs - source -
    1
     2
     3
     4
    @@ -1934,5 +1935,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_postgres/errors.rs.html b/src/db_sqlx_postgres/errors.rs.html index 9e81a75b..02cd7348 100644 --- a/src/db_sqlx_postgres/errors.rs.html +++ b/src/db_sqlx_postgres/errors.rs.html @@ -1,9 +1,10 @@ -errors.rs - source -
    1
     2
     3
     4
    @@ -116,5 +117,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/db_sqlx_postgres/lib.rs.html b/src/db_sqlx_postgres/lib.rs.html index 4da2b74b..24ecdfcc 100644 --- a/src/db_sqlx_postgres/lib.rs.html +++ b/src/db_sqlx_postgres/lib.rs.html @@ -1,9 +1,10 @@ -lib.rs - source -
    1
     2
     3
     4
    @@ -1946,5 +1947,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/mod.rs.html b/src/mcaptcha/api/mod.rs.html index cc12e090..be243007 100644 --- a/src/mcaptcha/api/mod.rs.html +++ b/src/mcaptcha/api/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -40,5 +41,5 @@
     
     pub mod v1;
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/delete.rs.html b/src/mcaptcha/api/v1/account/delete.rs.html index 85412fb6..67f72a99 100644 --- a/src/mcaptcha/api/v1/account/delete.rs.html +++ b/src/mcaptcha/api/v1/account/delete.rs.html @@ -1,9 +1,10 @@ -delete.rs - source -
    1
     2
     3
     4
    @@ -132,5 +133,5 @@
         cfg.service(delete_account);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/email.rs.html b/src/mcaptcha/api/v1/account/email.rs.html index f01637a0..f02baf03 100644 --- a/src/mcaptcha/api/v1/account/email.rs.html +++ b/src/mcaptcha/api/v1/account/email.rs.html @@ -1,9 +1,10 @@ -email.rs - source -
    1
     2
     3
     4
    @@ -144,5 +145,5 @@
         cfg.service(set_email);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/mod.rs.html b/src/mcaptcha/api/v1/account/mod.rs.html index be22a322..4cb26a0a 100644 --- a/src/mcaptcha/api/v1/account/mod.rs.html +++ b/src/mcaptcha/api/v1/account/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -172,5 +173,5 @@
         password::services(cfg);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/password.rs.html b/src/mcaptcha/api/v1/account/password.rs.html index 0c7cf006..905fbf5b 100644 --- a/src/mcaptcha/api/v1/account/password.rs.html +++ b/src/mcaptcha/api/v1/account/password.rs.html @@ -1,9 +1,10 @@ -password.rs - source -
    1
     2
     3
     4
    @@ -408,5 +409,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/secret.rs.html b/src/mcaptcha/api/v1/account/secret.rs.html index 5f6631dc..8b02126e 100644 --- a/src/mcaptcha/api/v1/account/secret.rs.html +++ b/src/mcaptcha/api/v1/account/secret.rs.html @@ -1,9 +1,10 @@ -secret.rs - source -
    1
     2
     3
     4
    @@ -130,5 +131,5 @@
         cfg.service(update_user_secret);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/username.rs.html b/src/mcaptcha/api/v1/account/username.rs.html index e1773d6a..044454ae 100644 --- a/src/mcaptcha/api/v1/account/username.rs.html +++ b/src/mcaptcha/api/v1/account/username.rs.html @@ -1,9 +1,10 @@ -username.rs - source -
    1
     2
     3
     4
    @@ -158,5 +159,5 @@
         cfg.service(set_username);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/auth.rs.html b/src/mcaptcha/api/v1/auth.rs.html index a758b1ec..b43f112d 100644 --- a/src/mcaptcha/api/v1/auth.rs.html +++ b/src/mcaptcha/api/v1/auth.rs.html @@ -1,9 +1,10 @@ -auth.rs - source -
    1
     2
     3
     4
    @@ -408,5 +409,5 @@
             .finish()
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/create.rs.html b/src/mcaptcha/api/v1/mcaptcha/create.rs.html index ec141833..7ce4f8b1 100644 --- a/src/mcaptcha/api/v1/mcaptcha/create.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/create.rs.html @@ -1,9 +1,10 @@ -create.rs - source -
    1
     2
     3
     4
    @@ -202,5 +203,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html index 3f26977a..7470c91d 100644 --- a/src/mcaptcha/api/v1/mcaptcha/delete.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/delete.rs.html @@ -1,9 +1,10 @@ -delete.rs - source -
    1
     2
     3
     4
    @@ -120,5 +121,5 @@
         Ok(HttpResponse::Ok())
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html index c559fbdb..6e82d6f7 100644 --- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html @@ -1,9 +1,10 @@ -easy.rs - source -
    1
     2
     3
     4
    @@ -800,5 +801,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/get.rs.html b/src/mcaptcha/api/v1/mcaptcha/get.rs.html index d8c879f3..b189bc46 100644 --- a/src/mcaptcha/api/v1/mcaptcha/get.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/get.rs.html @@ -1,9 +1,10 @@ -get.rs - source -
    1
     2
     3
     4
    @@ -108,5 +109,5 @@
         pub visitor_threshold: i32,
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html index d830ae09..19d8aa1b 100644 --- a/src/mcaptcha/api/v1/mcaptcha/mod.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -160,5 +161,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html index 0af9db6b..1a2359dc 100644 --- a/src/mcaptcha/api/v1/mcaptcha/stats.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/stats.rs.html @@ -1,9 +1,10 @@ -stats.rs - source -
    1
     2
     3
     4
    @@ -112,5 +113,5 @@
         Ok(HttpResponse::Ok().json(&stats))
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mcaptcha/update.rs.html b/src/mcaptcha/api/v1/mcaptcha/update.rs.html index 8b04dbf3..778a6924 100644 --- a/src/mcaptcha/api/v1/mcaptcha/update.rs.html +++ b/src/mcaptcha/api/v1/mcaptcha/update.rs.html @@ -1,9 +1,10 @@ -update.rs - source -
    1
     2
     3
     4
    @@ -438,5 +439,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/meta.rs.html b/src/mcaptcha/api/v1/meta.rs.html index 28b44f47..382fafb2 100644 --- a/src/mcaptcha/api/v1/meta.rs.html +++ b/src/mcaptcha/api/v1/meta.rs.html @@ -1,9 +1,10 @@ -meta.rs - source -
    1
     2
     3
     4
    @@ -310,5 +311,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/mod.rs.html b/src/mcaptcha/api/v1/mod.rs.html index 5bef2516..7a6d1988 100644 --- a/src/mcaptcha/api/v1/mod.rs.html +++ b/src/mcaptcha/api/v1/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -106,5 +107,5 @@
     #[cfg(test)]
     mod tests;
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/add.rs.html b/src/mcaptcha/api/v1/notifications/add.rs.html index 397c0e71..90b7f352 100644 --- a/src/mcaptcha/api/v1/notifications/add.rs.html +++ b/src/mcaptcha/api/v1/notifications/add.rs.html @@ -1,9 +1,10 @@ -add.rs - source -
    1
     2
     3
     4
    @@ -230,5 +231,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/get.rs.html b/src/mcaptcha/api/v1/notifications/get.rs.html index 9a95b5a3..32136437 100644 --- a/src/mcaptcha/api/v1/notifications/get.rs.html +++ b/src/mcaptcha/api/v1/notifications/get.rs.html @@ -1,9 +1,10 @@ -get.rs - source -
    1
     2
     3
     4
    @@ -312,5 +313,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/mark_read.rs.html b/src/mcaptcha/api/v1/notifications/mark_read.rs.html index 7d7c3268..4e18a8e2 100644 --- a/src/mcaptcha/api/v1/notifications/mark_read.rs.html +++ b/src/mcaptcha/api/v1/notifications/mark_read.rs.html @@ -1,9 +1,10 @@ -mark_read.rs - source -
    1
     2
     3
     4
    @@ -308,5 +309,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/notifications/mod.rs.html b/src/mcaptcha/api/v1/notifications/mod.rs.html index 41123356..65e1f332 100644 --- a/src/mcaptcha/api/v1/notifications/mod.rs.html +++ b/src/mcaptcha/api/v1/notifications/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -94,5 +95,5 @@
         cfg.service(mark_read::mark_read);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/get_config.rs.html b/src/mcaptcha/api/v1/pow/get_config.rs.html index 2678bbaa..9df0379d 100644 --- a/src/mcaptcha/api/v1/pow/get_config.rs.html +++ b/src/mcaptcha/api/v1/pow/get_config.rs.html @@ -1,9 +1,10 @@ -get_config.rs - source -
    1
     2
     3
     4
    @@ -610,5 +611,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/mod.rs.html b/src/mcaptcha/api/v1/pow/mod.rs.html index a98ca015..f0d2a5e3 100644 --- a/src/mcaptcha/api/v1/pow/mod.rs.html +++ b/src/mcaptcha/api/v1/pow/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -196,5 +197,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/verify_pow.rs.html b/src/mcaptcha/api/v1/pow/verify_pow.rs.html index 5a3d98eb..e59927fc 100644 --- a/src/mcaptcha/api/v1/pow/verify_pow.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_pow.rs.html @@ -1,9 +1,10 @@ -verify_pow.rs - source -
    1
     2
     3
     4
    @@ -312,5 +313,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/pow/verify_token.rs.html b/src/mcaptcha/api/v1/pow/verify_token.rs.html index a274ceb5..588b2df3 100644 --- a/src/mcaptcha/api/v1/pow/verify_token.rs.html +++ b/src/mcaptcha/api/v1/pow/verify_token.rs.html @@ -1,9 +1,10 @@ -verify_token.rs - source -
    1
     2
     3
     4
    @@ -420,5 +421,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/api/v1/routes.rs.html b/src/mcaptcha/api/v1/routes.rs.html index 784779c8..8b90c926 100644 --- a/src/mcaptcha/api/v1/routes.rs.html +++ b/src/mcaptcha/api/v1/routes.rs.html @@ -1,9 +1,10 @@ -routes.rs - source -
    1
     2
     3
     4
    @@ -112,5 +113,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/data.rs.html b/src/mcaptcha/data.rs.html index c7d9a361..0f56792c 100644 --- a/src/mcaptcha/data.rs.html +++ b/src/mcaptcha/data.rs.html @@ -1,9 +1,10 @@ -data.rs - source -
    1
     2
     3
     4
    @@ -512,5 +513,5 @@
     /// Mailer data type AsyncSmtpTransport<Tokio1Executor>
     pub type Mailer = AsyncSmtpTransport<Tokio1Executor>;
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/date.rs.html b/src/mcaptcha/date.rs.html index d2f43c45..36f8beeb 100644 --- a/src/mcaptcha/date.rs.html +++ b/src/mcaptcha/date.rs.html @@ -1,9 +1,10 @@ -date.rs - source -
    1
     2
     3
     4
    @@ -234,5 +235,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/db.rs.html b/src/mcaptcha/db.rs.html index 21e989f8..272dea8a 100644 --- a/src/mcaptcha/db.rs.html +++ b/src/mcaptcha/db.rs.html @@ -1,9 +1,10 @@ -db.rs - source -
    1
     2
     3
     4
    @@ -124,5 +125,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html index e30d9450..fad3f7ef 100644 --- a/src/mcaptcha/demo.rs.html +++ b/src/mcaptcha/demo.rs.html @@ -1,9 +1,10 @@ -demo.rs - source -
    1
     2
     3
     4
    @@ -360,5 +361,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/docs.rs.html b/src/mcaptcha/docs.rs.html index 92ff57cd..66e4e2a2 100644 --- a/src/mcaptcha/docs.rs.html +++ b/src/mcaptcha/docs.rs.html @@ -1,9 +1,10 @@ -docs.rs - source -
    1
     2
     3
     4
    @@ -274,5 +275,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/email/mod.rs.html b/src/mcaptcha/email/mod.rs.html index 813bc44b..ef9f31b5 100644 --- a/src/mcaptcha/email/mod.rs.html +++ b/src/mcaptcha/email/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -40,5 +41,5 @@
     
     pub mod verification;
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/email/verification.rs.html b/src/mcaptcha/email/verification.rs.html index 06a8e54a..dd43eb66 100644 --- a/src/mcaptcha/email/verification.rs.html +++ b/src/mcaptcha/email/verification.rs.html @@ -1,9 +1,10 @@ -verification.rs - source -
    1
     2
     3
     4
    @@ -284,5 +285,5 @@ project website: {}",
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/errors.rs.html b/src/mcaptcha/errors.rs.html index 55ff33c2..b2ebf863 100644 --- a/src/mcaptcha/errors.rs.html +++ b/src/mcaptcha/errors.rs.html @@ -1,9 +1,10 @@ -errors.rs - source -
    1
     2
     3
     4
    @@ -682,5 +683,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html index 88d67b0d..fa7be3fe 100644 --- a/src/mcaptcha/main.rs.html +++ b/src/mcaptcha/main.rs.html @@ -1,9 +1,10 @@ -main.rs - source -
    1
     2
     3
     4
    @@ -390,5 +391,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/login.rs.html b/src/mcaptcha/pages/auth/login.rs.html index f262947f..ff08c8f0 100644 --- a/src/mcaptcha/pages/auth/login.rs.html +++ b/src/mcaptcha/pages/auth/login.rs.html @@ -1,9 +1,10 @@ -login.rs - source -
    1
     2
     3
     4
    @@ -94,5 +95,5 @@
             .body(&**INDEX)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/mod.rs.html b/src/mcaptcha/pages/auth/mod.rs.html index d0b2fc0f..e6c7e46f 100644 --- a/src/mcaptcha/pages/auth/mod.rs.html +++ b/src/mcaptcha/pages/auth/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -126,5 +127,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/register.rs.html b/src/mcaptcha/pages/auth/register.rs.html index 0e6d2f6e..ef193435 100644 --- a/src/mcaptcha/pages/auth/register.rs.html +++ b/src/mcaptcha/pages/auth/register.rs.html @@ -1,9 +1,10 @@ -register.rs - source -
    1
     2
     3
     4
    @@ -90,5 +91,5 @@
             .body(&**INDEX)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/auth/sudo.rs.html b/src/mcaptcha/pages/auth/sudo.rs.html index f3e278d4..ac0dd1b6 100644 --- a/src/mcaptcha/pages/auth/sudo.rs.html +++ b/src/mcaptcha/pages/auth/sudo.rs.html @@ -1,9 +1,10 @@ -sudo.rs - source -
    1
     2
     3
     4
    @@ -94,5 +95,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/errors.rs.html b/src/mcaptcha/pages/errors.rs.html index 93c9286d..54e67a1c 100644 --- a/src/mcaptcha/pages/errors.rs.html +++ b/src/mcaptcha/pages/errors.rs.html @@ -1,9 +1,10 @@ -errors.rs - source -
    1
     2
     3
     4
    @@ -244,5 +245,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/mod.rs.html b/src/mcaptcha/pages/mod.rs.html index 934fc48f..21438e19 100644 --- a/src/mcaptcha/pages/mod.rs.html +++ b/src/mcaptcha/pages/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -252,5 +253,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/mod.rs.html b/src/mcaptcha/pages/panel/mod.rs.html index a0859856..cbc298e2 100644 --- a/src/mcaptcha/pages/panel/mod.rs.html +++ b/src/mcaptcha/pages/panel/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -202,5 +203,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/notifications.rs.html b/src/mcaptcha/pages/panel/notifications.rs.html index cd4681d1..fd2a0dab 100644 --- a/src/mcaptcha/pages/panel/notifications.rs.html +++ b/src/mcaptcha/pages/panel/notifications.rs.html @@ -1,9 +1,10 @@ -notifications.rs - source -
    1
     2
     3
     4
    @@ -264,5 +265,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/settings.rs.html b/src/mcaptcha/pages/panel/settings.rs.html index 22df5ba1..1284103e 100644 --- a/src/mcaptcha/pages/panel/settings.rs.html +++ b/src/mcaptcha/pages/panel/settings.rs.html @@ -1,9 +1,10 @@ -settings.rs - source -
    1
     2
     3
     4
    @@ -228,5 +229,5 @@
             .body(page)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/add.rs.html b/src/mcaptcha/pages/panel/sitekey/add.rs.html index 8adae07d..5ef37ab3 100644 --- a/src/mcaptcha/pages/panel/sitekey/add.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/add.rs.html @@ -1,9 +1,10 @@ -add.rs - source -
    1
     2
     3
     4
    @@ -184,5 +185,5 @@
             .body(&**EASY_INDEX)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/delete.rs.html b/src/mcaptcha/pages/panel/sitekey/delete.rs.html index ea98c0b3..fe3a316e 100644 --- a/src/mcaptcha/pages/panel/sitekey/delete.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/delete.rs.html @@ -1,9 +1,10 @@ -delete.rs - source -
    1
     2
     3
     4
    @@ -80,5 +81,5 @@
             .body(page)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/edit.rs.html b/src/mcaptcha/pages/panel/sitekey/edit.rs.html index 490dfe37..66d9510f 100644 --- a/src/mcaptcha/pages/panel/sitekey/edit.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/edit.rs.html @@ -1,9 +1,10 @@ -edit.rs - source -
    1
     2
     3
     4
    @@ -418,5 +419,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/list.rs.html b/src/mcaptcha/pages/panel/sitekey/list.rs.html index b47ab525..b39afefb 100644 --- a/src/mcaptcha/pages/panel/sitekey/list.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/list.rs.html @@ -1,9 +1,10 @@ -list.rs - source -
    1
     2
     3
     4
    @@ -234,5 +235,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/mod.rs.html b/src/mcaptcha/pages/panel/sitekey/mod.rs.html index ce274fbe..6f29e7b3 100644 --- a/src/mcaptcha/pages/panel/sitekey/mod.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -202,5 +203,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/panel/sitekey/view.rs.html b/src/mcaptcha/pages/panel/sitekey/view.rs.html index 2f4ab5d5..bac039b4 100644 --- a/src/mcaptcha/pages/panel/sitekey/view.rs.html +++ b/src/mcaptcha/pages/panel/sitekey/view.rs.html @@ -1,9 +1,10 @@ -view.rs - source -
    1
     2
     3
     4
    @@ -284,5 +285,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/routes.rs.html b/src/mcaptcha/pages/routes.rs.html index 43616bc9..d229a75b 100644 --- a/src/mcaptcha/pages/routes.rs.html +++ b/src/mcaptcha/pages/routes.rs.html @@ -1,9 +1,10 @@ -routes.rs - source -
    1
     2
     3
     4
    @@ -158,5 +159,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/pages/sitemap.rs.html b/src/mcaptcha/pages/sitemap.rs.html index 602ad397..98f63a15 100644 --- a/src/mcaptcha/pages/sitemap.rs.html +++ b/src/mcaptcha/pages/sitemap.rs.html @@ -1,9 +1,10 @@ -sitemap.rs - source -
    1
     2
     3
     4
    @@ -112,5 +113,5 @@
             .body(&**INDEX)
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/routes.rs.html b/src/mcaptcha/routes.rs.html index b11ce6ee..69844994 100644 --- a/src/mcaptcha/routes.rs.html +++ b/src/mcaptcha/routes.rs.html @@ -1,9 +1,10 @@ -routes.rs - source -
    1
     2
     3
     4
    @@ -52,5 +53,5 @@
         crate::static_assets::services(cfg);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html index a660c41f..6f12735f 100644 --- a/src/mcaptcha/settings.rs.html +++ b/src/mcaptcha/settings.rs.html @@ -1,9 +1,10 @@ -settings.rs - source -
    1
     2
     3
     4
    @@ -510,5 +511,5 @@
     //    }
     //}
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/filemap.rs.html b/src/mcaptcha/static_assets/filemap.rs.html index 57c6944a..1101fe5a 100644 --- a/src/mcaptcha/static_assets/filemap.rs.html +++ b/src/mcaptcha/static_assets/filemap.rs.html @@ -1,9 +1,10 @@ -filemap.rs - source -
    1
     2
     3
     4
    @@ -96,5 +97,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/mod.rs.html b/src/mcaptcha/static_assets/mod.rs.html index fc35a5a0..7f2b404a 100644 --- a/src/mcaptcha/static_assets/mod.rs.html +++ b/src/mcaptcha/static_assets/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -54,5 +55,5 @@
         cfg.service(static_files::favicons);
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/static_assets/static_files.rs.html b/src/mcaptcha/static_assets/static_files.rs.html index 6851e2ca..120f4dc2 100644 --- a/src/mcaptcha/static_assets/static_files.rs.html +++ b/src/mcaptcha/static_assets/static_files.rs.html @@ -1,9 +1,10 @@ -static_files.rs - source -
    1
     2
     3
     4
    @@ -340,5 +341,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/stats.rs.html b/src/mcaptcha/stats.rs.html index 3713c4b0..8c04ed1b 100644 --- a/src/mcaptcha/stats.rs.html +++ b/src/mcaptcha/stats.rs.html @@ -1,9 +1,10 @@ -stats.rs - source -
    1
     2
     3
     4
    @@ -264,5 +265,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/src/mcaptcha/widget/mod.rs.html b/src/mcaptcha/widget/mod.rs.html index c92ad069..ec9448aa 100644 --- a/src/mcaptcha/widget/mod.rs.html +++ b/src/mcaptcha/widget/mod.rs.html @@ -1,9 +1,10 @@ -mod.rs - source -
    1
     2
     3
     4
    @@ -166,5 +167,5 @@
         }
     }
     
    -
    +
    \ No newline at end of file diff --git a/storage.js b/storage.js index a0eef58b..ad14b2a0 100644 --- a/storage.js +++ b/storage.js @@ -1 +1 @@ -"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){const newHref=mainStyleElem.href.replace(/\/rustdoc([^/]*)\.css/,"/"+newTheme+"$1"+".css");if(saveTheme){updateLocalStorage("theme",newTheme)}if(styleElem.href===newHref){return}let found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}onEach(savedHref,el=>{if(el===newHref){found=true;return true}});if(found){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchToSavedTheme()}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file +"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){const newHref=mainStyleElem.href.replace(/\/rustdoc([^/]*)\.css/,"/"+newTheme+"$1"+".css");if(saveTheme){updateLocalStorage("theme",newTheme)}if(styleElem.href===newHref){return}let found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}onEach(savedHref,el=>{if(el===newHref){found=true;return true}});if(found){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchToSavedTheme()}if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"source-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file