feat(validate-messages): add types
This commit is contained in:
parent
98fa7ad6b5
commit
30223d4c69
2 changed files with 41 additions and 3 deletions
5
.changeset/nine-cats-search.md
Normal file
5
.changeset/nine-cats-search.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@lion/validate-messages': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Add types for validate-messages package.
|
||||||
|
|
@ -19,6 +19,16 @@ import {
|
||||||
Pattern,
|
Pattern,
|
||||||
} from '@lion/form-core';
|
} from '@lion/form-core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {object} MessageData
|
||||||
|
* @property {*} [MessageData.modelValue]
|
||||||
|
* @property {string} [MessageData.fieldName]
|
||||||
|
* @property {*} [MessageData.formControl]
|
||||||
|
* @property {string} [MessageData.type]
|
||||||
|
* @property {Object.<string,?>} [MessageData.config]
|
||||||
|
* @property {string} [MessageData.name]
|
||||||
|
*/
|
||||||
|
|
||||||
let loaded = false;
|
let loaded = false;
|
||||||
|
|
||||||
export function loadDefaultFeedbackMessages() {
|
export function loadDefaultFeedbackMessages() {
|
||||||
|
|
@ -29,7 +39,7 @@ export function loadDefaultFeedbackMessages() {
|
||||||
const forMessagesToBeReady = () =>
|
const forMessagesToBeReady = () =>
|
||||||
localize.loadNamespace(
|
localize.loadNamespace(
|
||||||
{
|
{
|
||||||
'lion-validate': locale => {
|
'lion-validate': /** @param {string} locale */ locale => {
|
||||||
switch (locale) {
|
switch (locale) {
|
||||||
case 'bg-BG':
|
case 'bg-BG':
|
||||||
return import('../translations/bg-BG.js');
|
return import('../translations/bg-BG.js');
|
||||||
|
|
@ -104,29 +114,52 @@ export function loadDefaultFeedbackMessages() {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ locale: localize.localize },
|
{ locale: localize.locale },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {MessageData} data
|
||||||
|
* @returns {Promise<string|Node>}
|
||||||
|
*/
|
||||||
const getLocalizedMessage = async data => {
|
const getLocalizedMessage = async data => {
|
||||||
await forMessagesToBeReady();
|
await forMessagesToBeReady();
|
||||||
|
if (data) {
|
||||||
return localize.msg(`lion-validate:${data.type}.${data.name}`, data);
|
return localize.msg(`lion-validate:${data.type}.${data.name}`, data);
|
||||||
|
}
|
||||||
|
return '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @param {MessageData} data */
|
||||||
Required.getMessage = async data => getLocalizedMessage(data);
|
Required.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
EqualsLength.getMessage = async data => getLocalizedMessage(data);
|
EqualsLength.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinLength.getMessage = async data => getLocalizedMessage(data);
|
MinLength.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MaxLength.getMessage = async data => getLocalizedMessage(data);
|
MaxLength.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinMaxLength.getMessage = async data => getLocalizedMessage(data);
|
MinMaxLength.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
Pattern.getMessage = async data => getLocalizedMessage(data);
|
Pattern.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
IsEmail.getMessage = async data => getLocalizedMessage(data);
|
IsEmail.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
IsNumber.getMessage = async data => getLocalizedMessage(data);
|
IsNumber.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinNumber.getMessage = async data => getLocalizedMessage(data);
|
MinNumber.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MaxNumber.getMessage = async data => getLocalizedMessage(data);
|
MaxNumber.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinMaxNumber.getMessage = async data => getLocalizedMessage(data);
|
MinMaxNumber.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
IsDate.getMessage = async data => getLocalizedMessage(data);
|
IsDate.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinDate.getMessage = async data => getLocalizedMessage(data);
|
MinDate.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MaxDate.getMessage = async data => getLocalizedMessage(data);
|
MaxDate.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
MinMaxDate.getMessage = async data => getLocalizedMessage(data);
|
MinMaxDate.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
/** @param {MessageData} data */
|
||||||
IsDateDisabled.getMessage = async data => getLocalizedMessage(data);
|
IsDateDisabled.getMessage = async data => getLocalizedMessage(data);
|
||||||
|
|
||||||
DefaultSuccess.getMessage = async data => {
|
DefaultSuccess.getMessage = async data => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue