@lindle/sharepoint_requests 0.1.16 → 0.1.18

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.
@@ -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 { SHAREPOINT_VER, UploadFileProps } 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) {\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 })`;\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 });\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","_ref$overwrite","overwrite","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/listRequests/normalizePayload.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 } 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 type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { 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 metadataType = await resolveMetadataType(context);\n const normalizedData = normalizeListPayload(listData);\n const userMetadata =\n (listData as { __metadata?: Record<string, unknown> }).__metadata;\n const payload = {\n ...normalizedData,\n __metadata: {\n ...(userMetadata && typeof userMetadata === 'object' ? userMetadata : {}),\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';\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 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 metadataType = await resolveMetadataType(context);\n const normalizedData = normalizeListPayload(data);\n const userMetadata = (data as { __metadata?: Record<string, unknown> })\n .__metadata;\n const payload = {\n ...normalizedData,\n __metadata: {\n ...(userMetadata && typeof userMetadata === 'object' ? userMetadata : {}),\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<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: (\n id: ItemID,\n data: ListData<T['LISTS'][K]>,\n digest?: string\n ) => updateListItem<T['LISTS'][K], V>(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","LOOKUP_ID_KEYS","isPlainObject","value","Array","isArray","extractLookupPrimitive","allowGenericId","_iterator","_createForOfIteratorHelperLoose","_step","done","key","undefined","normalizeLookupValue","results","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","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","createListItem","_x3","_createListItem","_callee2","listData","metadataType","normalizedData","userMetadata","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","split","filter","Boolean","escapedSegments","map","segment","sanitized","replace","encodeURIComponent","join","encodeFileName","fileName","SUPPORTED_VERSION","deleteFile","_deleteFile","encodedFileName","digest","sharepointVersion","buildODataParams","options","orderBySeparator","expand","orderBy","limit","cols","skip","params","$expand","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","forEach","_ref2","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","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","_context6","find","BasePermissions","HTTPSharePointRequests","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","_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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"}
package/dist/types.d.ts CHANGED
@@ -89,12 +89,6 @@ export type DeleteFileProps = {
89
89
  fileName: string;
90
90
  folderPath?: string | string[];
91
91
  };
92
- export type ListData = {
93
- [key: string]: any;
94
- __metadata?: {
95
- type: string;
96
- };
97
- } | any;
98
92
  export type EmailProps = {
99
93
  From: string;
100
94
  To: string[] | string;
@@ -106,11 +100,32 @@ export type _Deferred = {
106
100
  uri: string;
107
101
  };
108
102
  };
109
- export type LookupField<T> = _Deferred & T;
103
+ declare const LOOKUP_FIELD_TAG: unique symbol;
104
+ type LookupFieldMarker = {
105
+ [LOOKUP_FIELD_TAG]?: true;
106
+ };
107
+ export type LookupField<T> = _Deferred & T & LookupFieldMarker;
110
108
  export type ChoiceField<T> = _Deferred & {
111
109
  Value: T;
112
110
  __metadata: Metadata;
113
111
  };
112
+ type MetadataEnvelope = {
113
+ __metadata?: {
114
+ type: string;
115
+ };
116
+ };
117
+ type EnsureRecord<T> = T extends Record<string, unknown> ? T : Record<string, unknown>;
118
+ type LookupCreateValue = number | string | null | {
119
+ lookupId: number | string;
120
+ } | {
121
+ LookupId: number | string;
122
+ } | {
123
+ results: (number | string)[];
124
+ };
125
+ type NormalizeField<T> = T extends LookupField<unknown> ? LookupCreateValue | LookupField<unknown> : T;
126
+ export type ListData<T = Record<string, unknown>> = Partial<{
127
+ [K in keyof EnsureRecord<T>]: NormalizeField<EnsureRecord<T>[K]>;
128
+ }> & MetadataEnvelope;
114
129
  export type PersonField = {
115
130
  AboutMe?: string;
116
131
  Account: string;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.16",
2
+ "version": "0.1.18",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/root/index.ts CHANGED
@@ -146,11 +146,15 @@ class HTTPSharePointRequests<
146
146
  const getContext = () => this.getContext<V>();
147
147
 
148
148
  return {
149
- create: (data: ListData) => createListItem(getContext(), data),
149
+ create: (data: ListData<T['LISTS'][K]>) =>
150
+ createListItem<T['LISTS'][K], V>(getContext(), data),
150
151
  get: (options?: Options<T['LISTS'][K], V>) =>
151
152
  getListItems<T['LISTS'][K], V>(getContext(), options),
152
- update: (id: ItemID, data: ListData, digest?: string) =>
153
- updateListItem(getContext(), id, data, digest),
153
+ update: (
154
+ id: ItemID,
155
+ data: ListData<T['LISTS'][K]>,
156
+ digest?: string
157
+ ) => updateListItem<T['LISTS'][K], V>(getContext(), id, data, digest),
154
158
  delete: (id: ItemID) => deleteItem(getContext(), id),
155
159
  createFile: (props: CreateFileProps) =>
156
160
  createAttachment(getContext(), props),
@@ -1,6 +1,7 @@
1
1
  import type { ListData, SHAREPOINT_VER } from '../../../types';
2
2
  import { fetchDigest } from '../digest';
3
3
  import type { RequestContext } from '../context';
4
+ import { normalizeListPayload } from './normalizePayload';
4
5
 
5
6
  async function resolveMetadataType<V extends SHAREPOINT_VER>(
6
7
  context: RequestContext<V>
@@ -16,14 +17,18 @@ async function resolveMetadataType<V extends SHAREPOINT_VER>(
16
17
  return `SP.Data.${context.listName}ListItem`;
17
18
  }
18
19
 
19
- export async function createListItem<V extends SHAREPOINT_VER = '2013'>(
20
- context: RequestContext<V>,
21
- listData: ListData
22
- ) {
20
+ export async function createListItem<
21
+ D = Record<string, unknown>,
22
+ V extends SHAREPOINT_VER = '2013'
23
+ >(context: RequestContext<V>, listData: ListData<D>) {
23
24
  const metadataType = await resolveMetadataType(context);
25
+ const normalizedData = normalizeListPayload(listData);
26
+ const userMetadata =
27
+ (listData as { __metadata?: Record<string, unknown> }).__metadata;
24
28
  const payload = {
25
- ...listData,
29
+ ...normalizedData,
26
30
  __metadata: {
31
+ ...(userMetadata && typeof userMetadata === 'object' ? userMetadata : {}),
27
32
  type: metadataType,
28
33
  },
29
34
  };
@@ -0,0 +1,165 @@
1
+ import type { ListData } from '../../../types';
2
+
3
+ type AnyRecord = Record<string, unknown>;
4
+
5
+ const LOOKUP_ID_KEYS = [
6
+ 'lookupId',
7
+ 'LookupId',
8
+ 'lookupID',
9
+ 'LookupID',
10
+ 'Id',
11
+ 'ID',
12
+ ];
13
+
14
+ function isPlainObject(value: unknown): value is AnyRecord {
15
+ return !!value && typeof value === 'object' && !Array.isArray(value);
16
+ }
17
+
18
+ function extractLookupPrimitive(
19
+ value: AnyRecord,
20
+ allowGenericId: boolean
21
+ ): unknown | undefined {
22
+ for (const key of LOOKUP_ID_KEYS) {
23
+ if (!allowGenericId && (key === 'Id' || key === 'ID')) {
24
+ continue;
25
+ }
26
+ if (value[key] !== undefined && value[key] !== null) {
27
+ return value[key];
28
+ }
29
+ }
30
+ return undefined;
31
+ }
32
+
33
+ function normalizeLookupValue(value: unknown): unknown {
34
+ if (Array.isArray(value)) {
35
+ return { results: value };
36
+ }
37
+
38
+ if (isPlainObject(value)) {
39
+ if (Array.isArray(value.results)) {
40
+ return { results: value.results };
41
+ }
42
+
43
+ const primitive = extractLookupPrimitive(value, true);
44
+ if (primitive !== undefined) {
45
+ return primitive;
46
+ }
47
+ }
48
+
49
+ if (typeof value === 'string') {
50
+ const trimmed = value.trim();
51
+ if (!trimmed) {
52
+ return value;
53
+ }
54
+ const numeric = Number(trimmed);
55
+ return Number.isNaN(numeric) ? trimmed : numeric;
56
+ }
57
+
58
+ return value;
59
+ }
60
+
61
+ function resolveLookupField(key: string, value: unknown) {
62
+ const lower = key.toLowerCase();
63
+ const endsWithId = lower.endsWith('id');
64
+ const endsWithRef = lower.endsWith('ref');
65
+ const endsWithLookup = lower.endsWith('lookup');
66
+ const hasLookupHint = endsWithId || endsWithRef || endsWithLookup;
67
+
68
+ if (value === undefined) {
69
+ return null;
70
+ }
71
+
72
+ if (Array.isArray(value)) {
73
+ const targetKey = endsWithId ? key : `${key}Id`;
74
+ return {
75
+ key: targetKey,
76
+ value: { results: value },
77
+ };
78
+ }
79
+
80
+ if (isPlainObject(value)) {
81
+ const primitive = extractLookupPrimitive(value, hasLookupHint);
82
+ if (primitive !== undefined) {
83
+ const targetKey = endsWithId ? key : `${key}Id`;
84
+ return {
85
+ key: targetKey,
86
+ value: normalizeLookupValue(primitive),
87
+ };
88
+ }
89
+
90
+ if (Array.isArray(value.results)) {
91
+ const targetKey = endsWithId ? key : `${key}Id`;
92
+ return {
93
+ key: targetKey,
94
+ value: { results: value.results },
95
+ };
96
+ }
97
+
98
+ if (!hasLookupHint) {
99
+ return null;
100
+ }
101
+ } else if (!hasLookupHint) {
102
+ return null;
103
+ }
104
+
105
+ const targetKey = endsWithId ? key : `${key}Id`;
106
+
107
+ if (value === null) {
108
+ return {
109
+ key: targetKey,
110
+ value: null,
111
+ };
112
+ }
113
+
114
+ if (typeof value === 'number') {
115
+ return {
116
+ key: targetKey,
117
+ value,
118
+ };
119
+ }
120
+
121
+ if (typeof value === 'string') {
122
+ const trimmed = value.trim();
123
+ if (!trimmed) {
124
+ return {
125
+ key: targetKey,
126
+ value: '',
127
+ };
128
+ }
129
+ const numeric = Number(trimmed);
130
+ return {
131
+ key: targetKey,
132
+ value: Number.isNaN(numeric) ? trimmed : numeric,
133
+ };
134
+ }
135
+
136
+ return null;
137
+ }
138
+
139
+ export function normalizeListPayload<D = Record<string, unknown>>(
140
+ data: ListData<D>
141
+ ): AnyRecord {
142
+ const result: AnyRecord = {};
143
+
144
+ if (!data) {
145
+ return result;
146
+ }
147
+
148
+ for (const [key, value] of Object.entries(data as AnyRecord)) {
149
+ if (key === '__metadata') {
150
+ continue;
151
+ }
152
+
153
+ const lookupField = resolveLookupField(key, value);
154
+ if (lookupField) {
155
+ result[lookupField.key] = lookupField.value;
156
+ continue;
157
+ }
158
+
159
+ if (value !== undefined) {
160
+ result[key] = value;
161
+ }
162
+ }
163
+
164
+ return result;
165
+ }
@@ -1,6 +1,7 @@
1
1
  import type { ListData, SHAREPOINT_VER } from '../../../types';
2
2
  import { fetchDigest } from '../digest';
3
3
  import type { RequestContext } from '../context';
4
+ import { normalizeListPayload } from './normalizePayload';
4
5
 
5
6
  async function resolveMetadataType<V extends SHAREPOINT_VER>(
6
7
  context: RequestContext<V>
@@ -16,19 +17,26 @@ async function resolveMetadataType<V extends SHAREPOINT_VER>(
16
17
  return `SP.Data.${context.listName}ListItem`;
17
18
  }
18
19
 
19
- export async function updateListItem<V extends SHAREPOINT_VER = '2013'>(
20
+ export async function updateListItem<
21
+ D = Record<string, unknown>,
22
+ V extends SHAREPOINT_VER = '2013'
23
+ >(
20
24
  context: RequestContext<V>,
21
25
  id: number | string,
22
- data: ListData,
26
+ data: ListData<D>,
23
27
  digest?: string
24
28
  ) {
25
29
  const formDigestValue =
26
30
  digest || (await fetchDigest(context.instance, context.baseURL));
27
31
 
28
32
  const metadataType = await resolveMetadataType(context);
33
+ const normalizedData = normalizeListPayload(data);
34
+ const userMetadata = (data as { __metadata?: Record<string, unknown> })
35
+ .__metadata;
29
36
  const payload = {
30
- ...data,
37
+ ...normalizedData,
31
38
  __metadata: {
39
+ ...(userMetadata && typeof userMetadata === 'object' ? userMetadata : {}),
32
40
  type: metadataType,
33
41
  },
34
42
  };