spws
Version:
SharePoint Web Services Wrapper
26 lines (25 loc) • 1.1 kB
TypeScript
/**
* @name parseUserGroupValue
* @description Converts a SharePoint User/Group string with IDs into an array
* @param {string} string The user and/or group string to be parsed
* @param {object} options Options to expand user fields
* @param {boolean} [options.expandUserField=false] Whether to expand user fields into detailed objects
* @returns {Array<UserGroup | ExpandedUserGroup>}
* Returns an array of objects containing the ID, label, and value keys, and optionally loginName, email, and sipAddress when expanded.
*/
export type UserGroup = {
ID: string;
label: string;
value: string;
};
export type ExpandedUserGroup = UserGroup & {
loginName: string;
email: string;
sipAddress: string;
};
type ParseOptions<T extends boolean = false> = {
expandUserField?: T;
};
type ParseReturnType<T extends boolean> = T extends true ? ExpandedUserGroup[] : UserGroup[];
declare const parseUserGroupValue: <T extends boolean = false>(string?: string, options?: ParseOptions<T> | undefined) => ParseReturnType<T>;
export default parseUserGroupValue;