@lvce-editor/auth-worker 3.3.0 → 3.4.0

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.
@@ -1060,6 +1060,100 @@ const initializeOpenerWorker = async () => {
1060
1060
  set(rpc);
1061
1061
  };
1062
1062
 
1063
+ const databaseName = 'auth-worker';
1064
+ const objectStoreName = 'auth';
1065
+ const memoryStorage = new Map();
1066
+ const state$1 = {
1067
+ databasePromise: undefined
1068
+ };
1069
+
1070
+ // IndexedDB request objects are mutable browser primitives and cannot satisfy the readonly rule structurally.
1071
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
1072
+ const requestToPromise = request => {
1073
+ return new Promise((resolve, reject) => {
1074
+ request.addEventListener('success', () => {
1075
+ resolve(request.result);
1076
+ });
1077
+ request.addEventListener('error', () => {
1078
+ reject(request.error ?? new Error('Persistent storage request failed.'));
1079
+ });
1080
+ });
1081
+ };
1082
+
1083
+ // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
1084
+ const transactionToPromise = transaction => {
1085
+ return new Promise((resolve, reject) => {
1086
+ transaction.addEventListener('complete', () => {
1087
+ resolve();
1088
+ });
1089
+ transaction.addEventListener('abort', () => {
1090
+ reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
1091
+ });
1092
+ transaction.addEventListener('error', () => {
1093
+ reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
1094
+ });
1095
+ });
1096
+ };
1097
+ const getDatabase = async () => {
1098
+ if (typeof indexedDB === 'undefined') {
1099
+ return undefined;
1100
+ }
1101
+ if (!state$1.databasePromise) {
1102
+ state$1.databasePromise = new Promise((resolve, reject) => {
1103
+ const request = indexedDB.open(databaseName, 1);
1104
+ request.addEventListener('upgradeneeded', () => {
1105
+ const database = request.result;
1106
+ if (!database.objectStoreNames.contains(objectStoreName)) {
1107
+ database.createObjectStore(objectStoreName);
1108
+ }
1109
+ });
1110
+ request.addEventListener('success', () => {
1111
+ resolve(request.result);
1112
+ });
1113
+ request.addEventListener('error', () => {
1114
+ reject(request.error ?? new Error('Failed to open persistent auth storage.'));
1115
+ });
1116
+ });
1117
+ }
1118
+ return state$1.databasePromise;
1119
+ };
1120
+ const getPersistentAuthValue = async key => {
1121
+ const database = await getDatabase();
1122
+ if (!database) {
1123
+ return memoryStorage.get(key) ?? '';
1124
+ }
1125
+ const transaction = database.transaction(objectStoreName, 'readonly');
1126
+ const objectStore = transaction.objectStore(objectStoreName);
1127
+ const value = await requestToPromise(objectStore.get(key));
1128
+ return typeof value === 'string' ? value : '';
1129
+ };
1130
+ const setPersistentAuthValue = async (key, value) => {
1131
+ memoryStorage.set(key, value);
1132
+ const database = await getDatabase();
1133
+ if (!database) {
1134
+ return;
1135
+ }
1136
+ const transaction = database.transaction(objectStoreName, 'readwrite');
1137
+ const objectStore = transaction.objectStore(objectStoreName);
1138
+ objectStore.put(value, key);
1139
+ await transactionToPromise(transaction);
1140
+ };
1141
+ const clearPersistentAuthValue = async key => {
1142
+ memoryStorage.delete(key);
1143
+ const database = await getDatabase();
1144
+ if (!database) {
1145
+ return;
1146
+ }
1147
+ const transaction = database.transaction(objectStoreName, 'readwrite');
1148
+ const objectStore = transaction.objectStore(objectStoreName);
1149
+ objectStore.delete(key);
1150
+ await transactionToPromise(transaction);
1151
+ };
1152
+
1153
+ const getAccessToken = () => {
1154
+ return getPersistentAuthValue('accessToken');
1155
+ };
1156
+
1063
1157
  const handleMessagePort = async (port, rpcId) => {
1064
1158
  const rpc = await create$4({
1065
1159
  commandMap: commandMap,
@@ -1957,96 +2051,6 @@ const getOidcUserName = async (backendUrl, accessToken, fetchFn = fetch) => {
1957
2051
  return typeof displayName === 'string' ? displayName : '';
1958
2052
  };
1959
2053
 
1960
- const databaseName = 'auth-worker';
1961
- const objectStoreName = 'auth';
1962
- const memoryStorage = new Map();
1963
- const state$1 = {
1964
- databasePromise: undefined
1965
- };
1966
-
1967
- // IndexedDB request objects are mutable browser primitives and cannot satisfy the readonly rule structurally.
1968
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
1969
- const requestToPromise = request => {
1970
- return new Promise((resolve, reject) => {
1971
- request.addEventListener('success', () => {
1972
- resolve(request.result);
1973
- });
1974
- request.addEventListener('error', () => {
1975
- reject(request.error ?? new Error('Persistent storage request failed.'));
1976
- });
1977
- });
1978
- };
1979
-
1980
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
1981
- const transactionToPromise = transaction => {
1982
- return new Promise((resolve, reject) => {
1983
- transaction.addEventListener('complete', () => {
1984
- resolve();
1985
- });
1986
- transaction.addEventListener('abort', () => {
1987
- reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
1988
- });
1989
- transaction.addEventListener('error', () => {
1990
- reject(transaction.error ?? new Error('Persistent storage transaction failed.'));
1991
- });
1992
- });
1993
- };
1994
- const getDatabase = async () => {
1995
- if (typeof indexedDB === 'undefined') {
1996
- return undefined;
1997
- }
1998
- if (!state$1.databasePromise) {
1999
- state$1.databasePromise = new Promise((resolve, reject) => {
2000
- const request = indexedDB.open(databaseName, 1);
2001
- request.addEventListener('upgradeneeded', () => {
2002
- const database = request.result;
2003
- if (!database.objectStoreNames.contains(objectStoreName)) {
2004
- database.createObjectStore(objectStoreName);
2005
- }
2006
- });
2007
- request.addEventListener('success', () => {
2008
- resolve(request.result);
2009
- });
2010
- request.addEventListener('error', () => {
2011
- reject(request.error ?? new Error('Failed to open persistent auth storage.'));
2012
- });
2013
- });
2014
- }
2015
- return state$1.databasePromise;
2016
- };
2017
- const getPersistentAuthValue = async key => {
2018
- const database = await getDatabase();
2019
- if (!database) {
2020
- return memoryStorage.get(key) ?? '';
2021
- }
2022
- const transaction = database.transaction(objectStoreName, 'readonly');
2023
- const objectStore = transaction.objectStore(objectStoreName);
2024
- const value = await requestToPromise(objectStore.get(key));
2025
- return typeof value === 'string' ? value : '';
2026
- };
2027
- const setPersistentAuthValue = async (key, value) => {
2028
- memoryStorage.set(key, value);
2029
- const database = await getDatabase();
2030
- if (!database) {
2031
- return;
2032
- }
2033
- const transaction = database.transaction(objectStoreName, 'readwrite');
2034
- const objectStore = transaction.objectStore(objectStoreName);
2035
- objectStore.put(value, key);
2036
- await transactionToPromise(transaction);
2037
- };
2038
- const clearPersistentAuthValue = async key => {
2039
- memoryStorage.delete(key);
2040
- const database = await getDatabase();
2041
- if (!database) {
2042
- return;
2043
- }
2044
- const transaction = database.transaction(objectStoreName, 'readwrite');
2045
- const objectStore = transaction.objectStore(objectStoreName);
2046
- objectStore.delete(key);
2047
- await transactionToPromise(transaction);
2048
- };
2049
-
2050
2054
  const callbackUrlKey = 'oidcCallbackUrl';
2051
2055
  const clientIdKey = 'oidcClientId';
2052
2056
  const pendingClientIdKey = 'pendingOidcClientId';
@@ -2973,6 +2977,7 @@ const commandMap = {
2973
2977
  'Auth.clearMocks': clear,
2974
2978
  'Auth.consumeNextLoginResponse': consumeNextLoginResponse,
2975
2979
  'Auth.consumeNextRefreshResponse': consumeNextRefreshResponse,
2980
+ 'Auth.getAccessToken': getAccessToken,
2976
2981
  'Auth.hasPendingMockLoginResponse': hasPendingMockLoginResponse,
2977
2982
  'Auth.hasPendingMockRefreshResponse': hasPendingMockRefreshResponse,
2978
2983
  'Auth.initialize': initialize,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/auth-worker",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Auth Worker",
5
5
  "repository": {
6
6
  "type": "git",