UNPKG

2.81 kBJavaScriptView Raw
1// copyright (c) Microsoft Corporation. All rights reserved.
2// licensed under the MIT license.
3Object.defineProperty(exports, "__esModule", { value: true });
4/**
5 * The types of Office add-ins.
6 */
7var AddInType;
8(function (AddInType) {
9 // the string values should be lowercase
10 AddInType["Content"] = "content";
11 AddInType["Mail"] = "mail";
12 AddInType["TaskPane"] = "taskpane";
13 // when adding new entries, update the other functions
14})(AddInType = exports.AddInType || (exports.AddInType = {}));
15// initialized once since this list won't change
16const addInTypes = Object.keys(AddInType).map(key => parseAddInType(key));
17/**
18 * Get the Office app for the manifest Host name
19 * @param host Host name
20 */
21function getAddInTypeForManifestOfficeAppType(officeAppType) {
22 switch (officeAppType ? officeAppType.trim().toLowerCase() : officeAppType) {
23 case "contentapp":
24 return AddInType.Content;
25 case "mailapp":
26 return AddInType.Mail;
27 case "taskpaneapp":
28 return AddInType.TaskPane;
29 default:
30 return undefined;
31 }
32}
33exports.getAddInTypeForManifestOfficeAppType = getAddInTypeForManifestOfficeAppType;
34/**
35 * Returns the Office add-in types.
36 */
37function getAddInTypes() {
38 return addInTypes;
39}
40exports.getAddInTypes = getAddInTypes;
41/**
42 * Converts the string to the AddInType enum value.
43 * @param value string
44 * @throws Error if the value is not a valid Office add-in type.
45 */
46function parseAddInType(value) {
47 const addInType = toAddInType(value);
48 if (!addInType) {
49 throw new Error(`${value} is not a valid Office add-in type.`);
50 }
51 return addInType;
52}
53exports.parseAddInType = parseAddInType;
54/**
55 * Converts the strings to the AddInType enum values.
56 * @param input "all" for all Office add-in types, or a comma-separated list of one or more Office apps.
57 * @throws Error if a value is not a valid Office app.
58 */
59function parseAddInTypes(input) {
60 if (input.trim().toLowerCase() === "all") {
61 return getAddInTypes();
62 }
63 else {
64 return input.split(",").map(appString => parseAddInType(appString));
65 }
66}
67exports.parseAddInTypes = parseAddInTypes;
68/**
69 * Returns the AddInType enum for the value, or undefined if not valid.
70 * @param value Office add-in type string
71 */
72function toAddInType(value) {
73 switch (value.trim().toLowerCase()) {
74 case AddInType.Content:
75 return AddInType.Content;
76 case AddInType.Mail:
77 return AddInType.Mail;
78 case AddInType.TaskPane:
79 return AddInType.TaskPane;
80 default:
81 return undefined;
82 }
83}
84exports.toAddInType = toAddInType;
85//# sourceMappingURL=addInTypes.js.map
\No newline at end of file