ancora su Typescript...

suddiviso i ts dai html e scss
This commit is contained in:
paolo
2018-11-07 22:42:22 +01:00
parent 7c1d07797e
commit 6811202571
31 changed files with 8875 additions and 314 deletions

View File

@@ -0,0 +1,5 @@
import { Patterns } from '@/common'
export function complexity(password: string) {
return Patterns.Password.test(password)
}

View File

@@ -0,0 +1,23 @@
type t = string | number;
type fn = () => t[];
export function duplicate(matches: t[] | fn, ignoreCase: boolean = false) {
if (Array.isArray(matches)) return factory(matches, ignoreCase);
return value => {
let cb = factory(matches(), ignoreCase);
return cb(value);
};
}
function factory(values: t[], ignoreCase: boolean) {
return value => {
if (value === undefined || value === null || values.length === 0)
return true;
else{
let flags = ignoreCase ? "i" : "";
let exp = new RegExp(`^(${value})$`, flags);
return values.find(o => exp.test(o.toString())) === undefined;
}
};
}

3
src/validation/index.ts Normal file
View File

@@ -0,0 +1,3 @@
export { duplicate } from './duplicate'
export { registered } from './registered'
export { complexity } from './complexity'

View File

@@ -0,0 +1,22 @@
import { default as Axios, AxiosResponse } from 'axios';
import { IPayload } from '../model';
import { GlobalConfig, PayloadMessageTypes } from '../common';
const AUTH_URL = GlobalConfig.uri.auth;
const VALIDATE_USER_URL = AUTH_URL + 'validateuser';
export function registered(userName: string) {
let config = {
params: { userName: userName }
};
let onSuccess = (res: AxiosResponse) => {
let payload: IPayload<boolean> = res.data;
return payload.message.messageTypeId !== PayloadMessageTypes.failure;
}
return Axios.get(VALIDATE_USER_URL, config)
.then(onSuccess);
};