@pnp/sp

  • Version 4.0.1
  • Published
  • 1.13 MB
  • 3 dependencies
  • MIT license

Install

npm i @pnp/sp
yarn add @pnp/sp
pnpm add @pnp/sp

Overview

pnp - provides a fluent api for working with SharePoint REST

Index

Variables

Functions

Classes

Interfaces

Enums

Type Aliases

Variables

variable emptyGuid

const emptyGuid: string;

    variable SPCollection

    const SPCollection: ISPInvokableFactory<ISPCollection<any[]>>;

      variable SPInstance

      const SPInstance: ISPInvokableFactory<ISPInstance<any>>;

        variable SPQueryable

        const SPQueryable: ISPInvokableFactory<ISPQueryable<any>>;

          Functions

          function containsInvalidFileFolderChars

          containsInvalidFileFolderChars: (input: string, onPremise?: boolean) => boolean;
          • Checks if file or folder name contains invalid characters

            Parameter input

            File or folder name to check

            Parameter onPremise

            Set to true for SharePoint On-Premise

            Returns

            True if contains invalid chars, false otherwise

          function DefaultHeaders

          DefaultHeaders: () => TimelinePipe<Queryable>;

            function DefaultInit

            DefaultInit: () => TimelinePipe<Queryable>;

              function defaultPath

              defaultPath: (
              path: string
              ) => <T extends new (...args: any[]) => {}>(
              target: T
              ) => (new (...args: any[]) => {}) & T;
              • Decorator used to specify the default path for SPQueryable objects

                Parameter path

              function deleteable

              deleteable: () => (this: ISPQueryable) => Promise<void>;
              • Adds the a delete method to the tagged class taking no parameters and calling spPostDelete

              function deleteableWithETag

              deleteableWithETag: () => (this: ISPQueryable, eTag?: string) => Promise<void>;

                function encodePath

                encodePath: (value: string) => string;
                • Encodes path portions of SharePoint urls such as decodedUrl=encodePath(pathStr)

                  Parameter value

                  The string path to encode

                  Returns

                  A path encoded for use in SP urls

                function extractWebUrl

                extractWebUrl: (candidateUrl: string) => string;

                  function odataUrlFrom

                  odataUrlFrom: (candidate: any) => string;

                    function RequestDigest

                    RequestDigest: (
                    hook?: (url: string, init: RequestInit) => IDigestInfo | null | undefined
                    ) => TimelinePipe<Queryable>;

                      function SPBrowser

                      SPBrowser: (props?: ISPBrowserProps) => TimelinePipe<Queryable>;

                        function spDelete

                        spDelete: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                          function spfi

                          spfi: (root?: SPInit | SPFI) => SPFI;

                            function SPFx

                            SPFx: (context: ISPFXContext) => TimelinePipe<Queryable>;

                              function SPFxToken

                              SPFxToken: (context: ISPFXContext) => TimelinePipe<Queryable>;

                                function spGet

                                spGet: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                                  function spInvokableFactory

                                  spInvokableFactory: <R extends ISPQueryable<any>>(
                                  f: any
                                  ) => ISPInvokableFactory<R>;

                                    function spPatch

                                    spPatch: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                                      function spPost

                                      spPost: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                                        function spPostDelete

                                        spPostDelete: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                                          function spPostDeleteETag

                                          spPostDeleteETag: <T = any>(
                                          o: ISPQueryable<any>,
                                          init?: RequestInit,
                                          eTag?: string
                                          ) => Promise<T>;

                                            function spPostMerge

                                            spPostMerge: <T = any>(o: ISPQueryable<any>, init?: RequestInit) => Promise<T>;

                                              function stripInvalidFileFolderChars

                                              stripInvalidFileFolderChars: (
                                              input: string,
                                              replacer?: string,
                                              onPremise?: boolean
                                              ) => string;
                                              • Removes invalid characters from file or folder name

                                                Parameter input

                                                File or folder name

                                                Parameter replacer

                                                Value that will replace invalid characters

                                                Parameter onPremise

                                                Set to true for SharePoint On-Premise

                                                Returns

                                                File or folder name with replaced invalid characters

                                              function Telemetry

                                              Telemetry: () => TimelinePipe<Queryable>;

                                                function toResourcePath

                                                toResourcePath: (url: string) => IResourcePath;

                                                  Classes

                                                  class SPFI

                                                  class SPFI {}

                                                    constructor

                                                    constructor(root?: SPInit);
                                                    • Creates a new instance of the SPFI class

                                                      Parameter root

                                                      Establishes a root url/configuration

                                                    method create

                                                    protected create: <T extends ISPQueryable<any>>(
                                                    factory: (q: ISPQueryable, path?: string) => T,
                                                    path?: string
                                                    ) => T;
                                                    • Used by extending classes to create new objects directly from the root

                                                      Parameter factory

                                                      The factory for the type of object to create

                                                      Returns

                                                      A configured instance of that object

                                                    method using

                                                    using: (...behaviors: TimelinePipe[]) => this;
                                                    • Applies one or more behaviors which will be inherited by all instances chained from this root

                                                    Interfaces

                                                    interface IChangeQuery

                                                    interface IChangeQuery {}
                                                    • Defines a query that is performed against the change log.

                                                    property Add

                                                    Add?: boolean;
                                                    • Gets or sets a value that specifies whether add changes are included in the query.

                                                    property Alert

                                                    Alert?: boolean;
                                                    • Gets or sets a value that specifies whether changes to alerts are included in the query.

                                                    property ChangeTokenEnd

                                                    ChangeTokenEnd?: IChangeToken;
                                                    • Gets or sets a value that specifies the end date and end time for changes that are returned through the query.

                                                    property ChangeTokenStart

                                                    ChangeTokenStart?: IChangeToken;
                                                    • Gets or sets a value that specifies the start date and start time for changes that are returned through the query.

                                                    property ContentType

                                                    ContentType?: boolean;
                                                    • Gets or sets a value that specifies whether changes to content types are included in the query.

                                                    property DeleteObject

                                                    DeleteObject?: boolean;
                                                    • Gets or sets a value that specifies whether deleted objects are included in the query.

                                                    property Field

                                                    Field?: boolean;
                                                    • Gets or sets a value that specifies whether changes to fields are included in the query.

                                                    property File

                                                    File?: boolean;
                                                    • Gets or sets a value that specifies whether changes to files are included in the query.

                                                    property Folder

                                                    Folder?: boolean;
                                                    • Gets or sets value that specifies whether changes to folders are included in the query.

                                                    property Group

                                                    Group?: boolean;
                                                    • Gets or sets a value that specifies whether changes to groups are included in the query.

                                                    property GroupMembershipAdd

                                                    GroupMembershipAdd?: boolean;
                                                    • Gets or sets a value that specifies whether adding users to groups is included in the query.

                                                    property GroupMembershipDelete

                                                    GroupMembershipDelete?: boolean;
                                                    • Gets or sets a value that specifies whether deleting users from the groups is included in the query.

                                                    property Item

                                                    Item?: boolean;
                                                    • Gets or sets a value that specifies whether general changes to list items are included in the query.

                                                    property List

                                                    List?: boolean;
                                                    • Gets or sets a value that specifies whether changes to lists are included in the query.

                                                    property Move

                                                    Move?: boolean;
                                                    • Gets or sets a value that specifies whether move changes are included in the query.

                                                    property Navigation

                                                    Navigation?: boolean;
                                                    • Gets or sets a value that specifies whether changes to the navigation structure of a site collection are included in the query.

                                                    property Rename

                                                    Rename?: boolean;
                                                    • Gets or sets a value that specifies whether renaming changes are included in the query.

                                                    property Restore

                                                    Restore?: boolean;
                                                    • Gets or sets a value that specifies whether restoring items from the recycle bin or from backups is included in the query.

                                                    property RoleAssignmentAdd

                                                    RoleAssignmentAdd?: boolean;
                                                    • Gets or sets a value that specifies whether adding role assignments is included in the query.

                                                    property RoleAssignmentDelete

                                                    RoleAssignmentDelete?: boolean;
                                                    • Gets or sets a value that specifies whether adding role assignments is included in the query.

                                                    property RoleDefinitionAdd

                                                    RoleDefinitionAdd?: boolean;
                                                    • Gets or sets a value that specifies whether adding role assignments is included in the query.

                                                    property RoleDefinitionDelete

                                                    RoleDefinitionDelete?: boolean;
                                                    • Gets or sets a value that specifies whether adding role assignments is included in the query.

                                                    property RoleDefinitionUpdate

                                                    RoleDefinitionUpdate?: boolean;
                                                    • Gets or sets a value that specifies whether adding role assignments is included in the query.

                                                    property SecurityPolicy

                                                    SecurityPolicy?: boolean;
                                                    • Gets or sets a value that specifies whether modifications to security policies are included in the query.

                                                    property Site

                                                    Site?: boolean;
                                                    • Gets or sets a value that specifies whether changes to site collections are included in the query.

                                                    property SystemUpdate

                                                    SystemUpdate?: boolean;
                                                    • Gets or sets a value that specifies whether updates made using the item SystemUpdate method are included in the query.

                                                    property Update

                                                    Update?: boolean;
                                                    • Gets or sets a value that specifies whether update changes are included in the query.

                                                    property User

                                                    User?: boolean;
                                                    • Gets or sets a value that specifies whether changes to users are included in the query.

                                                    property View

                                                    View?: boolean;
                                                    • Gets or sets a value that specifies whether changes to views are included in the query.

                                                    property Web

                                                    Web?: boolean;
                                                    • Gets or sets a value that specifies whether changes to Web sites are included in the query.

                                                    interface IChangeToken

                                                    interface IChangeToken {}
                                                    • Represents the unique sequential location of a change within the change log.

                                                    property StringValue

                                                    StringValue: string;
                                                    • Gets or sets a string value that contains the serialized representation of the change token generated by the protocol server.

                                                    interface IDeleteable

                                                    interface IDeleteable {}

                                                      method delete

                                                      delete: () => Promise<void>;
                                                      • Delete this instance

                                                      interface IDeleteableWithETag

                                                      interface IDeleteableWithETag {}

                                                        method delete

                                                        delete: (eTag?: string) => Promise<void>;
                                                        • Delete this instance

                                                          Parameter eTag

                                                          Value used in the IF-Match header, by default "*"

                                                        interface IMoveCopyOptions

                                                        interface IMoveCopyOptions {}
                                                        • Contains options used to modify the behaviour of a move or copy operation

                                                        property KeepBoth

                                                        KeepBoth: boolean;
                                                        • Boolean specifying whether to rename and copy the source file when the destination file exists

                                                        property ResetAuthorAndCreatedOnCopy

                                                        ResetAuthorAndCreatedOnCopy: boolean;
                                                        • Boolean specifying whether to reset the destination of the copy author to the current user and the created by datetime to the current time.

                                                        property RetainEditorAndModifiedOnMove

                                                        RetainEditorAndModifiedOnMove: boolean;
                                                        • Boolean specifying whether to retain the source of the move's editor and modified by datetime.

                                                        property ShouldBypassSharedLocks

                                                        ShouldBypassSharedLocks: boolean;
                                                        • Boolean specifying whether to allow File and Folder Move operations when file contain co-authoring shared locks

                                                        interface IPrincipalInfo

                                                        interface IPrincipalInfo {}

                                                          property Department

                                                          Department: string;

                                                            property DisplayName

                                                            DisplayName: string;

                                                              property Email

                                                              Email: string;

                                                                property JobTitle

                                                                JobTitle: string;

                                                                  property LoginName

                                                                  LoginName: string;

                                                                    property Mobile

                                                                    Mobile: string;

                                                                      property PrincipalId

                                                                      PrincipalId: number;

                                                                        property PrincipalType

                                                                        PrincipalType: PrincipalType;

                                                                          property SIPAddress

                                                                          SIPAddress: string;

                                                                            interface IResourcePath

                                                                            interface IResourcePath {}

                                                                              property DecodedUrl

                                                                              DecodedUrl: string;

                                                                                interface ISPBrowserProps

                                                                                interface ISPBrowserProps {}

                                                                                  property baseUrl

                                                                                  baseUrl?: string;

                                                                                    interface ISPCollection

                                                                                    interface ISPCollection<GetType = any[]> extends _SPCollection<GetType> {}

                                                                                      interface ISPConstructor

                                                                                      interface ISPConstructor<T extends ISPQueryable = ISPQueryable> {}

                                                                                        construct signature

                                                                                        new (base: SPInit, path?: string): T;

                                                                                          interface ISPFXContext

                                                                                          interface ISPFXContext {}

                                                                                            property aadTokenProviderFactory

                                                                                            aadTokenProviderFactory?: {
                                                                                            getTokenProvider(): Promise<{
                                                                                            getToken(resource: string): Promise<string>;
                                                                                            }>;
                                                                                            };

                                                                                              property pageContext

                                                                                              pageContext: {
                                                                                              web: {
                                                                                              absoluteUrl: string;
                                                                                              };
                                                                                              legacyPageContext: {
                                                                                              formDigestTimeoutSeconds: number;
                                                                                              formDigestValue: string;
                                                                                              };
                                                                                              };

                                                                                                interface ISPInstance

                                                                                                interface ISPInstance<GetType = any> extends _SPInstance<GetType> {}

                                                                                                  interface ISPQueryable

                                                                                                  interface ISPQueryable<GetType = any> extends _SPQueryable<GetType> {}

                                                                                                    interface SPFI

                                                                                                    interface SPFI {}

                                                                                                      method batched

                                                                                                      batched: (props?: ISPBatchProps) => [SPFI, () => Promise<void>];
                                                                                                      • Creates a batch behavior and associated execute function

                                                                                                      interface SPFI

                                                                                                      interface SPFI {}

                                                                                                        property tenantAppcatalog

                                                                                                        tenantAppcatalog: IAppCatalog;

                                                                                                          method getTenantAppCatalogWeb

                                                                                                          getTenantAppCatalogWeb: () => Promise<IWeb>;

                                                                                                            interface SPFI

                                                                                                            interface SPFI {}

                                                                                                              property hubSites

                                                                                                              readonly hubSites: IHubSites;
                                                                                                              • Lists all of the subsites

                                                                                                              interface SPFI

                                                                                                              interface SPFI {}

                                                                                                                property navigation

                                                                                                                readonly navigation: INavigationService;

                                                                                                                  interface SPFI

                                                                                                                  interface SPFI {}

                                                                                                                    property profiles

                                                                                                                    readonly profiles: IProfiles;

                                                                                                                      interface SPFI

                                                                                                                      interface SPFI {}

                                                                                                                        property publishingSitePageService

                                                                                                                        readonly publishingSitePageService: ISitePageService;
                                                                                                                        • Access to SP.Publishing.SitePageService API which allows you to get your current unified group memberships

                                                                                                                        interface SPFI

                                                                                                                        interface SPFI {}

                                                                                                                          method search

                                                                                                                          search: (query: SearchQueryInit) => Promise<SearchResults>;
                                                                                                                          • Conduct a search

                                                                                                                            Parameter query

                                                                                                                            Parameters for the search

                                                                                                                          method searchSuggest

                                                                                                                          searchSuggest: (query: string | ISuggestQuery) => Promise<ISuggestResult>;
                                                                                                                          • Conduct a suggest search query

                                                                                                                            Parameter query

                                                                                                                            Parameters for the search

                                                                                                                          interface SPFI

                                                                                                                          interface SPFI {}

                                                                                                                            property siteDesigns

                                                                                                                            readonly siteDesigns: ISiteDesigns;

                                                                                                                              interface SPFI

                                                                                                                              interface SPFI {}

                                                                                                                                property siteScripts

                                                                                                                                readonly siteScripts: ISiteScripts;

                                                                                                                                  interface SPFI

                                                                                                                                  interface SPFI {}

                                                                                                                                    property site

                                                                                                                                    readonly site: ISite;

                                                                                                                                      interface SPFI

                                                                                                                                      interface SPFI {}

                                                                                                                                        property social

                                                                                                                                        readonly social: ISocial;
                                                                                                                                        • Access to the social instance which allows you to track followed sites, people and docs.

                                                                                                                                        interface SPFI

                                                                                                                                        interface SPFI {}

                                                                                                                                          property utility

                                                                                                                                          readonly utility: IUtilities;

                                                                                                                                            interface SPFI

                                                                                                                                            interface SPFI {}

                                                                                                                                              property web

                                                                                                                                              readonly web: ReturnType<typeof Web>;
                                                                                                                                              • Access to the current web instance

                                                                                                                                              interface SPFI

                                                                                                                                              interface SPFI {}

                                                                                                                                                property groupSiteManager

                                                                                                                                                readonly groupSiteManager: IGroupSiteManager;

                                                                                                                                                  Enums

                                                                                                                                                  enum PageType

                                                                                                                                                  enum PageType {
                                                                                                                                                  Invalid = -1,
                                                                                                                                                  DefaultView = 0,
                                                                                                                                                  NormalView = 1,
                                                                                                                                                  DialogView = 2,
                                                                                                                                                  View = 3,
                                                                                                                                                  DisplayForm = 4,
                                                                                                                                                  DisplayFormDialog = 5,
                                                                                                                                                  EditForm = 6,
                                                                                                                                                  EditFormDialog = 7,
                                                                                                                                                  NewForm = 8,
                                                                                                                                                  NewFormDialog = 9,
                                                                                                                                                  SolutionForm = 10,
                                                                                                                                                  PAGE_MAXITEMS = 11,
                                                                                                                                                  }

                                                                                                                                                    member DefaultView

                                                                                                                                                    DefaultView = 0

                                                                                                                                                      member DialogView

                                                                                                                                                      DialogView = 2

                                                                                                                                                        member DisplayForm

                                                                                                                                                        DisplayForm = 4

                                                                                                                                                          member DisplayFormDialog

                                                                                                                                                          DisplayFormDialog = 5

                                                                                                                                                            member EditForm

                                                                                                                                                            EditForm = 6

                                                                                                                                                              member EditFormDialog

                                                                                                                                                              EditFormDialog = 7

                                                                                                                                                                member Invalid

                                                                                                                                                                Invalid = -1

                                                                                                                                                                  member NewForm

                                                                                                                                                                  NewForm = 8

                                                                                                                                                                    member NewFormDialog

                                                                                                                                                                    NewFormDialog = 9

                                                                                                                                                                      member NormalView

                                                                                                                                                                      NormalView = 1

                                                                                                                                                                        member PAGE_MAXITEMS

                                                                                                                                                                        PAGE_MAXITEMS = 11

                                                                                                                                                                          member SolutionForm

                                                                                                                                                                          SolutionForm = 10

                                                                                                                                                                            member View

                                                                                                                                                                            View = 3

                                                                                                                                                                              enum PrincipalSource

                                                                                                                                                                              enum PrincipalSource {
                                                                                                                                                                              None = 0,
                                                                                                                                                                              UserInfoList = 1,
                                                                                                                                                                              Windows = 2,
                                                                                                                                                                              MembershipProvider = 4,
                                                                                                                                                                              RoleProvider = 8,
                                                                                                                                                                              All = 15,
                                                                                                                                                                              }
                                                                                                                                                                              • Specifies the source of a principal.

                                                                                                                                                                              member All

                                                                                                                                                                              All = 15
                                                                                                                                                                              • Enumeration whose value specifies all principal sources.

                                                                                                                                                                              member MembershipProvider

                                                                                                                                                                              MembershipProvider = 4
                                                                                                                                                                              • Enumeration whose value specifies the current membership provider as the principal source.

                                                                                                                                                                              member None

                                                                                                                                                                              None = 0
                                                                                                                                                                              • Enumeration whose value specifies no principal source.

                                                                                                                                                                              member RoleProvider

                                                                                                                                                                              RoleProvider = 8
                                                                                                                                                                              • Enumeration whose value specifies the current role provider as the principal source.

                                                                                                                                                                              member UserInfoList

                                                                                                                                                                              UserInfoList = 1
                                                                                                                                                                              • Enumeration whose value specifies user information list as the principal source.

                                                                                                                                                                              member Windows

                                                                                                                                                                              Windows = 2
                                                                                                                                                                              • Enumeration whose value specifies Active Directory as the principal source.

                                                                                                                                                                              enum PrincipalType

                                                                                                                                                                              enum PrincipalType {
                                                                                                                                                                              None = 0,
                                                                                                                                                                              User = 1,
                                                                                                                                                                              DistributionList = 2,
                                                                                                                                                                              SecurityGroup = 4,
                                                                                                                                                                              SharePointGroup = 8,
                                                                                                                                                                              All = 15,
                                                                                                                                                                              }
                                                                                                                                                                              • Specifies the type of a principal.

                                                                                                                                                                              member All

                                                                                                                                                                              All = 15
                                                                                                                                                                              • Enumeration whose value specifies all principal types.

                                                                                                                                                                              member DistributionList

                                                                                                                                                                              DistributionList = 2
                                                                                                                                                                              • Enumeration whose value specifies a distribution list as the principal type.

                                                                                                                                                                              member None

                                                                                                                                                                              None = 0
                                                                                                                                                                              • Enumeration whose value specifies no principal type.

                                                                                                                                                                              member SecurityGroup

                                                                                                                                                                              SecurityGroup = 4
                                                                                                                                                                              • Enumeration whose value specifies a security group as the principal type.

                                                                                                                                                                              member SharePointGroup

                                                                                                                                                                              SharePointGroup = 8
                                                                                                                                                                              • Enumeration whose value specifies a group as the principal type.

                                                                                                                                                                              member User

                                                                                                                                                                              User = 1
                                                                                                                                                                              • Enumeration whose value specifies a user as the principal type.

                                                                                                                                                                              Type Aliases

                                                                                                                                                                              type ISPInvokableFactory

                                                                                                                                                                              type ISPInvokableFactory<R extends ISPQueryable> = (
                                                                                                                                                                              base: SPInit,
                                                                                                                                                                              path?: string
                                                                                                                                                                              ) => R & IInvokable;

                                                                                                                                                                                type SPInit

                                                                                                                                                                                type SPInit = string | ISPQueryable | [ISPQueryable, string];

                                                                                                                                                                                  Package Files (29)

                                                                                                                                                                                  Dependencies (3)

                                                                                                                                                                                  Dev Dependencies (0)

                                                                                                                                                                                  No dev dependencies.

                                                                                                                                                                                  Peer Dependencies (0)

                                                                                                                                                                                  No peer dependencies.

                                                                                                                                                                                  Badge

                                                                                                                                                                                  To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                                                                                  You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@pnp/sp.

                                                                                                                                                                                  • Markdown
                                                                                                                                                                                    [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@pnp/sp)
                                                                                                                                                                                  • HTML
                                                                                                                                                                                    <a href="https://www.jsdocs.io/package/@pnp/sp"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>