@lindle/sharepoint_requests 0.1.17 → 0.1.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +121 -116
- package/dist/index.d.ts +2 -2
- package/dist/root/index.d.ts +106 -31
- package/dist/root/internal/context.d.ts +2 -2
- package/dist/root/internal/digest.d.ts +1 -1
- package/dist/root/internal/emailRequests.d.ts +3 -3
- package/dist/root/internal/listRequests/createAttachment.d.ts +2 -2
- package/dist/root/internal/listRequests/createListItem.d.ts +3 -3
- package/dist/root/internal/listRequests/deleteFile.d.ts +2 -2
- package/dist/root/internal/listRequests/deleteItem.d.ts +2 -2
- package/dist/root/internal/listRequests/getFiles.d.ts +2 -2
- package/dist/root/internal/listRequests/getListItems.d.ts +3 -3
- package/dist/root/internal/listRequests/getOnly.d.ts +2 -2
- package/dist/root/internal/listRequests/normalizePayload.d.ts +4 -0
- package/dist/root/internal/listRequests/updateListItem.d.ts +3 -3
- package/dist/root/internal/listRequests/uploadFile.d.ts +3 -3
- package/dist/root/internal/odata.d.ts +1 -1
- package/dist/root/internal/sharepointUrl.d.ts +2 -0
- package/dist/root/internal/userRequests.d.ts +3 -3
- package/dist/sharepoint_requests.cjs.development.js +572 -229
- package/dist/sharepoint_requests.cjs.development.js.map +1 -1
- package/dist/sharepoint_requests.cjs.production.min.js +1 -1
- package/dist/sharepoint_requests.cjs.production.min.js.map +1 -1
- package/dist/sharepoint_requests.esm.js +572 -229
- package/dist/sharepoint_requests.esm.js.map +1 -1
- package/dist/types.d.ts +30 -11
- package/package.json +1 -1
- package/src/index.ts +3 -5
- package/src/root/index.ts +263 -144
- package/src/root/internal/context.ts +2 -2
- package/src/root/internal/digest.ts +4 -3
- package/src/root/internal/emailRequests.ts +4 -7
- package/src/root/internal/listRequests/createAttachment.ts +14 -3
- package/src/root/internal/listRequests/createListItem.ts +24 -13
- package/src/root/internal/listRequests/deleteFile.ts +4 -3
- package/src/root/internal/listRequests/deleteItem.ts +17 -3
- package/src/root/internal/listRequests/getFiles.ts +4 -10
- package/src/root/internal/listRequests/getListItems.ts +16 -9
- package/src/root/internal/listRequests/getOnly.ts +10 -7
- package/src/root/internal/listRequests/normalizePayload.ts +165 -0
- package/src/root/internal/listRequests/updateListItem.ts +31 -13
- package/src/root/internal/listRequests/uploadFile.ts +5 -8
- package/src/root/internal/listRequests/utils.ts +1 -1
- package/src/root/internal/odata.ts +2 -4
- package/src/root/internal/sharepointUrl.ts +7 -0
- package/src/root/internal/userRequests.ts +43 -11
- package/src/types.ts +138 -105
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/listRequests/utils.ts","../src/root/internal/listRequests/deleteFile.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...listData,\n __metadata: {\n type: metadataType,\n },\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","export function buildLibraryPath(folderPath?: string | string[]) {\n if (!folderPath) {\n return '';\n }\n\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map((segment) => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport function encodeFileName(fileName: string) {\n if (!fileName.trim()) {\n throw new Error('File name cannot be empty.');\n }\n\n return encodeURIComponent(fileName.replace(/'/g, \"''\"));\n}\n","import type { SHAREPOINT_VER, DeleteFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function deleteFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { fileName, folderPath }: DeleteFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'deleteFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n const encodedFileName = encodeFileName(fileName);\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n requestUrl += buildLibraryPath(folderPath);\n requestUrl += `/Files('${encodedFileName}')`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, undefined, {\n headers: {\n 'X-HTTP-Method': 'DELETE',\n 'IF-MATCH': '*',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...data,\n __metadata: {\n type: metadataType,\n },\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type {\n ItemID,\n SHAREPOINT_VER,\n UploadFileProps,\n} from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n): Promise<AxiosResponse & { itemId?: ItemID }> {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n\n requestUrl += buildLibraryPath(folderPath);\n\n const encodedFileName = encodeFileName(file.name);\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })?$expand=ListItemAllFields&$select=ListItemAllFields/Id`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = (await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n })) as AxiosResponse & { itemId?: ItemID };\n\n const responseData = response.data?.d ?? response.data;\n const listItemFields = responseData?.ListItemAllFields;\n const itemId =\n listItemFields?.Id ??\n listItemFields?.ID ??\n responseData?.Id ??\n responseData?.ID;\n\n if (typeof itemId !== 'undefined') {\n response.itemId = itemId;\n } else if (listItemFields?.__deferred?.uri) {\n const listItemResponse = await context.instance.get(\n listItemFields.__deferred.uri\n );\n const deferredId =\n listItemResponse.data?.d?.Id ?? listItemResponse.data?.Id;\n\n if (typeof deferredId !== 'undefined') {\n response.itemId = deferredId;\n }\n }\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n DeleteFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n UploadFileProps,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n deleteFile as deleteLibraryFile,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\nimport { fetchDigest } from './internal/digest';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n private listItemEntityTypeFullName?: string;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n this.listItemEntityTypeFullName = undefined;\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n listItemEntityTypeFullName: this.listItemEntityTypeFullName,\n resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(\n this\n ),\n };\n }\n\n private async resolveListItemEntityTypeFullName(): Promise<string> {\n if (this.listItemEntityTypeFullName) {\n return this.listItemEntityTypeFullName;\n }\n\n if (!this.listName) {\n throw new Error('List name is not set.');\n }\n\n if (this.sharepointVersion !== '2013') {\n this.listItemEntityTypeFullName = `SP.Data.${this.listName}ListItem`;\n return this.listItemEntityTypeFullName;\n }\n\n const response = await this.instance.get(\n `_api/web/lists/GetByTitle('${this.listName}')?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${this.listName}\".`\n );\n }\n\n this.listItemEntityTypeFullName = entityType;\n return this.listItemEntityTypeFullName;\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n this.listItemEntityTypeFullName = undefined;\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.listItemEntityTypeFullName = undefined;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n deleteFile: (props: DeleteFileProps) =>\n deleteLibraryFile(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","resolveMetadataType","_resolveMetadataType","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","createListItem","_x3","_createListItem","_callee2","listData","metadataType","payload","_t2","_t3","_t4","_t5","_context2","__metadata","type","endpoint","JSON","stringify","call","url","method","createAttachment","_createAttachment","_ref","file","itemId","requestUrl","name","deleteItem","_deleteItem","id","buildLibraryPath","folderPath","segments","Array","isArray","split","filter","Boolean","length","escapedSegments","map","segment","trim","sanitized","replace","encodeURIComponent","join","encodeFileName","fileName","SUPPORTED_VERSION","deleteFile","_deleteFile","encodedFileName","digest","sharepointVersion","undefined","buildODataParams","options","orderBySeparator","expand","orderBy","limit","cols","skip","params","$expand","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","key","value","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","results","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","item","reduce","acc","getOnly","_getOnly","_yield$instance$get","get","updateListItem","_x4","_x5","_updateListItem","uploadFile","_uploadFile","_response$data$d","_ref3","_listItemFields$Id","_listItemFields$__def","_ref$overwrite","overwrite","responseData","listItemFields","_listItemResponse$dat","_listItemResponse$dat2","_listItemResponse$dat3","listItemResponse","deferredId","ListItemAllFields","Id","ID","__deferred","uri","sendEmail","_sendEmail","From","To","Subject","Body","httpRequest","properties","typeAhead","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","currentUserProperties","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x6","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","result","_context6","find","BasePermissions","HTTPSharePointRequests","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","endsWith","_proto","prototype","resolveListItemEntityTypeFullName","bind","_resolveListItemEntityTypeFullName","_response$data$d$List","entityType","ListItemEntityTypeFullName","list","getDigest","from","sharepoint_ver","version","_this2","update","delete","createFile","deleteLibraryFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/emailRequests.ts","../src/root/internal/listRequests/normalizePayload.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/sharepointUrl.ts","../src/root/internal/listRequests/utils.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/listRequests/deleteFile.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n const cause =\n error instanceof Error ? error.message : 'Unknown contextinfo error';\n throw new Error(`Error retrieving Form Digest Value: ${cause}`);\n }\n}\n","import { AxiosResponse } from 'axios';\nimport { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import { ListData } from '../../../types';\n\ntype AnyRecord = Record<string, unknown>;\n\nconst LOOKUP_ID_KEYS = [\n 'lookupId',\n 'LookupId',\n 'lookupID',\n 'LookupID',\n 'Id',\n 'ID',\n];\n\nfunction isPlainObject(value: unknown): value is AnyRecord {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction extractLookupPrimitive(\n value: AnyRecord,\n allowGenericId: boolean\n): unknown | undefined {\n for (const key of LOOKUP_ID_KEYS) {\n if (!allowGenericId && (key === 'Id' || key === 'ID')) {\n continue;\n }\n if (value[key] !== undefined && value[key] !== null) {\n return value[key];\n }\n }\n return undefined;\n}\n\nfunction normalizeLookupValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return { results: value };\n }\n\n if (isPlainObject(value)) {\n if (Array.isArray(value.results)) {\n return { results: value.results };\n }\n\n const primitive = extractLookupPrimitive(value, true);\n if (primitive !== undefined) {\n return primitive;\n }\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (!trimmed) {\n return value;\n }\n const numeric = Number(trimmed);\n return Number.isNaN(numeric) ? trimmed : numeric;\n }\n\n return value;\n}\n\nfunction resolveLookupField(key: string, value: unknown) {\n const lower = key.toLowerCase();\n const endsWithId = lower.endsWith('id');\n const endsWithRef = lower.endsWith('ref');\n const endsWithLookup = lower.endsWith('lookup');\n const hasLookupHint = endsWithId || endsWithRef || endsWithLookup;\n\n if (value === undefined) {\n return null;\n }\n\n if (Array.isArray(value)) {\n const targetKey = endsWithId ? key : `${key}Id`;\n return {\n key: targetKey,\n value: { results: value },\n };\n }\n\n if (isPlainObject(value)) {\n const primitive = extractLookupPrimitive(value, hasLookupHint);\n if (primitive !== undefined) {\n const targetKey = endsWithId ? key : `${key}Id`;\n return {\n key: targetKey,\n value: normalizeLookupValue(primitive),\n };\n }\n\n if (Array.isArray(value.results)) {\n const targetKey = endsWithId ? key : `${key}Id`;\n return {\n key: targetKey,\n value: { results: value.results },\n };\n }\n\n if (!hasLookupHint) {\n return null;\n }\n } else if (!hasLookupHint) {\n return null;\n }\n\n const targetKey = endsWithId ? key : `${key}Id`;\n\n if (value === null) {\n return {\n key: targetKey,\n value: null,\n };\n }\n\n if (typeof value === 'number') {\n return {\n key: targetKey,\n value,\n };\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (!trimmed) {\n return {\n key: targetKey,\n value: '',\n };\n }\n const numeric = Number(trimmed);\n return {\n key: targetKey,\n value: Number.isNaN(numeric) ? trimmed : numeric,\n };\n }\n\n return null;\n}\n\nexport function normalizeListPayload<D = Record<string, unknown>>(\n data: ListData<D>\n): AnyRecord {\n const result: AnyRecord = {};\n\n if (!data) {\n return result;\n }\n\n for (const [key, value] of Object.entries(data as AnyRecord)) {\n if (key === '__metadata') {\n continue;\n }\n\n const lookupField = resolveLookupField(key, value);\n if (lookupField) {\n result[lookupField.key] = lookupField.value;\n continue;\n }\n\n if (value !== undefined) {\n result[key] = value;\n }\n }\n\n return result;\n}\n","import { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport { RequestContext } from '../context';\nimport { normalizeListPayload } from './normalizePayload';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<\n D = Record<string, unknown>,\n V extends SHAREPOINT_VER = '2013'\n>(context: RequestContext<V>, listData: ListData<D>) {\n const normalizedData = normalizeListPayload(listData);\n let payload: Record<string, unknown> = normalizedData;\n\n if (context.sharepointVersion === '2013') {\n const metadataType = await resolveMetadataType(context);\n const userMetadata = (listData as { __metadata?: Record<string, unknown> })\n .__metadata;\n payload = {\n ...normalizedData,\n __metadata: {\n ...(userMetadata && typeof userMetadata === 'object'\n ? userMetadata\n : {}),\n type: metadataType,\n },\n };\n }\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","export function escapeODataStringLiteral(value: string) {\n return value.replace(/'/g, \"''\");\n}\n\nexport function buildListByTitleEndpoint(listName: string) {\n return `_api/web/lists/GetByTitle('${escapeODataStringLiteral(listName)}')`;\n}\n","export function buildLibraryPath(folderPath?: string | string[]) {\n if (!folderPath) {\n return '';\n }\n\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map(segment => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport function encodeFileName(fileName: string) {\n if (!fileName.trim()) {\n throw new Error('File name cannot be empty.');\n }\n\n return encodeURIComponent(fileName.replace(/'/g, \"''\"));\n}\n","import { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport { RequestContext } from '../context';\nimport { buildListByTitleEndpoint } from '../sharepointUrl';\nimport { encodeFileName } from './utils';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n if (context.sharepointVersion !== '2013') {\n throw new Error(\n 'createAttachment is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n const encodedFileName = encodeFileName(file.name);\n const requestUrl = `${buildListByTitleEndpoint(\n context.listName\n )}/items(${itemId})/AttachmentFiles/add(FileName='${encodedFileName}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import { SHAREPOINT_VER } from '../../../types';\nimport { RequestContext } from '../context';\nimport { fetchDigest } from '../digest';\nimport { buildListByTitleEndpoint } from '../sharepointUrl';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const requestDigest = await fetchDigest(context.instance, context.baseURL);\n const url =\n context.sharepointVersion === '2013'\n ? `${buildListByTitleEndpoint(context.listName)}/items(${id})`\n : `${context.endpoint}(${id})`;\n\n const response = await context.instance.post(url, undefined, {\n headers: {\n 'X-RequestDigest': requestDigest,\n 'IF-MATCH': '*',\n 'X-HTTP-Method': 'DELETE',\n },\n });\n return response;\n}\n","import { SHAREPOINT_VER, DeleteFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\nimport { buildListByTitleEndpoint } from '../sharepointUrl';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function deleteFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { fileName, folderPath }: DeleteFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'deleteFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n const encodedFileName = encodeFileName(fileName);\n let requestUrl = `${buildListByTitleEndpoint(context.listName)}/RootFolder`;\n requestUrl += buildLibraryPath(folderPath);\n requestUrl += `/Files('${encodedFileName}')`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, undefined, {\n headers: {\n 'X-HTTP-Method': 'DELETE',\n 'IF-MATCH': '*',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy) ? orderBy.join(orderBySeparator) : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport { RequestContext } from '../context';\n\nexport async function getFiles<T, V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data = response.data?.d?.results ?? response.data?.d ?? response.data;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport { RequestContext } from '../context';\n\nexport async function getListItems<K, V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{\n data: (K & Partial<SPItem<V>>) | (K & Partial<SPItem<V>>)[] | undefined;\n meta: { url: URL };\n}> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData =\n response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return {\n data: data as\n | (K & Partial<SPItem<V>>)\n | (K & Partial<SPItem<V>>)[]\n | undefined,\n meta,\n };\n}\n","import { AxiosInstance } from 'axios';\nimport { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<T, V extends SHAREPOINT_VER = '2013'>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (!data) {\n return undefined;\n }\n\n if (data.d) {\n return data.d.results ? data.d.results : data.d;\n }\n\n return data;\n}\n","import { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport { RequestContext } from '../context';\nimport { normalizeListPayload } from './normalizePayload';\nimport { buildListByTitleEndpoint } from '../sharepointUrl';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<\n D = Record<string, unknown>,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData<D>,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const normalizedData = normalizeListPayload(data);\n let payload: Record<string, unknown> = normalizedData;\n\n if (context.sharepointVersion === '2013') {\n const metadataType = await resolveMetadataType(context);\n const userMetadata = (data as { __metadata?: Record<string, unknown> })\n .__metadata;\n payload = {\n ...normalizedData,\n __metadata: {\n ...(userMetadata && typeof userMetadata === 'object'\n ? userMetadata\n : {}),\n type: metadataType,\n },\n };\n }\n\n const url =\n context.sharepointVersion === '2013'\n ? `${buildListByTitleEndpoint(context.listName)}/items(${id})`\n : `${context.endpoint}(${id})`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-HTTP-Method': 'MERGE',\n },\n });\n\n return response;\n}\n","import { AxiosResponse } from 'axios';\nimport { ItemID, SHAREPOINT_VER, UploadFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\nimport { buildListByTitleEndpoint } from '../sharepointUrl';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n): Promise<AxiosResponse & { itemId?: ItemID }> {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `${buildListByTitleEndpoint(context.listName)}/RootFolder`;\n\n requestUrl += buildLibraryPath(folderPath);\n\n const encodedFileName = encodeFileName(file.name);\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })?$expand=ListItemAllFields&$select=ListItemAllFields/Id`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = (await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n })) as AxiosResponse & { itemId?: ItemID };\n\n const responseData = response.data?.d ?? response.data;\n const listItemFields = responseData?.ListItemAllFields;\n const itemId =\n listItemFields?.Id ??\n listItemFields?.ID ??\n responseData?.Id ??\n responseData?.ID;\n\n if (typeof itemId !== 'undefined') {\n response.itemId = itemId;\n } else if (listItemFields?.__deferred?.uri) {\n const listItemResponse = await context.instance.get(\n listItemFields.__deferred.uri\n );\n const deferredId =\n listItemResponse.data?.d?.Id ?? listItemResponse.data?.Id;\n\n if (typeof deferredId !== 'undefined') {\n response.itemId = deferredId;\n }\n }\n\n return response;\n}\n","import { AxiosInstance } from 'axios';\nimport { PersonField, UserPermision, UserProfile } from '../../types';\nimport { RequestContext } from './context';\nimport { escapeODataStringLiteral } from './sharepointUrl';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n const searchResults =\n response.data?.d?.ClientPeoplePickerSearchUser ??\n response.data?.ClientPeoplePickerSearchUser;\n\n if (typeof searchResults === 'string') {\n const parsed = JSON.parse(searchResults);\n if (Array.isArray(parsed) && parsed.length > 0) {\n return parsed[0] as PersonField;\n }\n throw new Error('People picker returned no results.');\n }\n\n if (Array.isArray(searchResults) && searchResults.length > 0) {\n return searchResults[0] as PersonField;\n }\n\n if (searchResults && typeof searchResults === 'object') {\n return searchResults as PersonField;\n }\n\n throw new Error('Invalid people picker response.');\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(\n instance: AxiosInstance,\n searchValue: string\n) {\n const safeSearchValue = escapeODataStringLiteral(searchValue);\n const response = await instance.get('_api/web/siteusers', {\n params: {\n $filter: `substringof('${safeSearchValue}', Title) or substringof('${safeSearchValue}', LoginName) or substringof('${safeSearchValue}', Email)`,\n $top: 50,\n $expand: 'Groups',\n },\n });\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n if (!result) {\n throw new Error(\n `Unable to resolve current user permission for BasePermissions.High=\"${High}\".`\n );\n }\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n DeleteFileProps,\n EmailProps,\n Field_Options,\n Folder_Options,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UploadFileProps,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport { fetchDigest } from './internal/digest';\nimport {\n createAttachment,\n createListItem,\n deleteFile as deleteLibraryFile,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport {\n buildListByTitleEndpoint,\n escapeODataStringLiteral,\n} from './internal/sharepointUrl';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\n\ntype ListKey<T extends { LISTS: Record<string, unknown> }> = Extract<\n keyof T['LISTS'],\n string\n>;\n\ntype EmailApi = ((\n from: string,\n to: string[] | string,\n subject: string | undefined,\n body: string\n) => ReturnType<typeof sendEmailRequest>) & {\n send: (props: EmailProps) => ReturnType<typeof sendEmailRequest>;\n};\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private readonly baseURL: string;\n private readonly instance: AxiosInstance;\n private readonly listItemEntityTypeCache: Map<string, string>;\n public readonly email: EmailApi;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.instance = instance(this.baseURL, config);\n this.listItemEntityTypeCache = new Map<string, string>();\n this.email = Object.assign(\n (\n from: string,\n to: string[] | string,\n subject: string | undefined,\n body: string\n ) => {\n return this.sendEmail({\n From: from,\n To: to,\n Subject: subject,\n Body: body,\n });\n },\n {\n send: (props: EmailProps) => this.sendEmail(props),\n }\n );\n }\n\n private createContext<V extends SHAREPOINT_VER = '2013'>({\n endpoint,\n listName,\n sharepointVersion,\n listItemEntityTypeFullName,\n resolveListItemEntityType,\n }: {\n endpoint: string;\n listName: string;\n sharepointVersion: V;\n listItemEntityTypeFullName?: string;\n resolveListItemEntityType?: () => Promise<string>;\n }): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint,\n listName,\n sharepointVersion,\n listItemEntityTypeFullName,\n resolveListItemEntityType,\n };\n }\n\n private async resolveListItemEntityTypeFullName(\n listName: string\n ): Promise<string> {\n const cacheKey = listName;\n const cachedType = this.listItemEntityTypeCache.get(cacheKey);\n if (cachedType) {\n return cachedType;\n }\n\n const response = await this.instance.get(\n `${buildListByTitleEndpoint(listName)}?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${listName}\".`\n );\n }\n\n this.listItemEntityTypeCache.set(cacheKey, entityType);\n return entityType;\n }\n\n private buildListScope<\n K extends ListKey<T>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, version: V) {\n const listNameValue = String(listName);\n const endpoint =\n version === '2013'\n ? `${buildListByTitleEndpoint(listNameValue)}/items`\n : `_vti_bin/ListData.svc/${encodeURIComponent(listNameValue)}`;\n\n let scopedEntityType: string | undefined;\n const resolveListItemEntityType = async () => {\n if (scopedEntityType) {\n return scopedEntityType;\n }\n\n if (version !== '2013') {\n scopedEntityType = `SP.Data.${listNameValue}ListItem`;\n return scopedEntityType;\n }\n\n scopedEntityType = await this.resolveListItemEntityTypeFullName(\n listNameValue\n );\n return scopedEntityType;\n };\n\n const getContext = () =>\n this.createContext<V>({\n endpoint,\n listName: listNameValue,\n sharepointVersion: version,\n listItemEntityTypeFullName: scopedEntityType,\n resolveListItemEntityType,\n });\n\n const removeItem = (id: ItemID) => deleteItem(getContext(), id);\n const removeFile = (props: DeleteFileProps) =>\n deleteLibraryFile(getContext(), props);\n\n return {\n create: (data: ListData<T['LISTS'][K]>) =>\n createListItem<T['LISTS'][K], V>(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData<T['LISTS'][K]>, digest?: string) =>\n updateListItem<T['LISTS'][K], V>(getContext(), id, data, digest),\n delete: removeItem,\n remove: removeItem,\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n deleteFile: removeFile,\n removeFile,\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n const fieldsEndpoint = !options?.fieldName\n ? `${buildListByTitleEndpoint(listNameValue)}/fields`\n : `${buildListByTitleEndpoint(\n listNameValue\n )}/fields/getbytitle('${escapeODataStringLiteral(\n String(options.fieldName)\n )}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, fieldsEndpoint, options),\n };\n },\n items: {\n create: (data: ListData<T['LISTS'][K]>) =>\n createListItem<T['LISTS'][K], V>(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData<T['LISTS'][K]>, digest?: string) =>\n updateListItem<T['LISTS'][K], V>(getContext(), id, data, digest),\n delete: removeItem,\n remove: removeItem,\n },\n files: {\n attach: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n upload: (props: UploadFileProps) => uploadFile(getContext(), props),\n delete: removeFile,\n remove: removeFile,\n },\n };\n }\n\n /**\n * @deprecated Use `from(listName, '2010')` instead.\n */\n list<K extends ListKey<T>>(listName: K) {\n return this.from<K, '2010'>(listName, '2010');\n }\n\n public from<K extends ListKey<T>, V extends SHAREPOINT_VER = '2013'>(\n listName: K,\n sharepointVersion?: V\n ) {\n const version = (sharepointVersion ?? '2013') as V;\n return this.buildListScope<K, V>(listName, version);\n }\n\n public field<K extends ListKey<T>, V extends SHAREPOINT_VER = '2013'>(\n listName: K,\n fieldName?: Extract<keyof T['LISTS'][K], string>,\n sharepointVersion?: V\n ) {\n return this.from<K, V>(listName, sharepointVersion)\n .fields({\n fieldName,\n } as Field_Options<T['LISTS'][K], V>)\n .get();\n }\n\n public lists(options?: Options<Record<string, unknown>, '2013'>) {\n const context = this.createContext<'2013'>({\n endpoint: '_api/web/lists',\n listName: '',\n sharepointVersion: '2013',\n });\n\n return {\n get: () => getListItems(context, options),\n };\n }\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public folders(options?: Folder_Options<Record<string, unknown>>) {\n const context = this.createContext<'2013'>({\n endpoint: '_api/web/folders',\n listName: '',\n sharepointVersion: '2013',\n });\n\n return {\n get: () => getFiles<Record<string, unknown>, '2013'>(context, options),\n };\n }\n\n public folder(folderName?: string | string[]) {\n const defaultPath = ['Shared Documents'];\n const segments = folderName\n ? Array.isArray(folderName)\n ? [...defaultPath, ...folderName]\n : [...defaultPath, ...folderName.split('/').filter(Boolean)]\n : defaultPath;\n\n const serverRelativePath = escapeODataStringLiteral(segments.join('/'));\n const baseEndpoint = `_api/web/GetFolderByServerRelativeUrl('${serverRelativePath}')`;\n\n return {\n get: (options?: Folder_Options<Record<string, unknown>>) => {\n const folderType = options?.type ?? 'Files';\n const endpoint = `${baseEndpoint}/${folderType}`;\n const context = this.createContext<'2013'>({\n endpoint,\n listName: '',\n sharepointVersion: '2013',\n });\n\n return getFiles<Record<string, unknown>, '2013'>(context, {\n ...options,\n type: folderType,\n });\n },\n };\n }\n\n public users(options?: Options<Record<string, unknown>, '2013'>) {\n const context = this.createContext<'2013'>({\n endpoint: '_api/web/SiteUserInfoList/items',\n listName: '',\n sharepointVersion: '2013',\n });\n\n return {\n get: () => getListItems(context, options),\n };\n }\n\n public sendEmail(props: EmailProps) {\n const context = this.createContext<'2013'>({\n endpoint: '_api/SP.Utilities.Utility.SendEmail',\n listName: '',\n sharepointVersion: '2013',\n });\n return sendEmailRequest(context, props);\n }\n\n public readonly user = {\n properties: () => ({\n get: (): Promise<UserProfile> => loadCurrentUserProperties(this.instance),\n }),\n searchSiteUser: (searchValue: string) =>\n fetchSiteUser(this.instance, searchValue),\n searchUser: (input: string, filter?: string): Promise<PersonField> =>\n typeAhead(this.instance, input, filter),\n current: () => ({\n get: (): Promise<CurrentUser> =>\n getOnly(this.instance, '_api/web/currentUser'),\n }),\n currentPermission: () => ({\n get: (): Promise<UserPermision> =>\n resolveCurrentUserPermissions(\n this.createContext<'2013'>({\n endpoint: '_api/web/effectiveBasePermissions',\n listName: '',\n sharepointVersion: '2013',\n })\n ),\n }),\n };\n\n public getCurrentUser() {\n return this.user.current().get();\n }\n\n public currentUserProperties() {\n return this.user.properties().get();\n }\n\n public currentUserPermission() {\n return this.user.currentPermission().get();\n }\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>() {\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","cause","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","message","sendEmail","_sendEmail","context","_ref","From","To","Subject","Body","httpRequest","_t2","_t3","_t4","_t5","JSON","stringify","properties","__metadata","type","results","Array","isArray","call","url","method","LOOKUP_ID_KEYS","isPlainObject","value","extractLookupPrimitive","allowGenericId","_iterator","_createForOfIteratorHelperLoose","_step","done","key","undefined","normalizeLookupValue","primitive","trimmed","trim","numeric","Number","isNaN","resolveLookupField","lower","toLowerCase","endsWithId","endsWith","endsWithRef","endsWithLookup","hasLookupHint","targetKey","normalizeListPayload","result","_i","_Object$entries","Object","entries","length","_Object$entries$_i","lookupField","resolveMetadataType","_resolveMetadataType","resolveListItemEntityType","listItemEntityTypeFullName","listName","createListItem","_x3","_createListItem","_callee2","listData","normalizedData","payload","metadataType","userMetadata","_context2","sharepointVersion","endpoint","escapeODataStringLiteral","replace","buildListByTitleEndpoint","buildLibraryPath","folderPath","segments","split","filter","Boolean","escapedSegments","map","segment","sanitized","encodeURIComponent","join","encodeFileName","fileName","createAttachment","_createAttachment","file","itemId","encodedFileName","requestUrl","name","deleteItem","_deleteItem","id","requestDigest","SUPPORTED_VERSION","deleteFile","_deleteFile","digest","buildODataParams","options","orderBySeparator","expand","orderBy","limit","cols","skip","params","$expand","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","forEach","_ref2","searchParams","append","String","getFiles","_getFiles","_response$data$d$resu","_response$data2","meta","URL","defaults","request","getListItems","_getListItems","rawData","keys","filterItem","item","reduce","acc","getOnly","_getOnly","_yield$instance$get","get","updateListItem","_x4","_x5","_updateListItem","uploadFile","_uploadFile","_response$data$d","_ref3","_listItemFields$Id","_listItemFields$__def","_ref$overwrite","overwrite","responseData","listItemFields","_listItemResponse$dat","_listItemResponse$dat2","_listItemResponse$dat3","listItemResponse","deferredId","ListItemAllFields","Id","ID","__deferred","uri","typeAhead","_typeAhead","input","_response$data$d$Clie","searchResults","parsed","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","parse","currentUserProperties","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x6","_getSiteUser","_callee3","searchValue","safeSearchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","_context6","find","BasePermissions","HTTPSharePointRequests","listItemEntityTypeCache","email","user","loadCurrentUserProperties","_this","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","createContext","Map","assign","from","to","subject","body","send","props","_proto","prototype","resolveListItemEntityTypeFullName","_resolveListItemEntityTypeFullName","_response$data$d$List","cacheKey","cachedType","entityType","ListItemEntityTypeFullName","set","buildListScope","version","listNameValue","scopedEntityType","_this2","getContext","removeItem","removeFile","deleteLibraryFile","update","remove","createFile","fields","fieldsEndpoint","fieldName","items","files","attach","upload","list","field","lists","getDigest","folders","folder","folderName","defaultPath","concat","serverRelativePath","baseEndpoint","folderType","_options$type","_this3","users","sendEmailRequest","getCurrentUser","currentUserPermission","createBase","SHAREPOINT_REQUESTS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,aAAa,GAAgB;EACjCC,OAAO,EAAE;IACPC,MAAM,EAAE,iCAAiC;IACzC,cAAc,EAAE;GACjB;EACDC,OAAO,EAAE,KAAK;EACdC,eAAe,EAAE;CAClB;AAEM,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,OAAe,EAAEC,MAAoB;;EAC5D,IAAMC,WAAW,GACf,CAAAD,MAAM,oBAANA,MAAM,CAAEN,OAAO,aAAYQ,YAAY,GACnCF,MAAM,CAACN,OAAO,CAACS,MAAM,EAAE,IAAAC,eAAA,GACvBJ,MAAM,oBAANA,MAAM,CAAEN,OAAO,YAAAU,eAAA,GAAI,EAAE;EAE3B,OAAOC,KAAK,CAACC,MAAM,CAAAC,QAAA,KACdd,aAAa,EACbO,MAAM;IACTD,OAAO,EAAPA,OAAO;IACPL,OAAO,EAAAa,QAAA,KACFd,aAAa,CAACC,OAAO,EACrBO,WAAW;IAEjB,CAAC;AACJ,CAAC;;SCxBqBO,WAAWA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAoBhC,SAAAF;EAAAA,YAAA,GAAAG,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CApBM,SAAAC,QACLnB,QAAuB,EACvBC,OAAe;IAAA,IAAAmB,cAAA,EAAAC,QAAA,EAAAC,eAAA,EAAAC,KAAA,EAAAC,EAAA;IAAA,OAAAP,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;QAAA;UAAAF,QAAA,CAAAC,CAAA;UAAAD,QAAA,CAAAE,CAAA;UAAA,OAGU5B,QAAQ,CAAC6B,IAAI,CAAI5B,OAAO,qBAAkB,CAAC;QAAA;UAA5DoB,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAERR,eAAe,IAAAF,cAAA,GACnBC,QAAQ,CAACU,IAAI,cAAAX,cAAA,GAAbA,cAAA,CAAeY,CAAC,cAAAZ,cAAA,GAAhBA,cAAA,CAAkBa,wBAAwB,qBAA1Cb,cAAA,CAA4Cc,eAAe;UAAA,IAExDZ,eAAe;YAAAI,QAAA,CAAAE,CAAA;YAAA;;UAAA,MACZ,IAAIO,KAAK,CAAC,qDAAqD,CAAC;QAAA;UAAA,OAAAT,QAAA,CAAAU,CAAA,IAGjEd,eAAe;QAAA;UAAAI,QAAA,CAAAC,CAAA;UAAAH,EAAA,GAAAE,QAAA,CAAAI,CAAA;UAEhBP,KAAK,GACTC,EAAA,YAAiBW,KAAK,GAAGX,EAAA,CAAMa,OAAO,GAAG,2BAA2B;UAAA,MAChE,IAAIF,KAAK,0CAAwCZ,KAAO,CAAC;QAAA;UAAA,OAAAG,QAAA,CAAAU,CAAA;;OAAAjB,OAAA;GAElE;EAAA,OAAAN,YAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;;SCXqBuB,SAASA,CAAA3B,EAAA,EAAAC,GAAA;EAAA,OAAA2B,UAAA,CAAAzB,KAAA,OAAAC,SAAA;AAAA;AA8B9B,SAAAwB;EAAAA,UAAA,GAAAvB,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA9BM,SAAAC,QACLqB,OAAuB,EAAAC,IAAA;IAAA,IAAAC,IAAA,EAAAC,EAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAAzB,QAAA,EAAAG,EAAA,EAAAuB,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAjC,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACrBc,IAAI,GAAAD,IAAA,CAAJC,IAAI,EAAEC,EAAE,GAAAF,IAAA,CAAFE,EAAE,EAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO,EAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;UAEnBC,WAAW,GAAG,qCAAqC;UAAAtB,EAAA,GAElCgB,OAAO;UAAAO,GAAA,GACvBD,WAAW;UAAApB,QAAA,CAAAE,CAAA;UAAA,OAGWlB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAAA+C,GAAA,GAAAtB,QAAA,CAAAI,CAAA;UAAAmB,GAAA;YAAvE,iBAAiB,EAAAD,GAAA;YACjB,eAAe,EAAE,MAAM;YACvB,cAAc,EAAE;;UAAgCE,GAAA,GAE5CC,IAAI,CAACC,SAAS,CAAC;YACnBC,UAAU,EAAE;cACVC,UAAU,EAAE;gBACVC,IAAI,EAAE;eACP;cACDb,IAAI,EAAJA,IAAI;cACJC,EAAE,EAAE;gBACFa,OAAO,EAAEC,KAAK,CAACC,OAAO,CAACf,EAAE,CAAC,GAAGA,EAAE,GAAG,CAACA,EAAE;eACtC;cACDE,IAAI,EAAJA,IAAI;cACJD,OAAO,EAAPA;;WAEH,CAAC;UAAAlB,QAAA,CAAAE,CAAA;UAAA,OAAAJ,EAAA,CApB2BxB,QAAQ,CAAA2D,IAAA,CAAAnC,EAAA;YACrCoC,GAAG,EAAAb,GAAA;YACHc,MAAM,EAAE,MAAM;YACdjE,OAAO,EAAAqD,GAAA;YAKPlB,IAAI,EAAAmB;;QAAA;UARA7B,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAuBPf,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAAoB,UAAA,CAAAzB,KAAA,OAAAC,SAAA;AAAA;;ACrCD,IAAM+C,cAAc,GAAG,CACrB,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,IAAI,CACL;AAED,SAASC,aAAaA,CAACC,KAAc;EACnC,OAAO,CAAC,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACP,KAAK,CAACC,OAAO,CAACM,KAAK,CAAC;AACtE;AAEA,SAASC,sBAAsBA,CAC7BD,KAAgB,EAChBE,cAAuB;EAEvB,SAAAC,SAAA,GAAAC,+BAAA,CAAkBN,cAAc,GAAAO,KAAA,IAAAA,KAAA,GAAAF,SAAA,IAAAG,IAAA,GAAE;IAAA,IAAvBC,GAAG,GAAAF,KAAA,CAAAL,KAAA;IACZ,IAAI,CAACE,cAAc,KAAKK,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAK,IAAI,CAAC,EAAE;MACrD;;IAEF,IAAIP,KAAK,CAACO,GAAG,CAAC,KAAKC,SAAS,IAAIR,KAAK,CAACO,GAAG,CAAC,KAAK,IAAI,EAAE;MACnD,OAAOP,KAAK,CAACO,GAAG,CAAC;;;EAGrB,OAAOC,SAAS;AAClB;AAEA,SAASC,oBAAoBA,CAACT,KAAc;EAC1C,IAAIP,KAAK,CAACC,OAAO,CAACM,KAAK,CAAC,EAAE;IACxB,OAAO;MAAER,OAAO,EAAEQ;KAAO;;EAG3B,IAAID,aAAa,CAACC,KAAK,CAAC,EAAE;IACxB,IAAIP,KAAK,CAACC,OAAO,CAACM,KAAK,CAACR,OAAO,CAAC,EAAE;MAChC,OAAO;QAAEA,OAAO,EAAEQ,KAAK,CAACR;OAAS;;IAGnC,IAAMkB,SAAS,GAAGT,sBAAsB,CAACD,KAAK,EAAE,IAAI,CAAC;IACrD,IAAIU,SAAS,KAAKF,SAAS,EAAE;MAC3B,OAAOE,SAAS;;;EAIpB,IAAI,OAAOV,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAMW,OAAO,GAAGX,KAAK,CAACY,IAAI,EAAE;IAC5B,IAAI,CAACD,OAAO,EAAE;MACZ,OAAOX,KAAK;;IAEd,IAAMa,OAAO,GAAGC,MAAM,CAACH,OAAO,CAAC;IAC/B,OAAOG,MAAM,CAACC,KAAK,CAACF,OAAO,CAAC,GAAGF,OAAO,GAAGE,OAAO;;EAGlD,OAAOb,KAAK;AACd;AAEA,SAASgB,kBAAkBA,CAACT,GAAW,EAAEP,KAAc;EACrD,IAAMiB,KAAK,GAAGV,GAAG,CAACW,WAAW,EAAE;EAC/B,IAAMC,UAAU,GAAGF,KAAK,CAACG,QAAQ,CAAC,IAAI,CAAC;EACvC,IAAMC,WAAW,GAAGJ,KAAK,CAACG,QAAQ,CAAC,KAAK,CAAC;EACzC,IAAME,cAAc,GAAGL,KAAK,CAACG,QAAQ,CAAC,QAAQ,CAAC;EAC/C,IAAMG,aAAa,GAAGJ,UAAU,IAAIE,WAAW,IAAIC,cAAc;EAEjE,IAAItB,KAAK,KAAKQ,SAAS,EAAE;IACvB,OAAO,IAAI;;EAGb,IAAIf,KAAK,CAACC,OAAO,CAACM,KAAK,CAAC,EAAE;IACxB,IAAMwB,UAAS,GAAGL,UAAU,GAAGZ,GAAG,GAAMA,GAAG,OAAI;IAC/C,OAAO;MACLA,GAAG,EAAEiB,UAAS;MACdxB,KAAK,EAAE;QAAER,OAAO,EAAEQ;;KACnB;;EAGH,IAAID,aAAa,CAACC,KAAK,CAAC,EAAE;IACxB,IAAMU,SAAS,GAAGT,sBAAsB,CAACD,KAAK,EAAEuB,aAAa,CAAC;IAC9D,IAAIb,SAAS,KAAKF,SAAS,EAAE;MAC3B,IAAMgB,WAAS,GAAGL,UAAU,GAAGZ,GAAG,GAAMA,GAAG,OAAI;MAC/C,OAAO;QACLA,GAAG,EAAEiB,WAAS;QACdxB,KAAK,EAAES,oBAAoB,CAACC,SAAS;OACtC;;IAGH,IAAIjB,KAAK,CAACC,OAAO,CAACM,KAAK,CAACR,OAAO,CAAC,EAAE;MAChC,IAAMgC,WAAS,GAAGL,UAAU,GAAGZ,GAAG,GAAMA,GAAG,OAAI;MAC/C,OAAO;QACLA,GAAG,EAAEiB,WAAS;QACdxB,KAAK,EAAE;UAAER,OAAO,EAAEQ,KAAK,CAACR;;OACzB;;IAGH,IAAI,CAAC+B,aAAa,EAAE;MAClB,OAAO,IAAI;;GAEd,MAAM,IAAI,CAACA,aAAa,EAAE;IACzB,OAAO,IAAI;;EAGb,IAAMC,SAAS,GAAGL,UAAU,GAAGZ,GAAG,GAAMA,GAAG,OAAI;EAE/C,IAAIP,KAAK,KAAK,IAAI,EAAE;IAClB,OAAO;MACLO,GAAG,EAAEiB,SAAS;MACdxB,KAAK,EAAE;KACR;;EAGH,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO;MACLO,GAAG,EAAEiB,SAAS;MACdxB,KAAK,EAALA;KACD;;EAGH,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,IAAMW,OAAO,GAAGX,KAAK,CAACY,IAAI,EAAE;IAC5B,IAAI,CAACD,OAAO,EAAE;MACZ,OAAO;QACLJ,GAAG,EAAEiB,SAAS;QACdxB,KAAK,EAAE;OACR;;IAEH,IAAMa,OAAO,GAAGC,MAAM,CAACH,OAAO,CAAC;IAC/B,OAAO;MACLJ,GAAG,EAAEiB,SAAS;MACdxB,KAAK,EAAEc,MAAM,CAACC,KAAK,CAACF,OAAO,CAAC,GAAGF,OAAO,GAAGE;KAC1C;;EAGH,OAAO,IAAI;AACb;AAEA,SAAgBY,oBAAoBA,CAClC1D,IAAiB;EAEjB,IAAM2D,MAAM,GAAc,EAAE;EAE5B,IAAI,CAAC3D,IAAI,EAAE;IACT,OAAO2D,MAAM;;EAGf,SAAAC,EAAA,MAAAC,eAAA,GAA2BC,MAAM,CAACC,OAAO,CAAC/D,IAAiB,CAAC,EAAA4D,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;IAAzD,IAAAK,kBAAA,GAAAJ,eAAA,CAAAD,EAAA;MAAOpB,GAAG,GAAAyB,kBAAA;MAAEhC,KAAK,GAAAgC,kBAAA;IACpB,IAAIzB,GAAG,KAAK,YAAY,EAAE;MACxB;;IAGF,IAAM0B,WAAW,GAAGjB,kBAAkB,CAACT,GAAG,EAAEP,KAAK,CAAC;IAClD,IAAIiC,WAAW,EAAE;MACfP,MAAM,CAACO,WAAW,CAAC1B,GAAG,CAAC,GAAG0B,WAAW,CAACjC,KAAK;MAC3C;;IAGF,IAAIA,KAAK,KAAKQ,SAAS,EAAE;MACvBkB,MAAM,CAACnB,GAAG,CAAC,GAAGP,KAAK;;;EAIvB,OAAO0B,MAAM;AACf;;ACjK0D,SAE3CQ,mBAAmBA,CAAAvF,EAAA;EAAA,OAAAwF,oBAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAoF;EAAAA,oBAAA,GAAAnF,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAlC,SAAAC,QACEqB,OAA0B;IAAA,OAAAvB,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAAA,KAEtBY,OAAO,CAAC4D,yBAAyB;YAAA1E,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IAC5BI,OAAO,CAAC4D,yBAAyB,EAAE;QAAA;UAAA,KAGxC5D,OAAO,CAAC6D,0BAA0B;YAAA3E,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IAC7BI,OAAO,CAAC6D,0BAA0B;QAAA;UAAA,OAAA3E,QAAA,CAAAU,CAAA,iBAGzBI,OAAO,CAAC8D,QAAQ;;OAAAnF,OAAA;GACnC;EAAA,OAAAgF,oBAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBwF,cAAcA,CAAA3F,GAAA,EAAA4F,GAAA;EAAA,OAAAC,eAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;AAgCnC,SAAA0F;EAAAA,eAAA,GAAAzF,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAhCM,SAAAwF,SAGLlE,OAA0B,EAAEmE,QAAqB;IAAA,IAAAC,cAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,YAAA,EAAA1F,QAAA,EAAAG,EAAA,EAAAuB,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAjC,YAAA,GAAAQ,CAAA,WAAAuF,SAAA;MAAA,kBAAAA,SAAA,CAAApF,CAAA;QAAA;UAC3CgF,cAAc,GAAGnB,oBAAoB,CAACkB,QAAQ,CAAC;UACjDE,OAAO,GAA4BD,cAAc;UAAA,MAEjDpE,OAAO,CAACyE,iBAAiB,KAAK,MAAM;YAAAD,SAAA,CAAApF,CAAA;YAAA;;UAAAoF,SAAA,CAAApF,CAAA;UAAA,OACXsE,mBAAmB,CAAC1D,OAAO,CAAC;QAAA;UAAjDsE,YAAY,GAAAE,SAAA,CAAAlF,CAAA;UACZiF,YAAY,GAAIJ,QAAqD,CACxErD,UAAU;UACbuD,OAAO,GAAApG,QAAA,KACFmG,cAAc;YACjBtD,UAAU,EAAA7C,QAAA,KACJsG,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,GAChDA,YAAY,GACZ,EAAE;cACNxD,IAAI,EAAEuD;;YAET;QAAC;UAAAtF,EAAA,GAGmBgB,OAAO;UAAAO,GAAA,GACvBP,OAAO,CAAC0E,QAAQ;UAAAlE,GAAA,GAEfG,IAAI,CAACC,SAAS,CAACyD,OAAO,CAAC;UAAAG,SAAA,CAAApF,CAAA;UAAA,OAEFlB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAAAgD,GAAA,GAAA+D,SAAA,CAAAlF,CAAA;UAAAoB,GAAA;YAAvE,iBAAiB,EAAAD;;UAAA+D,SAAA,CAAApF,CAAA;UAAA,OAAAJ,EAAA,CALUxB,QAAQ,CAAA2D,IAAA,CAAAnC,EAAA;YACrCoC,GAAG,EAAAb,GAAA;YACHc,MAAM,EAAE,MAAM;YACd9B,IAAI,EAAAiB,GAAA;YACJpD,OAAO,EAAAsD;;QAAA;UAJH7B,QAAQ,GAAA2F,SAAA,CAAAlF,CAAA;UAAA,OAAAkF,SAAA,CAAA5E,CAAA,IASPf,QAAQ;;OAAAqF,QAAA;GAChB;EAAA,OAAAD,eAAA,CAAA3F,KAAA,OAAAC,SAAA;AAAA;;SCnDeoG,wBAAwBA,CAACnD,KAAa;EACpD,OAAOA,KAAK,CAACoD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAClC;AAEA,SAAgBC,wBAAwBA,CAACf,QAAgB;EACvD,uCAAqCa,wBAAwB,CAACb,QAAQ,CAAC;AACzE;;SCNgBgB,gBAAgBA,CAACC,UAA8B;EAC7D,IAAI,CAACA,UAAU,EAAE;IACf,OAAO,EAAE;;EAGX,IAAMC,QAAQ,GAAG/D,KAAK,CAACC,OAAO,CAAC6D,UAAU,CAAC,GACtCA,UAAU,GACVA,UAAU,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC;EAEzC,IAAI,CAACH,QAAQ,CAACzB,MAAM,EAAE;IACpB,OAAO,EAAE;;EAGX,IAAM6B,eAAe,GAAGJ,QAAQ,CAACK,GAAG,CAAC,UAAAC,OAAO;IAC1C,IAAI,CAACA,OAAO,CAAClD,IAAI,EAAE,EAAE;MACnB,MAAM,IAAIzC,KAAK,CAAC,uCAAuC,CAAC;;IAG1D,IAAM4F,SAAS,GAAGD,OAAO,CAACV,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;IAE7C,sBAAoBY,kBAAkB,CAACD,SAAS,CAAC;GAClD,CAAC;EAEF,OAAOH,eAAe,CAACK,IAAI,CAAC,EAAE,CAAC;AACjC;AAEA,SAAgBC,cAAcA,CAACC,QAAgB;EAC7C,IAAI,CAACA,QAAQ,CAACvD,IAAI,EAAE,EAAE;IACpB,MAAM,IAAIzC,KAAK,CAAC,4BAA4B,CAAC;;EAG/C,OAAO6F,kBAAkB,CAACG,QAAQ,CAACf,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD;;SC1BsBgB,gBAAgBA,CAAAzH,EAAA,EAAAC,GAAA;EAAA,OAAAyH,iBAAA,CAAAvH,KAAA,OAAAC,SAAA;AAAA;AAsBrC,SAAAsH;EAAAA,iBAAA,GAAArH,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAtBM,SAAAC,QACLqB,OAA0B,EAAAC,IAAA;IAAA,IAAA6F,IAAA,EAAAC,MAAA,EAAAC,eAAA,EAAAC,UAAA,EAAApH,QAAA,EAAAG,EAAA,EAAAuB,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;IAAA,OAAAjC,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACxB0G,IAAI,GAAA7F,IAAA,CAAJ6F,IAAI,EAAEC,MAAM,GAAA9F,IAAA,CAAN8F,MAAM;UAAA,MAEV/F,OAAO,CAACyE,iBAAiB,KAAK,MAAM;YAAAvF,QAAA,CAAAE,CAAA;YAAA;;UAAA,MAChC,IAAIO,KAAK,CACb,wEAAwE,CACzE;QAAA;UAGGqG,eAAe,GAAGN,cAAc,CAACI,IAAI,CAACI,IAAI,CAAC;UAC3CD,UAAU,GAAMpB,wBAAwB,CAC5C7E,OAAO,CAAC8D,QAAQ,CACjB,eAAUiC,MAAM,wCAAmCC,eAAe;UAAAhH,EAAA,GAC5CgB,OAAO,CAACxC,QAAQ;UAAA+C,GAAA,GAAM0F,UAAU;UAAAzF,GAAA,GAAEsF,IAAI;UAAA5G,QAAA,CAAAE,CAAA;UAAA,OAEhClB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAAAgD,GAAA,GAAAvB,QAAA,CAAAI,CAAA;UAAAoB,GAAA;YAAvE,iBAAiB,EAAAD;;UAAAvB,QAAA,CAAAE,CAAA;UAAA,OAAAJ,EAAA,CAFmBK,IAAI,CAAA8B,IAAA,CAAAnC,EAAA,EAAAuB,GAAA,EAAAC,GAAA;YAC1CpD,OAAO,EAAAsD,GAAA;YAGPnD,eAAe,EAAE;;QAAI;UAJjBsB,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAOPf,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAAkH,iBAAA,CAAAvH,KAAA,OAAAC,SAAA;AAAA;;SCvBqB4H,UAAUA,CAAAhI,EAAA,EAAAC,GAAA;EAAA,OAAAgI,WAAA,CAAA9H,KAAA,OAAAC,SAAA;AAAA;AAkB/B,SAAA6H;EAAAA,WAAA,GAAA5H,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAlBM,SAAAC,QACLqB,OAA0B,EAC1BqG,EAAmB;IAAA,IAAAC,aAAA,EAAAlF,GAAA,EAAAvC,QAAA;IAAA,OAAAJ,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAAAF,QAAA,CAAAE,CAAA;UAAA,OAESlB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAApE6I,aAAa,GAAApH,QAAA,CAAAI,CAAA;UACb8B,GAAG,GACPpB,OAAO,CAACyE,iBAAiB,KAAK,MAAM,GAC7BI,wBAAwB,CAAC7E,OAAO,CAAC8D,QAAQ,CAAC,eAAUuC,EAAE,SACtDrG,OAAO,CAAC0E,QAAQ,SAAI2B,EAAE,MAAG;UAAAnH,QAAA,CAAAE,CAAA;UAAA,OAEXY,OAAO,CAACxC,QAAQ,CAAC6B,IAAI,CAAC+B,GAAG,EAAEY,SAAS,EAAE;YAC3D5E,OAAO,EAAE;cACP,iBAAiB,EAAEkJ,aAAa;cAChC,UAAU,EAAE,GAAG;cACf,eAAe,EAAE;;WAEpB,CAAC;QAAA;UANIzH,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IAOPf,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAAyH,WAAA,CAAA9H,KAAA,OAAAC,SAAA;AAAA;;ACjBD,IAAMgI,iBAAiB,GAAmB,MAAM;AAEhD,SAAsBC,UAAUA,CAAArI,EAAA,EAAAC,GAAA;EAAA,OAAAqI,WAAA,CAAAnI,KAAA,OAAAC,SAAA;AAAA;AA2B/B,SAAAkI;EAAAA,WAAA,GAAAjI,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA3BM,SAAAC,QACLqB,OAA0B,EAAAC,IAAA;IAAA,IAAA0F,QAAA,EAAAZ,UAAA,EAAAiB,eAAA,EAAAC,UAAA,EAAAS,MAAA,EAAA7H,QAAA;IAAA,OAAAJ,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACxBuG,QAAQ,GAAA1F,IAAA,CAAR0F,QAAQ,EAAEZ,UAAU,GAAA9E,IAAA,CAAV8E,UAAU;UAAA,MAElB/E,OAAO,CAACyE,iBAAiB,KAAK8B,iBAAiB;YAAArH,QAAA,CAAAE,CAAA;YAAA;;UAAA,MAC3C,IAAIO,KAAK,CACb,kEAAkE,CACnE;QAAA;UAGGqG,eAAe,GAAGN,cAAc,CAACC,QAAQ,CAAC;UAC5CM,UAAU,GAAMpB,wBAAwB,CAAC7E,OAAO,CAAC8D,QAAQ,CAAC;UAC9DmC,UAAU,IAAInB,gBAAgB,CAACC,UAAU,CAAC;UAC1CkB,UAAU,iBAAeD,eAAe,OAAI;UAAC9G,QAAA,CAAAE,CAAA;UAAA,OAExBlB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAA7DiJ,MAAM,GAAAxH,QAAA,CAAAI,CAAA;UAAAJ,QAAA,CAAAE,CAAA;UAAA,OAEWY,OAAO,CAACxC,QAAQ,CAAC6B,IAAI,CAAC4G,UAAU,EAAEjE,SAAS,EAAE;YAClE5E,OAAO,EAAE;cACP,eAAe,EAAE,QAAQ;cACzB,UAAU,EAAE,GAAG;cACf,iBAAiB,EAAEsJ;aACpB;YACDnJ,eAAe,EAAE;WAClB,CAAC;QAAA;UAPIsB,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAAA,OAAAJ,QAAA,CAAAU,CAAA,IASPf,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAA8H,WAAA,CAAAnI,KAAA,OAAAC,SAAA;AAAA;;SC7BeoI,gBAAgBA,CAC9BC,OAA2C,EAC3CC;MAAAA;IAAAA,mBAA8B,GAAG;;EAEjC,IAAA5G,IAAA,GAAuD2G,OAAO,IAAI,EAAE;IAA5DE,MAAM,GAAA7G,IAAA,CAAN6G,MAAM;IAAEC,OAAO,GAAA9G,IAAA,CAAP8G,OAAO;IAAEC,KAAK,GAAA/G,IAAA,CAAL+G,KAAK;IAAE9B,MAAM,GAAAjF,IAAA,CAANiF,MAAM;IAAE+B,IAAI,GAAAhH,IAAA,CAAJgH,IAAI;IAAEC,IAAI,GAAAjH,IAAA,CAAJiH,IAAI;EAElD,IAAMC,MAAM,GAAgD;IAC1DC,OAAO,EAAEnG,KAAK,CAACC,OAAO,CAAC4F,MAAM,CAAC,GAAGA,MAAM,CAACrB,IAAI,CAAC,GAAG,CAAC,GAAGqB,MAAM;IAC1DO,IAAI,EAAEL,KAAK;IACXM,KAAK,EAAEJ,IAAI;IACXK,OAAO,EAAEtG,KAAK,CAACC,OAAO,CAAC+F,IAAI,CAAC,GAAGA,IAAI,CAACxB,IAAI,CAAC,GAAG,CAAC,GAAGwB,IAAI;IACpDO,OAAO,EAAEtC,MAAM;IACfuC,QAAQ,EAAExG,KAAK,CAACC,OAAO,CAAC6F,OAAO,CAAC,GAAGA,OAAO,CAACtB,IAAI,CAACoB,gBAAgB,CAAC,GAAGE;GACrE;EAED,OAAOI,MAAM;AACf;AAEA,SAAgBO,iBAAiBA,CAC/BC,OAAY,EACZR,MAA0D;EAE1D9D,MAAM,CAACC,OAAO,CAAC6D,MAAM,CAAC,CAACS,OAAO,CAAC,UAAAC,KAAA;QAAE9F,GAAG,GAAA8F,KAAA;MAAErG,KAAK,GAAAqG,KAAA;IACzC,IAAIrG,KAAK,KAAKQ,SAAS,IAAIR,KAAK,KAAK,IAAI,EAAE;MACzCmG,OAAO,CAACG,YAAY,CAACC,MAAM,CAAChG,GAAG,EAAEiG,MAAM,CAACxG,KAAK,CAAC,CAAC;;GAElD,CAAC;AACJ;;SC7BsByG,QAAQA,CAAA9J,EAAA,EAAAC,GAAA;EAAA,OAAA8J,SAAA,CAAA5J,KAAA,OAAAC,SAAA;AAAA;AAoB7B,SAAA2J;EAAAA,SAAA,GAAA1J,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CApBM,SAAAC,QACLqB,OAA0B,EAC1B4G,OAA2B;IAAA,IAAA3G,IAAA,EAAAkI,qBAAA,EAAAvJ,cAAA,EAAAwJ,eAAA;IAAA,IAAAjB,MAAA,EAAA/F,GAAA,EAAAvC,QAAA,EAAAU,IAAA,EAAA8I,IAAA;IAAA,OAAA5J,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAErB+H,MAAM,GAAGR,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UACvCxF,GAAG,GAAG,IAAIkH,GAAG,CAACtI,OAAO,CAAC0E,QAAQ,EAAE1E,OAAO,CAACxC,QAAQ,CAAC+K,QAAQ,CAAC9K,OAAO,CAAC;UAExEiK,iBAAiB,CAACtG,GAAG,EAAE+F,MAAM,CAAC;UAACjI,QAAA,CAAAE,CAAA;UAAA,OAERY,OAAO,CAACxC,QAAQ,CAACgL,OAAO,CAAC;YAC9CpH,GAAG,EAAEpB,OAAO,CAAC0E,QAAQ;YACrBrD,MAAM,EAAE,KAAK;YACb8F,MAAM,EAANA;WACD,CAAC;QAAA;UAJItI,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAMRC,IAAI,IAAAU,IAAA,IAAAkI,qBAAA,IAAAvJ,cAAA,GAAGC,QAAQ,CAACU,IAAI,cAAAX,cAAA,GAAbA,cAAA,CAAeY,CAAC,qBAAhBZ,cAAA,CAAkBoC,OAAO,YAAAmH,qBAAA,IAAAC,eAAA,GAAIvJ,QAAQ,CAACU,IAAI,qBAAb6I,eAAA,CAAe5I,CAAC,YAAAS,IAAA,GAAIpB,QAAQ,CAACU,IAAI;UAErE8I,IAAI,GAAG;YAAEjH,GAAG,EAAHA;WAAK;UAAA,OAAAlC,QAAA,CAAAU,CAAA,IAEb;YAAEL,IAAI,EAAJA,IAAI;YAAE8I,IAAI,EAAJA;WAAM;;OAAA1J,OAAA;GACtB;EAAA,OAAAuJ,SAAA,CAAA5J,KAAA,OAAAC,SAAA;AAAA;;SCpBqBkK,YAAYA,CAAAtK,EAAA,EAAAC,GAAA;EAAA,OAAAsK,aAAA,CAAApK,KAAA,OAAAC,SAAA;AAAA;AAoDjC,SAAAmK;EAAAA,aAAA,GAAAlK,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CApDM,SAAAC,QACLqB,OAA0B,EAC1B4G,OAAuB;IAAA,IAAA3G,IAAA,EAAAkI,qBAAA,EAAAvJ,cAAA,EAAAwJ,eAAA;IAAA,IAAAjB,MAAA,EAAA/F,GAAA,EAAAvC,QAAA,EAAA8J,OAAA,EAAA1B,IAAA,EAAA2B,IAAA,EAAAC,UAAA,EAAAtJ,IAAA,EAAA8I,IAAA;IAAA,OAAA5J,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAKjB+H,MAAM,GAAGR,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UAEvCxF,GAAG,GAAG,IAAIkH,GAAG,CAACtI,OAAO,CAAC0E,QAAQ,EAAE1E,OAAO,CAACxC,QAAQ,CAAC+K,QAAQ,CAAC9K,OAAO,CAAC;UACxEiK,iBAAiB,CAACtG,GAAG,EAAE+F,MAAM,CAAC;UAACjI,QAAA,CAAAE,CAAA;UAAA,OAERY,OAAO,CAACxC,QAAQ,CAACgL,OAAO,CAAC;YAC9CpH,GAAG,EAAEpB,OAAO,CAAC0E,QAAQ;YACrBrD,MAAM,EAAE,KAAK;YACb8F,MAAM,EAANA;WACD,CAAC;QAAA;UAJItI,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAMRqJ,OAAO,IAAA1I,IAAA,IAAAkI,qBAAA,IAAAvJ,cAAA,GACXC,QAAQ,CAACU,IAAI,cAAAX,cAAA,GAAbA,cAAA,CAAeY,CAAC,qBAAhBZ,cAAA,CAAkBoC,OAAO,YAAAmH,qBAAA,IAAAC,eAAA,GAAIvJ,QAAQ,CAACU,IAAI,qBAAb6I,eAAA,CAAe5I,CAAC,YAAAS,IAAA,GAAIpB,QAAQ,CAACU,IAAI;UAC1D0H,IAAI,GAAGL,OAAO,oBAAPA,OAAO,CAAEK,IAAI;UACpB2B,IAAI,GAAG3B,IAAI,GACb,CAAChG,KAAK,CAACC,OAAO,CAAC+F,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,EAAE/B,MAAM,CAACC,OAAO,CAAC,GACrDnD,SAAS;UAEP6G,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAa;YAC/B,IAAI,CAACF,IAAI,IAAI,CAACE,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;cAC9C,OAAOA,IAAI;;YAGb,OAAOF,IAAI,CAACG,MAAM,CAA0B,UAACC,GAAG,EAAEjH,GAAG;cACnD,IAAIA,GAAG,IAAI+G,IAAI,EAAE;gBACfE,GAAG,CAACjH,GAAG,CAAC,GAAI+G,IAAgC,CAAC/G,GAAG,CAAC;;cAGnD,OAAOiH,GAAG;aACX,EAAE,EAAE,CAAC;WACP;UAEKzJ,IAAI,GAAG0B,KAAK,CAACC,OAAO,CAACyH,OAAO,CAAC,GAC/BA,OAAO,CAACtD,GAAG,CAACwD,UAAU,CAAC,GACvBA,UAAU,CAACF,OAAO,CAAC;UAEjBN,IAAI,GAAG;YAAEjH,GAAG,EAAHA;WAAK;UAAA,OAAAlC,QAAA,CAAAU,CAAA,IAEb;YACLL,IAAI,EAAEA,IAGO;YACb8I,IAAI,EAAJA;WACD;;OAAA1J,OAAA;GACF;EAAA,OAAA+J,aAAA,CAAApK,KAAA,OAAAC,SAAA;AAAA;;SCpDqB0K,OAAOA,CAAA9K,EAAA,EAAAC,GAAA,EAAA4F,GAAA;EAAA,OAAAkF,QAAA,CAAA5K,KAAA,OAAAC,SAAA;AAAA;AAgB5B,SAAA2K;EAAAA,QAAA,GAAA1K,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAhBM,SAAAC,QACLnB,QAAuB,EACvBkH,QAAgB,EAChBkC,OAAuB;IAAA,IAAAO,MAAA,EAAAgC,mBAAA,EAAA5J,IAAA;IAAA,OAAAd,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAEjB+H,MAAM,GAAGR,gBAAgB,CAACC,OAAO,EAAE,GAAG,CAAC;UAAA1H,QAAA,CAAAE,CAAA;UAAA,OACtB5B,QAAQ,CAAC4L,GAAG,CAAC1E,QAAQ,EAAE;YAAEyC,MAAM,EAANA;WAAQ,CAAC;QAAA;UAAAgC,mBAAA,GAAAjK,QAAA,CAAAI,CAAA;UAAjDC,IAAI,GAAA4J,mBAAA,CAAJ5J,IAAI;UAAA,IACPA,IAAI;YAAAL,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IACAoC,SAAS;QAAA;UAAA,KAGdzC,IAAI,CAACC,CAAC;YAAAN,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IACDL,IAAI,CAACC,CAAC,CAACwB,OAAO,GAAGzB,IAAI,CAACC,CAAC,CAACwB,OAAO,GAAGzB,IAAI,CAACC,CAAC;QAAA;UAAA,OAAAN,QAAA,CAAAU,CAAA,IAG1CL,IAAI;;OAAAZ,OAAA;GACZ;EAAA,OAAAuK,QAAA,CAAA5K,KAAA,OAAAC,SAAA;AAAA;;AChB2D,SAE7CmF,qBAAmBA,CAAAvF,EAAA;EAAA,OAAAwF,sBAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAoF;EAAAA,sBAAA,GAAAnF,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAlC,SAAAC,QACEqB,OAA0B;IAAA,OAAAvB,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAAA,KAEtBY,OAAO,CAAC4D,yBAAyB;YAAA1E,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IAC5BI,OAAO,CAAC4D,yBAAyB,EAAE;QAAA;UAAA,KAGxC5D,OAAO,CAAC6D,0BAA0B;YAAA3E,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IAC7BI,OAAO,CAAC6D,0BAA0B;QAAA;UAAA,OAAA3E,QAAA,CAAAU,CAAA,iBAGzBI,OAAO,CAAC8D,QAAQ;;OAAAnF,OAAA;GACnC;EAAA,OAAAgF,sBAAA,CAAArF,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsB8K,cAAcA,CAAAjL,GAAA,EAAA4F,GAAA,EAAAsF,GAAA,EAAAC,GAAA;EAAA,OAAAC,eAAA,CAAAlL,KAAA,OAAAC,SAAA;AAAA;AA+CnC,SAAAiL;EAAAA,eAAA,GAAAhL,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA/CM,SAAAwF,SAILlE,OAA0B,EAC1BqG,EAAmB,EACnB9G,IAAiB,EACjBmH,MAAe;IAAA,IAAA5H,eAAA,EAAAsF,cAAA,EAAAC,OAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAnD,GAAA,EAAAvC,QAAA,EAAAG,EAAA;IAAA,OAAAP,YAAA,GAAAQ,CAAA,WAAAuF,SAAA;MAAA,kBAAAA,SAAA,CAAApF,CAAA;QAAA;UAAAJ,EAAA,GAGb0H,MAAM;UAAA,IAAA1H,EAAA;YAAAwF,SAAA,CAAApF,CAAA;YAAA;;UAAAoF,SAAA,CAAApF,CAAA;UAAA,OAAWlB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAAAuB,EAAA,GAAAwF,SAAA,CAAAlF,CAAA;QAAA;UAD3DR,eAAe,GAAAE,EAAA;UAGfoF,cAAc,GAAGnB,oBAAoB,CAAC1D,IAAI,CAAC;UAC7C8E,OAAO,GAA4BD,cAAc;UAAA,MAEjDpE,OAAO,CAACyE,iBAAiB,KAAK,MAAM;YAAAD,SAAA,CAAApF,CAAA;YAAA;;UAAAoF,SAAA,CAAApF,CAAA;UAAA,OACXsE,qBAAmB,CAAC1D,OAAO,CAAC;QAAA;UAAjDsE,YAAY,GAAAE,SAAA,CAAAlF,CAAA;UACZiF,YAAY,GAAIhF,IAAiD,CACpEuB,UAAU;UACbuD,OAAO,GAAApG,QAAA,KACFmG,cAAc;YACjBtD,UAAU,EAAA7C,QAAA,KACJsG,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,GAChDA,YAAY,GACZ,EAAE;cACNxD,IAAI,EAAEuD;;YAET;QAAC;UAGElD,GAAG,GACPpB,OAAO,CAACyE,iBAAiB,KAAK,MAAM,GAC7BI,wBAAwB,CAAC7E,OAAO,CAAC8D,QAAQ,CAAC,eAAUuC,EAAE,SACtDrG,OAAO,CAAC0E,QAAQ,SAAI2B,EAAE,MAAG;UAAA7B,SAAA,CAAApF,CAAA;UAAA,OAEXY,OAAO,CAACxC,QAAQ,CAAC;YACtC4D,GAAG,EAAHA,GAAG;YACHC,MAAM,EAAE,MAAM;YACd9B,IAAI,EAAEoB,IAAI,CAACC,SAAS,CAACyD,OAAO,CAAC;YAC7BjH,OAAO,EAAE;cACP,iBAAiB,EAAE0B,eAAe;cAClC,UAAU,EAAE,GAAG;cACf,eAAe,EAAE;;WAEpB,CAAC;QAAA;UATID,QAAQ,GAAA2F,SAAA,CAAAlF,CAAA;UAAA,OAAAkF,SAAA,CAAA5E,CAAA,IAWPf,QAAQ;;OAAAqF,QAAA;GAChB;EAAA,OAAAsF,eAAA,CAAAlL,KAAA,OAAAC,SAAA;AAAA;;AC5DD,IAAMgI,mBAAiB,GAAmB,MAAM;AAEhD,SAAsBkD,UAAUA,CAAAtL,EAAA,EAAAC,GAAA;EAAA,OAAAsL,WAAA,CAAApL,KAAA,OAAAC,SAAA;AAAA;AAwD/B,SAAAmL;EAAAA,WAAA,GAAAlL,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAxDM,SAAAC,QACLqB,OAA0B,EAAAC,IAAA;IAAA,IAAA0J,gBAAA,EAAA/K,cAAA,EAAAiJ,KAAA,EAAA+B,KAAA,EAAAC,kBAAA,EAAAC,qBAAA;IAAA,IAAAhE,IAAA,EAAAf,UAAA,EAAAgF,cAAA,EAAAC,SAAA,EAAA/D,UAAA,EAAAD,eAAA,EAAAU,MAAA,EAAA7H,QAAA,EAAAoL,YAAA,EAAAC,cAAA,EAAAnE,MAAA,EAAAoE,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,gBAAA,EAAAC,UAAA;IAAA,OAAA9L,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UACxB0G,IAAI,GAAA7F,IAAA,CAAJ6F,IAAI,EAAEf,UAAU,GAAA9E,IAAA,CAAV8E,UAAU,EAAAgF,cAAA,GAAA9J,IAAA,CAAE+J,SAAS,EAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;UAAA,MAEhC/J,OAAO,CAACyE,iBAAiB,KAAK8B,mBAAiB;YAAArH,QAAA,CAAAE,CAAA;YAAA;;UAAA,MAC3C,IAAIO,KAAK,CACb,kEAAkE,CACnE;QAAA;UAAA,IAGEmG,IAAI,YAAJA,IAAI,CAAEI,IAAI;YAAAhH,QAAA,CAAAE,CAAA;YAAA;;UAAA,MACP,IAAIO,KAAK,CAAC,4CAA4C,CAAC;QAAA;UAG3DsG,UAAU,GAAMpB,wBAAwB,CAAC7E,OAAO,CAAC8D,QAAQ,CAAC;UAE9DmC,UAAU,IAAInB,gBAAgB,CAACC,UAAU,CAAC;UAEpCiB,eAAe,GAAGN,cAAc,CAACI,IAAI,CAACI,IAAI,CAAC;UACjDD,UAAU,yBAAuBD,eAAe,qBAC9CgE,SAAS,GAAG,MAAM,GAAG,OACvB,8DAA0D;UAAC9K,QAAA,CAAAE,CAAA;UAAA,OAEtClB,WAAW,CAAC8B,OAAO,CAACxC,QAAQ,EAAEwC,OAAO,CAACvC,OAAO,CAAC;QAAA;UAA7DiJ,MAAM,GAAAxH,QAAA,CAAAI,CAAA;UAAAJ,QAAA,CAAAE,CAAA;UAAA,OAEYY,OAAO,CAACxC,QAAQ,CAAC6B,IAAI,CAAC4G,UAAU,EAAEH,IAAI,EAAE;YAC9D1I,OAAO,EAAE;cACP,cAAc,EAAE0I,IAAI,CAAC/E,IAAI,IAAI,0BAA0B;cACvD,iBAAiB,EAAE2F;aACpB;YACDnJ,eAAe,EAAE;WAClB,CAAC;QAAA;UANIsB,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAQR2K,YAAY,IAAAN,gBAAA,IAAA/K,cAAA,GAAGC,QAAQ,CAACU,IAAI,qBAAbX,cAAA,CAAeY,CAAC,YAAAmK,gBAAA,GAAI9K,QAAQ,CAACU,IAAI;UAChD2K,cAAc,GAAGD,YAAY,oBAAZA,YAAY,CAAEO,iBAAiB;UAChDzE,MAAM,IAAA8B,KAAA,IAAA+B,KAAA,IAAAC,kBAAA,GACVK,cAAc,oBAAdA,cAAc,CAAEO,EAAE,YAAAZ,kBAAA,GAClBK,cAAc,oBAAdA,cAAc,CAAEQ,EAAE,YAAAd,KAAA,GAClBK,YAAY,oBAAZA,YAAY,CAAEQ,EAAE,YAAA5C,KAAA,GAChBoC,YAAY,oBAAZA,YAAY,CAAES,EAAE;UAAA,MAEd,OAAO3E,MAAM,KAAK,WAAW;YAAA7G,QAAA,CAAAE,CAAA;YAAA;;UAC/BP,QAAQ,CAACkH,MAAM,GAAGA,MAAM;UAAC7G,QAAA,CAAAE,CAAA;UAAA;QAAA;UAAA,MAChB8K,cAAc,aAAAJ,qBAAA,GAAdI,cAAc,CAAES,UAAU,aAA1Bb,qBAAA,CAA4Bc,GAAG;YAAA1L,QAAA,CAAAE,CAAA;YAAA;;UAAAF,QAAA,CAAAE,CAAA;UAAA,OACTY,OAAO,CAACxC,QAAQ,CAAC4L,GAAG,CACjDc,cAAc,CAACS,UAAU,CAACC,GAAG,CAC9B;QAAA;UAFKN,gBAAgB,GAAApL,QAAA,CAAAI,CAAA;UAGhBiL,UAAU,IAAAJ,qBAAA,IAAAC,sBAAA,GACdE,gBAAgB,CAAC/K,IAAI,cAAA6K,sBAAA,GAArBA,sBAAA,CAAuB5K,CAAC,qBAAxB4K,sBAAA,CAA0BK,EAAE,YAAAN,qBAAA,IAAAE,sBAAA,GAAIC,gBAAgB,CAAC/K,IAAI,qBAArB8K,sBAAA,CAAuBI,EAAE;UAE3D,IAAI,OAAOF,UAAU,KAAK,WAAW,EAAE;YACrC1L,QAAQ,CAACkH,MAAM,GAAGwE,UAAU;;QAC7B;UAAA,OAAArL,QAAA,CAAAU,CAAA,IAGIf,QAAQ;;OAAAF,OAAA;GAChB;EAAA,OAAA+K,WAAA,CAAApL,KAAA,OAAAC,SAAA;AAAA;;SCtDqBsM,SAASA,CAAA1M,EAAA,EAAAC,GAAA,EAAA4F,GAAA;EAAA,OAAA8G,UAAA,CAAAxM,KAAA,OAAAC,SAAA;AAAA;AAuD9B,SAAAuM;EAAAA,UAAA,GAAAtM,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAvDM,SAAAC,QACLnB,QAAuB,EACvBuN,KAAa,EACb7F,MAAe;IAAA,IAAA8F,qBAAA,EAAApM,cAAA,EAAAwJ,eAAA;IAAA,IAAAnC,UAAA,EAAA1G,IAAA,EAAAV,QAAA,EAAAoM,aAAA,EAAAC,MAAA;IAAA,OAAAzM,YAAA,GAAAQ,CAAA,WAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAE,CAAA;QAAA;UAET6G,UAAU;UAEV1G,IAAI,GAAG;YACX4L,WAAW,EAAE;cACXrK,UAAU,EAAE;gBACVC,IAAI,EAAE;eACP;cACDqK,mBAAmB,EAAE,IAAI;cACzBC,qBAAqB,EAAE,KAAK;cAC5BC,WAAW,EAAE,KAAK;cAClBC,wBAAwB,EAAE,EAAE;cAC5BC,eAAe,EAAE,EAAE;cACnBC,aAAa,EAAE,CAAC;cAChBC,WAAW,EAAEX;;WAEhB;UAED,IAAI7F,MAAM,EAAE;;YAET3F,IAAI,CAAC4L,WAAmB,CAACQ,kBAAkB,GAAG,CAACzG,MAAM,CAAC;;UACxDhG,QAAA,CAAAE,CAAA;UAAA,OAEsB5B,QAAQ,CAAC6B,IAAI,CAAC4G,UAAU,EAAEtF,IAAI,CAACC,SAAS,CAACrB,IAAI,CAAC,EAAE;YACrEnC,OAAO,EAAE;cACPC,MAAM,EAAE,iCAAiC;cACzC,cAAc,EAAE;;WAEnB,CAAC;QAAA;UALIwB,QAAQ,GAAAK,QAAA,CAAAI,CAAA;UAOR2L,aAAa,IAAAD,qBAAA,IAAApM,cAAA,GACjBC,QAAQ,CAACU,IAAI,cAAAX,cAAA,GAAbA,cAAA,CAAeY,CAAC,qBAAhBZ,cAAA,CAAkBgN,4BAA4B,YAAAZ,qBAAA,IAAA5C,eAAA,GAC9CvJ,QAAQ,CAACU,IAAI,qBAAb6I,eAAA,CAAewD,4BAA4B;UAAA,MAEzC,OAAOX,aAAa,KAAK,QAAQ;YAAA/L,QAAA,CAAAE,CAAA;YAAA;;UAC7B8L,MAAM,GAAGvK,IAAI,CAACkL,KAAK,CAACZ,aAAa,CAAC;UAAA,MACpChK,KAAK,CAACC,OAAO,CAACgK,MAAM,CAAC,IAAIA,MAAM,CAAC3H,MAAM,GAAG,CAAC;YAAArE,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IACrCsL,MAAM,CAAC,CAAC,CAAgB;QAAA;UAAA,MAE3B,IAAIvL,KAAK,CAAC,oCAAoC,CAAC;QAAA;UAAA,MAGnDsB,KAAK,CAACC,OAAO,CAAC+J,aAAa,CAAC,IAAIA,aAAa,CAAC1H,MAAM,GAAG,CAAC;YAAArE,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IACnDqL,aAAa,CAAC,CAAC,CAAgB;QAAA;UAAA,MAGpCA,aAAa,IAAI,OAAOA,aAAa,KAAK,QAAQ;YAAA/L,QAAA,CAAAE,CAAA;YAAA;;UAAA,OAAAF,QAAA,CAAAU,CAAA,IAC7CqL,aAA4B;QAAA;UAAA,MAG/B,IAAItL,KAAK,CAAC,iCAAiC,CAAC;QAAA;UAAA,OAAAT,QAAA,CAAAU,CAAA;;OAAAjB,OAAA;GACnD;EAAA,OAAAmM,UAAA,CAAAxM,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBuN,qBAAqBA,CAAAxC,GAAA;EAAA,OAAAyC,sBAAA,CAAAzN,KAAA,OAAAC,SAAA;AAAA;AA0B1C,SAAAwN;EAAAA,sBAAA,GAAAvN,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CA1BM,SAAAwF,SACL1G,QAAuB;IAAA,IAAAyI,UAAA,EAAA+F,OAAA;IAAA,OAAAvN,YAAA,GAAAQ,CAAA,WAAAuF,SAAA;MAAA,kBAAAA,SAAA,CAAApF,CAAA;QAAA;UAEjB6G,UAAU,GAAG,oDAAoD;UAAAzB,SAAA,CAAApF,CAAA;UAAA,OAC9C5B,QAAQ,CAAC4L,GAAG,CAACnD,UAAU,CAAC;QAAA;UAA7C+F,OAAO,GAAAxH,SAAA,CAAAlF,CAAA;UAEX0M,OAAO,GAAGA,OAAO,CAACzM,IAAI,CAACC,CAAC;UAExBwM,OAAO,CAACC,qBAAqB,CAACjL,OAAO,CAAC4G,OAAO,CAC3C,UAACsE,IAAoC;YACnC,IAAIA,IAAI,CAACC,GAAG,KAAK,WAAW,EAAE;cAC5BH,OAAO,CAACI,SAAS,GAAGF,IAAI,CAACG,KAAK;;YAEhC,IAAIH,IAAI,CAACC,GAAG,KAAK,UAAU,EAAE;cAC3BH,OAAO,CAACM,QAAQ,GAAGJ,IAAI,CAACG,KAAK;;YAE/B,IAAIH,IAAI,CAACC,GAAG,KAAK,SAAS,EAAE;cAC1BH,OAAO,CAACO,OAAO,GAAGL,IAAI,CAACG,KAAK;;YAE9B,IAAIH,IAAI,CAACC,GAAG,KAAK,UAAU,EAAE;cAC3BH,OAAO,CAACQ,QAAQ,GAAGN,IAAI,CAACG,KAAK;;WAEhC,CACF;UAAC,OAAA7H,SAAA,CAAA5E,CAAA,IAEKoM,OAAO;;OAAA9H,QAAA;GACf;EAAA,OAAA6H,sBAAA,CAAAzN,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBkO,WAAWA,CAAAlD,GAAA,EAAAmD,GAAA;EAAA,OAAAC,YAAA,CAAArO,KAAA,OAAAC,SAAA;AAAA;AAahC,SAAAoO;EAAAA,YAAA,GAAAnO,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAbM,SAAAkO,SACLpP,QAAuB,EACvBqP,WAAmB;IAAA,IAAAC,eAAA,EAAAjO,QAAA;IAAA,OAAAJ,YAAA,GAAAQ,CAAA,WAAA8N,SAAA;MAAA,kBAAAA,SAAA,CAAA3N,CAAA;QAAA;UAEb0N,eAAe,GAAGnI,wBAAwB,CAACkI,WAAW,CAAC;UAAAE,SAAA,CAAA3N,CAAA;UAAA,OACtC5B,QAAQ,CAAC4L,GAAG,CAAC,oBAAoB,EAAE;YACxDjC,MAAM,EAAE;cACNK,OAAO,oBAAkBsF,eAAe,kCAA6BA,eAAe,sCAAiCA,eAAe,cAAW;cAC/IzF,IAAI,EAAE,EAAE;cACRD,OAAO,EAAE;;WAEZ,CAAC;QAAA;UANIvI,QAAQ,GAAAkO,SAAA,CAAAzN,CAAA;UAAA,OAAAyN,SAAA,CAAAnN,CAAA,IAOPf,QAAQ,CAACU,IAAI,CAACC,CAAC;;OAAAoN,QAAA;GACvB;EAAA,OAAAD,YAAA,CAAArO,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsByO,eAAeA,CAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAA5O,KAAA,OAAAC,SAAA;AAAA;AAIpC,SAAA2O;EAAAA,gBAAA,GAAA1O,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAJM,SAAAyO,SAA+B3P,QAAuB;IAAA,IAAAyI,UAAA,EAAApH,QAAA;IAAA,OAAAJ,YAAA,GAAAQ,CAAA,WAAAmO,SAAA;MAAA,kBAAAA,SAAA,CAAAhO,CAAA;QAAA;UACrD6G,UAAU;UAAAmH,SAAA,CAAAhO,CAAA;UAAA,OACO5B,QAAQ,CAAC4L,GAAG,CAACnD,UAAU,CAAC;QAAA;UAAzCpH,QAAQ,GAAAuO,SAAA,CAAA9N,CAAA;UAAA,OAAA8N,SAAA,CAAAxN,CAAA,IACPf,QAAQ,CAACU,IAAI,CAACC,CAAC,CAACwB,OAA2B;;OAAAmM,QAAA;GACnD;EAAA,OAAAD,gBAAA,CAAA5O,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsB8O,2BAA2BA,CAAAC,GAAA;EAAA,OAAAC,4BAAA,CAAAjP,KAAA,OAAAC,SAAA;AAAA;AAIhD,SAAAgP;EAAAA,4BAAA,GAAA/O,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAJM,SAAA8O,SAA2ChQ,QAAuB;IAAA,IAAAyI,UAAA,EAAApH,QAAA;IAAA,OAAAJ,YAAA,GAAAQ,CAAA,WAAAwO,SAAA;MAAA,kBAAAA,SAAA,CAAArO,CAAA;QAAA;UACjE6G,UAAU;UAAAwH,SAAA,CAAArO,CAAA;UAAA,OACO5B,QAAQ,CAAC4L,GAAG,CAACnD,UAAU,CAAC;QAAA;UAAzCpH,QAAQ,GAAA4O,SAAA,CAAAnO,CAAA;UAAA,OAAAmO,SAAA,CAAA7N,CAAA,IACPf,QAAQ,CAACU,IAAI,CAACC,CAAC,CAACkO,wBAAwB;;OAAAF,QAAA;GAChD;EAAA,OAAAD,4BAAA,CAAAjP,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsBoP,sBAAsBA,CAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAAvP,KAAA,OAAAC,SAAA;AAAA;AAiB3C,SAAAsP;EAAAA,uBAAA,GAAArP,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAjBM,SAAAoP,SACL9N,OAAuB;IAAA,IAAA+N,qBAAA,EAAAC,IAAA,EAAAC,WAAA,EAAA/K,MAAA;IAAA,OAAAzE,YAAA,GAAAQ,CAAA,WAAAiP,SAAA;MAAA,kBAAAA,SAAA,CAAA9O,CAAA;QAAA;UAAA8O,SAAA,CAAA9O,CAAA;UAAA,OAEAiO,2BAA2B,CAACrN,OAAO,CAACxC,QAAQ,CAAC;QAAA;UAAAuQ,qBAAA,GAAAG,SAAA,CAAA5O,CAAA;UAA5D0O,IAAI,GAAAD,qBAAA,CAAJC,IAAI;UAAAE,SAAA,CAAA9O,CAAA;UAAA,OACc4N,eAAe,CAAChN,OAAO,CAACxC,QAAQ,CAAC;QAAA;UAArDyQ,WAAW,GAAAC,SAAA,CAAA5O,CAAA;UAEX4D,MAAM,GAAG+K,WAAW,CAACE,IAAI,CAC7B,UAAAlO,IAAA;YAAA,IAAGmO,eAAe,GAAAnO,IAAA,CAAfmO,eAAe;YAAA,OAAuBA,eAAe,CAACJ,IAAI,KAAKA,IAAI;YACvE;UAAA,IAEI9K,MAAM;YAAAgL,SAAA,CAAA9O,CAAA;YAAA;;UAAA,MACH,IAAIO,KAAK,2EAC0DqO,IAAI,QAAI,CAChF;QAAA;UAAA,OAAAE,SAAA,CAAAtO,CAAA,IAGIsD,MAAuB;;OAAA4K,QAAA;GAC/B;EAAA,OAAAD,uBAAA,CAAAvP,KAAA,OAAAC,SAAA;AAAA;;ACnGgC,IAgB3B8P,sBAAsB;EAW1B,SAAAA,uBAAY5Q,OAAe,EAAEC,MAAoB;;SALhCD,OAAO;IAAA,KACPD,QAAQ;IAAA,KACR8Q,uBAAuB;IAAA,KACxBC,KAAK;IAAA,KA6QLC,IAAI,GAAG;MACrB3N,UAAU,EAAE,SAAZA,UAAUA;QAAA,OAAS;UACjBuI,GAAG,EAAE,SAALA,GAAGA;YAAA,OAA8BqF,qBAAyB,CAACC,KAAI,CAAClR,QAAQ,CAAC;;SAC1E;OAAC;MACFmR,cAAc,EAAE,SAAhBA,cAAcA,CAAG9B,WAAmB;QAAA,OAClC+B,WAAa,CAACF,KAAI,CAAClR,QAAQ,EAAEqP,WAAW,CAAC;;MAC3CgC,UAAU,EAAE,SAAZA,UAAUA,CAAG9D,KAAa,EAAE7F,MAAe;QAAA,OACzC2F,SAAS,CAAC6D,KAAI,CAAClR,QAAQ,EAAEuN,KAAK,EAAE7F,MAAM,CAAC;;MACzC4J,OAAO,EAAE,SAATA,OAAOA;QAAA,OAAS;UACd1F,GAAG,EAAE,SAALA,GAAGA;YAAA,OACDH,OAAO,CAACyF,KAAI,CAAClR,QAAQ,EAAE,sBAAsB,CAAC;;SACjD;OAAC;MACFuR,iBAAiB,EAAE,SAAnBA,iBAAiBA;QAAA,OAAS;UACxB3F,GAAG,EAAE,SAALA,GAAGA;YAAA,OACD4F,sBAA6B,CAC3BN,KAAI,CAACO,aAAa,CAAS;cACzBvK,QAAQ,EAAE,mCAAmC;cAC7CZ,QAAQ,EAAE,EAAE;cACZW,iBAAiB,EAAE;aACpB,CAAC,CACH;;SACJ;;KACF;IAhSC,IAAI,CAAChH,OAAO,GAAGA,OAAO,CAACmF,QAAQ,CAAC,GAAG,CAAC,GAAGnF,OAAO,GAAMA,OAAO,MAAG;IAC9D,IAAI,CAACD,QAAQ,GAAGA,QAAQ,CAAC,IAAI,CAACC,OAAO,EAAEC,MAAM,CAAC;IAC9C,IAAI,CAAC4Q,uBAAuB,GAAG,IAAIY,GAAG,EAAkB;IACxD,IAAI,CAACX,KAAK,GAAGlL,MAAM,CAAC8L,MAAM,CACxB,UACEC,IAAY,EACZC,EAAqB,EACrBC,OAA2B,EAC3BC,IAAY;MAEZ,OAAOb,KAAI,CAAC5O,SAAS,CAAC;QACpBI,IAAI,EAAEkP,IAAI;QACVjP,EAAE,EAAEkP,EAAE;QACNjP,OAAO,EAAEkP,OAAO;QAChBjP,IAAI,EAAEkP;OACP,CAAC;KACH,EACD;MACEC,IAAI,EAAE,SAANA,IAAIA,CAAGC,KAAiB;QAAA,OAAKf,KAAI,CAAC5O,SAAS,CAAC2P,KAAK,CAAC;;KACnD,CACF;;EACF,IAAAC,MAAA,GAAArB,sBAAA,CAAAsB,SAAA;EAAAD,MAAA,CAEOT,aAAa,GAAb,SAAAA,aAAaA,CAAAhP,IAAA;QACnByE,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ;MACRZ,QAAQ,GAAA7D,IAAA,CAAR6D,QAAQ;MACRW,iBAAiB,GAAAxE,IAAA,CAAjBwE,iBAAiB;MACjBZ,0BAA0B,GAAA5D,IAAA,CAA1B4D,0BAA0B;MAC1BD,yBAAyB,GAAA3D,IAAA,CAAzB2D,yBAAyB;IAQzB,OAAO;MACLpG,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBiH,QAAQ,EAARA,QAAQ;MACRZ,QAAQ,EAARA,QAAQ;MACRW,iBAAiB,EAAjBA,iBAAiB;MACjBZ,0BAA0B,EAA1BA,0BAA0B;MAC1BD,yBAAyB,EAAzBA;KACD;GACF;EAAA8L,MAAA,CAEaE,iCAAiC;IAAA,IAAAC,kCAAA,gBAAArR,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAvC,SAAAC,QACNmF,QAAgB;MAAA,IAAAgM,qBAAA,EAAAlR,cAAA,EAAAwJ,eAAA;MAAA,IAAA2H,QAAA,EAAAC,UAAA,EAAAnR,QAAA,EAAAoR,UAAA;MAAA,OAAAxR,YAAA,GAAAQ,CAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAE,CAAA;UAAA;YAEV2Q,QAAQ,GAAGjM,QAAQ;YACnBkM,UAAU,GAAG,IAAI,CAAC1B,uBAAuB,CAAClF,GAAG,CAAC2G,QAAQ,CAAC;YAAA,KACzDC,UAAU;cAAA9Q,QAAA,CAAAE,CAAA;cAAA;;YAAA,OAAAF,QAAA,CAAAU,CAAA,IACLoQ,UAAU;UAAA;YAAA9Q,QAAA,CAAAE,CAAA;YAAA,OAGI,IAAI,CAAC5B,QAAQ,CAAC4L,GAAG,CACnCvE,wBAAwB,CAACf,QAAQ,CAAC,wCAAqC,CAC3E;UAAA;YAFKjF,QAAQ,GAAAK,QAAA,CAAAI,CAAA;YAIR2Q,UAAU,IAAAH,qBAAA,IAAAlR,cAAA,GACdC,QAAQ,CAACU,IAAI,cAAAX,cAAA,GAAbA,cAAA,CAAeY,CAAC,qBAAhBZ,cAAA,CAAkBsR,0BAA0B,YAAAJ,qBAAA,IAAA1H,eAAA,GAC5CvJ,QAAQ,CAACU,IAAI,qBAAb6I,eAAA,CAAe8H,0BAA0B;YAAA,MAEvC,CAACD,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ;cAAA/Q,QAAA,CAAAE,CAAA;cAAA;;YAAA,MACzC,IAAIO,KAAK,8DAC6CmE,QAAQ,QAAI,CACvE;UAAA;YAGH,IAAI,CAACwK,uBAAuB,CAAC6B,GAAG,CAACJ,QAAQ,EAAEE,UAAU,CAAC;YAAC,OAAA/Q,QAAA,CAAAU,CAAA,IAChDqQ,UAAU;;SAAAtR,OAAA;KAClB;IAAA,SAzBaiR,iCAAiCA,CAAAzR,EAAA;MAAA,OAAA0R,kCAAA,CAAAvR,KAAA,OAAAC,SAAA;;IAAA,OAAjCqR,iCAAiC;;EAAAF,MAAA,CA2BvCU,cAAc,GAAd,SAAAA,cAAcA,CAGpBtM,QAAW,EAAEuM,OAAU;;IACvB,IAAMC,aAAa,GAAGtI,MAAM,CAAClE,QAAQ,CAAC;IACtC,IAAMY,QAAQ,GACZ2L,OAAO,KAAK,MAAM,GACXxL,wBAAwB,CAACyL,aAAa,CAAC,yCACjB9K,kBAAkB,CAAC8K,aAAa,CAAG;IAElE,IAAIC,gBAAoC;IACxC,IAAM3M,yBAAyB;MAAA,IAAAiE,KAAA,GAAArJ,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAAG,SAAAwF;QAAA,OAAAzF,YAAA,GAAAQ,CAAA,WAAAuF,SAAA;UAAA,kBAAAA,SAAA,CAAApF,CAAA;YAAA;cAAA,KAC5BmR,gBAAgB;gBAAA/L,SAAA,CAAApF,CAAA;gBAAA;;cAAA,OAAAoF,SAAA,CAAA5E,CAAA,IACX2Q,gBAAgB;YAAA;cAAA,MAGrBF,OAAO,KAAK,MAAM;gBAAA7L,SAAA,CAAApF,CAAA;gBAAA;;cACpBmR,gBAAgB,gBAAcD,aAAa,aAAU;cAAC,OAAA9L,SAAA,CAAA5E,CAAA,IAC/C2Q,gBAAgB;YAAA;cAAA/L,SAAA,CAAApF,CAAA;cAAA,OAGAoR,MAAI,CAACZ,iCAAiC,CAC7DU,aAAa,CACd;YAAA;cAFDC,gBAAgB,GAAA/L,SAAA,CAAAlF,CAAA;cAAA,OAAAkF,SAAA,CAAA5E,CAAA,IAGT2Q,gBAAgB;;WAAArM,QAAA;OACxB;MAAA,gBAdKN,yBAAyBA;QAAA,OAAAiE,KAAA,CAAAvJ,KAAA,OAAAC,SAAA;;OAc9B;IAED,IAAMkS,UAAU,GAAG,SAAbA,UAAUA;MAAA,OACdD,MAAI,CAACvB,aAAa,CAAI;QACpBvK,QAAQ,EAARA,QAAQ;QACRZ,QAAQ,EAAEwM,aAAa;QACvB7L,iBAAiB,EAAE4L,OAAO;QAC1BxM,0BAA0B,EAAE0M,gBAAgB;QAC5C3M,yBAAyB,EAAzBA;OACD,CAAC;;IAEJ,IAAM8M,UAAU,GAAG,SAAbA,UAAUA,CAAIrK,EAAU;MAAA,OAAKF,UAAU,CAACsK,UAAU,EAAE,EAAEpK,EAAE,CAAC;;IAC/D,IAAMsK,UAAU,GAAG,SAAbA,UAAUA,CAAIlB,KAAsB;MAAA,OACxCmB,UAAiB,CAACH,UAAU,EAAE,EAAEhB,KAAK,CAAC;;IAExC,OAAO;MACLzR,MAAM,EAAE,SAARA,MAAMA,CAAGuB,IAA6B;QAAA,OACpCwE,cAAc,CAAmB0M,UAAU,EAAE,EAAElR,IAAI,CAAC;;MACtD6J,GAAG,EAAE,SAALA,GAAGA,CAAGxC,OAAmC;QAAA,OACvC6B,YAAY,CAAmBgI,UAAU,EAAE,EAAE7J,OAAO,CAAC;;MACvDiK,MAAM,EAAE,SAARA,MAAMA,CAAGxK,EAAU,EAAE9G,IAA6B,EAAEmH,MAAe;QAAA,OACjE2C,cAAc,CAAmBoH,UAAU,EAAE,EAAEpK,EAAE,EAAE9G,IAAI,EAAEmH,MAAM,CAAC;;MAClE,UAAQgK,UAAU;MAClBI,MAAM,EAAEJ,UAAU;MAClBK,UAAU,EAAE,SAAZA,UAAUA,CAAGtB,KAAsB;QAAA,OACjC7J,gBAAgB,CAAC6K,UAAU,EAAE,EAAEhB,KAAK,CAAC;;MACvChG,UAAU,EAAE,SAAZA,YAAUA,CAAGgG,KAAsB;QAAA,OAAKhG,UAAU,CAACgH,UAAU,EAAE,EAAEhB,KAAK,CAAC;;MACvEjJ,UAAU,EAAEmK,UAAU;MACtBA,UAAU,EAAVA,UAAU;MACVK,MAAM,EAAE,SAARA,MAAMA,CAAGpK,OAAyC;QAChD,IAAMqK,cAAc,GAAG,EAACrK,OAAO,YAAPA,OAAO,CAAEsK,SAAS,IACnCrM,wBAAwB,CAACyL,aAAa,CAAC,eACvCzL,wBAAwB,CACzByL,aAAa,CACd,4BAAuB3L,wBAAwB,CAC9CqD,MAAM,CAACpB,OAAO,CAACsK,SAAS,CAAC,CAC1B,OAAI;QACT,OAAO;UACL9H,GAAG,EAAE,SAALA,GAAGA;YAAA,OACDH,OAAO,CAAmBuH,MAAI,CAAChT,QAAQ,EAAEyT,cAAc,EAAErK,OAAO,CAAC;;SACpE;OACF;MACDuK,KAAK,EAAE;QACLnT,MAAM,EAAE,SAARA,MAAMA,CAAGuB,IAA6B;UAAA,OACpCwE,cAAc,CAAmB0M,UAAU,EAAE,EAAElR,IAAI,CAAC;;QACtD6J,GAAG,EAAE,SAALA,GAAGA,CAAGxC,OAAmC;UAAA,OACvC6B,YAAY,CAAmBgI,UAAU,EAAE,EAAE7J,OAAO,CAAC;;QACvDiK,MAAM,EAAE,SAARA,MAAMA,CAAGxK,EAAU,EAAE9G,IAA6B,EAAEmH,MAAe;UAAA,OACjE2C,cAAc,CAAmBoH,UAAU,EAAE,EAAEpK,EAAE,EAAE9G,IAAI,EAAEmH,MAAM,CAAC;;QAClE,UAAQgK,UAAU;QAClBI,MAAM,EAAEJ;OACT;MACDU,KAAK,EAAE;QACLC,MAAM,EAAE,SAARA,MAAMA,CAAG5B,KAAsB;UAAA,OAC7B7J,gBAAgB,CAAC6K,UAAU,EAAE,EAAEhB,KAAK,CAAC;;QACvC6B,MAAM,EAAE,SAARA,MAAMA,CAAG7B,KAAsB;UAAA,OAAKhG,UAAU,CAACgH,UAAU,EAAE,EAAEhB,KAAK,CAAC;;QACnE,UAAQkB,UAAU;QAClBG,MAAM,EAAEH;;KAEX;;;;;EAGHjB,MAAA,CAGA6B,IAAI,GAAJ,SAAAA,IAAIA,CAAuBzN,QAAW;IACpC,OAAO,IAAI,CAACsL,IAAI,CAAYtL,QAAQ,EAAE,MAAM,CAAC;GAC9C;EAAA4L,MAAA,CAEMN,IAAI,GAAJ,SAAAA,IAAIA,CACTtL,QAAW,EACXW,iBAAqB;IAErB,IAAM4L,OAAO,GAAI5L,iBAAiB,WAAjBA,iBAAiB,GAAI,MAAY;IAClD,OAAO,IAAI,CAAC2L,cAAc,CAAOtM,QAAQ,EAAEuM,OAAO,CAAC;GACpD;EAAAX,MAAA,CAEM8B,KAAK,GAAL,SAAAA,KAAKA,CACV1N,QAAW,EACXoN,SAAgD,EAChDzM,iBAAqB;IAErB,OAAO,IAAI,CAAC2K,IAAI,CAAOtL,QAAQ,EAAEW,iBAAiB,CAAC,CAChDuM,MAAM,CAAC;MACNE,SAAS,EAATA;KACkC,CAAC,CACpC9H,GAAG,EAAE;GACT;EAAAsG,MAAA,CAEM+B,KAAK,GAAL,SAAAA,KAAKA,CAAC7K,OAAkD;IAC7D,IAAM5G,OAAO,GAAG,IAAI,CAACiP,aAAa,CAAS;MACzCvK,QAAQ,EAAE,gBAAgB;MAC1BZ,QAAQ,EAAE,EAAE;MACZW,iBAAiB,EAAE;KACpB,CAAC;IAEF,OAAO;MACL2E,GAAG,EAAE,SAALA,GAAGA;QAAA,OAAQX,YAAY,CAACzI,OAAO,EAAE4G,OAAO,CAAC;;KAC1C;GACF;EAAA8I,MAAA,CAEMgC,SAAS,GAAT,SAAAA,SAASA;IACd,OAAOxT,WAAW,CAAC,IAAI,CAACV,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;GAChD;EAAAiS,MAAA,CAEMiC,OAAO,GAAP,SAAAA,OAAOA,CAAC/K,OAAiD;IAC9D,IAAM5G,OAAO,GAAG,IAAI,CAACiP,aAAa,CAAS;MACzCvK,QAAQ,EAAE,kBAAkB;MAC5BZ,QAAQ,EAAE,EAAE;MACZW,iBAAiB,EAAE;KACpB,CAAC;IAEF,OAAO;MACL2E,GAAG,EAAE,SAALA,GAAGA;QAAA,OAAQnB,QAAQ,CAAkCjI,OAAO,EAAE4G,OAAO,CAAC;;KACvE;GACF;EAAA8I,MAAA,CAEMkC,MAAM,GAAN,SAAAA,MAAMA,CAACC,UAA8B;;IAC1C,IAAMC,WAAW,GAAG,CAAC,kBAAkB,CAAC;IACxC,IAAM9M,QAAQ,GAAG6M,UAAU,GACvB5Q,KAAK,CAACC,OAAO,CAAC2Q,UAAU,CAAC,MAAAE,MAAA,CACnBD,WAAW,EAAKD,UAAU,OAAAE,MAAA,CAC1BD,WAAW,EAAKD,UAAU,CAAC5M,KAAK,CAAC,GAAG,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAAC,GAC5D2M,WAAW;IAEf,IAAME,kBAAkB,GAAGrN,wBAAwB,CAACK,QAAQ,CAACS,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,IAAMwM,YAAY,+CAA6CD,kBAAkB,OAAI;IAErF,OAAO;MACL5I,GAAG,EAAE,SAALA,GAAGA,CAAGxC,OAAiD;;QACrD,IAAMsL,UAAU,IAAAC,aAAA,GAAGvL,OAAO,oBAAPA,OAAO,CAAE7F,IAAI,YAAAoR,aAAA,GAAI,OAAO;QAC3C,IAAMzN,QAAQ,GAAMuN,YAAY,SAAIC,UAAY;QAChD,IAAMlS,OAAO,GAAGoS,MAAI,CAACnD,aAAa,CAAS;UACzCvK,QAAQ,EAARA,QAAQ;UACRZ,QAAQ,EAAE,EAAE;UACZW,iBAAiB,EAAE;SACpB,CAAC;QAEF,OAAOwD,QAAQ,CAAkCjI,OAAO,EAAA/B,QAAA,KACnD2I,OAAO;UACV7F,IAAI,EAAEmR;UACP,CAAC;;KAEL;GACF;EAAAxC,MAAA,CAEM2C,KAAK,GAAL,SAAAA,KAAKA,CAACzL,OAAkD;IAC7D,IAAM5G,OAAO,GAAG,IAAI,CAACiP,aAAa,CAAS;MACzCvK,QAAQ,EAAE,iCAAiC;MAC3CZ,QAAQ,EAAE,EAAE;MACZW,iBAAiB,EAAE;KACpB,CAAC;IAEF,OAAO;MACL2E,GAAG,EAAE,SAALA,GAAGA;QAAA,OAAQX,YAAY,CAACzI,OAAO,EAAE4G,OAAO,CAAC;;KAC1C;GACF;EAAA8I,MAAA,CAEM5P,SAAS,GAAT,SAAAA,WAASA,CAAC2P,KAAiB;IAChC,IAAMzP,OAAO,GAAG,IAAI,CAACiP,aAAa,CAAS;MACzCvK,QAAQ,EAAE,qCAAqC;MAC/CZ,QAAQ,EAAE,EAAE;MACZW,iBAAiB,EAAE;KACpB,CAAC;IACF,OAAO6N,SAAgB,CAACtS,OAAO,EAAEyP,KAAK,CAAC;GACxC;EAAAC,MAAA,CA0BM6C,cAAc,GAAd,SAAAA,cAAcA;IACnB,OAAO,IAAI,CAAC/D,IAAI,CAACM,OAAO,EAAE,CAAC1F,GAAG,EAAE;GACjC;EAAAsG,MAAA,CAEM5D,qBAAqB,GAArB,SAAAA,qBAAqBA;IAC1B,OAAO,IAAI,CAAC0C,IAAI,CAAC3N,UAAU,EAAE,CAACuI,GAAG,EAAE;GACpC;EAAAsG,MAAA,CAEM8C,qBAAqB,GAArB,SAAAA,qBAAqBA;IAC1B,OAAO,IAAI,CAAChE,IAAI,CAACO,iBAAiB,EAAE,CAAC3F,GAAG,EAAE;GAC3C;EAAA,OAAAiF,sBAAA;AAAA;;AC5WH;AAEA,SAAwBoE,UAAUA;EAGhC,SAASzU,MAAMA,CAAAiC,IAAA;QACbxC,OAAO,GAAAwC,IAAA,CAAPxC,OAAO;MACPC,MAAM,GAAAuC,IAAA,CAANvC,MAAM;IAKN,IAAI,CAACD,OAAO,EAAE;MACZ,MAAM,IAAIkC,KAAK,CAAC,0CAA0C,CAAC;;IAE7D,OAAO,IAAI+S,sBAAmB,CAAIjV,OAAO,EAAEC,MAAM,CAAC;;EAGpD,OAAO;;;;IAILD,OAAO,WAAPA,OAAOA,CAAC2D,GAAW,EAAE1D,MAAoB;MACvC,OAAOM,MAAM,CAAC;QAAEP,OAAO,EAAE2D,GAAG;QAAE1D,MAAM,EAANA;OAAQ,CAAC;KACxC;IACDM,MAAM,EAANA;GACD;AACH;;;;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -53,18 +53,20 @@ export type SPItem2013 = {
|
|
|
53
53
|
};
|
|
54
54
|
export type SPItem<V extends SHAREPOINT_VER = '2013'> = V extends '2010' ? SPItem2010 : SPItem2013;
|
|
55
55
|
type ListFields<K, V extends SHAREPOINT_VER = '2013'> = Extract<keyof K, string> | Extract<keyof SPItem<V>, string>;
|
|
56
|
+
type OrderByDirection = 'asc' | 'desc';
|
|
57
|
+
type OrderByExpression<F extends string> = F | (F | OrderByDirection)[];
|
|
56
58
|
export interface Options<K = any, V extends SHAREPOINT_VER = '2013'> {
|
|
57
59
|
expand?: ListFields<K, V>[] | ListFields<K, V>;
|
|
58
|
-
orderBy?:
|
|
60
|
+
orderBy?: OrderByExpression<ListFields<K, V>>;
|
|
59
61
|
limit?: number;
|
|
60
62
|
filter?: string;
|
|
61
63
|
cols?: ListFields<K, V>[] | ListFields<K, V>;
|
|
62
64
|
skip?: number;
|
|
63
65
|
}
|
|
64
66
|
export interface Folder_Options<K = any> {
|
|
65
|
-
type
|
|
67
|
+
type?: 'Files' | 'Folders';
|
|
66
68
|
expand?: Extract<keyof K, string>[] | Extract<keyof K, string>;
|
|
67
|
-
orderBy?:
|
|
69
|
+
orderBy?: OrderByExpression<Extract<keyof K, string>>;
|
|
68
70
|
limit?: number;
|
|
69
71
|
filter?: string;
|
|
70
72
|
cols?: Extract<keyof K, string>[] | Extract<keyof K, string>;
|
|
@@ -74,7 +76,9 @@ export interface Field_Options<K, V extends SHAREPOINT_VER = '2013'> extends Omi
|
|
|
74
76
|
fieldName?: Extract<keyof K, string>;
|
|
75
77
|
}
|
|
76
78
|
export type SHAREPOINT_VER = '2010' | '2013';
|
|
77
|
-
export type IListName<T> =
|
|
79
|
+
export type IListName<T> = T extends {
|
|
80
|
+
LISTS: Record<string, unknown>;
|
|
81
|
+
} ? Extract<keyof T['LISTS'], string> : Extract<keyof T, string>;
|
|
78
82
|
export type ItemID = string | number;
|
|
79
83
|
export type CreateFileProps = {
|
|
80
84
|
file: File;
|
|
@@ -89,12 +93,6 @@ export type DeleteFileProps = {
|
|
|
89
93
|
fileName: string;
|
|
90
94
|
folderPath?: string | string[];
|
|
91
95
|
};
|
|
92
|
-
export type ListData = {
|
|
93
|
-
[key: string]: any;
|
|
94
|
-
__metadata?: {
|
|
95
|
-
type: string;
|
|
96
|
-
};
|
|
97
|
-
} | any;
|
|
98
96
|
export type EmailProps = {
|
|
99
97
|
From: string;
|
|
100
98
|
To: string[] | string;
|
|
@@ -106,11 +104,31 @@ export type _Deferred = {
|
|
|
106
104
|
uri: string;
|
|
107
105
|
};
|
|
108
106
|
};
|
|
109
|
-
|
|
107
|
+
type LookupFieldMarker = {
|
|
108
|
+
__lookupFieldBrand?: true;
|
|
109
|
+
};
|
|
110
|
+
export type LookupField<T> = _Deferred & T & LookupFieldMarker;
|
|
110
111
|
export type ChoiceField<T> = _Deferred & {
|
|
111
112
|
Value: T;
|
|
112
113
|
__metadata: Metadata;
|
|
113
114
|
};
|
|
115
|
+
type MetadataEnvelope = {
|
|
116
|
+
__metadata?: {
|
|
117
|
+
type: string;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
type EnsureRecord<T> = T extends Record<string, unknown> ? T : Record<string, unknown>;
|
|
121
|
+
type LookupCreateValue = number | string | null | {
|
|
122
|
+
lookupId: number | string;
|
|
123
|
+
} | {
|
|
124
|
+
LookupId: number | string;
|
|
125
|
+
} | {
|
|
126
|
+
results: (number | string)[];
|
|
127
|
+
};
|
|
128
|
+
type NormalizeField<T> = T extends LookupField<unknown> ? LookupCreateValue | LookupField<unknown> : T;
|
|
129
|
+
export type ListData<T = Record<string, unknown>> = Partial<{
|
|
130
|
+
[K in keyof EnsureRecord<T>]: NormalizeField<EnsureRecord<T>[K]>;
|
|
131
|
+
}> & MetadataEnvelope;
|
|
114
132
|
export type PersonField = {
|
|
115
133
|
AboutMe?: string;
|
|
116
134
|
Account: string;
|
|
@@ -195,6 +213,7 @@ export type UserPermision = {
|
|
|
195
213
|
RoleTypeKind: number;
|
|
196
214
|
__metadata: Metadata;
|
|
197
215
|
};
|
|
216
|
+
export type UserPermission = UserPermision;
|
|
198
217
|
export type CurrentUser = {
|
|
199
218
|
Email: string;
|
|
200
219
|
Id: number;
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import SHAREPOINT_REQUESTS from './root';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import { CreateAxiosDefaults as AxiosConfig } from 'axios';
|
|
4
|
+
import { LookupField, ChoiceField, PersonField } from './types';
|
|
5
5
|
|
|
6
6
|
// Load environment variables from .env file
|
|
7
7
|
|
|
8
8
|
export default function createBase<
|
|
9
9
|
T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any
|
|
10
|
-
>(){
|
|
10
|
+
>() {
|
|
11
11
|
function create({
|
|
12
12
|
baseURL,
|
|
13
13
|
config,
|
|
@@ -33,5 +33,3 @@ export default function createBase<
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { LookupField, ChoiceField, PersonField };
|
|
36
|
-
|
|
37
|
-
|