@asgardeo/javascript 0.9.2 → 0.10.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.
@@ -38,6 +38,8 @@ declare class StorageManager<T> {
38
38
  getConfigData(userId?: string): Promise<AuthClientConfig<T>>;
39
39
  loadOpenIDProviderConfiguration(): Promise<OIDCDiscoveryApiResponse>;
40
40
  getTemporaryData(userId?: string): Promise<TemporaryStore>;
41
+ getPersistedData(userId?: string): Promise<TemporaryStore>;
42
+ setPersistedData(persistedData: Partial<TemporaryStore>, userId?: string): Promise<void>;
41
43
  getSessionData(userId?: string, instanceId?: string): Promise<SessionData>;
42
44
  getCustomData<K>(key: string, userId?: string): Promise<K>;
43
45
  setSessionStatus(status: string): void;
@@ -20,6 +20,10 @@ import { OIDCEndpoints } from '../../models/oidc-endpoints';
20
20
  export interface DefaultAuthClientConfig {
21
21
  afterSignInUrl: string;
22
22
  afterSignOutUrl?: string;
23
+ /**
24
+ * Application UUID for the client.
25
+ */
26
+ applicationId?: string;
23
27
  clientHost?: string;
24
28
  clientId?: string;
25
29
  clientSecret?: string;
package/dist/cjs/index.js CHANGED
@@ -40,6 +40,7 @@ __export(index_exports, {
40
40
  AsgardeoJavaScriptClient: () => AsgardeoJavaScriptClient_default,
41
41
  AsgardeoRuntimeError: () => AsgardeoRuntimeError,
42
42
  DEFAULT_THEME: () => DEFAULT_THEME,
43
+ EMOJI_URI_SCHEME: () => EMOJI_URI_SCHEME,
43
44
  EmbeddedFlowActionVariantV2: () => EmbeddedFlowActionVariant,
44
45
  EmbeddedFlowComponentType: () => EmbeddedFlowComponentType,
45
46
  EmbeddedFlowComponentTypeV2: () => EmbeddedFlowComponentType2,
@@ -89,6 +90,7 @@ __export(index_exports, {
89
90
  executeEmbeddedSignUpFlow: () => executeEmbeddedSignUpFlow_default,
90
91
  executeEmbeddedSignUpFlowV2: () => executeEmbeddedSignUpFlowV2_default,
91
92
  executeEmbeddedUserOnboardingFlowV2: () => executeEmbeddedUserOnboardingFlowV2_default,
93
+ extractEmojiFromUri: () => extractEmojiFromUri_default,
92
94
  extractPkceStorageKeyFromState: () => extractPkceStorageKeyFromState_default,
93
95
  extractUserClaimsFromIdToken: () => extractUserClaimsFromIdToken_default,
94
96
  flattenUserSchema: () => flattenUserSchema_default,
@@ -109,6 +111,7 @@ __export(index_exports, {
109
111
  identifyPlatform: () => identifyPlatform_default,
110
112
  info: () => info,
111
113
  initializeEmbeddedSignInFlow: () => initializeEmbeddedSignInFlow_default,
114
+ isEmojiUri: () => isEmojiUri_default,
112
115
  isEmpty: () => isEmpty_default,
113
116
  isRecognizedBaseUrlPattern: () => isRecognizedBaseUrlPattern_default,
114
117
  logger: () => logger_default,
@@ -117,10 +120,10 @@ __export(index_exports, {
117
120
  removeTrailingSlash: () => removeTrailingSlash_default,
118
121
  resolveFieldName: () => resolveFieldName_default,
119
122
  resolveFieldType: () => resolveFieldType_default,
123
+ resolveFlowTemplateLiterals: () => resolveFlowTemplateLiterals,
120
124
  resolveLocaleDisplayName: () => resolveLocaleDisplayName,
121
125
  resolveLocaleEmoji: () => resolveLocaleEmoji_default,
122
126
  resolveMeta: () => resolveMeta,
123
- resolveVars: () => resolveVars,
124
127
  set: () => set_default,
125
128
  transformBrandingPreferenceToTheme: () => transformBrandingPreferenceToTheme_default,
126
129
  updateMeProfile: () => updateMeProfile_default,
@@ -975,6 +978,12 @@ var StorageManager = class _StorageManager {
975
978
  async getTemporaryData(userId) {
976
979
  return JSON.parse(await this.store.getData(this.resolveKey("temporary_data" /* TemporaryData */, userId)) ?? null);
977
980
  }
981
+ async getPersistedData(userId) {
982
+ return JSON.parse(await this.store.getData(this.resolveKey("persisted_data" /* PersistedData */, userId)) ?? null);
983
+ }
984
+ async setPersistedData(persistedData, userId) {
985
+ this.setDataInBulk(this.resolveKey("persisted_data" /* PersistedData */, userId), persistedData);
986
+ }
978
987
  async getSessionData(userId, instanceId) {
979
988
  return JSON.parse(await this.store.getData(this.resolveKey("session_data" /* SessionData */, userId, instanceId)) ?? null);
980
989
  }
@@ -1233,9 +1242,21 @@ var _AsgardeoAuthClient = class _AsgardeoAuthClient {
1233
1242
  this.configProvider = async () => this.storageManager.getConfigData();
1234
1243
  this.oidcProviderMetaDataProvider = async () => this.storageManager.loadOpenIDProviderConfiguration();
1235
1244
  _AsgardeoAuthClient.authHelperInstance = this.authHelper;
1245
+ let { applicationId } = config;
1246
+ if (applicationId) {
1247
+ await this.storageManager.setPersistedData({
1248
+ applicationId
1249
+ });
1250
+ } else {
1251
+ const persistedData = await this.storageManager.getPersistedData();
1252
+ if (persistedData["applicationId"]) {
1253
+ applicationId = persistedData["applicationId"];
1254
+ }
1255
+ }
1236
1256
  await this.storageManager.setConfigData({
1237
1257
  ...DefaultConfig,
1238
1258
  ...config,
1259
+ applicationId,
1239
1260
  scope: processOpenIDScopes_default(config.scopes)
1240
1261
  });
1241
1262
  }
@@ -4997,6 +5018,20 @@ var getRedirectBasedSignUpUrl = (config) => {
4997
5018
  };
4998
5019
  var getRedirectBasedSignUpUrl_default = getRedirectBasedSignUpUrl;
4999
5020
 
5021
+ // src/utils/v2/isEmojiUri.ts
5022
+ var EMOJI_URI_SCHEME = "emoji:";
5023
+ var isEmojiUri = (uri) => typeof uri === "string" && uri.startsWith(EMOJI_URI_SCHEME);
5024
+ var isEmojiUri_default = isEmojiUri;
5025
+
5026
+ // src/utils/v2/extractEmojiFromUri.ts
5027
+ var extractEmojiFromUri = (uri) => {
5028
+ if (!isEmojiUri_default(uri)) {
5029
+ return "";
5030
+ }
5031
+ return uri.slice(EMOJI_URI_SCHEME.length);
5032
+ };
5033
+ var extractEmojiFromUri_default = extractEmojiFromUri;
5034
+
5000
5035
  // src/utils/removeTrailingSlash.ts
5001
5036
  var removeTrailingSlash = (path) => path.endsWith("/") ? path.slice(0, -1) : path;
5002
5037
  var removeTrailingSlash_default = removeTrailingSlash;
@@ -5048,30 +5083,40 @@ function resolveMeta(path, meta) {
5048
5083
  return value != null ? String(value) : "";
5049
5084
  }
5050
5085
 
5051
- // src/utils/v2/resolveVars.ts
5052
- function resolveVars(text, { t, meta }) {
5086
+ // src/utils/v2/parseFlowTemplateLiteral.ts
5087
+ var FLOW_TEMPLATE_LITERAL_REGEX = /\{\{\s*([^}]+)\s*\}\}/;
5088
+ var FLOW_TEMPLATE_FUNCTION_REGEX = /^(\w+)\(([^)]+)\)$/;
5089
+ function parseFlowTemplateLiteral(content) {
5090
+ const originalValue = content;
5091
+ const match = FLOW_TEMPLATE_FUNCTION_REGEX.exec(content);
5092
+ if (!match) {
5093
+ return { originalValue, type: "unknown" /* UNKNOWN */ };
5094
+ }
5095
+ const [, functionName, rawKey] = match;
5096
+ const key = rawKey.trim().replace(/^['"]|['"]$/g, "");
5097
+ switch (functionName) {
5098
+ case "t" /* TRANSLATION */:
5099
+ return { key, originalValue, type: "t" /* TRANSLATION */ };
5100
+ case "meta" /* META */:
5101
+ return { key, originalValue, type: "meta" /* META */ };
5102
+ default:
5103
+ return { originalValue, type: "unknown" /* UNKNOWN */ };
5104
+ }
5105
+ }
5106
+
5107
+ // src/utils/v2/resolveFlowTemplateLiterals.ts
5108
+ var FLOW_TEMPLATE_LITERAL_REGEX_GLOBAL = new RegExp(FLOW_TEMPLATE_LITERAL_REGEX.source, "g");
5109
+ function resolveFlowTemplateLiterals(text, { t, meta }) {
5053
5110
  if (!text) {
5054
5111
  return "";
5055
5112
  }
5056
- return text.replace(/\{\{(.+?)\}\}/g, (match, content) => {
5057
- const trimmed = content.trim();
5058
- const tMatch = trimmed.match(/^t\((.+)\)$/);
5059
- if (tMatch) {
5060
- let key = tMatch[1].trim();
5061
- if (key.startsWith('"') && key.endsWith('"') || key.startsWith("'") && key.endsWith("'")) {
5062
- key = key.slice(1, -1);
5063
- }
5064
- return t(key.replace(/:/g, "."));
5065
- }
5066
- if (meta) {
5067
- const metaMatch = trimmed.match(/^meta\((.+)\)$/);
5068
- if (metaMatch) {
5069
- let path = metaMatch[1].trim();
5070
- if (path.startsWith('"') && path.endsWith('"') || path.startsWith("'") && path.endsWith("'")) {
5071
- path = path.slice(1, -1);
5072
- }
5073
- return resolveMeta(path, meta);
5074
- }
5113
+ return text.replace(FLOW_TEMPLATE_LITERAL_REGEX_GLOBAL, (match, content) => {
5114
+ const parsed = parseFlowTemplateLiteral(content.trim());
5115
+ if (parsed.type === "t" /* TRANSLATION */ && parsed.key) {
5116
+ return t(parsed.key.replace(/:/g, "."));
5117
+ }
5118
+ if (parsed.type === "meta" /* META */ && parsed.key && meta) {
5119
+ return resolveMeta(parsed.key, meta);
5075
5120
  }
5076
5121
  return match;
5077
5122
  });
@@ -5297,6 +5342,7 @@ var transformBrandingPreferenceToTheme_default = transformBrandingPreferenceToTh
5297
5342
  AsgardeoJavaScriptClient,
5298
5343
  AsgardeoRuntimeError,
5299
5344
  DEFAULT_THEME,
5345
+ EMOJI_URI_SCHEME,
5300
5346
  EmbeddedFlowActionVariantV2,
5301
5347
  EmbeddedFlowComponentType,
5302
5348
  EmbeddedFlowComponentTypeV2,
@@ -5346,6 +5392,7 @@ var transformBrandingPreferenceToTheme_default = transformBrandingPreferenceToTh
5346
5392
  executeEmbeddedSignUpFlow,
5347
5393
  executeEmbeddedSignUpFlowV2,
5348
5394
  executeEmbeddedUserOnboardingFlowV2,
5395
+ extractEmojiFromUri,
5349
5396
  extractPkceStorageKeyFromState,
5350
5397
  extractUserClaimsFromIdToken,
5351
5398
  flattenUserSchema,
@@ -5366,6 +5413,7 @@ var transformBrandingPreferenceToTheme_default = transformBrandingPreferenceToTh
5366
5413
  identifyPlatform,
5367
5414
  info,
5368
5415
  initializeEmbeddedSignInFlow,
5416
+ isEmojiUri,
5369
5417
  isEmpty,
5370
5418
  isRecognizedBaseUrlPattern,
5371
5419
  logger,
@@ -5374,10 +5422,10 @@ var transformBrandingPreferenceToTheme_default = transformBrandingPreferenceToTh
5374
5422
  removeTrailingSlash,
5375
5423
  resolveFieldName,
5376
5424
  resolveFieldType,
5425
+ resolveFlowTemplateLiterals,
5377
5426
  resolveLocaleDisplayName,
5378
5427
  resolveLocaleEmoji,
5379
5428
  resolveMeta,
5380
- resolveVars,
5381
5429
  set,
5382
5430
  transformBrandingPreferenceToTheme,
5383
5431
  updateMeProfile,