// import { VerifyInfo } from './access'; // // region util // // export const getAccessStyleByAccessNo = (accessNo: string): string => { // const phonerule = /^\d+$/; // let accessStyle = 'USERNAME'; // if (this.phonerule.test(accessNo)) { // accessStyle = 'PHONE'; // } else if (accessNo === '' || accessNo === 'null' || accessNo === null) { // accessStyle = ''; // } // return accessStyle; // }; // // // endregion // // // export interface VerifyInfo { // password?: string; // captcha?: string; // } // // export interface Access { // accessNo: string; // verify: VerifyInfo; // } // // // export class ConcreteAccess implements Access { // private accessStyle?: string; // // that is must. to make implements no error. since, constructor is just AccessBuilder,not including parms of interface; // public accessNo: string; // public verify: VerifyInfo; // // constructor(builder: AccessBuilder) { // this.accessNo = builder.accessNo; // this.verify = builder.verify; // this.accessStyle = getAccessStyleByAccessNo(this.accessNo); // } // // public JsonInstance() { // return { accessStyle: this.accessStyle, accessNo: this.accessNo, verify: this.verify }; // } // } // // export class AccessBuilder { // constructor( // public accessNo: string, // public verify?: VerifyInfo, // ) { // // verify === null ? new VerifyInfo() : ; // } // // setVerifyPassword(password) { // this.verify.password = password; // return this; // } // // setVerifycaptcha(captcha) { // this.verify.captcha = captcha; // return this; // } // // build(): ConcreteAccess { // return new ConcreteAccess(this); // } // } // // // export interface AccessUserTarget { // accessStyle: string; // userName?: string; // mobile?: string; // verify?: VerifyInfo; // } // // // export class AccessUserInfo { // // public accessStyle: string; // // public accessNo: string; // // } // // // export class AccessUserAdapter implements AccessUserTarget { // // accessStyle: string; // // userName?: string; // // mobile?: string; // // verify?: VerifyInfo; // private json; // // constructor(access: ConcreteAccess) { // json = access.JsonInstance(); // } // // public JsonInstance() { // // return { accessStyle: this.accessStyle, accessNo: this.accessNo, verify: this.verify }; // } // // private SwitchAccessNo() // // } // // // export function show(): void { // const user: BuilderPattern.User = new BuilderPattern.UserBuilder( // 'semlinker', // ) // .setAge(12) // .setAddress('asdf') // .build(); // console.log(user.Name + ' ' + user.Age + ' + ' + user.Address); // }