strval

Check-in Differences
Login

Check-in Differences

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Difference From strval-0.3.2 To strval-0.3.3

2025-08-03
02:42
Release maintenance. Leaf check-in: e85b7a596f user: jan tags: strval-0.3.3, trunk
02:40
Make some Controllers Clone:able. check-in: 357a5aad04 user: jan tags: trunk
00:42
Release maintenance. check-in: d2549d3bcd user: jan tags: strval-0.3.2, trunk
00:41
Some FromStr implementations were missing validation calls. check-in: 1fe47acddf user: jan tags: trunk

Changes to Cargo.toml.
1
2
3
4
5
6
7
8
9
10
[package]
name = "strval"
version = "0.3.2"
edition = "2024"
license = "0BSD"
# https://crates.io/category_slugs
categories = ["text-processing"]
keywords = ["parsing", "string", "rusqlite"]
repository = "https://repos.qrnch.tech/pub/strval"
description = "Parse strings into values"


|







1
2
3
4
5
6
7
8
9
10
[package]
name = "strval"
version = "0.3.3"
edition = "2024"
license = "0BSD"
# https://crates.io/category_slugs
categories = ["text-processing"]
keywords = ["parsing", "string", "rusqlite"]
repository = "https://repos.qrnch.tech/pub/strval"
description = "Parse strings into values"
Changes to src/dur.rs.
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
use std::{fmt, marker::PhantomData, str::FromStr, time::Duration};

#[cfg(feature = "rusqlite")]
use rusqlite::{
  ToSql,
  types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef}
};

use crate::{Controller, StrVal, err::Error};



pub struct AnyDur;
impl Controller for AnyDur {
  type Type = Duration;
  fn def() -> String {
    String::from("0")
  }
  fn validate(_val: &Self::Type) -> Result<(), Error> {











>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::{fmt, marker::PhantomData, str::FromStr, time::Duration};

#[cfg(feature = "rusqlite")]
use rusqlite::{
  ToSql,
  types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef}
};

use crate::{Controller, StrVal, err::Error};


#[derive(Clone, Debug)]
pub struct AnyDur;
impl Controller for AnyDur {
  type Type = Duration;
  fn def() -> String {
    String::from("0")
  }
  fn validate(_val: &Self::Type) -> Result<(), Error> {
Changes to src/lib.rs.
94
95
96
97
98
99
100

101
102
103
104
105
106
107
108
109
110
111
112
113
114
115

116
117
118
119
120
121
122

  /// # Errors
  fn validate(val: &Self::Type) -> Result<(), Error>;
}


/// Accept any `u64`.

pub struct AnyU64;

impl Controller for AnyU64 {
  type Type = u64;

  fn def() -> String {
    String::from("0")
  }

  fn validate(_val: &Self::Type) -> Result<(), Error> {
    Ok(())
  }
}

/// Accept any `usize`.

pub struct AnyUsize;

impl Controller for AnyUsize {
  type Type = usize;

  fn def() -> String {
    String::from("0")







>















>







94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124

  /// # Errors
  fn validate(val: &Self::Type) -> Result<(), Error>;
}


/// Accept any `u64`.
#[derive(Clone, Debug)]
pub struct AnyU64;

impl Controller for AnyU64 {
  type Type = u64;

  fn def() -> String {
    String::from("0")
  }

  fn validate(_val: &Self::Type) -> Result<(), Error> {
    Ok(())
  }
}

/// Accept any `usize`.
#[derive(Clone, Debug)]
pub struct AnyUsize;

impl Controller for AnyUsize {
  type Type = usize;

  fn def() -> String {
    String::from("0")
Changes to src/relabslim.rs.
20
21
22
23
24
25
26

27
28
29
30
31
32
33
impl Default for Lim {
  fn default() -> Self {
    Self::Rel(1.0)
  }
}



pub struct AnyLim;
impl Controller for AnyLim {
  type Type = Lim;
  fn def() -> String {
    String::from("100%")
  }
  fn validate(val: &Self::Type) -> Result<(), Error> {







>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
impl Default for Lim {
  fn default() -> Self {
    Self::Rel(1.0)
  }
}


#[derive(Clone, Debug)]
pub struct AnyLim;
impl Controller for AnyLim {
  type Type = Lim;
  fn def() -> String {
    String::from("100%")
  }
  fn validate(val: &Self::Type) -> Result<(), Error> {
Changes to src/str.rs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::{fmt, marker::PhantomData, str::FromStr};

#[cfg(feature = "rusqlite")]
use rusqlite::{
  ToSql,
  types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef}
};

use crate::{Controller, StrVal, err::Error};


#[derive(Default)]
pub struct AnyStr;

impl Controller for AnyStr {
  type Type = String;

  fn def() -> String {
    String::new()











|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use std::{fmt, marker::PhantomData, str::FromStr};

#[cfg(feature = "rusqlite")]
use rusqlite::{
  ToSql,
  types::{FromSql, FromSqlError, FromSqlResult, ToSqlOutput, ValueRef}
};

use crate::{Controller, StrVal, err::Error};


#[derive(Clone, Default)]
pub struct AnyStr;

impl Controller for AnyStr {
  type Type = String;

  fn def() -> String {
    String::new()
Changes to www/changelog.md.
1
2
3
4
5
6
7
8
9
10
11
12
13
14










15
16
17
18
19
20
21
# Change Log

⚠️  indicates a breaking change.

## [Unreleased]

[Details](/vdiff?from=strval-0.3.2&to=trunk)

### Added

### Changed

### Removed











---

## [0.3.2] - 2025-08-03

[Details](/vdiff?from=strval-0.3.1&to=strval-0.3.2)

### Changed






|







>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Change Log

⚠️  indicates a breaking change.

## [Unreleased]

[Details](/vdiff?from=strval-0.3.3&to=trunk)

### Added

### Changed

### Removed

---

## [0.3.3] - 2025-08-03

[Details](/vdiff?from=strval-0.3.2&to=strval-0.3.3)

### Changed

- Make some `Controller`s `Clone`:able.

---

## [0.3.2] - 2025-08-03

[Details](/vdiff?from=strval-0.3.1&to=strval-0.3.2)

### Changed