@kwiz/common 1.0.251 → 1.0.252
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/lib/cjs/helpers/exports-index.js +1 -0
- package/lib/cjs/helpers/exports-index.js.map +1 -1
- package/lib/cjs/helpers/file.js +2 -0
- package/lib/cjs/helpers/file.js.map +1 -1
- package/lib/cjs/helpers/file.validation.js +96 -0
- package/lib/cjs/helpers/file.validation.js.map +1 -0
- package/lib/esm/helpers/exports-index.js +1 -0
- package/lib/esm/helpers/exports-index.js.map +1 -1
- package/lib/esm/helpers/file.js +2 -0
- package/lib/esm/helpers/file.js.map +1 -1
- package/lib/esm/helpers/file.validation.js +92 -0
- package/lib/esm/helpers/file.validation.js.map +1 -0
- package/lib/types/helpers/exports-index.d.ts +1 -0
- package/lib/types/helpers/file.d.ts +2 -0
- package/lib/types/helpers/file.validation.d.ts +12 -0
- package/package.json +1 -1
|
@@ -34,6 +34,7 @@ __exportStar(require("./diagrams"), exports);
|
|
|
34
34
|
__exportStar(require("./emails"), exports);
|
|
35
35
|
__exportStar(require("./eval"), exports);
|
|
36
36
|
__exportStar(require("./file"), exports);
|
|
37
|
+
__exportStar(require("./file.validation"), exports);
|
|
37
38
|
__exportStar(require("./flatted"), exports);
|
|
38
39
|
__exportStar(require("./functions"), exports);
|
|
39
40
|
__exportStar(require("./http"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports-index.js","sourceRoot":"","sources":["../../../src/helpers/exports-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,qDAAmC;AACnC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAC9B,qDAAmC;AACnC,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B;AAC1B,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B;AAC3B,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,wCAAsB;AACtB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"exports-index.js","sourceRoot":"","sources":["../../../src/helpers/exports-index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,qDAAmC;AACnC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAC9B,qDAAmC;AACnC,gDAA8B;AAC9B,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,yCAAuB;AACvB,oDAAkC;AAClC,4CAA0B;AAC1B,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,4CAA0B;AAC1B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B;AAC3B,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,wCAAsB;AACtB,8CAA4B"}
|
package/lib/cjs/helpers/file.js
CHANGED
|
@@ -22,6 +22,7 @@ function _getRegexCollection() {
|
|
|
22
22
|
IsDesktopIni: /^desktop\.ini$/gi
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
/** @deprecated use validateFilenameExplicit */
|
|
25
26
|
function validateFilename(fileNameWithExtension) {
|
|
26
27
|
let filenameWithOutExtension = fileNameWithExtension;
|
|
27
28
|
let split = filenameWithOutExtension.split(".");
|
|
@@ -36,6 +37,7 @@ function validateFilename(fileNameWithExtension) {
|
|
|
36
37
|
valid: !hasIllegalCharacter && !hasIllegalName
|
|
37
38
|
};
|
|
38
39
|
}
|
|
40
|
+
/** @deprecated use validateFoldernameExplicit */
|
|
39
41
|
function validateFoldername(folderName) {
|
|
40
42
|
let regexCollection = _getRegexCollection();
|
|
41
43
|
let hasIllegalCharacter = regexCollection.IllegalCharsRegex.test(folderName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/helpers/file.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/helpers/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateFoldernameExplicit = validateFoldernameExplicit;
|
|
4
|
+
exports.validateFilenameExplicit = validateFilenameExplicit;
|
|
5
|
+
const typecheckers_1 = require("./typecheckers");
|
|
6
|
+
function _getIllegalCharsRegex(platform) {
|
|
7
|
+
switch (platform) {
|
|
8
|
+
case "m365":
|
|
9
|
+
return /["#%&*:<>?/\\{|}]/;
|
|
10
|
+
case "sf":
|
|
11
|
+
case "ns":
|
|
12
|
+
case "local":
|
|
13
|
+
case "all":
|
|
14
|
+
default:
|
|
15
|
+
return /[<>:"/\\|?*]/;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function _validateNameExplicit(name, label, platform) {
|
|
19
|
+
if ((0, typecheckers_1.isNullOrEmptyString)(name === null || name === void 0 ? void 0 : name.trim()))
|
|
20
|
+
return { valid: false, error_code: "fname_empty", error: `${label} name cannot be empty` };
|
|
21
|
+
if (name !== name.trim())
|
|
22
|
+
return { valid: false, error_code: "fname_trim", error: `${label} name cannot start or end with spaces` };
|
|
23
|
+
if (name === "." || name === "..")
|
|
24
|
+
return { valid: false, error_code: "fname_dots", error: `${label} name cannot be . or ..` };
|
|
25
|
+
if (/[. ]$/.test(name))
|
|
26
|
+
return { valid: false, error_code: "fname_ending", error: `${label} name cannot end with a period or space` };
|
|
27
|
+
if (/[\u0000-\u001f]/.test(name))
|
|
28
|
+
return { valid: false, error_code: "fname_invalid_control", error: `${label} name contains invalid control characters` };
|
|
29
|
+
if (_getIllegalCharsRegex(platform).test(name))
|
|
30
|
+
return { valid: false, error_code: "fname_invalid", error: `${label} name contains invalid characters` };
|
|
31
|
+
return { valid: true };
|
|
32
|
+
}
|
|
33
|
+
function _validateReservedNames(name, label, platform) {
|
|
34
|
+
const nameToCheck = label === "File" ? name.split(".").slice(0, -1).join(".") || name : name;
|
|
35
|
+
if (platform === "local" || platform === "m365") {
|
|
36
|
+
if (/^(CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])$/i.test(nameToCheck)) {
|
|
37
|
+
return { valid: false, error_code: "fname_reserved", error: `${label} name uses a reserved name` };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (platform === "m365") {
|
|
41
|
+
if (/^\.lock$/i.test(nameToCheck) || /^desktop\.ini$/i.test(name)) {
|
|
42
|
+
return { valid: false, error_code: "fname_reserved", error: `${label} name uses a reserved name` };
|
|
43
|
+
}
|
|
44
|
+
if (/_vti_/i.test(name)) {
|
|
45
|
+
return { valid: false, error_code: "fname_vti", error: `${label} name cannot contain _vti_` };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { valid: true };
|
|
49
|
+
}
|
|
50
|
+
function _validateFoldernameExplicitByPlatform(folderName, platform) {
|
|
51
|
+
const baseValidation = _validateNameExplicit(folderName, "Folder", platform);
|
|
52
|
+
if (!baseValidation.valid)
|
|
53
|
+
return baseValidation;
|
|
54
|
+
const reservedValidation = _validateReservedNames(folderName, "Folder", platform);
|
|
55
|
+
if (!reservedValidation.valid)
|
|
56
|
+
return reservedValidation;
|
|
57
|
+
if (platform === "m365" && /^~/.test(folderName))
|
|
58
|
+
return { valid: false, error_code: "fldname_tilde", error: "Folder name cannot start with ~" };
|
|
59
|
+
return { valid: true };
|
|
60
|
+
}
|
|
61
|
+
function _validateFilenameExplicitByPlatform(fileName, platform) {
|
|
62
|
+
const baseValidation = _validateNameExplicit(fileName, "File", platform);
|
|
63
|
+
if (!baseValidation.valid)
|
|
64
|
+
return baseValidation;
|
|
65
|
+
const reservedValidation = _validateReservedNames(fileName, "File", platform);
|
|
66
|
+
if (!reservedValidation.valid)
|
|
67
|
+
return reservedValidation;
|
|
68
|
+
if (platform === "m365" && /^~\$/.test(fileName))
|
|
69
|
+
return { valid: false, error_code: "flname_tilde", error: "File name cannot start with ~$" };
|
|
70
|
+
return { valid: true };
|
|
71
|
+
}
|
|
72
|
+
function validateFoldernameExplicit(folderName, platform = "all") {
|
|
73
|
+
if (platform === "all") {
|
|
74
|
+
const platforms = ["local", "m365", "sf", "ns"];
|
|
75
|
+
for (const currentPlatform of platforms) {
|
|
76
|
+
const result = _validateFoldernameExplicitByPlatform(folderName, currentPlatform);
|
|
77
|
+
if (!result.valid)
|
|
78
|
+
return result;
|
|
79
|
+
}
|
|
80
|
+
return { valid: true };
|
|
81
|
+
}
|
|
82
|
+
return _validateFoldernameExplicitByPlatform(folderName, platform);
|
|
83
|
+
}
|
|
84
|
+
function validateFilenameExplicit(fileName, platform = "all") {
|
|
85
|
+
if (platform === "all") {
|
|
86
|
+
const platforms = ["local", "m365", "sf", "ns"];
|
|
87
|
+
for (const currentPlatform of platforms) {
|
|
88
|
+
const result = _validateFilenameExplicitByPlatform(fileName, currentPlatform);
|
|
89
|
+
if (!result.valid)
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
return { valid: true };
|
|
93
|
+
}
|
|
94
|
+
return _validateFilenameExplicitByPlatform(fileName, platform);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=file.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.validation.js","sourceRoot":"","sources":["../../../src/helpers/file.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports-index.js","sourceRoot":"","sources":["../../../src/helpers/exports-index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"exports-index.js","sourceRoot":"","sources":["../../../src/helpers/exports-index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|
package/lib/esm/helpers/file.js
CHANGED
|
@@ -15,6 +15,7 @@ function _getRegexCollection() {
|
|
|
15
15
|
IsDesktopIni: /^desktop\.ini$/gi
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
+
/** @deprecated use validateFilenameExplicit */
|
|
18
19
|
export function validateFilename(fileNameWithExtension) {
|
|
19
20
|
let filenameWithOutExtension = fileNameWithExtension;
|
|
20
21
|
let split = filenameWithOutExtension.split(".");
|
|
@@ -29,6 +30,7 @@ export function validateFilename(fileNameWithExtension) {
|
|
|
29
30
|
valid: !hasIllegalCharacter && !hasIllegalName
|
|
30
31
|
};
|
|
31
32
|
}
|
|
33
|
+
/** @deprecated use validateFoldernameExplicit */
|
|
32
34
|
export function validateFoldername(folderName) {
|
|
33
35
|
let regexCollection = _getRegexCollection();
|
|
34
36
|
let hasIllegalCharacter = regexCollection.IllegalCharsRegex.test(folderName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/helpers/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/helpers/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { isNullOrEmptyString } from "./typecheckers";
|
|
2
|
+
function _getIllegalCharsRegex(platform) {
|
|
3
|
+
switch (platform) {
|
|
4
|
+
case "m365":
|
|
5
|
+
return /["#%&*:<>?/\\{|}]/;
|
|
6
|
+
case "sf":
|
|
7
|
+
case "ns":
|
|
8
|
+
case "local":
|
|
9
|
+
case "all":
|
|
10
|
+
default:
|
|
11
|
+
return /[<>:"/\\|?*]/;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function _validateNameExplicit(name, label, platform) {
|
|
15
|
+
if (isNullOrEmptyString(name === null || name === void 0 ? void 0 : name.trim()))
|
|
16
|
+
return { valid: false, error_code: "fname_empty", error: `${label} name cannot be empty` };
|
|
17
|
+
if (name !== name.trim())
|
|
18
|
+
return { valid: false, error_code: "fname_trim", error: `${label} name cannot start or end with spaces` };
|
|
19
|
+
if (name === "." || name === "..")
|
|
20
|
+
return { valid: false, error_code: "fname_dots", error: `${label} name cannot be . or ..` };
|
|
21
|
+
if (/[. ]$/.test(name))
|
|
22
|
+
return { valid: false, error_code: "fname_ending", error: `${label} name cannot end with a period or space` };
|
|
23
|
+
if (/[\u0000-\u001f]/.test(name))
|
|
24
|
+
return { valid: false, error_code: "fname_invalid_control", error: `${label} name contains invalid control characters` };
|
|
25
|
+
if (_getIllegalCharsRegex(platform).test(name))
|
|
26
|
+
return { valid: false, error_code: "fname_invalid", error: `${label} name contains invalid characters` };
|
|
27
|
+
return { valid: true };
|
|
28
|
+
}
|
|
29
|
+
function _validateReservedNames(name, label, platform) {
|
|
30
|
+
const nameToCheck = label === "File" ? name.split(".").slice(0, -1).join(".") || name : name;
|
|
31
|
+
if (platform === "local" || platform === "m365") {
|
|
32
|
+
if (/^(CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])$/i.test(nameToCheck)) {
|
|
33
|
+
return { valid: false, error_code: "fname_reserved", error: `${label} name uses a reserved name` };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (platform === "m365") {
|
|
37
|
+
if (/^\.lock$/i.test(nameToCheck) || /^desktop\.ini$/i.test(name)) {
|
|
38
|
+
return { valid: false, error_code: "fname_reserved", error: `${label} name uses a reserved name` };
|
|
39
|
+
}
|
|
40
|
+
if (/_vti_/i.test(name)) {
|
|
41
|
+
return { valid: false, error_code: "fname_vti", error: `${label} name cannot contain _vti_` };
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return { valid: true };
|
|
45
|
+
}
|
|
46
|
+
function _validateFoldernameExplicitByPlatform(folderName, platform) {
|
|
47
|
+
const baseValidation = _validateNameExplicit(folderName, "Folder", platform);
|
|
48
|
+
if (!baseValidation.valid)
|
|
49
|
+
return baseValidation;
|
|
50
|
+
const reservedValidation = _validateReservedNames(folderName, "Folder", platform);
|
|
51
|
+
if (!reservedValidation.valid)
|
|
52
|
+
return reservedValidation;
|
|
53
|
+
if (platform === "m365" && /^~/.test(folderName))
|
|
54
|
+
return { valid: false, error_code: "fldname_tilde", error: "Folder name cannot start with ~" };
|
|
55
|
+
return { valid: true };
|
|
56
|
+
}
|
|
57
|
+
function _validateFilenameExplicitByPlatform(fileName, platform) {
|
|
58
|
+
const baseValidation = _validateNameExplicit(fileName, "File", platform);
|
|
59
|
+
if (!baseValidation.valid)
|
|
60
|
+
return baseValidation;
|
|
61
|
+
const reservedValidation = _validateReservedNames(fileName, "File", platform);
|
|
62
|
+
if (!reservedValidation.valid)
|
|
63
|
+
return reservedValidation;
|
|
64
|
+
if (platform === "m365" && /^~\$/.test(fileName))
|
|
65
|
+
return { valid: false, error_code: "flname_tilde", error: "File name cannot start with ~$" };
|
|
66
|
+
return { valid: true };
|
|
67
|
+
}
|
|
68
|
+
export function validateFoldernameExplicit(folderName, platform = "all") {
|
|
69
|
+
if (platform === "all") {
|
|
70
|
+
const platforms = ["local", "m365", "sf", "ns"];
|
|
71
|
+
for (const currentPlatform of platforms) {
|
|
72
|
+
const result = _validateFoldernameExplicitByPlatform(folderName, currentPlatform);
|
|
73
|
+
if (!result.valid)
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
return { valid: true };
|
|
77
|
+
}
|
|
78
|
+
return _validateFoldernameExplicitByPlatform(folderName, platform);
|
|
79
|
+
}
|
|
80
|
+
export function validateFilenameExplicit(fileName, platform = "all") {
|
|
81
|
+
if (platform === "all") {
|
|
82
|
+
const platforms = ["local", "m365", "sf", "ns"];
|
|
83
|
+
for (const currentPlatform of platforms) {
|
|
84
|
+
const result = _validateFilenameExplicitByPlatform(fileName, currentPlatform);
|
|
85
|
+
if (!result.valid)
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
return { valid: true };
|
|
89
|
+
}
|
|
90
|
+
return _validateFilenameExplicitByPlatform(fileName, platform);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=file.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.validation.js","sourceRoot":"","sources":["../../../src/helpers/file.validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@ export declare const ImageFileTypes: string[];
|
|
|
2
2
|
export declare const DocumentFileTypes: string[];
|
|
3
3
|
export declare const VideoFileTypes: string[];
|
|
4
4
|
export declare const OfficeFileTypes: string[];
|
|
5
|
+
/** @deprecated use validateFilenameExplicit */
|
|
5
6
|
export declare function validateFilename(fileNameWithExtension: string): {
|
|
6
7
|
hasIllegalCharacter: boolean;
|
|
7
8
|
hasIllegalName: boolean;
|
|
8
9
|
valid: boolean;
|
|
9
10
|
};
|
|
11
|
+
/** @deprecated use validateFoldernameExplicit */
|
|
10
12
|
export declare function validateFoldername(folderName: string): {
|
|
11
13
|
hasIllegalCharacter: boolean;
|
|
12
14
|
hasIllegalName: boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** codes will match strings.common.validation_invalid context value */
|
|
2
|
+
export type tValidationErrorCode = "fname_empty" | "fname_trim" | "fname_dots" | "fname_ending" | "fname_invalid_control" | "fname_invalid" | "fname_reserved" | "fname_vti" | "fldname_tilde" | "flname_tilde";
|
|
3
|
+
export type tValidationResult = {
|
|
4
|
+
valid: false;
|
|
5
|
+
error: string;
|
|
6
|
+
error_code: tValidationErrorCode;
|
|
7
|
+
} | {
|
|
8
|
+
valid: true;
|
|
9
|
+
};
|
|
10
|
+
export type tValidationPlatform = "m365" | "sf" | "ns" | "local" | "all";
|
|
11
|
+
export declare function validateFoldernameExplicit(folderName: string, platform?: tValidationPlatform): tValidationResult;
|
|
12
|
+
export declare function validateFilenameExplicit(fileName: string, platform?: tValidationPlatform): tValidationResult;
|