make MiUser.isRemoteUser / MiUser.isLocalUser generic
This commit is contained in:
parent
7c8d09f1c9
commit
c2f6f54f50
1 changed files with 16 additions and 0 deletions
|
|
@ -430,6 +430,22 @@ export type MiPartialRemoteUser = Partial<MiUser> & {
|
|||
uri: string;
|
||||
};
|
||||
|
||||
export function isRemoteUser(user: MiUser): user is MiRemoteUser;
|
||||
export function isRemoteUser<U extends PartialUser>(user: U): user is PartialRemoteUser<U>;
|
||||
export function isRemoteUser(user: { host: string | null }): user is { host: string } {
|
||||
return user.host != null;
|
||||
}
|
||||
|
||||
export function isLocalUser(user: MiUser): user is MiLocalUser;
|
||||
export function isLocalUser<U extends PartialUser>(user: U): user is PartialLocalUser<U>;
|
||||
export function isLocalUser(user: { host: string | null }): user is { host: null } {
|
||||
return user.host == null;
|
||||
}
|
||||
|
||||
type PartialUser = Partial<MiUser> & { host: string | null, uri?: string | null };
|
||||
type PartialLocalUser<U extends PartialUser> = U & { host: null, uri?: null };
|
||||
type PartialRemoteUser<U extends PartialUser> = U & { host: string, uri?: string };
|
||||
|
||||
export const localUsernameSchema = { type: 'string', pattern: /^\w{1,20}$/.toString().slice(1, -1) } as const;
|
||||
export const passwordSchema = { type: 'string', minLength: 1 } as const;
|
||||
export const nameSchema = { type: 'string', minLength: 1, maxLength: 50 } as const;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue