@reactway/forms-core
Advanced tools
Comparing version 0.0.0-canary.a8db9b7 to 0.0.0-canary.afc57e5
@@ -24,2 +24,4 @@ import { FieldStatus, Updater, TextSelection } from "./field-state"; | ||
setFormErrors(errors: NestedDictionary<ValidationResultOrString[]>): void; | ||
setFieldValidationResults(fieldSelector: FieldSelector, errors: ValidationResultOrString[]): void; | ||
resetFieldValidationResults(fieldSelector: FieldSelector): void; | ||
} |
@@ -0,1 +1,2 @@ | ||
import { Dictionary } from "./type-helpers"; | ||
export interface Validator<TValue> { | ||
@@ -8,6 +9,6 @@ name: string; | ||
export interface ValidatorHelpers { | ||
error: (message: string, code?: string) => ValidationResult & { | ||
error: (message: string, code?: string, data?: Dictionary<any>) => ValidationResult & { | ||
type: ValidationResultType.Error; | ||
}; | ||
warning: (message: string, code?: string) => ValidationResult & { | ||
warning: (message: string, code?: string, data?: Dictionary<any>) => ValidationResult & { | ||
type: ValidationResultType.Warning; | ||
@@ -21,2 +22,3 @@ }; | ||
validatorName?: string; | ||
data?: Dictionary<any>; | ||
code?: string; | ||
@@ -23,0 +25,0 @@ } |
@@ -166,3 +166,10 @@ import { TinyEmitter } from '@reactway/tiny-emitter'; | ||
setFormErrors: errors => { | ||
// TODO: Rename this updater. | ||
setFormErrors(state, errors); | ||
}, | ||
setFieldValidationResults: (fieldSelector, errors) => { | ||
setFieldValidationResults(helpers, fieldSelector, errors); | ||
}, | ||
resetFieldValidationResults: fieldSelector => { | ||
resetFieldValidationResults(helpers, fieldSelector); | ||
} | ||
@@ -257,3 +264,3 @@ }; | ||
return { | ||
error: (message, code) => ({ | ||
error: (message, code, data) => ({ | ||
type: ValidationResultType.Error, | ||
@@ -263,5 +270,6 @@ message: message, | ||
origin: origin, | ||
validatorName: validatorName | ||
validatorName: validatorName, | ||
data: data | ||
}), | ||
warning: (message, code) => ({ | ||
warning: (message, code, data) => ({ | ||
type: ValidationResultType.Warning, | ||
@@ -271,3 +279,4 @@ message: message, | ||
origin: origin, | ||
validatorName: validatorName | ||
validatorName: validatorName, | ||
data: data | ||
}) | ||
@@ -335,2 +344,17 @@ }; | ||
} | ||
function setFieldValidationResults(helpers, fieldSelector, errors) { | ||
const fieldState = helpers.selectField(fieldSelector); | ||
assertFieldIsDefined(fieldState); | ||
fieldState.validation.results = errors.map(result => typeof result !== "string" | ||
? result | ||
: { | ||
message: result, | ||
type: ValidationResultType.Error | ||
}); | ||
} | ||
function resetFieldValidationResults(helpers, fieldSelector) { | ||
const fieldState = helpers.selectField(fieldSelector); | ||
assertFieldIsDefined(fieldState); | ||
fieldState.validation.results = []; | ||
} | ||
@@ -351,2 +375,3 @@ const formsLogger = Debug("@reactway:forms"); | ||
} | ||
fieldState.validation.results = []; | ||
const modifiers = fieldState.data.modifiers; | ||
@@ -353,0 +378,0 @@ const modifiersKeys = Object.keys(modifiers); |
@@ -169,3 +169,10 @@ 'use strict'; | ||
setFormErrors: errors => { | ||
// TODO: Rename this updater. | ||
setFormErrors(state, errors); | ||
}, | ||
setFieldValidationResults: (fieldSelector, errors) => { | ||
setFieldValidationResults(helpers, fieldSelector, errors); | ||
}, | ||
resetFieldValidationResults: fieldSelector => { | ||
resetFieldValidationResults(helpers, fieldSelector); | ||
} | ||
@@ -260,3 +267,3 @@ }; | ||
return { | ||
error: (message, code) => ({ | ||
error: (message, code, data) => ({ | ||
type: exports.ValidationResultType.Error, | ||
@@ -266,5 +273,6 @@ message: message, | ||
origin: origin, | ||
validatorName: validatorName | ||
validatorName: validatorName, | ||
data: data | ||
}), | ||
warning: (message, code) => ({ | ||
warning: (message, code, data) => ({ | ||
type: exports.ValidationResultType.Warning, | ||
@@ -274,3 +282,4 @@ message: message, | ||
origin: origin, | ||
validatorName: validatorName | ||
validatorName: validatorName, | ||
data: data | ||
}) | ||
@@ -338,2 +347,17 @@ }; | ||
} | ||
function setFieldValidationResults(helpers, fieldSelector, errors) { | ||
const fieldState = helpers.selectField(fieldSelector); | ||
assertFieldIsDefined(fieldState); | ||
fieldState.validation.results = errors.map(result => typeof result !== "string" | ||
? result | ||
: { | ||
message: result, | ||
type: exports.ValidationResultType.Error | ||
}); | ||
} | ||
function resetFieldValidationResults(helpers, fieldSelector) { | ||
const fieldState = helpers.selectField(fieldSelector); | ||
assertFieldIsDefined(fieldState); | ||
fieldState.validation.results = []; | ||
} | ||
@@ -354,2 +378,3 @@ const formsLogger = Debug("@reactway:forms"); | ||
} | ||
fieldState.validation.results = []; | ||
const modifiers = fieldState.data.modifiers; | ||
@@ -356,0 +381,0 @@ const modifiersKeys = Object.keys(modifiers); |
{ | ||
"name": "@reactway/forms-core", | ||
"description": "React forms.", | ||
"version": "0.0.0-canary.a8db9b7", | ||
"version": "0.0.0-canary.afc57e5", | ||
"author": "Reactway <dev@reactway.com> (https://github.com/reactway)", | ||
@@ -14,3 +14,3 @@ "dependencies": { | ||
"devDependencies": { | ||
"@reactway-tools/rollup": "^0.0.0-canary.a8db9b7", | ||
"@reactway-tools/rollup": "^0.0.0-canary.afc57e5", | ||
"@reactway/eslint-config": "^1.0.1", | ||
@@ -17,0 +17,0 @@ "@types/debug": "^4.1.5", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
94421
2208
0