@azure/msal-node-extensions 1.0.0-alpha.9 → 1.0.0-beta.1

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.
Files changed (117) hide show
  1. package/README.md +174 -8
  2. package/bin/arm64/dpapi.node +0 -0
  3. package/bin/ia32/dpapi.node +0 -0
  4. package/bin/x64/dpapi.node +0 -0
  5. package/dist/{dpapi-addon/Dpapi.d.ts → Dpapi.d.ts} +4 -4
  6. package/dist/Dpapi.esm.js +24 -0
  7. package/dist/Dpapi.esm.js.map +1 -0
  8. package/dist/Dpapi.js +24 -0
  9. package/dist/Dpapi.js.map +1 -0
  10. package/dist/broker/NativeBrokerPlugin.d.ts +20 -0
  11. package/dist/broker/NativeBrokerPlugin.esm.js +408 -0
  12. package/dist/broker/NativeBrokerPlugin.esm.js.map +1 -0
  13. package/dist/broker/NativeBrokerPlugin.js +410 -0
  14. package/dist/broker/NativeBrokerPlugin.js.map +1 -0
  15. package/dist/error/NativeAuthError.d.ts +6 -0
  16. package/dist/error/NativeAuthError.esm.js +20 -0
  17. package/dist/error/NativeAuthError.esm.js.map +1 -0
  18. package/dist/error/NativeAuthError.js +22 -0
  19. package/dist/error/NativeAuthError.js.map +1 -0
  20. package/dist/error/PersistenceError.esm.js +89 -0
  21. package/dist/error/PersistenceError.esm.js.map +1 -0
  22. package/{src/error/PersistenceError.ts → dist/error/PersistenceError.js} +23 -33
  23. package/dist/error/PersistenceError.js.map +1 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.esm.js +12 -0
  26. package/dist/index.esm.js.map +1 -0
  27. package/dist/index.js +24 -6
  28. package/dist/index.js.map +1 -0
  29. package/dist/lock/CrossPlatformLock.esm.js +94 -0
  30. package/dist/lock/CrossPlatformLock.esm.js.map +1 -0
  31. package/dist/lock/CrossPlatformLock.js +96 -0
  32. package/dist/lock/CrossPlatformLock.js.map +1 -0
  33. package/dist/lock/CrossPlatformLockOptions.d.ts +1 -1
  34. package/dist/packageMetadata.d.ts +2 -0
  35. package/dist/packageMetadata.esm.js +8 -0
  36. package/dist/packageMetadata.esm.js.map +1 -0
  37. package/dist/packageMetadata.js +11 -0
  38. package/dist/packageMetadata.js.map +1 -0
  39. package/{src/persistence/BasePersistence.ts → dist/persistence/BasePersistence.esm.js} +18 -23
  40. package/dist/persistence/BasePersistence.esm.js.map +1 -0
  41. package/dist/persistence/BasePersistence.js +38 -0
  42. package/dist/persistence/BasePersistence.js.map +1 -0
  43. package/dist/persistence/DataProtectionScope.d.ts +5 -4
  44. package/{src/persistence/DataProtectionScope.ts → dist/persistence/DataProtectionScope.esm.js} +9 -5
  45. package/dist/persistence/DataProtectionScope.esm.js.map +1 -0
  46. package/dist/persistence/DataProtectionScope.js +26 -0
  47. package/dist/persistence/DataProtectionScope.js.map +1 -0
  48. package/dist/persistence/FilePersistence.d.ts +1 -0
  49. package/dist/persistence/FilePersistence.esm.js +173 -0
  50. package/dist/persistence/FilePersistence.esm.js.map +1 -0
  51. package/dist/persistence/FilePersistence.js +175 -0
  52. package/dist/persistence/FilePersistence.js.map +1 -0
  53. package/dist/persistence/FilePersistenceWithDataProtection.esm.js +84 -0
  54. package/dist/persistence/FilePersistenceWithDataProtection.esm.js.map +1 -0
  55. package/dist/persistence/FilePersistenceWithDataProtection.js +86 -0
  56. package/dist/persistence/FilePersistenceWithDataProtection.js.map +1 -0
  57. package/dist/persistence/IPersistenceConfiguration.d.ts +2 -0
  58. package/dist/persistence/KeychainPersistence.d.ts +2 -2
  59. package/dist/persistence/KeychainPersistence.esm.js +90 -0
  60. package/dist/persistence/KeychainPersistence.esm.js.map +1 -0
  61. package/dist/persistence/KeychainPersistence.js +92 -0
  62. package/dist/persistence/KeychainPersistence.js.map +1 -0
  63. package/dist/persistence/LibSecretPersistence.d.ts +2 -2
  64. package/dist/persistence/LibSecretPersistence.esm.js +91 -0
  65. package/dist/persistence/LibSecretPersistence.esm.js.map +1 -0
  66. package/dist/persistence/LibSecretPersistence.js +93 -0
  67. package/dist/persistence/LibSecretPersistence.js.map +1 -0
  68. package/dist/persistence/PersistenceCachePlugin.d.ts +1 -1
  69. package/{src/persistence/PersistenceCachePlugin.ts → dist/persistence/PersistenceCachePlugin.esm.js} +27 -34
  70. package/dist/persistence/PersistenceCachePlugin.esm.js.map +1 -0
  71. package/dist/persistence/PersistenceCachePlugin.js +101 -0
  72. package/dist/persistence/PersistenceCachePlugin.js.map +1 -0
  73. package/dist/persistence/PersistenceCreator.d.ts +1 -1
  74. package/dist/persistence/PersistenceCreator.esm.js +63 -0
  75. package/dist/persistence/PersistenceCreator.esm.js.map +1 -0
  76. package/dist/persistence/PersistenceCreator.js +65 -0
  77. package/dist/persistence/PersistenceCreator.js.map +1 -0
  78. package/dist/utils/Constants.d.ts +12 -5
  79. package/{src/utils/Constants.ts → dist/utils/Constants.esm.js} +17 -17
  80. package/dist/utils/Constants.esm.js.map +1 -0
  81. package/dist/utils/Constants.js +66 -0
  82. package/dist/utils/Constants.js.map +1 -0
  83. package/dist/utils/Environment.d.ts +1 -1
  84. package/{src/utils/Environment.ts → dist/utils/Environment.esm.js} +44 -49
  85. package/dist/utils/Environment.esm.js.map +1 -0
  86. package/dist/utils/Environment.js +96 -0
  87. package/dist/utils/Environment.js.map +1 -0
  88. package/dist/utils/TypeGuards.d.ts +5 -0
  89. package/dist/utils/TypeGuards.esm.js +16 -0
  90. package/dist/utils/TypeGuards.esm.js.map +1 -0
  91. package/dist/utils/TypeGuards.js +18 -0
  92. package/dist/utils/TypeGuards.js.map +1 -0
  93. package/package.json +70 -52
  94. package/CHANGELOG.json +0 -167
  95. package/binding.gyp +0 -29
  96. package/changelog.md +0 -77
  97. package/dist/msal-node-extensions.cjs.development.js +0 -902
  98. package/dist/msal-node-extensions.cjs.development.js.map +0 -1
  99. package/dist/msal-node-extensions.cjs.production.min.js +0 -2
  100. package/dist/msal-node-extensions.cjs.production.min.js.map +0 -1
  101. package/dist/msal-node-extensions.esm.js +0 -902
  102. package/dist/msal-node-extensions.esm.js.map +0 -1
  103. package/src/dpapi-addon/Dpapi.ts +0 -12
  104. package/src/dpapi-addon/dpapi_addon.h +0 -6
  105. package/src/dpapi-addon/dpapi_not_supported.cpp +0 -19
  106. package/src/dpapi-addon/dpapi_win.cpp +0 -114
  107. package/src/dpapi-addon/main.cpp +0 -32
  108. package/src/index.ts +0 -16
  109. package/src/lock/CrossPlatformLock.ts +0 -89
  110. package/src/lock/CrossPlatformLockOptions.ts +0 -15
  111. package/src/persistence/FilePersistence.ts +0 -140
  112. package/src/persistence/FilePersistenceWithDataProtection.ts +0 -92
  113. package/src/persistence/IPersistence.ts +0 -17
  114. package/src/persistence/IPersistenceConfiguration.ts +0 -14
  115. package/src/persistence/KeychainPersistence.ts +0 -86
  116. package/src/persistence/LibSecretPersistence.ts +0 -87
  117. package/src/persistence/PersistenceCreator.ts +0 -73
@@ -1,101 +1,91 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
4
+
1
5
  /*
2
6
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
7
  * Licensed under the MIT License.
4
8
  */
5
-
6
9
  /**
7
10
  * Error thrown when trying to write MSAL cache to persistence.
8
11
  */
9
- export class PersistenceError extends Error {
10
-
11
- // Short string denoting error
12
- errorCode: string;
13
- // Detailed description of error
14
- errorMessage: string;
15
-
16
- constructor(errorCode: string, errorMessage: string) {
12
+ class PersistenceError extends Error {
13
+ constructor(errorCode, errorMessage) {
17
14
  const errorString = errorMessage ? `${errorCode}: ${errorMessage}` : errorCode;
18
15
  super(errorString);
19
16
  Object.setPrototypeOf(this, PersistenceError.prototype);
20
-
21
17
  this.errorCode = errorCode;
22
18
  this.errorMessage = errorMessage;
23
19
  this.name = "PersistenceError";
24
20
  }
25
-
26
21
  /**
27
22
  * Error thrown when trying to access the file system.
28
23
  */
29
- static createFileSystemError(errorCode: string, errorMessage: string): PersistenceError {
24
+ static createFileSystemError(errorCode, errorMessage) {
30
25
  return new PersistenceError(errorCode, errorMessage);
31
26
  }
32
-
33
27
  /**
34
28
  * Error thrown when trying to write, load, or delete data from secret service on linux.
35
29
  * Libsecret is used to access secret service.
36
30
  */
37
- static createLibSecretError(errorMessage: string): PersistenceError {
31
+ static createLibSecretError(errorMessage) {
38
32
  return new PersistenceError("GnomeKeyringError", errorMessage);
39
33
  }
40
-
41
34
  /**
42
35
  * Error thrown when trying to write, load, or delete data from keychain on macOs.
43
36
  */
44
- static createKeychainPersistenceError(errorMessage: string): PersistenceError {
37
+ static createKeychainPersistenceError(errorMessage) {
45
38
  return new PersistenceError("KeychainError", errorMessage);
46
39
  }
47
-
48
40
  /**
49
41
  * Error thrown when trying to encrypt or decrypt data using DPAPI on Windows.
50
42
  */
51
- static createFilePersistenceWithDPAPIError(errorMessage: string): PersistenceError {
43
+ static createFilePersistenceWithDPAPIError(errorMessage) {
52
44
  return new PersistenceError("DPAPIEncryptedFileError", errorMessage);
53
45
  }
54
-
55
46
  /**
56
47
  * Error thrown when using the cross platform lock.
57
48
  */
58
- static createCrossPlatformLockError(errorMessage: string): PersistenceError {
49
+ static createCrossPlatformLockError(errorMessage) {
59
50
  return new PersistenceError("CrossPlatformLockError", errorMessage);
60
51
  }
61
-
62
52
  /**
63
53
  * Throw cache persistence error
64
- *
54
+ *
65
55
  * @param errorMessage string
66
56
  * @returns PersistenceError
67
57
  */
68
- static createCachePersistenceError(errorMessage: string): PersistenceError {
58
+ static createCachePersistenceError(errorMessage) {
69
59
  return new PersistenceError("CachePersistenceError", errorMessage);
70
60
  }
71
-
72
61
  /**
73
62
  * Throw unsupported error
74
- *
63
+ *
75
64
  * @param errorMessage string
76
65
  * @returns PersistenceError
77
66
  */
78
- static createNotSupportedError(errorMessage: string): PersistenceError {
67
+ static createNotSupportedError(errorMessage) {
79
68
  return new PersistenceError("NotSupportedError", errorMessage);
80
69
  }
81
-
82
70
  /**
83
71
  * Throw persistence not verified error
84
- *
72
+ *
85
73
  * @param errorMessage string
86
74
  * @returns PersistenceError
87
75
  */
88
- static createPersistenceNotVerifiedError(errorMessage: string): PersistenceError {
76
+ static createPersistenceNotVerifiedError(errorMessage) {
89
77
  return new PersistenceError("PersistenceNotVerifiedError", errorMessage);
90
78
  }
91
-
92
79
  /**
93
80
  * Throw persistence creation validation error
94
- *
81
+ *
95
82
  * @param errorMessage string
96
83
  * @returns PersistenceError
97
84
  */
98
- static createPersistenceNotValidatedError(errorMessage: string): PersistenceError {
85
+ static createPersistenceNotValidatedError(errorMessage) {
99
86
  return new PersistenceError("PersistenceNotValidatedError", errorMessage);
100
87
  }
101
- }
88
+ }
89
+
90
+ exports.PersistenceError = PersistenceError;
91
+ //# sourceMappingURL=PersistenceError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistenceError.js","sources":["../../src/error/PersistenceError.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAEH;;AAEG;AACG,MAAO,gBAAiB,SAAQ,KAAK,CAAA;IAOvC,WAAY,CAAA,SAAiB,EAAE,YAAoB,EAAA;AAC/C,QAAA,MAAM,WAAW,GAAG,YAAY,GAAG,CAAA,EAAG,SAAS,CAAA,EAAA,EAAK,YAAY,CAAE,CAAA,GAAG,SAAS,CAAC;QAC/E,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAExD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;KAClC;AAED;;AAEG;AACH,IAAA,OAAO,qBAAqB,CAAC,SAAiB,EAAE,YAAoB,EAAA;AAChE,QAAA,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;KACxD;AAED;;;AAGG;IACH,OAAO,oBAAoB,CAAC,YAAoB,EAAA;AAC5C,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAClE;AAED;;AAEG;IACH,OAAO,8BAA8B,CAAC,YAAoB,EAAA;AACtD,QAAA,OAAO,IAAI,gBAAgB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;KAC9D;AAED;;AAEG;IACH,OAAO,mCAAmC,CAAC,YAAoB,EAAA;AAC3D,QAAA,OAAO,IAAI,gBAAgB,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;KACxE;AAED;;AAEG;IACH,OAAO,4BAA4B,CAAC,YAAoB,EAAA;AACpD,QAAA,OAAO,IAAI,gBAAgB,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC;KACvE;AAED;;;;;AAKG;IACH,OAAO,2BAA2B,CAAC,YAAoB,EAAA;AACnD,QAAA,OAAO,IAAI,gBAAgB,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;KACtE;AAED;;;;;AAKG;IACH,OAAO,uBAAuB,CAAC,YAAoB,EAAA;AAC/C,QAAA,OAAO,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;KAClE;AAED;;;;;AAKG;IACH,OAAO,iCAAiC,CAAC,YAAoB,EAAA;AACzD,QAAA,OAAO,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;KAC5E;AAED;;;;;AAKG;IACH,OAAO,kCAAkC,CAAC,YAAoB,EAAA;AAC1D,QAAA,OAAO,IAAI,gBAAgB,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;KAC7E;AACJ;;;;"}
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export { CrossPlatformLockOptions } from "./lock/CrossPlatformLockOptions";
9
9
  export { PersistenceCreator } from "./persistence/PersistenceCreator";
10
10
  export { IPersistenceConfiguration } from "./persistence/IPersistenceConfiguration";
11
11
  export { Environment } from "./utils/Environment";
12
+ export { NativeBrokerPlugin } from "./broker/NativeBrokerPlugin";
@@ -0,0 +1,12 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ export { PersistenceCachePlugin } from './persistence/PersistenceCachePlugin.esm.js';
4
+ export { FilePersistence } from './persistence/FilePersistence.esm.js';
5
+ export { FilePersistenceWithDataProtection } from './persistence/FilePersistenceWithDataProtection.esm.js';
6
+ export { DataProtectionScope } from './persistence/DataProtectionScope.esm.js';
7
+ export { KeychainPersistence } from './persistence/KeychainPersistence.esm.js';
8
+ export { LibSecretPersistence } from './persistence/LibSecretPersistence.esm.js';
9
+ export { PersistenceCreator } from './persistence/PersistenceCreator.esm.js';
10
+ export { Environment } from './utils/Environment.esm.js';
11
+ export { NativeBrokerPlugin } from './broker/NativeBrokerPlugin.esm.js';
12
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -1,8 +1,26 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
1
4
 
2
- 'use strict'
5
+ var PersistenceCachePlugin = require('./persistence/PersistenceCachePlugin.js');
6
+ var FilePersistence = require('./persistence/FilePersistence.js');
7
+ var FilePersistenceWithDataProtection = require('./persistence/FilePersistenceWithDataProtection.js');
8
+ var DataProtectionScope = require('./persistence/DataProtectionScope.js');
9
+ var KeychainPersistence = require('./persistence/KeychainPersistence.js');
10
+ var LibSecretPersistence = require('./persistence/LibSecretPersistence.js');
11
+ var PersistenceCreator = require('./persistence/PersistenceCreator.js');
12
+ var Environment = require('./utils/Environment.js');
13
+ var NativeBrokerPlugin = require('./broker/NativeBrokerPlugin.js');
3
14
 
4
- if (process.env.NODE_ENV === 'production') {
5
- module.exports = require('./msal-node-extensions.cjs.production.min.js')
6
- } else {
7
- module.exports = require('./msal-node-extensions.cjs.development.js')
8
- }
15
+
16
+
17
+ exports.PersistenceCachePlugin = PersistenceCachePlugin.PersistenceCachePlugin;
18
+ exports.FilePersistence = FilePersistence.FilePersistence;
19
+ exports.FilePersistenceWithDataProtection = FilePersistenceWithDataProtection.FilePersistenceWithDataProtection;
20
+ exports.DataProtectionScope = DataProtectionScope.DataProtectionScope;
21
+ exports.KeychainPersistence = KeychainPersistence.KeychainPersistence;
22
+ exports.LibSecretPersistence = LibSecretPersistence.LibSecretPersistence;
23
+ exports.PersistenceCreator = PersistenceCreator.PersistenceCreator;
24
+ exports.Environment = Environment.Environment;
25
+ exports.NativeBrokerPlugin = NativeBrokerPlugin.NativeBrokerPlugin;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,94 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ import { promises } from 'fs';
4
+ import { pid } from 'process';
5
+ import { Constants } from '../utils/Constants.esm.js';
6
+ import { PersistenceError } from '../error/PersistenceError.esm.js';
7
+ import { isNodeError } from '../utils/TypeGuards.esm.js';
8
+
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ /**
14
+ * Cross-process lock that works on all platforms.
15
+ */
16
+ class CrossPlatformLock {
17
+ constructor(lockFilePath, logger, lockOptions) {
18
+ this.lockFilePath = lockFilePath;
19
+ this.retryNumber = lockOptions ? lockOptions.retryNumber : 500;
20
+ this.retryDelay = lockOptions ? lockOptions.retryDelay : 100;
21
+ this.logger = logger;
22
+ }
23
+ /**
24
+ * Locks cache from read or writes by creating file with same path and name as
25
+ * cache file but with .lockfile extension. If another process has already created
26
+ * the lockfile, will back off and retry based on configuration settings set by CrossPlatformLockOptions
27
+ */
28
+ async lock() {
29
+ for (let tryCount = 0; tryCount < this.retryNumber; tryCount++) {
30
+ try {
31
+ this.logger.info(`Pid ${pid} trying to acquire lock`);
32
+ this.lockFileHandle = await promises.open(this.lockFilePath, "wx+");
33
+ this.logger.info(`Pid ${pid} acquired lock`);
34
+ await this.lockFileHandle.write(pid.toString());
35
+ return;
36
+ }
37
+ catch (err) {
38
+ if (isNodeError(err)) {
39
+ if (err.code === Constants.EEXIST_ERROR || err.code === Constants.EPERM_ERROR) {
40
+ this.logger.info(err.message);
41
+ await this.sleep(this.retryDelay);
42
+ }
43
+ else {
44
+ this.logger.error(`${pid} was not able to acquire lock. Ran into error: ${err.message}`);
45
+ throw PersistenceError.createCrossPlatformLockError(err.message);
46
+ }
47
+ }
48
+ else {
49
+ throw err;
50
+ }
51
+ }
52
+ }
53
+ this.logger.error(`${pid} was not able to acquire lock. Exceeded amount of retries set in the options`);
54
+ throw PersistenceError.createCrossPlatformLockError("Not able to acquire lock. Exceeded amount of retries set in options");
55
+ }
56
+ /**
57
+ * unlocks cache file by deleting .lockfile.
58
+ */
59
+ async unlock() {
60
+ try {
61
+ if (this.lockFileHandle) {
62
+ // if we have a file handle to the .lockfile, delete lock file
63
+ await promises.unlink(this.lockFilePath);
64
+ await this.lockFileHandle.close();
65
+ this.logger.info("lockfile deleted");
66
+ }
67
+ else {
68
+ this.logger.warning("lockfile handle does not exist, so lockfile could not be deleted");
69
+ }
70
+ }
71
+ catch (err) {
72
+ if (isNodeError(err)) {
73
+ if (err.code === Constants.ENOENT_ERROR) {
74
+ this.logger.info("Tried to unlock but lockfile does not exist");
75
+ }
76
+ else {
77
+ this.logger.error(`${pid} was not able to release lock. Ran into error: ${err.message}`);
78
+ throw PersistenceError.createCrossPlatformLockError(err.message);
79
+ }
80
+ }
81
+ else {
82
+ throw err;
83
+ }
84
+ }
85
+ }
86
+ sleep(ms) {
87
+ return new Promise((resolve) => {
88
+ setTimeout(resolve, ms);
89
+ });
90
+ }
91
+ }
92
+
93
+ export { CrossPlatformLock };
94
+ //# sourceMappingURL=CrossPlatformLock.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossPlatformLock.esm.js","sources":["../../src/lock/CrossPlatformLock.ts"],"sourcesContent":[null],"names":["fs"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
4
+
5
+ var fs = require('fs');
6
+ var process = require('process');
7
+ var Constants = require('../utils/Constants.js');
8
+ var PersistenceError = require('../error/PersistenceError.js');
9
+ var TypeGuards = require('../utils/TypeGuards.js');
10
+
11
+ /*
12
+ * Copyright (c) Microsoft Corporation. All rights reserved.
13
+ * Licensed under the MIT License.
14
+ */
15
+ /**
16
+ * Cross-process lock that works on all platforms.
17
+ */
18
+ class CrossPlatformLock {
19
+ constructor(lockFilePath, logger, lockOptions) {
20
+ this.lockFilePath = lockFilePath;
21
+ this.retryNumber = lockOptions ? lockOptions.retryNumber : 500;
22
+ this.retryDelay = lockOptions ? lockOptions.retryDelay : 100;
23
+ this.logger = logger;
24
+ }
25
+ /**
26
+ * Locks cache from read or writes by creating file with same path and name as
27
+ * cache file but with .lockfile extension. If another process has already created
28
+ * the lockfile, will back off and retry based on configuration settings set by CrossPlatformLockOptions
29
+ */
30
+ async lock() {
31
+ for (let tryCount = 0; tryCount < this.retryNumber; tryCount++) {
32
+ try {
33
+ this.logger.info(`Pid ${process.pid} trying to acquire lock`);
34
+ this.lockFileHandle = await fs.promises.open(this.lockFilePath, "wx+");
35
+ this.logger.info(`Pid ${process.pid} acquired lock`);
36
+ await this.lockFileHandle.write(process.pid.toString());
37
+ return;
38
+ }
39
+ catch (err) {
40
+ if (TypeGuards.isNodeError(err)) {
41
+ if (err.code === Constants.Constants.EEXIST_ERROR || err.code === Constants.Constants.EPERM_ERROR) {
42
+ this.logger.info(err.message);
43
+ await this.sleep(this.retryDelay);
44
+ }
45
+ else {
46
+ this.logger.error(`${process.pid} was not able to acquire lock. Ran into error: ${err.message}`);
47
+ throw PersistenceError.PersistenceError.createCrossPlatformLockError(err.message);
48
+ }
49
+ }
50
+ else {
51
+ throw err;
52
+ }
53
+ }
54
+ }
55
+ this.logger.error(`${process.pid} was not able to acquire lock. Exceeded amount of retries set in the options`);
56
+ throw PersistenceError.PersistenceError.createCrossPlatformLockError("Not able to acquire lock. Exceeded amount of retries set in options");
57
+ }
58
+ /**
59
+ * unlocks cache file by deleting .lockfile.
60
+ */
61
+ async unlock() {
62
+ try {
63
+ if (this.lockFileHandle) {
64
+ // if we have a file handle to the .lockfile, delete lock file
65
+ await fs.promises.unlink(this.lockFilePath);
66
+ await this.lockFileHandle.close();
67
+ this.logger.info("lockfile deleted");
68
+ }
69
+ else {
70
+ this.logger.warning("lockfile handle does not exist, so lockfile could not be deleted");
71
+ }
72
+ }
73
+ catch (err) {
74
+ if (TypeGuards.isNodeError(err)) {
75
+ if (err.code === Constants.Constants.ENOENT_ERROR) {
76
+ this.logger.info("Tried to unlock but lockfile does not exist");
77
+ }
78
+ else {
79
+ this.logger.error(`${process.pid} was not able to release lock. Ran into error: ${err.message}`);
80
+ throw PersistenceError.PersistenceError.createCrossPlatformLockError(err.message);
81
+ }
82
+ }
83
+ else {
84
+ throw err;
85
+ }
86
+ }
87
+ }
88
+ sleep(ms) {
89
+ return new Promise((resolve) => {
90
+ setTimeout(resolve, ms);
91
+ });
92
+ }
93
+ }
94
+
95
+ exports.CrossPlatformLock = CrossPlatformLock;
96
+ //# sourceMappingURL=CrossPlatformLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossPlatformLock.js","sources":["../../src/lock/CrossPlatformLock.ts"],"sourcesContent":[null],"names":["pid","fs","isNodeError","Constants","PersistenceError"],"mappings":";;;;;;;;;;AAAA;;;AAGG;AAUH;;AAEG;MACU,iBAAiB,CAAA;AAS1B,IAAA,WAAA,CAAY,YAAoB,EAAE,MAAc,EAAE,WAAsC,EAAA;AACpF,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC;AAC/D,QAAA,IAAI,CAAC,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC;AAC7D,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACxB;AAED;;;;AAIG;AACI,IAAA,MAAM,IAAI,GAAA;AACb,QAAA,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;YAC5D,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,IAAA,EAAAA,WAAG,CAAyB,uBAAA,CAAA,CAAC,CAAC;AACtD,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAMC,WAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAE9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,IAAA,EAAAD,WAAG,CAAgB,cAAA,CAAA,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAACA,WAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,OAAO;AACV,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACV,gBAAA,IAAIE,sBAAW,CAAC,GAAG,CAAC,EAAE;AAClB,oBAAA,IAAI,GAAG,CAAC,IAAI,KAAKC,mBAAS,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,KAAKA,mBAAS,CAAC,WAAW,EAAE;wBAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,qBAAA;AAAM,yBAAA;AACH,wBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAGH,WAAG,CAAA,+CAAA,EAAkD,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;wBACzF,MAAMI,iCAAgB,CAAC,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpE,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,MAAM,GAAG,CAAC;AACb,iBAAA;AACJ,aAAA;AACJ,SAAA;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAG,EAAAJ,WAAG,CAA8E,4EAAA,CAAA,CAAC,CAAC;AACxG,QAAA,MAAMI,iCAAgB,CAAC,4BAA4B,CAC/C,qEAAqE,CAAC,CAAC;KAC9E;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;QACf,IAAI;YACA,IAAG,IAAI,CAAC,cAAc,EAAC;;gBAEnB,MAAMH,WAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,gBAAA,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AAClC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACxC,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC;AAC3F,aAAA;AACJ,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;AACV,YAAA,IAAIC,sBAAW,CAAC,GAAG,CAAC,EAAE;AAClB,gBAAA,IAAI,GAAG,CAAC,IAAI,KAAKC,mBAAS,CAAC,YAAY,EAAE;AACrC,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AACnE,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAGH,WAAG,CAAA,+CAAA,EAAkD,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;oBACzF,MAAMI,iCAAgB,CAAC,4BAA4B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpE,iBAAA;AACJ,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,GAAG,CAAC;AACb,aAAA;AACJ,SAAA;KACJ;AAEO,IAAA,KAAK,CAAC,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC3B,YAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;KACN;AACJ;;;;"}
@@ -4,7 +4,7 @@
4
4
  * retryNumber: Numbers of times we should try to acquire a lock. Defaults to 500.
5
5
  * retryDelay: Time to wait before trying to retry a lock acquisition. Defaults to 100 ms.
6
6
  */
7
- export declare type CrossPlatformLockOptions = {
7
+ export type CrossPlatformLockOptions = {
8
8
  retryNumber: number;
9
9
  retryDelay: number;
10
10
  };
@@ -0,0 +1,2 @@
1
+ export declare const name = "@azure/msal-node-extensions";
2
+ export declare const version = "1.0.0-beta.1";
@@ -0,0 +1,8 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ /* eslint-disable header/header */
4
+ const name = "@azure/msal-node-extensions";
5
+ const version = "1.0.0-beta.1";
6
+
7
+ export { name, version };
8
+ //# sourceMappingURL=packageMetadata.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageMetadata.esm.js","sources":["../src/packageMetadata.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;AACO,MAAM,IAAI,GAAG,8BAA8B;AAC3C,MAAM,OAAO,GAAG;;;;"}
@@ -0,0 +1,11 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
4
+
5
+ /* eslint-disable header/header */
6
+ const name = "@azure/msal-node-extensions";
7
+ const version = "1.0.0-beta.1";
8
+
9
+ exports.name = name;
10
+ exports.version = version;
11
+ //# sourceMappingURL=packageMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageMetadata.js","sources":["../src/packageMetadata.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;AACO,MAAM,IAAI,GAAG,8BAA8B;AAC3C,MAAM,OAAO,GAAG;;;;;"}
@@ -1,41 +1,36 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ import { PersistenceError } from '../error/PersistenceError.esm.js';
4
+ import { Constants } from '../utils/Constants.esm.js';
5
+
1
6
  /*
2
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
8
  * Licensed under the MIT License.
4
9
  */
5
-
6
- import { PersistenceError } from "../error/PersistenceError";
7
- import { Constants } from "../utils/Constants";
8
- import { IPersistence } from "./IPersistence";
9
-
10
- export abstract class BasePersistence {
11
- public abstract createForPersistenceValidation(): Promise<IPersistence>;
12
-
13
- public async verifyPersistence(): Promise<boolean> {
10
+ class BasePersistence {
11
+ async verifyPersistence() {
14
12
  // We are using a different location for the test to avoid overriding the functional cache
15
13
  const persistenceValidator = await this.createForPersistenceValidation();
16
-
17
14
  try {
18
15
  await persistenceValidator.save(Constants.PERSISTENCE_TEST_DATA);
19
-
20
16
  const retrievedDummyData = await persistenceValidator.load();
21
-
22
17
  if (!retrievedDummyData) {
23
- throw PersistenceError.createCachePersistenceError(
24
- "Persistence check failed. Data was written but it could not be read. " +
25
- "Possible cause: on Linux, LibSecret is installed but D-Bus isn't running because it cannot be started over SSH."
26
- );
18
+ throw PersistenceError.createCachePersistenceError("Persistence check failed. Data was written but it could not be read. " +
19
+ "Possible cause: on Linux, LibSecret is installed but D-Bus isn't running \
20
+ because it cannot be started over SSH.");
27
21
  }
28
-
29
22
  if (retrievedDummyData !== Constants.PERSISTENCE_TEST_DATA) {
30
- throw PersistenceError.createCachePersistenceError(
31
- `Persistence check failed. Data written ${Constants.PERSISTENCE_TEST_DATA} is different from data read ${retrievedDummyData}`
32
- );
23
+ throw PersistenceError.createCachePersistenceError(`Persistence check failed. Data written ${Constants.PERSISTENCE_TEST_DATA} is different \
24
+ from data read ${retrievedDummyData}`);
33
25
  }
34
26
  await persistenceValidator.delete();
35
27
  return true;
36
- } catch (e) {
28
+ }
29
+ catch (e) {
37
30
  throw PersistenceError.createCachePersistenceError(`Verifing persistence failed with the error: ${e}`);
38
31
  }
39
32
  }
40
-
41
- }
33
+ }
34
+
35
+ export { BasePersistence };
36
+ //# sourceMappingURL=BasePersistence.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePersistence.esm.js","sources":["../../src/persistence/BasePersistence.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;MAMmB,eAAe,CAAA;AAG1B,IAAA,MAAM,iBAAiB,GAAA;;AAE1B,QAAA,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEzE,IAAI;YACA,MAAM,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;AAEjE,YAAA,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAE7D,IAAI,CAAC,kBAAkB,EAAE;AACrB,gBAAA,MAAM,gBAAgB,CAAC,2BAA2B,CAC9C,uEAAuE;AACvE,oBAAA;AACuC,2DAAA,CAC1C,CAAC;AACL,aAAA;AAED,YAAA,IAAI,kBAAkB,KAAK,SAAS,CAAC,qBAAqB,EAAE;AACxD,gBAAA,MAAM,gBAAgB,CAAC,2BAA2B,CAC9C,CAA0C,uCAAA,EAAA,SAAS,CAAC,qBAAqB,CAAA;qCACxD,kBAAkB,CAAA,CAAE,CACxC,CAAC;AACL,aAAA;AACD,YAAA,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAC;AACpC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,MAAM,gBAAgB,CAAC,2BAA2B,CAAC,+CAA+C,CAAC,CAAA,CAAE,CAAC,CAAC;AAC1G,SAAA;KACJ;AAEJ;;;;"}
@@ -0,0 +1,38 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
4
+
5
+ var PersistenceError = require('../error/PersistenceError.js');
6
+ var Constants = require('../utils/Constants.js');
7
+
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ class BasePersistence {
13
+ async verifyPersistence() {
14
+ // We are using a different location for the test to avoid overriding the functional cache
15
+ const persistenceValidator = await this.createForPersistenceValidation();
16
+ try {
17
+ await persistenceValidator.save(Constants.Constants.PERSISTENCE_TEST_DATA);
18
+ const retrievedDummyData = await persistenceValidator.load();
19
+ if (!retrievedDummyData) {
20
+ throw PersistenceError.PersistenceError.createCachePersistenceError("Persistence check failed. Data was written but it could not be read. " +
21
+ "Possible cause: on Linux, LibSecret is installed but D-Bus isn't running \
22
+ because it cannot be started over SSH.");
23
+ }
24
+ if (retrievedDummyData !== Constants.Constants.PERSISTENCE_TEST_DATA) {
25
+ throw PersistenceError.PersistenceError.createCachePersistenceError(`Persistence check failed. Data written ${Constants.Constants.PERSISTENCE_TEST_DATA} is different \
26
+ from data read ${retrievedDummyData}`);
27
+ }
28
+ await persistenceValidator.delete();
29
+ return true;
30
+ }
31
+ catch (e) {
32
+ throw PersistenceError.PersistenceError.createCachePersistenceError(`Verifing persistence failed with the error: ${e}`);
33
+ }
34
+ }
35
+ }
36
+
37
+ exports.BasePersistence = BasePersistence;
38
+ //# sourceMappingURL=BasePersistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePersistence.js","sources":["../../src/persistence/BasePersistence.ts"],"sourcesContent":[null],"names":["Constants","PersistenceError"],"mappings":";;;;;;;AAAA;;;AAGG;MAMmB,eAAe,CAAA;AAG1B,IAAA,MAAM,iBAAiB,GAAA;;AAE1B,QAAA,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAEzE,IAAI;YACA,MAAM,oBAAoB,CAAC,IAAI,CAACA,mBAAS,CAAC,qBAAqB,CAAC,CAAC;AAEjE,YAAA,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAE7D,IAAI,CAAC,kBAAkB,EAAE;AACrB,gBAAA,MAAMC,iCAAgB,CAAC,2BAA2B,CAC9C,uEAAuE;AACvE,oBAAA;AACuC,2DAAA,CAC1C,CAAC;AACL,aAAA;AAED,YAAA,IAAI,kBAAkB,KAAKD,mBAAS,CAAC,qBAAqB,EAAE;AACxD,gBAAA,MAAMC,iCAAgB,CAAC,2BAA2B,CAC9C,CAA0C,uCAAA,EAAAD,mBAAS,CAAC,qBAAqB,CAAA;qCACxD,kBAAkB,CAAA,CAAE,CACxC,CAAC;AACL,aAAA;AACD,YAAA,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAC;AACpC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,MAAMC,iCAAgB,CAAC,2BAA2B,CAAC,+CAA+C,CAAC,CAAA,CAAE,CAAC,CAAC;AAC1G,SAAA;KACJ;AAEJ;;;;"}
@@ -9,7 +9,8 @@
9
9
  * application on the computer can unprotect, access, and modify the data.
10
10
  *
11
11
  */
12
- export declare enum DataProtectionScope {
13
- CurrentUser = "CurrentUser",
14
- LocalMachine = "LocalMachine"
15
- }
12
+ export declare const DataProtectionScope: {
13
+ readonly CurrentUser: "CurrentUser";
14
+ readonly LocalMachine: "LocalMachine";
15
+ };
16
+ export type DataProtectionScope = typeof DataProtectionScope[keyof typeof DataProtectionScope];
@@ -1,8 +1,9 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
1
3
  /*
2
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
5
  * Licensed under the MIT License.
4
6
  */
5
-
6
7
  /**
7
8
  * Specifies the scope of the data protection - either the current user or the local
8
9
  * machine.
@@ -14,7 +15,10 @@
14
15
  * application on the computer can unprotect, access, and modify the data.
15
16
  *
16
17
  */
17
- export enum DataProtectionScope {
18
- CurrentUser = "CurrentUser",
19
- LocalMachine = "LocalMachine",
20
- }
18
+ const DataProtectionScope = {
19
+ CurrentUser: "CurrentUser",
20
+ LocalMachine: "LocalMachine",
21
+ };
22
+
23
+ export { DataProtectionScope };
24
+ //# sourceMappingURL=DataProtectionScope.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProtectionScope.esm.js","sources":["../../src/persistence/DataProtectionScope.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;AAEH;;;;;;;;;;AAUG;AACU,MAAA,mBAAmB,GAAG;AAC/B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,YAAY,EAAE,cAAc;;;;;"}
@@ -0,0 +1,26 @@
1
+ /*! @azure/msal-node-extensions v1.0.0-beta.1 2023-07-06 */
2
+ 'use strict';
3
+ 'use strict';
4
+
5
+ /*
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License.
8
+ */
9
+ /**
10
+ * Specifies the scope of the data protection - either the current user or the local
11
+ * machine.
12
+ *
13
+ * You do not need a key to protect or unprotect the data.
14
+ * If you set the Scope to CurrentUser, only applications running on your credentials can
15
+ * unprotect the data; however, that means that any application running on your credentials
16
+ * can access the protected data. If you set the Scope to LocalMachine, any full-trust
17
+ * application on the computer can unprotect, access, and modify the data.
18
+ *
19
+ */
20
+ const DataProtectionScope = {
21
+ CurrentUser: "CurrentUser",
22
+ LocalMachine: "LocalMachine",
23
+ };
24
+
25
+ exports.DataProtectionScope = DataProtectionScope;
26
+ //# sourceMappingURL=DataProtectionScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProtectionScope.js","sources":["../../src/persistence/DataProtectionScope.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAEH;;;;;;;;;;AAUG;AACU,MAAA,mBAAmB,GAAG;AAC/B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,YAAY,EAAE,cAAc;;;;;"}
@@ -11,6 +11,7 @@ import { BasePersistence } from "./BasePersistence";
11
11
  export declare class FilePersistence extends BasePersistence implements IPersistence {
12
12
  private filePath;
13
13
  private logger;
14
+ private constructor();
14
15
  static create(fileLocation: string, loggerOptions?: LoggerOptions): Promise<FilePersistence>;
15
16
  save(contents: string): Promise<void>;
16
17
  saveBuffer(contents: Uint8Array): Promise<void>;