From 7b1ffa62c26de6dec4295784f4dce6469f1a7d8c Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 22 May 2018 10:57:04 +0200 Subject: [PATCH 1/7] fixing a bug where SharePoint type definitions would include an implicit any --- types/sharepoint/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index 4852d8440c..a3c49d670d 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -2158,7 +2158,7 @@ declare namespace SP { let ClientObjectCollection: ClientObjectCollectionConstructor; interface ClientObjectList extends SP.ClientObjectCollection { - new(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any); + new(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any): ClientObjectList; fromJson(initValue: any): void; customFromJson(initValue: any): boolean; } @@ -2210,7 +2210,7 @@ declare namespace SP { class ClientRequestSucceededEventArgs extends SP.ClientRequestEventArgs { } interface ClientRuntimeContext extends Sys.IDisposable { - new(serverRelativeUrlOrFullUrl: string); + new(serverRelativeUrlOrFullUrl: string): ClientRuntimeContext; get_url(): string; get_viaUrl(): string; set_viaUrl(value: string): void; From 11bf2bb552772515399647d9e1fb6a10e6810624 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 22 May 2018 11:18:00 +0200 Subject: [PATCH 2/7] sharepoint: fixed linting to match new rules --- types/sharepoint/index.d.ts | 30 +++++++++++++++--------------- types/sharepoint/tslint.json | 1 + 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index a3c49d670d..9cf6abfa2b 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -5309,11 +5309,11 @@ declare namespace Microsoft.SharePoint.Client.Search { } interface StringCollection extends SP.ClientObjectCollection { - itemAt: (index: number) => string; - get_item: (index: number) => string; - get_childItemType: () => typeof String; - add: (property: string) => void; - clear: () => void; + itemAt(index: number): string; + get_item(index: number): string; + get_childItemType(): typeof String; + add(property: string): void; + clear(): void; } interface StringCollectionConstructor { new(context: SP.ClientContext): StringCollection; @@ -5393,11 +5393,11 @@ declare namespace Microsoft.SharePoint.Client.Search { static queryPropertyValueToObject: (val: QueryPropertyValue) => any; } interface ReorderingRuleCollection extends SP.ClientObjectCollection { - itemAt: (index: number) => ReorderingRule; - get_item: (index: number) => ReorderingRule; - get_childItemType: () => typeof ReorderingRule; - add: (property: ReorderingRule) => void; - clear: () => void; + itemAt(index: number): ReorderingRule; + get_item(index: number): ReorderingRule; + get_childItemType(): typeof ReorderingRule; + add(property: ReorderingRule): void; + clear(): void; } enum ReorderingRuleMatchType { @@ -5424,11 +5424,11 @@ declare namespace Microsoft.SharePoint.Client.Search { } interface SortCollection extends SP.ClientObjectCollection { - itemAt: (index: number) => Sort; - get_item: (index: number) => Sort; - get_childItemType: () => typeof Sort; - add: (strProperty: string, sortDirection: SortDirection) => void; - clear: () => void; + itemAt(index: number): Sort; + get_item(index: number): Sort; + get_childItemType(): typeof Sort; + add(strProperty: string, sortDirection: SortDirection): void; + clear(): void; } enum SortDirection { diff --git a/types/sharepoint/tslint.json b/types/sharepoint/tslint.json index c1514ba316..06bd920191 100644 --- a/types/sharepoint/tslint.json +++ b/types/sharepoint/tslint.json @@ -8,6 +8,7 @@ "no-any-union": false, "no-const-enum": false, "no-duplicate-imports": false, + "no-empty-interface": false, "no-inferrable-types": false, "no-namespace": false, "no-mergeable-namespace": false, From f256322874b3fc39bcc43d8433e36b4b99402c61 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 22 May 2018 11:21:35 +0200 Subject: [PATCH 3/7] sharepoint: further fixed constructors declarations following recommendations --- types/sharepoint/index.d.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index 9cf6abfa2b..cbf55ba3f7 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -2157,15 +2157,11 @@ declare namespace SP { } let ClientObjectCollection: ClientObjectCollectionConstructor; - interface ClientObjectList extends SP.ClientObjectCollection { - new(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any): ClientObjectList; + class ClientObjectList extends SP.ClientObjectCollection { + constructor(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any); fromJson(initValue: any): void; customFromJson(initValue: any): boolean; } - interface ClientObjectListConstructor { - new(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any): ClientObjectList; - } - let ClientObjectList: ClientObjectListConstructor; class ClientObjectPrototype { retrieve(propertyNames?: string[]): void; retrieveObject(propertyName: string): SP.ClientObjectPrototype; @@ -2209,8 +2205,8 @@ declare namespace SP { } class ClientRequestSucceededEventArgs extends SP.ClientRequestEventArgs { } - interface ClientRuntimeContext extends Sys.IDisposable { - new(serverRelativeUrlOrFullUrl: string): ClientRuntimeContext; + class ClientRuntimeContext implements Sys.IDisposable { + constructor(serverRelativeUrlOrFullUrl: string); get_url(): string; get_viaUrl(): string; set_viaUrl(value: string): void; From e8754a341a0cc6a2fb061146149ff435ab83e29c Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 22 May 2018 11:23:17 +0200 Subject: [PATCH 4/7] sharepoint: bumped required version for typescript --- types/sharepoint/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index cbf55ba3f7..fc7de5cf3d 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -6,7 +6,7 @@ // Tero Arvola // Dennis George // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.3 +// TypeScript Version: 2.5 /// From 031b5fc38e0eadc3ccea165940f6ed951795c819 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 22 May 2018 11:35:10 +0200 Subject: [PATCH 5/7] sharepoint: further fixed constructors declarations --- types/sharepoint/index.d.ts | 45 ++++++++++++------------------------- 1 file changed, 14 insertions(+), 31 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index fc7de5cf3d..5340aa5983 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -106,8 +106,8 @@ declare namespace SP { static resizeImageToSquareLength(imgElement: HTMLImageElement, squareLength: number): void; } - interface PageContextInfo { - new(): PageContextInfoInstance; + class PageContextInfo { + constructor(); get_siteServerRelativeUrl(): string; get_webServerRelativeUrl(): string; get_webAbsoluteUrl(): string; @@ -132,7 +132,6 @@ declare namespace SP { interface PageContextInfoInstance { get_pagePersonalizationScope(): string; } - let PageContextInfo: PageContextInfo; class ContextPermissions { has(perm: number): boolean; @@ -2139,7 +2138,8 @@ declare namespace SP { constructor(); } /** Provides a base class for a collection of objects on a remote client. */ - interface ClientObjectCollection extends SP.ClientObject, IEnumerable { + class ClientObjectCollection extends SP.ClientObject implements IEnumerable { + constructor(); get_areItemsAvailable(): boolean; /** Gets the data for all of the items in the collection. */ retrieveItems(): SP.ClientObjectPrototype; @@ -2152,11 +2152,6 @@ declare namespace SP { getItemAtIndex(index: number): T; fromJson(obj: any): void; } - interface ClientObjectCollectionConstructor { - new(): ClientObjectCollection; - } - let ClientObjectCollection: ClientObjectCollectionConstructor; - class ClientObjectList extends SP.ClientObjectCollection { constructor(context: SP.ClientRuntimeContext, objectPath: SP.ObjectPath, childItemType: any); fromJson(initValue: any): void; @@ -2443,16 +2438,13 @@ declare namespace SP { assemblyVersion: string; wssMajorVersion: string; } - interface ClientContext extends SP.ClientRuntimeContext { + class ClientContext extends SP.ClientRuntimeContext { + constructor(serverRelativeUrlOrFullUrl?: string); get_web(): SP.Web; get_site(): SP.Site; get_serverVersion(): string; + static get_current(): SP.ClientContext; } - interface ClientContextConstructor { - new(serverRelativeUrlOrFullUrl?: string): ClientContext; - get_current(): SP.ClientContext; - } - let ClientContext: ClientContextConstructor; enum ULSTraceLevel { verbose, } @@ -4398,18 +4390,15 @@ declare namespace SP { update(): void; deleteObject(): void; } - interface RoleDefinitionBindingCollectionConstructor { - new(context: SP.ClientRuntimeContext): SP.RoleDefinitionBindingCollection; - newObject(context: SP.ClientRuntimeContext): SP.RoleDefinitionBindingCollection; - } - interface RoleDefinitionBindingCollection extends SP.ClientObjectCollection { + class RoleDefinitionBindingCollection extends SP.ClientObjectCollection { + constructor(context: SP.ClientRuntimeContext); itemAt(index: number): SP.RoleDefinition; get_item(index: number): SP.RoleDefinition; add(roleDefinition: SP.RoleDefinition): void; remove(roleDefinition: SP.RoleDefinition): void; removeAll(): void; + static newObject(context: SP.ClientRuntimeContext): SP.RoleDefinitionBindingCollection; } - let RoleDefinitionBindingCollection: RoleDefinitionBindingCollectionConstructor; interface RoleDefinitionCollection extends SP.ClientObjectCollection { itemAt(index: number): SP.RoleDefinition; get_item(index: number): SP.RoleDefinition; @@ -5304,17 +5293,14 @@ declare namespace Microsoft.SharePoint.Client.Search { exportPopularQueries: (web: SP.Web, sourceId: SP.Guid) => SP.JsonObjectResult; } - interface StringCollection extends SP.ClientObjectCollection { + class StringCollection extends SP.ClientObjectCollection { + constructor(context: SP.ClientContext); itemAt(index: number): string; get_item(index: number): string; get_childItemType(): typeof String; add(property: string): void; clear(): void; } - interface StringCollectionConstructor { - new(context: SP.ClientContext): StringCollection; - } - let StringCollection: StringCollectionConstructor; class QueryPersonalizationData extends SP.ClientObject { // It's really empty; @@ -6924,15 +6910,12 @@ declare namespace SP { getValidatedString(value: TaxonomyFieldValue): SP.StringResult; } - interface TaxonomyFieldValueCollection extends SP.ClientObjectCollection { + class TaxonomyFieldValueCollection extends SP.ClientObjectCollection { + constructor(context: SP.ClientContext, fieldValue: string, creatingField: SP.Field); itemAt(index: number): TaxonomyFieldValue; get_item(index: number): TaxonomyFieldValue; populateFromLabelGuidPairs(text: string): void; } - interface TaxonomyFieldValueCollectionConstructor { - new(context: SP.ClientContext, fieldValue: string, creatingField: SP.Field): TaxonomyFieldValueCollection; - } - let TaxonomyFieldValueCollection: TaxonomyFieldValueCollectionConstructor; class TaxonomyFieldValue extends SP.ClientValueObject { get_label(): string; From bb5c9b6271338b89b4030942df1c36032963bb32 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Wed, 23 May 2018 09:56:05 +0200 Subject: [PATCH 6/7] sharepoint: removed useless PageCOntextInfoInstance --- types/sharepoint/index.d.ts | 46 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index 5340aa5983..7238e6c2b8 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -108,31 +108,29 @@ declare namespace SP { class PageContextInfo { constructor(); - get_siteServerRelativeUrl(): string; - get_webServerRelativeUrl(): string; - get_webAbsoluteUrl(): string; - get_serverRequestPath(): string; - get_siteAbsoluteUrl(): string; - get_webTitle(): string; - get_tenantAppVersion(): string; - get_isAppWeb(): boolean; - get_webLogoUrl(): string; - get_webLanguage(): number; - get_currentLanguage(): number; - get_pageItemId(): number; - get_pageListId(): string; - get_webPermMasks(): { High: number; Low: number; }; - get_currentCultureName(): string; - get_currentUICultureName(): string; - get_clientServerTimeDelta(): number; - get_userLoginName(): string; - get_webTemplate(): string; + static get_clientServerTimeDelta(): number; + static get_siteServerRelativeUrl(): string; + static get_webServerRelativeUrl(): string; + static get_webAbsoluteUrl(): string; + static get_serverRequestPath(): string; + static get_siteAbsoluteUrl(): string; + static get_webTitle(): string; + static get_tenantAppVersion(): string; + static get_isAppWeb(): boolean; + static get_webLogoUrl(): string; + static get_webLanguage(): number; + static get_currentLanguage(): number; + static get_pageItemId(): number; + static get_pageListId(): string; + static get_webPermMasks(): { High: number; Low: number; }; + static get_currentCultureName(): string; + static get_currentUICultureName(): string; + static get_clientServerTimeDelta(): number; + static get_userLoginName(): string; + static get_webTemplate(): string; + static get_pagePersonalizationScope(): string; + static get_webPermMasks(): SP.ContextPermissions; } - - interface PageContextInfoInstance { - get_pagePersonalizationScope(): string; - } - class ContextPermissions { has(perm: number): boolean; hasPermissions(high: number, low: number): boolean; From 038389633599b2235e7a510e30829dbcb47e0253 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Wed, 23 May 2018 10:02:07 +0200 Subject: [PATCH 7/7] removing duplicated method --- types/sharepoint/index.d.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/types/sharepoint/index.d.ts b/types/sharepoint/index.d.ts index 7238e6c2b8..b05d498648 100644 --- a/types/sharepoint/index.d.ts +++ b/types/sharepoint/index.d.ts @@ -108,7 +108,6 @@ declare namespace SP { class PageContextInfo { constructor(); - static get_clientServerTimeDelta(): number; static get_siteServerRelativeUrl(): string; static get_webServerRelativeUrl(): string; static get_webAbsoluteUrl(): string; @@ -129,7 +128,6 @@ declare namespace SP { static get_userLoginName(): string; static get_webTemplate(): string; static get_pagePersonalizationScope(): string; - static get_webPermMasks(): SP.ContextPermissions; } class ContextPermissions { has(perm: number): boolean;