@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.
package/dist/index.d.ts CHANGED
@@ -66,7 +66,7 @@ export { User, UserProfile } from './models/user';
66
66
  export { SessionData } from './models/session';
67
67
  export { Organization } from './models/organization';
68
68
  export { TranslationFn } from './models/v2/translation';
69
- export { ResolveVarsOptions } from './models/v2/vars';
69
+ export { ResolveFlowTemplateLiteralsOptions } from './models/v2/vars';
70
70
  export { BrandingPreference, BrandingPreferenceConfig, BrandingLayout, BrandingTheme, ThemeVariant, ButtonsConfig, ColorsConfig, ColorVariants, BrandingOrganizationDetails, UrlsConfig, } from './models/branding-preference';
71
71
  export { Schema, SchemaAttribute, WellKnownSchemaIds, FlattenedSchema } from './models/scim2-schema';
72
72
  export { RecursivePartial } from './models/utility-types';
@@ -91,13 +91,15 @@ export { default as generateFlattenedUserProfile } from './utils/generateFlatten
91
91
  export { default as getRedirectBasedSignUpUrl } from './utils/getRedirectBasedSignUpUrl';
92
92
  export { default as identifyPlatform } from './utils/identifyPlatform';
93
93
  export { default as isEmpty } from './utils/isEmpty';
94
+ export { default as isEmojiUri, EMOJI_URI_SCHEME } from './utils/v2/isEmojiUri';
95
+ export { default as extractEmojiFromUri } from './utils/v2/extractEmojiFromUri';
94
96
  export { default as set } from './utils/set';
95
97
  export { default as get } from './utils/get';
96
98
  export { default as removeTrailingSlash } from './utils/removeTrailingSlash';
97
99
  export { default as resolveFieldType } from './utils/resolveFieldType';
98
100
  export { default as resolveFieldName } from './utils/resolveFieldName';
99
101
  export { default as resolveMeta } from './utils/v2/resolveMeta';
100
- export { default as resolveVars } from './utils/v2/resolveVars';
102
+ export { default as resolveFlowTemplateLiterals } from './utils/v2/resolveFlowTemplateLiterals';
101
103
  export { default as countryCodeToFlagEmoji } from './utils/v2/countryCodeToFlagEmoji';
102
104
  export { default as resolveLocaleDisplayName } from './utils/v2/resolveLocaleDisplayName';
103
105
  export { default as resolveLocaleEmoji } from './utils/v2/resolveLocaleEmoji';
package/dist/index.js CHANGED
@@ -847,6 +847,12 @@ var StorageManager = class _StorageManager {
847
847
  async getTemporaryData(userId) {
848
848
  return JSON.parse(await this.store.getData(this.resolveKey("temporary_data" /* TemporaryData */, userId)) ?? null);
849
849
  }
850
+ async getPersistedData(userId) {
851
+ return JSON.parse(await this.store.getData(this.resolveKey("persisted_data" /* PersistedData */, userId)) ?? null);
852
+ }
853
+ async setPersistedData(persistedData, userId) {
854
+ this.setDataInBulk(this.resolveKey("persisted_data" /* PersistedData */, userId), persistedData);
855
+ }
850
856
  async getSessionData(userId, instanceId) {
851
857
  return JSON.parse(await this.store.getData(this.resolveKey("session_data" /* SessionData */, userId, instanceId)) ?? null);
852
858
  }
@@ -1105,9 +1111,21 @@ var _AsgardeoAuthClient = class _AsgardeoAuthClient {
1105
1111
  this.configProvider = async () => this.storageManager.getConfigData();
1106
1112
  this.oidcProviderMetaDataProvider = async () => this.storageManager.loadOpenIDProviderConfiguration();
1107
1113
  _AsgardeoAuthClient.authHelperInstance = this.authHelper;
1114
+ let { applicationId } = config;
1115
+ if (applicationId) {
1116
+ await this.storageManager.setPersistedData({
1117
+ applicationId
1118
+ });
1119
+ } else {
1120
+ const persistedData = await this.storageManager.getPersistedData();
1121
+ if (persistedData["applicationId"]) {
1122
+ applicationId = persistedData["applicationId"];
1123
+ }
1124
+ }
1108
1125
  await this.storageManager.setConfigData({
1109
1126
  ...DefaultConfig,
1110
1127
  ...config,
1128
+ applicationId,
1111
1129
  scope: processOpenIDScopes_default(config.scopes)
1112
1130
  });
1113
1131
  }
@@ -4869,6 +4887,20 @@ var getRedirectBasedSignUpUrl = (config) => {
4869
4887
  };
4870
4888
  var getRedirectBasedSignUpUrl_default = getRedirectBasedSignUpUrl;
4871
4889
 
4890
+ // src/utils/v2/isEmojiUri.ts
4891
+ var EMOJI_URI_SCHEME = "emoji:";
4892
+ var isEmojiUri = (uri) => typeof uri === "string" && uri.startsWith(EMOJI_URI_SCHEME);
4893
+ var isEmojiUri_default = isEmojiUri;
4894
+
4895
+ // src/utils/v2/extractEmojiFromUri.ts
4896
+ var extractEmojiFromUri = (uri) => {
4897
+ if (!isEmojiUri_default(uri)) {
4898
+ return "";
4899
+ }
4900
+ return uri.slice(EMOJI_URI_SCHEME.length);
4901
+ };
4902
+ var extractEmojiFromUri_default = extractEmojiFromUri;
4903
+
4872
4904
  // src/utils/removeTrailingSlash.ts
4873
4905
  var removeTrailingSlash = (path) => path.endsWith("/") ? path.slice(0, -1) : path;
4874
4906
  var removeTrailingSlash_default = removeTrailingSlash;
@@ -4920,30 +4952,40 @@ function resolveMeta(path, meta) {
4920
4952
  return value != null ? String(value) : "";
4921
4953
  }
4922
4954
 
4923
- // src/utils/v2/resolveVars.ts
4924
- function resolveVars(text, { t, meta }) {
4955
+ // src/utils/v2/parseFlowTemplateLiteral.ts
4956
+ var FLOW_TEMPLATE_LITERAL_REGEX = /\{\{\s*([^}]+)\s*\}\}/;
4957
+ var FLOW_TEMPLATE_FUNCTION_REGEX = /^(\w+)\(([^)]+)\)$/;
4958
+ function parseFlowTemplateLiteral(content) {
4959
+ const originalValue = content;
4960
+ const match = FLOW_TEMPLATE_FUNCTION_REGEX.exec(content);
4961
+ if (!match) {
4962
+ return { originalValue, type: "unknown" /* UNKNOWN */ };
4963
+ }
4964
+ const [, functionName, rawKey] = match;
4965
+ const key = rawKey.trim().replace(/^['"]|['"]$/g, "");
4966
+ switch (functionName) {
4967
+ case "t" /* TRANSLATION */:
4968
+ return { key, originalValue, type: "t" /* TRANSLATION */ };
4969
+ case "meta" /* META */:
4970
+ return { key, originalValue, type: "meta" /* META */ };
4971
+ default:
4972
+ return { originalValue, type: "unknown" /* UNKNOWN */ };
4973
+ }
4974
+ }
4975
+
4976
+ // src/utils/v2/resolveFlowTemplateLiterals.ts
4977
+ var FLOW_TEMPLATE_LITERAL_REGEX_GLOBAL = new RegExp(FLOW_TEMPLATE_LITERAL_REGEX.source, "g");
4978
+ function resolveFlowTemplateLiterals(text, { t, meta }) {
4925
4979
  if (!text) {
4926
4980
  return "";
4927
4981
  }
4928
- return text.replace(/\{\{(.+?)\}\}/g, (match, content) => {
4929
- const trimmed = content.trim();
4930
- const tMatch = trimmed.match(/^t\((.+)\)$/);
4931
- if (tMatch) {
4932
- let key = tMatch[1].trim();
4933
- if (key.startsWith('"') && key.endsWith('"') || key.startsWith("'") && key.endsWith("'")) {
4934
- key = key.slice(1, -1);
4935
- }
4936
- return t(key.replace(/:/g, "."));
4937
- }
4938
- if (meta) {
4939
- const metaMatch = trimmed.match(/^meta\((.+)\)$/);
4940
- if (metaMatch) {
4941
- let path = metaMatch[1].trim();
4942
- if (path.startsWith('"') && path.endsWith('"') || path.startsWith("'") && path.endsWith("'")) {
4943
- path = path.slice(1, -1);
4944
- }
4945
- return resolveMeta(path, meta);
4946
- }
4982
+ return text.replace(FLOW_TEMPLATE_LITERAL_REGEX_GLOBAL, (match, content) => {
4983
+ const parsed = parseFlowTemplateLiteral(content.trim());
4984
+ if (parsed.type === "t" /* TRANSLATION */ && parsed.key) {
4985
+ return t(parsed.key.replace(/:/g, "."));
4986
+ }
4987
+ if (parsed.type === "meta" /* META */ && parsed.key && meta) {
4988
+ return resolveMeta(parsed.key, meta);
4947
4989
  }
4948
4990
  return match;
4949
4991
  });
@@ -5168,6 +5210,7 @@ export {
5168
5210
  AsgardeoJavaScriptClient_default as AsgardeoJavaScriptClient,
5169
5211
  AsgardeoRuntimeError,
5170
5212
  DEFAULT_THEME,
5213
+ EMOJI_URI_SCHEME,
5171
5214
  EmbeddedFlowActionVariant as EmbeddedFlowActionVariantV2,
5172
5215
  EmbeddedFlowComponentType,
5173
5216
  EmbeddedFlowComponentType2 as EmbeddedFlowComponentTypeV2,
@@ -5217,6 +5260,7 @@ export {
5217
5260
  executeEmbeddedSignUpFlow_default as executeEmbeddedSignUpFlow,
5218
5261
  executeEmbeddedSignUpFlowV2_default as executeEmbeddedSignUpFlowV2,
5219
5262
  executeEmbeddedUserOnboardingFlowV2_default as executeEmbeddedUserOnboardingFlowV2,
5263
+ extractEmojiFromUri_default as extractEmojiFromUri,
5220
5264
  extractPkceStorageKeyFromState_default as extractPkceStorageKeyFromState,
5221
5265
  extractUserClaimsFromIdToken_default as extractUserClaimsFromIdToken,
5222
5266
  flattenUserSchema_default as flattenUserSchema,
@@ -5237,6 +5281,7 @@ export {
5237
5281
  identifyPlatform_default as identifyPlatform,
5238
5282
  info,
5239
5283
  initializeEmbeddedSignInFlow_default as initializeEmbeddedSignInFlow,
5284
+ isEmojiUri_default as isEmojiUri,
5240
5285
  isEmpty_default as isEmpty,
5241
5286
  isRecognizedBaseUrlPattern_default as isRecognizedBaseUrlPattern,
5242
5287
  logger_default as logger,
@@ -5245,10 +5290,10 @@ export {
5245
5290
  removeTrailingSlash_default as removeTrailingSlash,
5246
5291
  resolveFieldName_default as resolveFieldName,
5247
5292
  resolveFieldType_default as resolveFieldType,
5293
+ resolveFlowTemplateLiterals,
5248
5294
  resolveLocaleDisplayName,
5249
5295
  resolveLocaleEmoji_default as resolveLocaleEmoji,
5250
5296
  resolveMeta,
5251
- resolveVars,
5252
5297
  set_default as set,
5253
5298
  transformBrandingPreferenceToTheme_default as transformBrandingPreferenceToTheme,
5254
5299
  updateMeProfile_default as updateMeProfile,