@esri/hub-common 17.16.5 → 17.17.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.
Files changed (53) hide show
  1. package/dist/esm/ArcGISContext.js +7 -11
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +14 -15
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/index.js +1 -0
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/permissions/HubPermissionPolicies.js +16 -7
  8. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  9. package/dist/esm/permissions/checkPermission.js +32 -19
  10. package/dist/esm/permissions/checkPermission.js.map +1 -1
  11. package/dist/esm/users/_internal/UserSchema.js +2 -2
  12. package/dist/esm/users/_internal/UserSchema.js.map +1 -1
  13. package/dist/esm/users/_internal/UserUiSchemaSettings.js +1 -1
  14. package/dist/esm/users/_internal/UserUiSchemaSettings.js.map +1 -1
  15. package/dist/esm/utils/hasOwnProperty.js +11 -0
  16. package/dist/esm/utils/hasOwnProperty.js.map +1 -0
  17. package/dist/esm/utils/hubUserAppResources.js +2 -0
  18. package/dist/esm/utils/hubUserAppResources.js.map +1 -1
  19. package/dist/esm/utils/internal/fetchAndMigrateUserHubSettings.js +7 -4
  20. package/dist/esm/utils/internal/fetchAndMigrateUserHubSettings.js.map +1 -1
  21. package/dist/esm/utils/internal/siteSettingsMigrations.js +52 -3
  22. package/dist/esm/utils/internal/siteSettingsMigrations.js.map +1 -1
  23. package/dist/esm/utils/internal/userAppResources.js +3 -0
  24. package/dist/esm/utils/internal/userAppResources.js.map +1 -1
  25. package/dist/node/ArcGISContext.js +7 -11
  26. package/dist/node/ArcGISContext.js.map +1 -1
  27. package/dist/node/ArcGISContextManager.js +14 -15
  28. package/dist/node/ArcGISContextManager.js.map +1 -1
  29. package/dist/node/index.js +1 -0
  30. package/dist/node/index.js.map +1 -1
  31. package/dist/node/permissions/HubPermissionPolicies.js +16 -7
  32. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  33. package/dist/node/permissions/checkPermission.js +32 -19
  34. package/dist/node/permissions/checkPermission.js.map +1 -1
  35. package/dist/node/users/_internal/UserSchema.js +2 -2
  36. package/dist/node/users/_internal/UserSchema.js.map +1 -1
  37. package/dist/node/users/_internal/UserUiSchemaSettings.js +1 -1
  38. package/dist/node/users/_internal/UserUiSchemaSettings.js.map +1 -1
  39. package/dist/node/utils/hasOwnProperty.js +15 -0
  40. package/dist/node/utils/hasOwnProperty.js.map +1 -0
  41. package/dist/node/utils/hubUserAppResources.js +2 -0
  42. package/dist/node/utils/hubUserAppResources.js.map +1 -1
  43. package/dist/node/utils/internal/fetchAndMigrateUserHubSettings.js +7 -4
  44. package/dist/node/utils/internal/fetchAndMigrateUserHubSettings.js.map +1 -1
  45. package/dist/node/utils/internal/siteSettingsMigrations.js +52 -3
  46. package/dist/node/utils/internal/siteSettingsMigrations.js.map +1 -1
  47. package/dist/node/utils/internal/userAppResources.js +3 -0
  48. package/dist/node/utils/internal/userAppResources.js.map +1 -1
  49. package/dist/types/utils/IUserHubSettings.d.ts +3 -6
  50. package/dist/types/utils/hasOwnProperty.d.ts +8 -0
  51. package/dist/types/utils/hubUserAppResources.d.ts +1 -1
  52. package/dist/types/utils/internal/siteSettingsMigrations.d.ts +2 -2
  53. package/package.json +1 -1
@@ -44,6 +44,7 @@ async function fetchUserSiteSettings(context) {
44
44
  return siteSettingsMigrations_1.applySiteSettingsMigrations(settings);
45
45
  }
46
46
  else {
47
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
47
48
  return Promise.resolve(null);
48
49
  }
49
50
  }
@@ -85,6 +86,7 @@ async function fetchUserHubSettings(context) {
85
86
  return await fetchAndMigrateUserHubSettings_1.fetchAndMigrateUserHubSettings(context.currentUser.username, context.portalUrl, token);
86
87
  }
87
88
  else {
89
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
88
90
  return Promise.resolve(null);
89
91
  }
90
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hubUserAppResources.js","sourceRoot":"","sources":["../../../src/utils/hubUserAppResources.ts"],"names":[],"mappings":";;;AACA,4EAG0C;AAC1C,0EAGyC;AACzC,8EAAgF;AAChF,kEAIqC;AACrC,8FAA2F;AAI3F;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAA2B,EAC3B,OAAuB,EACvB,UAAmB,KAAK;IAExB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,8CAAsB;YAC3B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA7BD,wDA6BC;AAED;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,CAAC,MAAM,kCAAe,CACrC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,8CAAsB,EACtB,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAA+B,CAAC;QACjC,6BAA6B;QAC7B,OAAO,oDAA2B,CAAC,QAAQ,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAjBD,sDAiBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CACzC,QAA0B,EAC1B,OAAuB,EACvB,UAAmB,KAAK;IAExB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IAEtD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QACjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,4CAAqB;YAC1B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA5BD,sDA4BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE;QACT,OAAO,MAAM,+DAA8B,CACzC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;KACH;SAAM;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAbD,oDAaC"}
1
+ {"version":3,"file":"hubUserAppResources.js","sourceRoot":"","sources":["../../../src/utils/hubUserAppResources.ts"],"names":[],"mappings":";;;AACA,4EAG0C;AAC1C,0EAGyC;AACzC,8EAAgF;AAChF,kEAIqC;AACrC,8FAA2F;AAI3F;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAA2B,EAC3B,OAAuB,EACvB,OAAO,GAAG,KAAK;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,8CAAsB;YAC3B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA7BD,wDA6BC;AAED;;;;GAIG;AACI,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE;QACT,MAAM,QAAQ,GAAG,CAAC,MAAM,kCAAe,CACrC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,8CAAsB,EACtB,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAsB,CAAC;QACxB,6BAA6B;QAC7B,OAAO,oDAA2B,CAAC,QAAQ,CAAC,CAAC;KAC9C;SAAM;QACL,+DAA+D;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAlBD,sDAkBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CACzC,QAA0B,EAC1B,OAAuB,EACvB,OAAO,GAAG,KAAK;IAEf,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IAEtD,IAAI,KAAK,EAAE;QACT,sDAAsD;QACtD,QAAQ,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QACjD,MAAM,QAAQ,GAAqB;YACjC,GAAG,EAAE,4CAAqB;YAC1B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,gBAAgB;SACzB,CAAC;QACF,OAAO,kCAAe,CACpB,QAAQ,EACR,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,OAAO,CACR,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;KACH;AACH,CAAC;AA5BD,sDA4BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAuB;IAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,4CAAqB,CAAC,CAAC;IACtD,IAAI,KAAK,EAAE;QACT,OAAO,MAAM,+DAA8B,CACzC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAC5B,OAAO,CAAC,SAAS,EACjB,KAAK,CACN,CAAC;KACH;SAAM;QACL,+DAA+D;QAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;AACH,CAAC;AAdD,oDAcC"}
@@ -19,7 +19,7 @@ async function fetchAndMigrateUserHubSettings(username, portalUrl, token) {
19
19
  // create failsafe function that returns a default Hub Settings object
20
20
  const fsGetResource = fail_safe_1.failSafe(userAppResources_1.getUserResource, getDefaultUserHubSettings(username));
21
21
  // fetch the user's Hub Settings
22
- const settings = await fsGetResource(username, clearUserHubSettings_1.USER_HUB_SETTINGS_KEY, portalUrl, token);
22
+ const settings = (await fsGetResource(username, clearUserHubSettings_1.USER_HUB_SETTINGS_KEY, portalUrl, token));
23
23
  // apply any migrations and return the result
24
24
  return siteSettingsMigrations_1.applyHubSettingsMigrations(settings);
25
25
  }
@@ -31,12 +31,15 @@ exports.fetchAndMigrateUserHubSettings = fetchAndMigrateUserHubSettings;
31
31
  * @returns
32
32
  */
33
33
  function getDefaultUserHubSettings(username) {
34
+ // This is current for schemaVersion 1.1 but can be updated as needed
35
+ // but it is run through migrations after being returned
36
+ // so it doesn't need to be the latest version
34
37
  return {
35
- schemaVersion: 1,
38
+ schemaVersion: 1.1,
36
39
  username,
37
40
  updated: new Date().getTime(),
38
- preview: {
39
- workspace: false,
41
+ features: {
42
+ workspace: true,
40
43
  },
41
44
  };
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAndMigrateUserHubSettings.js","sourceRoot":"","sources":["../../../../src/utils/internal/fetchAndMigrateUserHubSettings.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAExC,iEAA+D;AAC/D,qEAAsE;AACtE,yDAAqD;AAErD;;;;;;;;;GASG;AACI,KAAK,UAAU,8BAA8B,CAClD,QAAgB,EAChB,SAAiB,EACjB,KAAa;IAEb,sEAAsE;IACtE,MAAM,aAAa,GAAG,oBAAQ,CAC5B,kCAAe,EACf,yBAAyB,CAAC,QAAQ,CAAC,CACpC,CAAC;IACF,gCAAgC;IAChC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAClC,QAAQ,EACR,4CAAqB,EACrB,SAAS,EACT,KAAK,CACN,CAAC;IACF,6CAA6C;IAC7C,OAAO,mDAA0B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAnBD,wEAmBC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,QAAgB;IACjD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ;QACR,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QAC7B,OAAO,EAAE;YACP,SAAS,EAAE,KAAK;SACjB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fetchAndMigrateUserHubSettings.js","sourceRoot":"","sources":["../../../../src/utils/internal/fetchAndMigrateUserHubSettings.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAExC,iEAA+D;AAC/D,qEAAsE;AACtE,yDAAqD;AAErD;;;;;;;;;GASG;AACI,KAAK,UAAU,8BAA8B,CAClD,QAAgB,EAChB,SAAiB,EACjB,KAAa;IAEb,sEAAsE;IACtE,MAAM,aAAa,GAAG,oBAAQ,CAC5B,kCAAe,EACf,yBAAyB,CAAC,QAAQ,CAAC,CACpC,CAAC;IACF,gCAAgC;IAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,aAAa,CACnC,QAAQ,EACR,4CAAqB,EACrB,SAAS,EACT,KAAK,CACN,CAAqB,CAAC;IACvB,6CAA6C;IAC7C,OAAO,mDAA0B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAnBD,wEAmBC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,QAAgB;IACjD,qEAAqE;IACrE,wDAAwD;IACxD,8CAA8C;IAC9C,OAAO;QACL,aAAa,EAAE,GAAG;QAClB,QAAQ;QACR,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QAC7B,QAAQ,EAAE;YACR,SAAS,EAAE,IAAI;SAChB;KACF,CAAC;AACJ,CAAC"}
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.applyHubSettingsMigrations = exports.applySiteSettingsMigrations = void 0;
4
4
  const util_1 = require("../../util");
5
+ const hasOwnProperty_1 = require("../hasOwnProperty");
5
6
  /**
6
7
  * Apply migrations for Site Settings
7
8
  * @param settings
8
9
  * @returns
9
10
  */
10
11
  function applySiteSettingsMigrations(settings) {
11
- // const currentSchema = 1;
12
12
  return util_1.cloneObject(settings);
13
13
  }
14
14
  exports.applySiteSettingsMigrations = applySiteSettingsMigrations;
@@ -18,8 +18,57 @@ exports.applySiteSettingsMigrations = applySiteSettingsMigrations;
18
18
  * @returns
19
19
  */
20
20
  function applyHubSettingsMigrations(settings) {
21
- // const currentSchema = 1;
22
- return util_1.cloneObject(settings);
21
+ // All the migration functions take and return ILegacyUserHubSettings
22
+ // so we can chain them together, and at the end we cast back to IUserHubSettings
23
+ let clone = util_1.cloneObject(settings);
24
+ clone = swapPreviewToFeatures(clone);
25
+ //clone = clearWorkspaceFeatureForRelease(clone);
26
+ return clone;
23
27
  }
24
28
  exports.applyHubSettingsMigrations = applyHubSettingsMigrations;
29
+ /**
30
+ * Migration to swap .preview to .features which allows for
31
+ * opting in and out of features
32
+ * @private
33
+ * @param settings
34
+ * @returns
35
+ */
36
+ function swapPreviewToFeatures(settings) {
37
+ if (settings.schemaVersion < 1.1) {
38
+ settings.schemaVersion = 1.1;
39
+ // if we have .preview, we need to copy it to .features
40
+ if (hasOwnProperty_1.hasOwnProperty(settings, "preview")) {
41
+ // copy all props from .preview to .features
42
+ settings.features = util_1.cloneObject(settings.preview);
43
+ // remove .preview from settings
44
+ delete settings.preview;
45
+ // remove .features.workspace
46
+ delete settings.features.workspace;
47
+ }
48
+ if (!settings.features) {
49
+ settings.features = {};
50
+ }
51
+ }
52
+ return settings;
53
+ }
54
+ // FUTURE: For when we end the opt-out period for workspaces
55
+ // /**
56
+ // * Remove the workspace feature because the opt-out period has ended.
57
+ // * @param settings
58
+ // * @returns
59
+ // */
60
+ // function endWorkspaceOptOut(
61
+ // settings: ILegacyUserHubSettings,
62
+ // ): ILegacyUserHubSettings {
63
+ // // TODO: Ensure this is the most recent schema version when this is implemented
64
+ // if (settings.schemaVersion < 1.3) {
65
+ // if (hasOwnProperty(settings, "features") && settings.features) {
66
+ // // when workspace is released we remove the workspace feature
67
+ // // if the user opts out, it will be re-added as false.
68
+ // delete settings.features.workspace;
69
+ // }
70
+ // settings.schemaVersion = 1.3;
71
+ // }
72
+ // return settings;
73
+ // }
25
74
  //# sourceMappingURL=siteSettingsMigrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"siteSettingsMigrations.js","sourceRoot":"","sources":["../../../../src/utils/internal/siteSettingsMigrations.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AAIzC;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,QAA6B;IAE7B,2BAA2B;IAE3B,OAAO,kBAAW,CAAC,QAAQ,CAAsB,CAAC;AACpD,CAAC;AAND,kEAMC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,QAA6B;IAE7B,2BAA2B;IAE3B,OAAO,kBAAW,CAAC,QAAQ,CAAqB,CAAC;AACnD,CAAC;AAND,gEAMC"}
1
+ {"version":3,"file":"siteSettingsMigrations.js","sourceRoot":"","sources":["../../../../src/utils/internal/siteSettingsMigrations.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AACzC,sDAAmD;AAOnD;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,QAA2B;IAE3B,OAAO,kBAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAJD,kEAIC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CACxC,QAA0B;IAE1B,qEAAqE;IACrE,iFAAiF;IACjF,IAAI,KAAK,GAAG,kBAAW,CAAC,QAAQ,CAA2B,CAAC;IAC5D,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,iDAAiD;IACjD,OAAO,KAAyB,CAAC;AACnC,CAAC;AATD,gEASC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,QAAgC;IAEhC,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,EAAE;QAChC,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC;QAC7B,uDAAuD;QACvD,IAAI,+BAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YACvC,4CAA4C;YAC5C,QAAQ,CAAC,QAAQ,GAAG,kBAAW,CAAC,QAAQ,CAAC,OAAO,CAG/C,CAAC;YACF,gCAAgC;YAChC,OAAO,QAAQ,CAAC,OAAO,CAAC;YACxB,6BAA6B;YAC7B,OAAO,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;SACpC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;SACxB;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,4DAA4D;AAC5D,MAAM;AACN,wEAAwE;AACxE,qBAAqB;AACrB,cAAc;AACd,MAAM;AACN,+BAA+B;AAC/B,sCAAsC;AACtC,8BAA8B;AAC9B,oFAAoF;AACpF,wCAAwC;AACxC,uEAAuE;AACvE,sEAAsE;AACtE,+DAA+D;AAC/D,4CAA4C;AAC5C,QAAQ;AACR,oCAAoC;AACpC,MAAM;AAEN,qBAAqB;AACrB,IAAI"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
2
3
  // These Types and Functions can land in rest-js
3
4
  // a friendly name for the scope of the resource
4
5
  // the API deals with clientIds, which are
@@ -30,8 +31,10 @@ async function setUserResource(resource, username, portalUrl, token, replace = f
30
31
  let payload = resource.data;
31
32
  if (!replace) {
32
33
  const fsGetResource = fail_safe_1.failSafe(getUserResource, {});
34
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
33
35
  const currentResource = await fsGetResource(username, resource.key, portalUrl, token);
34
36
  // extend current object witn updated object
37
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
35
38
  payload = Object.assign(Object.assign({}, currentResource), resource.data);
36
39
  }
37
40
  const ro = {
@@ -1 +1 @@
1
- {"version":3,"file":"userAppResources.js","sourceRoot":"","sources":["../../../../src/utils/internal/userAppResources.ts"],"names":[],"mappings":";AAAA,gDAAgD;AAChD,gDAAgD;AAChD,0CAA0C;AAC1C,uFAAuF;AACvF,0EAA0E;AAC1E,6DAA6D;;;AAE7D,mEAAqE;AACrE,4CAAwC;AACxC,oDAAiD;AAiGjD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,UAAmB,KAAK;IAExB,mCAAmC;IACnC,IAAI,6BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,aAAa,GAAG,oBAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,aAAa,CACzC,QAAQ,EACR,QAAQ,CAAC,GAAG,EACZ,SAAS,EACT,KAAK,CACN,CAAC;QACF,4CAA4C;QAC5C,OAAO,mCAAQ,eAAe,GAAK,QAAQ,CAAC,IAAI,CAAE,CAAC;KACpD;IACD,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK;SACN;KACF,CAAC;IACF,mGAAmG;IACnG,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,EACnE,EAAE,CACH,CAAC;AACJ,CAAC;AAzCD,0CAyCC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAC7B,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,GAAG,UAAU,KAAK,EAAE,EACvF,EAAE,CACH,CAAC;AACJ,CAAC;AAbD,0CAaC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,GAAG;YACH,KAAK;SACN;KACF,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,iBAAiB,EACtE,EAAE,CACH,CAAC;AACJ,CAAC;AAlBD,gDAkBC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,gBAAyB,KAAK;IAE9B,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,2BAA2B,KAAK,kBAAkB,aAAa,EAAE,EACtH,EAAE,CACmC,CAAC;AAC1C,CAAC;AAbD,8CAaC"}
1
+ {"version":3,"file":"userAppResources.js","sourceRoot":"","sources":["../../../../src/utils/internal/userAppResources.ts"],"names":[],"mappings":";AAAA,wDAAwD;AACxD,gDAAgD;AAChD,gDAAgD;AAChD,0CAA0C;AAC1C,uFAAuF;AACvF,0EAA0E;AAC1E,6DAA6D;;;AAE7D,mEAAqE;AACrE,4CAAwC;AACxC,oDAAiD;AAiGjD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,OAAO,GAAG,KAAK;IAEf,mCAAmC;IACnC,IAAI,6BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE;QACjD,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,aAAa,GAAG,oBAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpD,mEAAmE;QACnE,MAAM,eAAe,GAAG,MAAM,aAAa,CACzC,QAAQ,EACR,QAAQ,CAAC,GAAG,EACZ,SAAS,EACT,KAAK,CACN,CAAC;QACF,4CAA4C;QAC5C,mEAAmE;QACnE,OAAO,mCAAQ,eAAe,GAAK,QAAQ,CAAC,IAAI,CAAE,CAAC;KACpD;IACD,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK;SACN;KACF,CAAC;IACF,mGAAmG;IACnG,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,EACnE,EAAE,CACH,CAAC;AACJ,CAAC;AA3CD,0CA2CC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAC7B,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,cAAc,GAAG,UAAU,KAAK,EAAE,EACvF,EAAE,CACH,CAAC;AACJ,CAAC;AAbD,0CAaC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,GAAW,EACX,SAAiB,EACjB,KAAa;IAEb,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE;YACN,GAAG;YACH,KAAK;SACN;KACF,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,iBAAiB,EACtE,EAAE,CACH,CAAC;AACJ,CAAC;AAlBD,gDAkBC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,aAAa,GAAG,KAAK;IAErB,MAAM,EAAE,GAAoB;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,OAAO,6BAAO,CACZ,GAAG,SAAS,iCAAiC,QAAQ,2BAA2B,KAAK,kBAAkB,aAAa,EAAE,EACtH,EAAE,CACmC,CAAC;AAC1C,CAAC;AAbD,8CAaC"}
@@ -17,13 +17,10 @@ export interface IUserHubSettings {
17
17
  dismissed?: string[];
18
18
  };
19
19
  /**
20
- * Features that are enabled for the user in preview mode
20
+ * Allow features to be opted in or out of
21
21
  */
22
- preview?: {
23
- /**
24
- * Enable the workspace feature
25
- */
26
- workspace: boolean;
22
+ features?: {
23
+ workspace?: boolean;
27
24
  };
28
25
  /**
29
26
  * Optional history of sites/content the user has visited
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Check if an object has a specific property in a type-safe manner
3
+ * that meets the eslint rule `@typescript-eslint/no-prototype-builtins`.
4
+ * @param obj
5
+ * @param prop
6
+ * @returns
7
+ */
8
+ export declare function hasOwnProperty<T extends Record<string, unknown>, K extends PropertyKey>(obj: T, prop: K): obj is T & Record<K, unknown>;
@@ -29,4 +29,4 @@ export declare function updateUserHubSettings(settings: IUserHubSettings, contex
29
29
  * @param context
30
30
  * @returns
31
31
  */
32
- export declare function fetchUserHubSettings(context: IArcGISContext): Promise<IUserHubSettings>;
32
+ export declare function fetchUserHubSettings(context: IArcGISContext): Promise<IUserHubSettings | null>;
@@ -5,10 +5,10 @@ import { IUserSiteSettings } from "../IUserSiteSettings";
5
5
  * @param settings
6
6
  * @returns
7
7
  */
8
- export declare function applySiteSettingsMigrations(settings: Record<string, any>): IUserSiteSettings;
8
+ export declare function applySiteSettingsMigrations(settings: IUserSiteSettings): IUserSiteSettings;
9
9
  /**
10
10
  * Apply migrations for Hub Settings
11
11
  * @param settings
12
12
  * @returns
13
13
  */
14
- export declare function applyHubSettingsMigrations(settings: Record<string, any>): IUserHubSettings;
14
+ export declare function applyHubSettingsMigrations(settings: IUserHubSettings): IUserHubSettings;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "17.16.5",
3
+ "version": "17.17.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",