@kwiz/common 1.0.78 → 1.0.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +24 -0
- package/.madgerc +2 -2
- package/LICENSE +21 -21
- package/fix-folder-imports.js +26 -26
- package/lib/cjs/helpers/sharepoint.js +5 -1
- package/lib/cjs/helpers/sharepoint.js.map +1 -1
- package/lib/cjs/helpers/typecheckers.js +5 -1
- package/lib/cjs/helpers/typecheckers.js.map +1 -1
- package/lib/cjs/types/libs/msal.types.js +26 -26
- package/lib/cjs/utils/sharepoint.rest/list.js +1 -1
- package/lib/cjs/utils/sharepoint.rest/list.js.map +1 -1
- package/lib/cjs/utils/sharepoint.rest/user.js +11 -11
- package/lib/esm/helpers/sharepoint.js +3 -0
- package/lib/esm/helpers/sharepoint.js.map +1 -1
- package/lib/esm/helpers/typecheckers.js +3 -0
- package/lib/esm/helpers/typecheckers.js.map +1 -1
- package/lib/esm/types/libs/msal.types.js +26 -26
- package/lib/esm/utils/sharepoint.rest/list.js +2 -2
- package/lib/esm/utils/sharepoint.rest/list.js.map +1 -1
- package/lib/esm/utils/sharepoint.rest/user.js +11 -11
- package/lib/types/helpers/sharepoint.d.ts +1 -0
- package/lib/types/helpers/typecheckers.d.ts +1 -0
- package/package.json +77 -77
- package/readme.md +17 -17
- package/src/_dependencies.ts +12 -12
- package/src/config.ts +17 -17
- package/src/helpers/Guid.ts +181 -181
- package/src/helpers/base64.ts +173 -173
- package/src/helpers/browser.test.js +13 -13
- package/src/helpers/browser.ts +1348 -1348
- package/src/helpers/browserinfo.ts +292 -292
- package/src/helpers/collections.base.test.js +25 -25
- package/src/helpers/collections.base.ts +437 -437
- package/src/helpers/collections.ts +107 -107
- package/src/helpers/color.ts +54 -54
- package/src/helpers/cookies.ts +59 -59
- package/src/helpers/date.test.js +119 -119
- package/src/helpers/date.ts +188 -188
- package/src/helpers/debug.ts +186 -186
- package/src/helpers/emails.ts +6 -6
- package/src/helpers/eval.ts +5 -5
- package/src/helpers/file.test.js +50 -50
- package/src/helpers/file.ts +58 -58
- package/src/helpers/flatted.ts +149 -149
- package/src/helpers/functions.ts +16 -16
- package/src/helpers/graph/calendar.types.ts +10 -10
- package/src/helpers/http.ts +69 -69
- package/src/helpers/images.ts +22 -22
- package/src/helpers/json.ts +38 -38
- package/src/helpers/md5.ts +189 -189
- package/src/helpers/objects.test.js +33 -33
- package/src/helpers/objects.ts +270 -270
- package/src/helpers/promises.test.js +37 -37
- package/src/helpers/promises.ts +165 -165
- package/src/helpers/random.ts +27 -27
- package/src/helpers/scheduler/scheduler.test.js +103 -103
- package/src/helpers/scheduler/scheduler.ts +131 -131
- package/src/helpers/sharepoint.ts +776 -772
- package/src/helpers/strings.test.js +101 -101
- package/src/helpers/strings.ts +317 -317
- package/src/helpers/typecheckers.test.js +34 -34
- package/src/helpers/typecheckers.ts +266 -262
- package/src/helpers/url.test.js +43 -43
- package/src/helpers/url.ts +207 -207
- package/src/helpers/urlhelper.ts +111 -111
- package/src/index.ts +6 -6
- package/src/types/auth.ts +54 -54
- package/src/types/common.types.ts +15 -15
- package/src/types/flatted.types.ts +59 -59
- package/src/types/globals.types.ts +6 -6
- package/src/types/graph/calendar.types.ts +80 -80
- package/src/types/knownscript.types.ts +18 -18
- package/src/types/libs/datajs.types.ts +28 -28
- package/src/types/libs/ics.types.ts +30 -30
- package/src/types/libs/msal.types.ts +49 -49
- package/src/types/locales.ts +124 -124
- package/src/types/localstoragecache.types.ts +8 -8
- package/src/types/location.types.ts +27 -27
- package/src/types/moment.ts +11 -11
- package/src/types/regex.types.ts +16 -16
- package/src/types/rest.types.ts +95 -95
- package/src/types/sharepoint.types.ts +1465 -1465
- package/src/types/sharepoint.utils.types.ts +287 -287
- package/src/utils/auth/common.ts +74 -74
- package/src/utils/auth/discovery.test.js +12 -12
- package/src/utils/auth/discovery.ts +132 -132
- package/src/utils/base64.ts +27 -27
- package/src/utils/consolelogger.ts +320 -320
- package/src/utils/date.ts +35 -35
- package/src/utils/emails.ts +24 -24
- package/src/utils/knownscript.ts +286 -286
- package/src/utils/localstoragecache.ts +441 -441
- package/src/utils/rest.ts +501 -501
- package/src/utils/script.ts +170 -170
- package/src/utils/sharepoint.rest/common.ts +154 -154
- package/src/utils/sharepoint.rest/date.ts +62 -62
- package/src/utils/sharepoint.rest/file.folder.ts +598 -598
- package/src/utils/sharepoint.rest/item.ts +547 -547
- package/src/utils/sharepoint.rest/list.ts +1388 -1388
- package/src/utils/sharepoint.rest/listutils/GetListItemsByCaml.ts +774 -774
- package/src/utils/sharepoint.rest/listutils/GetListItemsById.ts +275 -275
- package/src/utils/sharepoint.rest/listutils/common.ts +206 -206
- package/src/utils/sharepoint.rest/location.ts +141 -141
- package/src/utils/sharepoint.rest/navigation-links.ts +86 -86
- package/src/utils/sharepoint.rest/user-search.ts +252 -252
- package/src/utils/sharepoint.rest/user.ts +491 -491
- package/src/utils/sharepoint.rest/web.ts +1384 -1384
- package/src/utils/sod.ts +194 -194
- package/lib/cjs/helpers/_dependencies.js +0 -21
- package/lib/cjs/helpers/_dependencies.js.map +0 -1
- package/lib/cjs/utils/_dependencies.js +0 -24
- package/lib/cjs/utils/_dependencies.js.map +0 -1
- package/lib/esm/helpers/_dependencies.js +0 -3
- package/lib/esm/helpers/_dependencies.js.map +0 -1
- package/lib/esm/utils/_dependencies.js +0 -4
- package/lib/esm/utils/_dependencies.js.map +0 -1
- package/lib/types/helpers/_dependencies.d.ts +0 -2
- package/lib/types/utils/_dependencies.d.ts +0 -3
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
export interface IGraphEventUser {
|
|
2
|
-
emailAddress: {
|
|
3
|
-
name: string;
|
|
4
|
-
address: string;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export interface IGraphEventAttendee extends IGraphEventUser {
|
|
8
|
-
type: "optional" | "required";
|
|
9
|
-
status: {
|
|
10
|
-
response: GraphEventResponse;
|
|
11
|
-
time: string;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface IGraphEventLocation {
|
|
15
|
-
displayName: string,//"Microsoft Teams Meeting",
|
|
16
|
-
locationType: "default",
|
|
17
|
-
uniqueId: string,//"Microsoft Teams Meeting",
|
|
18
|
-
uniqueIdType: "private" | "unknown"
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type GraphEventTimezone = "Eastern Standard Time" | "America/Toronto" | "UTC";
|
|
22
|
-
export type GraphEventType = "occurrence" | "singleInstance";
|
|
23
|
-
export type GraphEventResponse = "none" | "organizer" | "accepted";
|
|
24
|
-
|
|
25
|
-
export interface IGraphCalendar {
|
|
26
|
-
id: string,
|
|
27
|
-
createdDateTime: string,
|
|
28
|
-
lastModifiedDateTime: string,
|
|
29
|
-
changeKey: string,
|
|
30
|
-
categories: string[],
|
|
31
|
-
transactionId: null,
|
|
32
|
-
originalStartTimeZone: GraphEventTimezone,
|
|
33
|
-
originalEndTimeZone: GraphEventTimezone,
|
|
34
|
-
iCalUId: string,
|
|
35
|
-
reminderMinutesBeforeStart: number,
|
|
36
|
-
isReminderOn: boolean,
|
|
37
|
-
hasAttachments: boolean,
|
|
38
|
-
subject: string,
|
|
39
|
-
bodyPreview: string,
|
|
40
|
-
importance: string,//"normal",
|
|
41
|
-
sensitivity: string,// "normal",
|
|
42
|
-
isAllDay: boolean,
|
|
43
|
-
isCancelled: boolean,
|
|
44
|
-
isOrganizer: boolean,
|
|
45
|
-
responseRequested: boolean,
|
|
46
|
-
seriesMasterId: string,//null,
|
|
47
|
-
showAs: string,//"busy",
|
|
48
|
-
type: GraphEventType,
|
|
49
|
-
webLink: string,
|
|
50
|
-
onlineMeetingUrl: string,//null,
|
|
51
|
-
isOnlineMeeting: boolean,
|
|
52
|
-
onlineMeetingProvider: "teamsForBusiness" | "unknown",
|
|
53
|
-
allowNewTimeProposals: boolean,
|
|
54
|
-
occurrenceId: string,//null,
|
|
55
|
-
isDraft: boolean,
|
|
56
|
-
hideAttendees: boolean,
|
|
57
|
-
responseStatus: {
|
|
58
|
-
response: GraphEventResponse,
|
|
59
|
-
time: string
|
|
60
|
-
},
|
|
61
|
-
body: {
|
|
62
|
-
contentType: "html",
|
|
63
|
-
content: string,//"<html><head><body>....</html>"
|
|
64
|
-
},
|
|
65
|
-
start: {
|
|
66
|
-
dateTime: string,
|
|
67
|
-
timeZone: GraphEventTimezone,
|
|
68
|
-
},
|
|
69
|
-
end: {
|
|
70
|
-
dateTime: string,
|
|
71
|
-
timeZone: GraphEventTimezone,
|
|
72
|
-
},
|
|
73
|
-
location: IGraphEventLocation,
|
|
74
|
-
locations: IGraphEventLocation[],
|
|
75
|
-
recurrence: null,
|
|
76
|
-
attendees: IGraphEventAttendee[],
|
|
77
|
-
organizer: IGraphEventUser,
|
|
78
|
-
onlineMeeting: {
|
|
79
|
-
joinUrl: string
|
|
80
|
-
}
|
|
1
|
+
export interface IGraphEventUser {
|
|
2
|
+
emailAddress: {
|
|
3
|
+
name: string;
|
|
4
|
+
address: string;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export interface IGraphEventAttendee extends IGraphEventUser {
|
|
8
|
+
type: "optional" | "required";
|
|
9
|
+
status: {
|
|
10
|
+
response: GraphEventResponse;
|
|
11
|
+
time: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface IGraphEventLocation {
|
|
15
|
+
displayName: string,//"Microsoft Teams Meeting",
|
|
16
|
+
locationType: "default",
|
|
17
|
+
uniqueId: string,//"Microsoft Teams Meeting",
|
|
18
|
+
uniqueIdType: "private" | "unknown"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type GraphEventTimezone = "Eastern Standard Time" | "America/Toronto" | "UTC";
|
|
22
|
+
export type GraphEventType = "occurrence" | "singleInstance";
|
|
23
|
+
export type GraphEventResponse = "none" | "organizer" | "accepted";
|
|
24
|
+
|
|
25
|
+
export interface IGraphCalendar {
|
|
26
|
+
id: string,
|
|
27
|
+
createdDateTime: string,
|
|
28
|
+
lastModifiedDateTime: string,
|
|
29
|
+
changeKey: string,
|
|
30
|
+
categories: string[],
|
|
31
|
+
transactionId: null,
|
|
32
|
+
originalStartTimeZone: GraphEventTimezone,
|
|
33
|
+
originalEndTimeZone: GraphEventTimezone,
|
|
34
|
+
iCalUId: string,
|
|
35
|
+
reminderMinutesBeforeStart: number,
|
|
36
|
+
isReminderOn: boolean,
|
|
37
|
+
hasAttachments: boolean,
|
|
38
|
+
subject: string,
|
|
39
|
+
bodyPreview: string,
|
|
40
|
+
importance: string,//"normal",
|
|
41
|
+
sensitivity: string,// "normal",
|
|
42
|
+
isAllDay: boolean,
|
|
43
|
+
isCancelled: boolean,
|
|
44
|
+
isOrganizer: boolean,
|
|
45
|
+
responseRequested: boolean,
|
|
46
|
+
seriesMasterId: string,//null,
|
|
47
|
+
showAs: string,//"busy",
|
|
48
|
+
type: GraphEventType,
|
|
49
|
+
webLink: string,
|
|
50
|
+
onlineMeetingUrl: string,//null,
|
|
51
|
+
isOnlineMeeting: boolean,
|
|
52
|
+
onlineMeetingProvider: "teamsForBusiness" | "unknown",
|
|
53
|
+
allowNewTimeProposals: boolean,
|
|
54
|
+
occurrenceId: string,//null,
|
|
55
|
+
isDraft: boolean,
|
|
56
|
+
hideAttendees: boolean,
|
|
57
|
+
responseStatus: {
|
|
58
|
+
response: GraphEventResponse,
|
|
59
|
+
time: string
|
|
60
|
+
},
|
|
61
|
+
body: {
|
|
62
|
+
contentType: "html",
|
|
63
|
+
content: string,//"<html><head><body>....</html>"
|
|
64
|
+
},
|
|
65
|
+
start: {
|
|
66
|
+
dateTime: string,
|
|
67
|
+
timeZone: GraphEventTimezone,
|
|
68
|
+
},
|
|
69
|
+
end: {
|
|
70
|
+
dateTime: string,
|
|
71
|
+
timeZone: GraphEventTimezone,
|
|
72
|
+
},
|
|
73
|
+
location: IGraphEventLocation,
|
|
74
|
+
locations: IGraphEventLocation[],
|
|
75
|
+
recurrence: null,
|
|
76
|
+
attendees: IGraphEventAttendee[],
|
|
77
|
+
organizer: IGraphEventUser,
|
|
78
|
+
onlineMeeting: {
|
|
79
|
+
joinUrl: string
|
|
80
|
+
}
|
|
81
81
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export type ksGlobal = string | { name: string; getter: (() => any); };
|
|
2
|
-
export interface IKnownScript {
|
|
3
|
-
/** cdn url for this script */
|
|
4
|
-
url: string;
|
|
5
|
-
/** specify any other libraries this script is depended on. These libraries will be loaded before this script if they were not loaded already. */
|
|
6
|
-
dependencies?: IKnownScript[];
|
|
7
|
-
/** specify global object name, if available. if this object exists - the script will not load, assuming it was already loaded
|
|
8
|
-
* Alternativly, provide a getter if it is more complex
|
|
9
|
-
*/
|
|
10
|
-
global: ksGlobal;
|
|
11
|
-
/** specify sod script name. if provided, and the sod in this name was already loaded - this script will not be loaded again. */
|
|
12
|
-
sodName?: string;
|
|
13
|
-
/** If this library requires a CSS file, add it here */
|
|
14
|
-
css?: string[];
|
|
15
|
-
/** If this library requires an RTL CSS file, add it here */
|
|
16
|
-
rtlCss?: string[];
|
|
17
|
-
/** set to true, to make sure known script will not try to load the non min version on debug */
|
|
18
|
-
forceMin?: boolean;
|
|
1
|
+
export type ksGlobal = string | { name: string; getter: (() => any); };
|
|
2
|
+
export interface IKnownScript {
|
|
3
|
+
/** cdn url for this script */
|
|
4
|
+
url: string;
|
|
5
|
+
/** specify any other libraries this script is depended on. These libraries will be loaded before this script if they were not loaded already. */
|
|
6
|
+
dependencies?: IKnownScript[];
|
|
7
|
+
/** specify global object name, if available. if this object exists - the script will not load, assuming it was already loaded
|
|
8
|
+
* Alternativly, provide a getter if it is more complex
|
|
9
|
+
*/
|
|
10
|
+
global: ksGlobal;
|
|
11
|
+
/** specify sod script name. if provided, and the sod in this name was already loaded - this script will not be loaded again. */
|
|
12
|
+
sodName?: string;
|
|
13
|
+
/** If this library requires a CSS file, add it here */
|
|
14
|
+
css?: string[];
|
|
15
|
+
/** If this library requires an RTL CSS file, add it here */
|
|
16
|
+
rtlCss?: string[];
|
|
17
|
+
/** set to true, to make sure known script will not try to load the non min version on debug */
|
|
18
|
+
forceMin?: boolean;
|
|
19
19
|
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export interface IDataJsRequestData {
|
|
2
|
-
__batchRequests: IDataJsBatchRequest[];
|
|
3
|
-
}
|
|
4
|
-
export interface IDataJsBatchRequest {
|
|
5
|
-
requestUri: string;
|
|
6
|
-
method: "GET" | "POST";
|
|
7
|
-
headers: { [key: string]: string; };
|
|
8
|
-
}
|
|
9
|
-
export interface IDataJsRequest {
|
|
10
|
-
requestUri: string;
|
|
11
|
-
method: "GET" | "POST";
|
|
12
|
-
headers: { [key: string]: string; };
|
|
13
|
-
data: IDataJsRequestData;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface IDataJsResponseData<ResponseDataType> {
|
|
17
|
-
__batchResponses: { data: ResponseDataType; }[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface IDataJsHandler { }
|
|
21
|
-
|
|
22
|
-
export interface IDataJs {
|
|
23
|
-
batchHandler: IDataJsHandler;
|
|
24
|
-
request<ResponseDataType>(request: IDataJsRequest, success: (data: IDataJsResponseData<ResponseDataType>, response: any) => void,
|
|
25
|
-
error: (error: string) => void,
|
|
26
|
-
handler: IDataJsHandler,
|
|
27
|
-
httpClient?: any,
|
|
28
|
-
metadata?: any): void;
|
|
1
|
+
export interface IDataJsRequestData {
|
|
2
|
+
__batchRequests: IDataJsBatchRequest[];
|
|
3
|
+
}
|
|
4
|
+
export interface IDataJsBatchRequest {
|
|
5
|
+
requestUri: string;
|
|
6
|
+
method: "GET" | "POST";
|
|
7
|
+
headers: { [key: string]: string; };
|
|
8
|
+
}
|
|
9
|
+
export interface IDataJsRequest {
|
|
10
|
+
requestUri: string;
|
|
11
|
+
method: "GET" | "POST";
|
|
12
|
+
headers: { [key: string]: string; };
|
|
13
|
+
data: IDataJsRequestData;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface IDataJsResponseData<ResponseDataType> {
|
|
17
|
+
__batchResponses: { data: ResponseDataType; }[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IDataJsHandler { }
|
|
21
|
+
|
|
22
|
+
export interface IDataJs {
|
|
23
|
+
batchHandler: IDataJsHandler;
|
|
24
|
+
request<ResponseDataType>(request: IDataJsRequest, success: (data: IDataJsResponseData<ResponseDataType>, response: any) => void,
|
|
25
|
+
error: (error: string) => void,
|
|
26
|
+
handler: IDataJsHandler,
|
|
27
|
+
httpClient?: any,
|
|
28
|
+
metadata?: any): void;
|
|
29
29
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
export type ICSFrequency = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
|
|
2
|
-
export type ICSDay = "SU" | "MO" | "TU" | "WE" | "TH" | "FR" | "SA";
|
|
3
|
-
|
|
4
|
-
export type ICS = () => {
|
|
5
|
-
/** add an event to this ICS file. begin and end need to be formatted in a way that is friendly to Date() -- Issue 572 */
|
|
6
|
-
addEvent(subject: string, description: string | {
|
|
7
|
-
/** non-outlook standard */
|
|
8
|
-
text: string;
|
|
9
|
-
/** special support for outlook, html */
|
|
10
|
-
html: string;
|
|
11
|
-
}, location: string, begin: string, end: string, recurrence?: {
|
|
12
|
-
freq: ICSFrequency;
|
|
13
|
-
/** A date string representing the date on which to end repitition. Must be friendly to Date() */
|
|
14
|
-
until?: string;
|
|
15
|
-
/** Alternative to until. Repeat the event count times. Must be an integer */
|
|
16
|
-
count?: number;
|
|
17
|
-
/** The interval of freq to recur at. For example, if freq is WEEKLY and interval is 2, the event will repeat every 2 weeks. Must be an integer. */
|
|
18
|
-
interval?: number;
|
|
19
|
-
/** Which days of the week the event is to occur. An array containing any of SU, MO, TU, WE, TH, FR, SA. */
|
|
20
|
-
byday?: ICSDay;
|
|
21
|
-
}): void;
|
|
22
|
-
/** get the ICS file content of the events added so far */
|
|
23
|
-
calendar(): string;
|
|
24
|
-
download(filename: string, extention?: string): void;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
declare global {
|
|
28
|
-
interface IKWizComGlobalsLibs {
|
|
29
|
-
ics?: ICS;
|
|
30
|
-
}
|
|
1
|
+
export type ICSFrequency = "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
|
|
2
|
+
export type ICSDay = "SU" | "MO" | "TU" | "WE" | "TH" | "FR" | "SA";
|
|
3
|
+
|
|
4
|
+
export type ICS = () => {
|
|
5
|
+
/** add an event to this ICS file. begin and end need to be formatted in a way that is friendly to Date() -- Issue 572 */
|
|
6
|
+
addEvent(subject: string, description: string | {
|
|
7
|
+
/** non-outlook standard */
|
|
8
|
+
text: string;
|
|
9
|
+
/** special support for outlook, html */
|
|
10
|
+
html: string;
|
|
11
|
+
}, location: string, begin: string, end: string, recurrence?: {
|
|
12
|
+
freq: ICSFrequency;
|
|
13
|
+
/** A date string representing the date on which to end repitition. Must be friendly to Date() */
|
|
14
|
+
until?: string;
|
|
15
|
+
/** Alternative to until. Repeat the event count times. Must be an integer */
|
|
16
|
+
count?: number;
|
|
17
|
+
/** The interval of freq to recur at. For example, if freq is WEEKLY and interval is 2, the event will repeat every 2 weeks. Must be an integer. */
|
|
18
|
+
interval?: number;
|
|
19
|
+
/** Which days of the week the event is to occur. An array containing any of SU, MO, TU, WE, TH, FR, SA. */
|
|
20
|
+
byday?: ICSDay;
|
|
21
|
+
}): void;
|
|
22
|
+
/** get the ICS file content of the events added so far */
|
|
23
|
+
calendar(): string;
|
|
24
|
+
download(filename: string, extention?: string): void;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
declare global {
|
|
28
|
+
interface IKWizComGlobalsLibs {
|
|
29
|
+
ics?: ICS;
|
|
30
|
+
}
|
|
31
31
|
}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { ITenantInfo } from "../auth";
|
|
2
|
-
|
|
3
|
-
export interface IMSALBaseRequest { scopes: string[]; }
|
|
4
|
-
export interface IMSALConfig {
|
|
5
|
-
auth: {
|
|
6
|
-
clientId: string;
|
|
7
|
-
authority: string;
|
|
8
|
-
redirectUri: string;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const MSALSampleLoginPopupScript = `<p id="msg">please wait...</p>
|
|
13
|
-
<script>
|
|
14
|
-
function finish() {
|
|
15
|
-
try {
|
|
16
|
-
var hash = window.location.hash;
|
|
17
|
-
if (hash[0] === "#") hash = hash.slice(1);//get rid of #
|
|
18
|
-
var hashDictionary = {};
|
|
19
|
-
hash.split("&").forEach(function (keyValue) {
|
|
20
|
-
if (keyValue !== "") {
|
|
21
|
-
var vals = keyValue.split("=");
|
|
22
|
-
hashDictionary[vals[0]] = decodeURIComponent(vals[1]);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
if (Object.keys(hashDictionary).length < 1)
|
|
26
|
-
window.close();//we lose the hash!
|
|
27
|
-
else if (hashDictionary.error && hashDictionary.error_description)
|
|
28
|
-
document.getElementById("msg").innerHTML = hashDictionary.error_description.replace(/\\+/g," ").replace(/\\n/g,"<br /><br />");
|
|
29
|
-
else if (hashDictionary.state) {
|
|
30
|
-
var origin = hashDictionary.state.split("|")[1];
|
|
31
|
-
if (origin) {
|
|
32
|
-
window.location.href = origin.split("#")[0] + window.location.hash;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
} catch (e) { }
|
|
36
|
-
}
|
|
37
|
-
finish();
|
|
38
|
-
</script>`;
|
|
39
|
-
|
|
40
|
-
export interface IMSAL {
|
|
41
|
-
AutoDiscoverTenantInfo: () => Promise<ITenantInfo>;
|
|
42
|
-
GetConfig: (clientId: string, authority: string, redirectUri: string) => Promise<IMSALConfig>;
|
|
43
|
-
GetTokenPopup: (config: IMSALConfig, requestOptions?: { scopes?: string[]; }) => Promise<string>;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
declare global {
|
|
47
|
-
interface IKWizComGlobalsLibs {
|
|
48
|
-
msal?: IMSAL;
|
|
49
|
-
}
|
|
1
|
+
import { ITenantInfo } from "../auth";
|
|
2
|
+
|
|
3
|
+
export interface IMSALBaseRequest { scopes: string[]; }
|
|
4
|
+
export interface IMSALConfig {
|
|
5
|
+
auth: {
|
|
6
|
+
clientId: string;
|
|
7
|
+
authority: string;
|
|
8
|
+
redirectUri: string;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const MSALSampleLoginPopupScript = `<p id="msg">please wait...</p>
|
|
13
|
+
<script>
|
|
14
|
+
function finish() {
|
|
15
|
+
try {
|
|
16
|
+
var hash = window.location.hash;
|
|
17
|
+
if (hash[0] === "#") hash = hash.slice(1);//get rid of #
|
|
18
|
+
var hashDictionary = {};
|
|
19
|
+
hash.split("&").forEach(function (keyValue) {
|
|
20
|
+
if (keyValue !== "") {
|
|
21
|
+
var vals = keyValue.split("=");
|
|
22
|
+
hashDictionary[vals[0]] = decodeURIComponent(vals[1]);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
if (Object.keys(hashDictionary).length < 1)
|
|
26
|
+
window.close();//we lose the hash!
|
|
27
|
+
else if (hashDictionary.error && hashDictionary.error_description)
|
|
28
|
+
document.getElementById("msg").innerHTML = hashDictionary.error_description.replace(/\\+/g," ").replace(/\\n/g,"<br /><br />");
|
|
29
|
+
else if (hashDictionary.state) {
|
|
30
|
+
var origin = hashDictionary.state.split("|")[1];
|
|
31
|
+
if (origin) {
|
|
32
|
+
window.location.href = origin.split("#")[0] + window.location.hash;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
} catch (e) { }
|
|
36
|
+
}
|
|
37
|
+
finish();
|
|
38
|
+
</script>`;
|
|
39
|
+
|
|
40
|
+
export interface IMSAL {
|
|
41
|
+
AutoDiscoverTenantInfo: () => Promise<ITenantInfo>;
|
|
42
|
+
GetConfig: (clientId: string, authority: string, redirectUri: string) => Promise<IMSALConfig>;
|
|
43
|
+
GetTokenPopup: (config: IMSALConfig, requestOptions?: { scopes?: string[]; }) => Promise<string>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
declare global {
|
|
47
|
+
interface IKWizComGlobalsLibs {
|
|
48
|
+
msal?: IMSAL;
|
|
49
|
+
}
|
|
50
50
|
}
|