@colisweb/rescript-toolkit 4.1.0 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/locale/fr.json CHANGED
@@ -109,6 +109,11 @@
109
109
  "defaultMessage": "Le champ doit avoir au maximum {value} caractères.",
110
110
  "message": "Le champ doit avoir au maximum {value} caractères."
111
111
  },
112
+ {
113
+ "id": "_9f118046",
114
+ "defaultMessage": "Doit être un nombre compris entre 0 et 1 en excluant 0 (exemples: '0.1' '0.85' '1')",
115
+ "message": "Doit être un nombre compris entre 0 et 1 en excluant 0 (exemples: '0.1' '0.85' '1')"
116
+ },
112
117
  {
113
118
  "id": "_9fc912ee",
114
119
  "defaultMessage": "Lundi",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@colisweb/rescript-toolkit",
3
- "version": "4.1.0",
3
+ "version": "4.1.2",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "clean": "rescript clean",
@@ -6,6 +6,9 @@ module Msg = {
6
6
  let requiredPosInt = {defaultMessage: "Doit etre un entier positif"}
7
7
  let requiredPosIntOrFloat = {
8
8
  defaultMessage: "Doit être un entier positif ou un nombre a virgule",
9
+ }
10
+ let requiredRatio = {
11
+ defaultMessage: "Doit être un nombre compris entre 0 et 1 en excluant 0 (exemples: '0.1' '0.85' '1')",
9
12
  }
10
13
  let wrongFormat = {defaultMessage: "Mauvais format (req: {exemple})"}
11
14
  let maxNumberOfPackets = {defaultMessage: "Nbr colis"}
@@ -95,6 +98,26 @@ let requiredPosFloat = (intl, value) => {
95
98
  }
96
99
  }
97
100
 
101
+ let requiredStrictPosFloat = (intl, value) => {
102
+ switch value {
103
+ | "" => Some(Intl.formatMessage(intl, Msg.requiredValue))
104
+ | value
105
+ if !Toolkit__Utils_Regex.Test.isPositiveIntOrFloat(value) || value->Float.fromString === Some(0.) =>
106
+ Some(Intl.formatMessage(intl, Msg.requiredPosIntOrFloat))
107
+ | _ => None
108
+ }
109
+ }
110
+
111
+ let requiredRatio = (intl, value) => {
112
+ switch value {
113
+ | "" => Some(Intl.formatMessage(intl, Msg.requiredValue))
114
+ | value
115
+ if !Toolkit__Utils_Regex.Test.isPositiveIntOrFloat(value) || value->Float.fromString === Some(0.) || value->Float.fromString->Option.getWithDefault(2.) > 1. =>
116
+ Some(Intl.formatMessage(intl, Msg.requiredRatio))
117
+ | _ => None
118
+ }
119
+ }
120
+
98
121
  let requiredFloat = (intl, value) => {
99
122
  switch value->Js.String2.split("-") {
100
123
  | _ if value === "" => Some(Intl.formatMessage(intl, Msg.requiredValue))