@esri/hub-common 14.83.0 → 14.85.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 (54) hide show
  1. package/dist/esm/associations/getAssociationStats.js +25 -6
  2. package/dist/esm/associations/getAssociationStats.js.map +1 -1
  3. package/dist/esm/associations/getReferencedEntityIds.js +25 -0
  4. package/dist/esm/associations/getReferencedEntityIds.js.map +1 -0
  5. package/dist/esm/associations/index.js +2 -1
  6. package/dist/esm/associations/index.js.map +1 -1
  7. package/dist/esm/associations/internal/getIdsFromKeywords.js +2 -1
  8. package/dist/esm/associations/internal/getIdsFromKeywords.js.map +1 -1
  9. package/dist/esm/associations/types.js +12 -0
  10. package/dist/esm/associations/types.js.map +1 -1
  11. package/dist/esm/associations/{getWellKnownAssociationsCatalog.js → wellKnownAssociationCatalogs.js} +41 -2
  12. package/dist/esm/associations/wellKnownAssociationCatalogs.js.map +1 -0
  13. package/dist/esm/objects/deepDeletePropByValue.js +67 -0
  14. package/dist/esm/objects/deepDeletePropByValue.js.map +1 -0
  15. package/dist/esm/objects/deepEqual.js +31 -0
  16. package/dist/esm/objects/deepEqual.js.map +1 -0
  17. package/dist/esm/objects/index.js +2 -0
  18. package/dist/esm/objects/index.js.map +1 -1
  19. package/dist/esm/search/wellKnownCatalog.js +27 -7
  20. package/dist/esm/search/wellKnownCatalog.js.map +1 -1
  21. package/dist/node/associations/getAssociationStats.js +25 -6
  22. package/dist/node/associations/getAssociationStats.js.map +1 -1
  23. package/dist/node/associations/getReferencedEntityIds.js +28 -0
  24. package/dist/node/associations/getReferencedEntityIds.js.map +1 -0
  25. package/dist/node/associations/index.js +2 -1
  26. package/dist/node/associations/index.js.map +1 -1
  27. package/dist/node/associations/internal/getIdsFromKeywords.js +2 -1
  28. package/dist/node/associations/internal/getIdsFromKeywords.js.map +1 -1
  29. package/dist/node/associations/types.js +13 -0
  30. package/dist/node/associations/types.js.map +1 -1
  31. package/dist/node/associations/{getWellKnownAssociationsCatalog.js → wellKnownAssociationCatalogs.js} +41 -2
  32. package/dist/node/associations/wellKnownAssociationCatalogs.js.map +1 -0
  33. package/dist/node/objects/deepDeletePropByValue.js +71 -0
  34. package/dist/node/objects/deepDeletePropByValue.js.map +1 -0
  35. package/dist/node/objects/deepEqual.js +35 -0
  36. package/dist/node/objects/deepEqual.js.map +1 -0
  37. package/dist/node/objects/index.js +2 -0
  38. package/dist/node/objects/index.js.map +1 -1
  39. package/dist/node/search/wellKnownCatalog.js +27 -7
  40. package/dist/node/search/wellKnownCatalog.js.map +1 -1
  41. package/dist/types/associations/getAssociationStats.d.ts +16 -2
  42. package/dist/types/associations/getReferencedEntityIds.d.ts +22 -0
  43. package/dist/types/associations/index.d.ts +2 -1
  44. package/dist/types/associations/internal/getIdsFromKeywords.d.ts +1 -1
  45. package/dist/types/associations/types.d.ts +12 -0
  46. package/dist/types/associations/{getWellKnownAssociationsCatalog.d.ts → wellKnownAssociationCatalogs.d.ts} +16 -0
  47. package/dist/types/core/types/IHubCardViewModel.d.ts +2 -0
  48. package/dist/types/objects/deepDeletePropByValue.d.ts +19 -0
  49. package/dist/types/objects/deepEqual.d.ts +9 -0
  50. package/dist/types/objects/index.d.ts +2 -0
  51. package/dist/types/search/wellKnownCatalog.d.ts +3 -1
  52. package/package.json +1 -1
  53. package/dist/esm/associations/getWellKnownAssociationsCatalog.js.map +0 -1
  54. package/dist/node/associations/getWellKnownAssociationsCatalog.js.map +0 -1
@@ -6,8 +6,22 @@ import { getRequestingEntitiesQuery } from "./getRequestingEntitiesQuery";
6
6
  import { getAssociationHierarchy } from "./internal/getAssociationHierarchy";
7
7
  import { isAssociationSupported } from "./internal/isAssociationSupported";
8
8
  /**
9
- * get an entity's association stats - # of associated, pending,
10
- * requesting, included/referenced entities
9
+ * get Entity A's association stats with Entity B:
10
+ *
11
+ * 1. associated: the number of Entity B's that Entity A
12
+ * is associated with
13
+ *
14
+ * 2. pending: the number of outgoing requests Entity A
15
+ * has sent to Entity B
16
+ *
17
+ * 3. requesting: the number of incoming requests Entity A
18
+ * has received from Entity B
19
+ *
20
+ * 4a. included: if Entity A is the parent, the number of
21
+ * Entity B's it has included in its association group
22
+ *
23
+ * 4b. referenced: if Entity A is the child, the number of
24
+ * Entity B's it has referenced (via typeKeyword)
11
25
  *
12
26
  * @param entity - Hub entity
13
27
  * @param associationType - entity type to query for
@@ -30,10 +44,15 @@ export const getAssociationStats = async (entity, associationType, context) => {
30
44
  getPendingEntitiesQuery(entity, associationType, context),
31
45
  getRequestingEntitiesQuery(entity, associationType, context),
32
46
  ]);
33
- const [{ total: associated }, { total: pending }, { total: requesting }] = await Promise.all(queries.map((query) => {
34
- return hubSearch(query, {
35
- requestOptions: context.hubRequestOptions,
36
- });
47
+ const [{ total: associated }, { total: pending }, { total: requesting }] = await Promise.all(queries.map(async (query) => {
48
+ try {
49
+ return await hubSearch(query, {
50
+ requestOptions: context.hubRequestOptions,
51
+ });
52
+ }
53
+ catch (error) {
54
+ return { total: 0 };
55
+ }
37
56
  }));
38
57
  stats = Object.assign({ associated,
39
58
  pending,
@@ -1 +1 @@
1
- {"version":3,"file":"getAssociationStats.js","sourceRoot":"","sources":["../../../src/associations/getAssociationStats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAG3E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB,EACK,EAAE;IAC9B,IAAI,KAAwB,CAAC;IAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,QAAQ,eAAe,oBAAoB,CAClG,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzE,KAAK,mBACH,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,CAAC,IACV,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CACpD,CAAC;IAEF,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChC,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YAC5D,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YACzD,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;SAC7D,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACtE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YAC5B,OAAO,SAAS,CAAC,KAAK,EAAE;gBACtB,cAAc,EAAE,OAAO,CAAC,iBAAiB;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QAEJ,KAAK,mBACH,UAAU;YACV,OAAO;YACP,UAAU,IACP,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,CAAC,CAC1C,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"getAssociationStats.js","sourceRoot":"","sources":["../../../src/associations/getAssociationStats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAG3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB,EACK,EAAE;IAC9B,IAAI,KAAwB,CAAC;IAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,QAAQ,eAAe,oBAAoB,CAClG,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzE,KAAK,mBACH,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,CAAC,IACV,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CACpD,CAAC;IAEF,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChC,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YAC5D,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YACzD,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;SAC7D,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACtE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;YAClC,IAAI;gBACF,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE;oBAC5B,cAAc,EAAE,OAAO,CAAC,iBAAiB;iBAC1C,CAAC,CAAC;aACJ;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH,CAAC;QAEJ,KAAK,mBACH,UAAU;YACV,OAAO;YACP,UAAU,IACP,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,CAAC,CAC1C,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { getIdsFromKeywords } from "./internal/getIdsFromKeywords";
2
+ /**
3
+ * The following util returns an array of ids that the provided
4
+ * entity "references" via a typeKeyword of the form ref|<associationType>|<id>
5
+ *
6
+ * Note: if a specific associationType is not provided, this util
7
+ * will return ALL the ids that the provided entity "references"
8
+ *
9
+ * Additional context: the model for associations is built around
10
+ * platform capabilities. Platform imposes a limit of 128 on the
11
+ * number of typeKeywords that can be set on an item. Since "child"
12
+ * entities form their half of an association connection via
13
+ * typeKeywords, we must limit the number of associations a child
14
+ * can request or accept to far fewer than 128. For now, we are
15
+ * imposing a limit of 50. From the application, we can then use
16
+ * this util to determine if a child has already reached the limit
17
+ *
18
+ * @param entity - hub entity to extract ids from
19
+ * @param associationType - entity type to extract reference ids for
20
+ * @returns {string[]}
21
+ */
22
+ export const getReferencedEntityIds = (entity, associationType) => {
23
+ return getIdsFromKeywords(entity, associationType);
24
+ };
25
+ //# sourceMappingURL=getReferencedEntityIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getReferencedEntityIds.js","sourceRoot":"","sources":["../../../src/associations/getReferencedEntityIds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAiB,EACjB,eAA+B,EACrB,EAAE;IACZ,OAAO,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -8,7 +8,8 @@ export * from "./getAssociationStats";
8
8
  export * from "./getAvailableToRequestEntitiesQuery";
9
9
  export * from "./getPendingEntitiesQuery";
10
10
  export * from "./getRequestingEntitiesQuery";
11
- export * from "./getWellKnownAssociationsCatalog";
11
+ export * from "./getReferencedEntityIds";
12
+ export * from "./wellKnownAssociationCatalogs";
12
13
  // Note: we expose "requestAssociation" under 2 names.
13
14
  // These actions are functionally equivalent, but we want
14
15
  // to make the intent more clear to the consumer.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/associations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,sDAAsD;AACtD,yDAAyD;AACzD,iDAAiD;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/associations/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,sDAAsD;AACtD,yDAAyD;AACzD,iDAAiD;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -12,7 +12,8 @@ import { getProp } from "../../objects";
12
12
  */
13
13
  export const getIdsFromKeywords = (entity, associationType) => {
14
14
  return getProp(entity, "typeKeywords").reduce((ids, keyword) => {
15
- if (keyword.startsWith(`ref|${associationType}|`)) {
15
+ const refKey = associationType ? `ref|${associationType}|` : "ref|";
16
+ if (keyword.startsWith(refKey)) {
16
17
  const id = keyword.split("|")[2];
17
18
  ids.push(id);
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getIdsFromKeywords.js","sourceRoot":"","sources":["../../../../src/associations/internal/getIdsFromKeywords.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAiB,EACjB,eAA8B,EACpB,EAAE;IACZ,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,CAC3C,CAAC,GAAa,EAAE,OAAe,EAAE,EAAE;QACjC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,GAAG,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"getIdsFromKeywords.js","sourceRoot":"","sources":["../../../../src/associations/internal/getIdsFromKeywords.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAiB,EACjB,eAA+B,EACrB,EAAE;IACZ,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,CAC3C,CAAC,GAAa,EAAE,OAAe,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1,13 @@
1
+ /**
2
+ * The model for associations is built around platform
3
+ * capabilities. Platform imposes a limit of 128 on the
4
+ * number of typeKeywords that can be set on an item.
5
+ * Since "child" entities form their half of an association
6
+ * connection via typeKeywords, we must limit the number
7
+ * of associations a child can request or accept to far
8
+ * fewer than 128.
9
+ *
10
+ * For now, we are setting this limit to 50
11
+ */
12
+ export const ASSOCIATION_REFERENCE_LIMIT = 50;
1
13
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":"AA8EA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC"}
@@ -6,7 +6,7 @@ import { getPendingEntitiesQuery } from "./getPendingEntitiesQuery";
6
6
  import { getAvailableToRequestEntitiesQuery } from "./getAvailableToRequestEntitiesQuery";
7
7
  import { getRequestingEntitiesQuery } from "./getRequestingEntitiesQuery";
8
8
  import { isAssociationSupported } from "./internal/isAssociationSupported";
9
- import { dotifyString, getWellknownCollection, } from "../search/wellKnownCatalog";
9
+ import { dotifyString, getWellKnownCatalog, getWellknownCollection, } from "../search/wellKnownCatalog";
10
10
  /**
11
11
  * There are two primary UI workflows when we consider associations:
12
12
  * 1. Viewing associations
@@ -69,4 +69,43 @@ export async function getWellKnownAssociationsCatalog(i18nScope, catalogName, en
69
69
  catalog = buildCatalog(i18nScope, catalogName, filters, collections, targetEntity);
70
70
  return catalog;
71
71
  }
72
- //# sourceMappingURL=getWellKnownAssociationsCatalog.js.map
72
+ /**
73
+ * Specific util for building well-known (My content, Favorites,
74
+ * Organization, and World) association catalogs to populate
75
+ * a gallery picker experience for requesting association.
76
+ *
77
+ * In addition to the normal filters that define these well-known
78
+ * catalogs, we also need to further filter the results to only
79
+ * include entities that can still be requested for association.
80
+ *
81
+ * @param i18nScope - translation scope to be interpolated into the catalog
82
+ * @param entity - primary entity the catalog is being built for
83
+ * @param associationType - type of entity the primary entity wants to view associations for
84
+ * @param context - contextual auth and portal information
85
+ * @returns {IHubCatalog[]}
86
+ */
87
+ export const getAvailableToRequestAssociationCatalogs = (i18nScope, entity, associationType, context) => {
88
+ var _a;
89
+ const entityType = getTypeFromEntity(entity);
90
+ const isSupported = isAssociationSupported(entityType, associationType);
91
+ if (!isSupported) {
92
+ throw new Error(`getAvailableToRequestAssociationCatalogs: Association between ${entityType} and ${associationType} is not supported.`);
93
+ }
94
+ i18nScope = dotifyString(i18nScope);
95
+ const filters = (_a = getAvailableToRequestEntitiesQuery(entity, associationType)) === null || _a === void 0 ? void 0 : _a.filters;
96
+ const catalogNames = [
97
+ "myContent",
98
+ "favorites",
99
+ "organization",
100
+ "world",
101
+ ];
102
+ return catalogNames.map((name) => {
103
+ const options = {
104
+ user: context.currentUser,
105
+ filters,
106
+ collectionNames: [associationType],
107
+ };
108
+ return getWellKnownCatalog(i18nScope, name, "item", options);
109
+ });
110
+ };
111
+ //# sourceMappingURL=wellKnownAssociationCatalogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wellKnownAssociationCatalogs.js","sourceRoot":"","sources":["../../../src/associations/wellKnownAssociationCatalogs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAIL,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAapC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAAiB,EACjB,WAAwC,EACxC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB;IAEvB,IAAI,OAAoB,CAAC;IACzB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,wDAAwD,UAAU,QAAQ,eAAe,oBAAoB,CAC9G,CAAC;KACH;IAED,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,WAAW,GAAG;QAClB,sBAAsB,CACpB,SAAS,EACT,YAAY,EACZ,eAAsC,CACvC;KACF,CAAC;IAEF,yDAAyD;IACzD,IAAI,KAAa,CAAC;IAClB,QAAQ,WAAW,EAAE;QACnB,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,0BAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,0BAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,oBAAoB;YACvB,KAAK,GAAG,kCAAkC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACpE,MAAM;KACT;IAED,sCAAsC;IACtC,gEAAgE;IAChE,2DAA2D;IAC3D,qCAAqC;IACrC,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAC5B,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,GAAG,YAAY,CACpB,SAAS,EACT,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,CACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,SAAiB,EACjB,MAAiB,EACjB,eAA8B,EAC9B,OAAuB,EACvB,EAAE;;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,iEAAiE,UAAU,QAAQ,eAAe,oBAAoB,CACvH,CAAC;KACH;IAED,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,OAAO,SAAG,kCAAkC,CAChD,MAAM,EACN,eAAe,CAChB,0CAAE,OAAO,CAAC;IACX,MAAM,YAAY,GAAuB;QACvC,WAAW;QACX,WAAW;QACX,cAAc;QACd,OAAO;KACR,CAAC;IACF,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAsB,EAAE,EAAE;QACjD,MAAM,OAAO,GAAgC;YAC3C,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,OAAO;YACP,eAAe,EAAE,CAAC,eAAsC,CAAC;SAC1D,CAAC;QACF,OAAO,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { deepEqual } from "./deepEqual";
2
+ import { _isObject } from "./_deep-map-values";
3
+ import { isFindable } from "./internal/isFindable";
4
+ /**
5
+ * Recursively deletes properties from an object or array that have a
6
+ * specific value.
7
+ *
8
+ * Hub commonly applies migrations to entities on load. During those
9
+ * migrations, often we want to delete properties to clean things up.
10
+ * However, during the save process, we typically fetch the entity
11
+ * from it's backing store and spread the migrated entity over the top of
12
+ * the fetched entity. This results in the deleted props being re-added.
13
+ *
14
+ * To avoid this, instead of deleting the props in the migration,
15
+ * we can set them to a specific value (e.g. `remove-this-prop`) and then
16
+ * use this function to remove them, after the merge.
17
+ *
18
+ * @param object - The object or array to delete properties from.
19
+ * @param value - The value to match and delete.
20
+ * @returns The modified object or array with properties deleted.
21
+ */
22
+ export function deepDeletePropByValue(object, value) {
23
+ // If the object is the value we want to delete, return undefined
24
+ if (deepEqual(object, value)) {
25
+ return undefined;
26
+ }
27
+ // If the object is an array, iterate over the array and recurse
28
+ // on the entries
29
+ if (Array.isArray(object)) {
30
+ return object.reduce((acc, entry) => {
31
+ if (isFindable(entry)) {
32
+ const recursedObject = deepDeletePropByValue(entry, value);
33
+ if (recursedObject !== undefined) {
34
+ acc = [...acc, recursedObject];
35
+ }
36
+ }
37
+ else {
38
+ if (entry !== value) {
39
+ acc = [...acc, entry];
40
+ } // else we are excluding this entry
41
+ }
42
+ return acc;
43
+ }, []);
44
+ }
45
+ if (_isObject(object)) {
46
+ return Object.keys(object).reduce((acc, key) => {
47
+ // if this is an object but not a date, regexp, or function, recurse
48
+ if (isFindable(object[key]) && !deepEqual(object[key], value)) {
49
+ const filteredEntry = deepDeletePropByValue(object[key], value);
50
+ acc[key] = filteredEntry;
51
+ }
52
+ else {
53
+ // ensure the value is not the value we want to delete
54
+ if (!deepEqual(object[key], value)) {
55
+ acc = Object.assign(Object.assign({}, acc), { [key]: object[key] });
56
+ } // else this key matches the value and we are excluding it
57
+ }
58
+ return acc;
59
+ }, {});
60
+ }
61
+ else {
62
+ // just return the object b/c it's not something we can compare
63
+ // e.g. a function
64
+ return object;
65
+ }
66
+ }
67
+ //# sourceMappingURL=deepDeletePropByValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepDeletePropByValue.js","sourceRoot":"","sources":["../../../src/objects/deepDeletePropByValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAW,EAAE,KAAU;IAC3D,iEAAiE;IACjE,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,gEAAgE;IAChE,iBAAiB;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,KAAK,SAAS,EAAE;oBAChC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,KAAK,KAAK,EAAE;oBACnB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBACvB,CAAC,mCAAmC;aACtC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,oEAAoE;YACpE,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/D,GAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;aACnC;iBAAM;gBACL,sDAAsD;gBACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;oBAClC,GAAG,mCAAQ,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAE,CAAC;iBACtC,CAAC,0DAA0D;aAC7D;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,+DAA+D;QAC/D,kBAAkB;QAClB,OAAO,MAAM,CAAC;KACf;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { _isObject } from "./_deep-map-values";
2
+ /**
3
+ * Compares two values deeply for equality.
4
+ * Works for primatives, arrays and objects.
5
+ * Not verified for other types.
6
+ * @param a - The first value to compare.
7
+ * @param b - The second value to compare.
8
+ * @returns True if the values are deeply equal, false otherwise.
9
+ */
10
+ export function deepEqual(a, b) {
11
+ // Simple comparison for primitives
12
+ if (a === b) {
13
+ return true;
14
+ }
15
+ // object checks
16
+ if (a && b && _isObject(a) && _isObject(b)) {
17
+ // if either are not arrays, return false
18
+ if (Array.isArray(a) !== Array.isArray(b)) {
19
+ return false;
20
+ }
21
+ const keys = Object.keys(a);
22
+ // if key lengths are different, return false
23
+ if (keys.length !== Object.keys(b).length) {
24
+ return false;
25
+ }
26
+ // recurse on each key
27
+ return keys.every((key) => deepEqual(a[key], b[key]));
28
+ }
29
+ return false;
30
+ }
31
+ //# sourceMappingURL=deepEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/objects/deepEqual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,mCAAmC;IACnC,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,gBAAgB;IAChB,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;QAC1C,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,sBAAsB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -13,4 +13,6 @@ export * from "./deepFilter";
13
13
  export * from "./deepFind";
14
14
  export * from "./resolveReferences";
15
15
  export * from "./pickProps";
16
+ export * from "./deepEqual";
17
+ export * from "./deepDeletePropByValue";
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { getFamilyTypes } from "../content/get-family";
2
2
  import { buildCatalog } from "./_internal/buildCatalog";
3
+ import { getProp } from "../objects";
3
4
  /**
4
5
  * Check if i18nScope is defined and not ending with a ".", if so add a "." at the end.
5
6
  * e.g. if the i18nScope is 'project.edit', the path is `${i18nScope}catalog.organization`,
@@ -48,22 +49,32 @@ function validateUserExistence(catalogName, options) {
48
49
  function getWellknownItemCatalog(i18nScope, catalogName, options) {
49
50
  i18nScope = dotifyString(i18nScope);
50
51
  let catalog;
52
+ const additionalFilters = getProp(options, "filters") || [];
51
53
  const collections = getWellknownCollections(i18nScope, "item", options === null || options === void 0 ? void 0 : options.collectionNames);
52
54
  switch (catalogName) {
53
55
  case "myContent":
54
56
  validateUserExistence(catalogName, options);
55
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ owner: options.user.username }] }], collections, "item");
57
+ catalog = buildCatalog(i18nScope, catalogName, [
58
+ { predicates: [{ owner: options.user.username }] },
59
+ ...additionalFilters,
60
+ ], collections, "item");
56
61
  break;
57
62
  case "favorites":
58
63
  validateUserExistence(catalogName, options);
59
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ group: options.user.favGroupId }] }], collections, "item");
64
+ catalog = buildCatalog(i18nScope, catalogName, [
65
+ { predicates: [{ group: options.user.favGroupId }] },
66
+ ...additionalFilters,
67
+ ], collections, "item");
60
68
  break;
61
69
  case "organization":
62
70
  validateUserExistence(catalogName, options);
63
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ orgid: options.user.orgId }] }], collections, "item");
71
+ catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ orgid: options.user.orgId }] }, ...additionalFilters], collections, "item");
64
72
  break;
65
73
  case "world":
66
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ type: { not: ["code attachment"] } }] }], collections, "item");
74
+ catalog = buildCatalog(i18nScope, catalogName, [
75
+ { predicates: [{ type: { not: ["code attachment"] } }] },
76
+ ...additionalFilters,
77
+ ], collections, "item");
67
78
  break;
68
79
  }
69
80
  return catalog;
@@ -78,6 +89,7 @@ function getWellknownItemCatalog(i18nScope, catalogName, options) {
78
89
  function getWellknownGroupCatalog(i18nScope, catalogName, options) {
79
90
  i18nScope = dotifyString(i18nScope);
80
91
  let catalog;
92
+ const additionalFilters = getProp(options, "filters") || [];
81
93
  // because collections are needed in arcgis-hub-catalog and
82
94
  // "searchGroups" allows 'q: "*"', we use this as the collection
83
95
  const collections = [
@@ -98,15 +110,21 @@ function getWellknownGroupCatalog(i18nScope, catalogName, options) {
98
110
  switch (catalogName) {
99
111
  case "editGroups":
100
112
  validateUserExistence(catalogName, options);
101
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: ["updateitemcontrol"] }] }], collections, "group");
113
+ catalog = buildCatalog(i18nScope, catalogName, [
114
+ { predicates: [{ capabilities: ["updateitemcontrol"] }] },
115
+ ...additionalFilters,
116
+ ], collections, "group");
102
117
  break;
103
118
  case "viewGroups":
104
119
  validateUserExistence(catalogName, options);
105
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: { not: ["updateitemcontrol"] } }] }], collections, "group");
120
+ catalog = buildCatalog(i18nScope, catalogName, [
121
+ { predicates: [{ capabilities: { not: ["updateitemcontrol"] } }] },
122
+ ...additionalFilters,
123
+ ], collections, "group");
106
124
  break;
107
125
  case "allGroups":
108
126
  validateUserExistence(catalogName, options);
109
- catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: [""] }] }], collections, "group");
127
+ catalog = buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: [""] }] }, ...additionalFilters], collections, "group");
110
128
  break;
111
129
  }
112
130
  return catalog;
@@ -236,6 +254,8 @@ function getAllCollectionsMap(i18nScope, entityType) {
236
254
  predicates: [
237
255
  {
238
256
  type: getFamilyTypes("initiative"),
257
+ // only include v2 initiatives
258
+ typekeywords: ["hubInitiativeV2"],
239
259
  },
240
260
  ],
241
261
  },
@@ -1 +1 @@
1
- {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,22 @@ const getRequestingEntitiesQuery_1 = require("./getRequestingEntitiesQuery");
9
9
  const getAssociationHierarchy_1 = require("./internal/getAssociationHierarchy");
10
10
  const isAssociationSupported_1 = require("./internal/isAssociationSupported");
11
11
  /**
12
- * get an entity's association stats - # of associated, pending,
13
- * requesting, included/referenced entities
12
+ * get Entity A's association stats with Entity B:
13
+ *
14
+ * 1. associated: the number of Entity B's that Entity A
15
+ * is associated with
16
+ *
17
+ * 2. pending: the number of outgoing requests Entity A
18
+ * has sent to Entity B
19
+ *
20
+ * 3. requesting: the number of incoming requests Entity A
21
+ * has received from Entity B
22
+ *
23
+ * 4a. included: if Entity A is the parent, the number of
24
+ * Entity B's it has included in its association group
25
+ *
26
+ * 4b. referenced: if Entity A is the child, the number of
27
+ * Entity B's it has referenced (via typeKeyword)
14
28
  *
15
29
  * @param entity - Hub entity
16
30
  * @param associationType - entity type to query for
@@ -33,10 +47,15 @@ exports.getAssociationStats = async (entity, associationType, context) => {
33
47
  getPendingEntitiesQuery_1.getPendingEntitiesQuery(entity, associationType, context),
34
48
  getRequestingEntitiesQuery_1.getRequestingEntitiesQuery(entity, associationType, context),
35
49
  ]);
36
- const [{ total: associated }, { total: pending }, { total: requesting }] = await Promise.all(queries.map((query) => {
37
- return hubSearch_1.hubSearch(query, {
38
- requestOptions: context.hubRequestOptions,
39
- });
50
+ const [{ total: associated }, { total: pending }, { total: requesting }] = await Promise.all(queries.map(async (query) => {
51
+ try {
52
+ return await hubSearch_1.hubSearch(query, {
53
+ requestOptions: context.hubRequestOptions,
54
+ });
55
+ }
56
+ catch (error) {
57
+ return { total: 0 };
58
+ }
40
59
  }));
41
60
  stats = Object.assign({ associated,
42
61
  pending,
@@ -1 +1 @@
1
- {"version":3,"file":"getAssociationStats.js","sourceRoot":"","sources":["../../../src/associations/getAssociationStats.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAG9D,mDAAgD;AAChD,6EAA0E;AAC1E,uEAAoE;AACpE,6EAA0E;AAC1E,gFAA6E;AAC7E,8EAA2E;AAG3E;;;;;;;;GAQG;AACU,QAAA,mBAAmB,GAAG,KAAK,EACtC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB,EACK,EAAE;IAC9B,IAAI,KAAwB,CAAC;IAC7B,MAAM,UAAU,GAAG,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,+CAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,QAAQ,eAAe,oBAAoB,CAClG,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,iDAAuB,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzE,KAAK,mBACH,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,CAAC,IACV,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CACpD,CAAC;IAEF,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChC,uDAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YAC5D,iDAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YACzD,uDAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;SAC7D,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACtE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YAC5B,OAAO,qBAAS,CAAC,KAAK,EAAE;gBACtB,cAAc,EAAE,OAAO,CAAC,iBAAiB;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QAEJ,KAAK,mBACH,UAAU;YACV,OAAO;YACP,UAAU,IACP,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,CAAC,CAC1C,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"getAssociationStats.js","sourceRoot":"","sources":["../../../src/associations/getAssociationStats.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAG9D,mDAAgD;AAChD,6EAA0E;AAC1E,uEAAoE;AACpE,6EAA0E;AAC1E,gFAA6E;AAC7E,8EAA2E;AAG3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACU,QAAA,mBAAmB,GAAG,KAAK,EACtC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB,EACK,EAAE;IAC9B,IAAI,KAAwB,CAAC;IAC7B,MAAM,UAAU,GAAG,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,+CAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,4CAA4C,UAAU,QAAQ,eAAe,oBAAoB,CAClG,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,iDAAuB,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzE,KAAK,mBACH,UAAU,EAAE,CAAC,EACb,OAAO,EAAE,CAAC,EACV,UAAU,EAAE,CAAC,IACV,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CACpD,CAAC;IAEF,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChC,uDAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YAC5D,iDAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;YACzD,uDAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC;SAC7D,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GACtE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;YAClC,IAAI;gBACF,OAAO,MAAM,qBAAS,CAAC,KAAK,EAAE;oBAC5B,cAAc,EAAE,OAAO,CAAC,iBAAiB;iBAC1C,CAAC,CAAC;aACJ;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aACrB;QACH,CAAC,CAAC,CACH,CAAC;QAEJ,KAAK,mBACH,UAAU;YACV,OAAO;YACP,UAAU,IACP,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,EAAE;YACpC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,EAAE,CAAC,CAC1C,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReferencedEntityIds = void 0;
4
+ const getIdsFromKeywords_1 = require("./internal/getIdsFromKeywords");
5
+ /**
6
+ * The following util returns an array of ids that the provided
7
+ * entity "references" via a typeKeyword of the form ref|<associationType>|<id>
8
+ *
9
+ * Note: if a specific associationType is not provided, this util
10
+ * will return ALL the ids that the provided entity "references"
11
+ *
12
+ * Additional context: the model for associations is built around
13
+ * platform capabilities. Platform imposes a limit of 128 on the
14
+ * number of typeKeywords that can be set on an item. Since "child"
15
+ * entities form their half of an association connection via
16
+ * typeKeywords, we must limit the number of associations a child
17
+ * can request or accept to far fewer than 128. For now, we are
18
+ * imposing a limit of 50. From the application, we can then use
19
+ * this util to determine if a child has already reached the limit
20
+ *
21
+ * @param entity - hub entity to extract ids from
22
+ * @param associationType - entity type to extract reference ids for
23
+ * @returns {string[]}
24
+ */
25
+ exports.getReferencedEntityIds = (entity, associationType) => {
26
+ return getIdsFromKeywords_1.getIdsFromKeywords(entity, associationType);
27
+ };
28
+ //# sourceMappingURL=getReferencedEntityIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getReferencedEntityIds.js","sourceRoot":"","sources":["../../../src/associations/getReferencedEntityIds.ts"],"names":[],"mappings":";;;AACA,sEAAmE;AAEnE;;;;;;;;;;;;;;;;;;;GAmBG;AACU,QAAA,sBAAsB,GAAG,CACpC,MAAiB,EACjB,eAA+B,EACrB,EAAE;IACZ,OAAO,uCAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -11,7 +11,8 @@ tslib_1.__exportStar(require("./getAssociationStats"), exports);
11
11
  tslib_1.__exportStar(require("./getAvailableToRequestEntitiesQuery"), exports);
12
12
  tslib_1.__exportStar(require("./getPendingEntitiesQuery"), exports);
13
13
  tslib_1.__exportStar(require("./getRequestingEntitiesQuery"), exports);
14
- tslib_1.__exportStar(require("./getWellKnownAssociationsCatalog"), exports);
14
+ tslib_1.__exportStar(require("./getReferencedEntityIds"), exports);
15
+ tslib_1.__exportStar(require("./wellKnownAssociationCatalogs"), exports);
15
16
  // Note: we expose "requestAssociation" under 2 names.
16
17
  // These actions are functionally equivalent, but we want
17
18
  // to make the intent more clear to the consumer.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/associations/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,8DAAoC;AACpC,kDAAwB;AACxB,uEAA6C;AAC7C,gEAAsC;AACtC,+EAAqD;AACrD,oEAA0C;AAC1C,uEAA6C;AAC7C,4EAAkD;AAClD,sDAAsD;AACtD,yDAAyD;AACzD,iDAAiD;AACjD,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,2DAA+E;AAAtE,uHAAA,kBAAkB,OAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/associations/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,6DAAmC;AACnC,8DAAoC;AACpC,kDAAwB;AACxB,uEAA6C;AAC7C,gEAAsC;AACtC,+EAAqD;AACrD,oEAA0C;AAC1C,uEAA6C;AAC7C,mEAAyC;AACzC,yEAA+C;AAC/C,sDAAsD;AACtD,yDAAyD;AACzD,iDAAiD;AACjD,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,2DAA+E;AAAtE,uHAAA,kBAAkB,OAAqB"}
@@ -15,7 +15,8 @@ const objects_1 = require("../../objects");
15
15
  */
16
16
  exports.getIdsFromKeywords = (entity, associationType) => {
17
17
  return objects_1.getProp(entity, "typeKeywords").reduce((ids, keyword) => {
18
- if (keyword.startsWith(`ref|${associationType}|`)) {
18
+ const refKey = associationType ? `ref|${associationType}|` : "ref|";
19
+ if (keyword.startsWith(refKey)) {
19
20
  const id = keyword.split("|")[2];
20
21
  ids.push(id);
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getIdsFromKeywords.js","sourceRoot":"","sources":["../../../../src/associations/internal/getIdsFromKeywords.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAExC;;;;;;;;;;GAUG;AACU,QAAA,kBAAkB,GAAG,CAChC,MAAiB,EACjB,eAA8B,EACpB,EAAE;IACZ,OAAO,iBAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,CAC3C,CAAC,GAAa,EAAE,OAAe,EAAE,EAAE;QACjC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,GAAG,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"getIdsFromKeywords.js","sourceRoot":"","sources":["../../../../src/associations/internal/getIdsFromKeywords.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAExC;;;;;;;;;;GAUG;AACU,QAAA,kBAAkB,GAAG,CAChC,MAAiB,EACjB,eAA+B,EACrB,EAAE;IACZ,OAAO,iBAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,MAAM,CAC3C,CAAC,GAAa,EAAE,OAAe,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACd;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASSOCIATION_REFERENCE_LIMIT = void 0;
4
+ /**
5
+ * The model for associations is built around platform
6
+ * capabilities. Platform imposes a limit of 128 on the
7
+ * number of typeKeywords that can be set on an item.
8
+ * Since "child" entities form their half of an association
9
+ * connection via typeKeywords, we must limit the number
10
+ * of associations a child can request or accept to far
11
+ * fewer than 128.
12
+ *
13
+ * For now, we are setting this limit to 50
14
+ */
15
+ exports.ASSOCIATION_REFERENCE_LIMIT = 50;
3
16
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":";;;AA8EA;;;;;;;;;;GAUG;AACU,QAAA,2BAA2B,GAAG,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWellKnownAssociationsCatalog = void 0;
3
+ exports.getAvailableToRequestAssociationCatalogs = exports.getWellKnownAssociationsCatalog = void 0;
4
4
  const core_1 = require("../core");
5
5
  const buildCatalog_1 = require("../search/_internal/buildCatalog");
6
6
  const getEntityTypeFromType_1 = require("../search/_internal/getEntityTypeFromType");
@@ -73,4 +73,43 @@ async function getWellKnownAssociationsCatalog(i18nScope, catalogName, entity, a
73
73
  return catalog;
74
74
  }
75
75
  exports.getWellKnownAssociationsCatalog = getWellKnownAssociationsCatalog;
76
- //# sourceMappingURL=getWellKnownAssociationsCatalog.js.map
76
+ /**
77
+ * Specific util for building well-known (My content, Favorites,
78
+ * Organization, and World) association catalogs to populate
79
+ * a gallery picker experience for requesting association.
80
+ *
81
+ * In addition to the normal filters that define these well-known
82
+ * catalogs, we also need to further filter the results to only
83
+ * include entities that can still be requested for association.
84
+ *
85
+ * @param i18nScope - translation scope to be interpolated into the catalog
86
+ * @param entity - primary entity the catalog is being built for
87
+ * @param associationType - type of entity the primary entity wants to view associations for
88
+ * @param context - contextual auth and portal information
89
+ * @returns {IHubCatalog[]}
90
+ */
91
+ exports.getAvailableToRequestAssociationCatalogs = (i18nScope, entity, associationType, context) => {
92
+ var _a;
93
+ const entityType = core_1.getTypeFromEntity(entity);
94
+ const isSupported = isAssociationSupported_1.isAssociationSupported(entityType, associationType);
95
+ if (!isSupported) {
96
+ throw new Error(`getAvailableToRequestAssociationCatalogs: Association between ${entityType} and ${associationType} is not supported.`);
97
+ }
98
+ i18nScope = wellKnownCatalog_1.dotifyString(i18nScope);
99
+ const filters = (_a = getAvailableToRequestEntitiesQuery_1.getAvailableToRequestEntitiesQuery(entity, associationType)) === null || _a === void 0 ? void 0 : _a.filters;
100
+ const catalogNames = [
101
+ "myContent",
102
+ "favorites",
103
+ "organization",
104
+ "world",
105
+ ];
106
+ return catalogNames.map((name) => {
107
+ const options = {
108
+ user: context.currentUser,
109
+ filters,
110
+ collectionNames: [associationType],
111
+ };
112
+ return wellKnownCatalog_1.getWellKnownCatalog(i18nScope, name, "item", options);
113
+ });
114
+ };
115
+ //# sourceMappingURL=wellKnownAssociationCatalogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wellKnownAssociationCatalogs.js","sourceRoot":"","sources":["../../../src/associations/wellKnownAssociationCatalogs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepDeletePropByValue = void 0;
4
+ const deepEqual_1 = require("./deepEqual");
5
+ const _deep_map_values_1 = require("./_deep-map-values");
6
+ const isFindable_1 = require("./internal/isFindable");
7
+ /**
8
+ * Recursively deletes properties from an object or array that have a
9
+ * specific value.
10
+ *
11
+ * Hub commonly applies migrations to entities on load. During those
12
+ * migrations, often we want to delete properties to clean things up.
13
+ * However, during the save process, we typically fetch the entity
14
+ * from it's backing store and spread the migrated entity over the top of
15
+ * the fetched entity. This results in the deleted props being re-added.
16
+ *
17
+ * To avoid this, instead of deleting the props in the migration,
18
+ * we can set them to a specific value (e.g. `remove-this-prop`) and then
19
+ * use this function to remove them, after the merge.
20
+ *
21
+ * @param object - The object or array to delete properties from.
22
+ * @param value - The value to match and delete.
23
+ * @returns The modified object or array with properties deleted.
24
+ */
25
+ function deepDeletePropByValue(object, value) {
26
+ // If the object is the value we want to delete, return undefined
27
+ if (deepEqual_1.deepEqual(object, value)) {
28
+ return undefined;
29
+ }
30
+ // If the object is an array, iterate over the array and recurse
31
+ // on the entries
32
+ if (Array.isArray(object)) {
33
+ return object.reduce((acc, entry) => {
34
+ if (isFindable_1.isFindable(entry)) {
35
+ const recursedObject = deepDeletePropByValue(entry, value);
36
+ if (recursedObject !== undefined) {
37
+ acc = [...acc, recursedObject];
38
+ }
39
+ }
40
+ else {
41
+ if (entry !== value) {
42
+ acc = [...acc, entry];
43
+ } // else we are excluding this entry
44
+ }
45
+ return acc;
46
+ }, []);
47
+ }
48
+ if (_deep_map_values_1._isObject(object)) {
49
+ return Object.keys(object).reduce((acc, key) => {
50
+ // if this is an object but not a date, regexp, or function, recurse
51
+ if (isFindable_1.isFindable(object[key]) && !deepEqual_1.deepEqual(object[key], value)) {
52
+ const filteredEntry = deepDeletePropByValue(object[key], value);
53
+ acc[key] = filteredEntry;
54
+ }
55
+ else {
56
+ // ensure the value is not the value we want to delete
57
+ if (!deepEqual_1.deepEqual(object[key], value)) {
58
+ acc = Object.assign(Object.assign({}, acc), { [key]: object[key] });
59
+ } // else this key matches the value and we are excluding it
60
+ }
61
+ return acc;
62
+ }, {});
63
+ }
64
+ else {
65
+ // just return the object b/c it's not something we can compare
66
+ // e.g. a function
67
+ return object;
68
+ }
69
+ }
70
+ exports.deepDeletePropByValue = deepDeletePropByValue;
71
+ //# sourceMappingURL=deepDeletePropByValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepDeletePropByValue.js","sourceRoot":"","sources":["../../../src/objects/deepDeletePropByValue.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,yDAA+C;AAC/C,sDAAmD;AAEnD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,qBAAqB,CAAC,MAAW,EAAE,KAAU;IAC3D,iEAAiE;IACjE,IAAI,qBAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,gEAAgE;IAChE,iBAAiB;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,uBAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,KAAK,SAAS,EAAE;oBAChC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,IAAI,KAAK,KAAK,KAAK,EAAE;oBACnB,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;iBACvB,CAAC,mCAAmC;aACtC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,IAAI,4BAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7C,oEAAoE;YACpE,IAAI,uBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC/D,GAAW,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;aACnC;iBAAM;gBACL,sDAAsD;gBACtD,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;oBAClC,GAAG,mCAAQ,GAAG,KAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAE,CAAC;iBACtC,CAAC,0DAA0D;aAC7D;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,+DAA+D;QAC/D,kBAAkB;QAClB,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AA3CD,sDA2CC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepEqual = void 0;
4
+ const _deep_map_values_1 = require("./_deep-map-values");
5
+ /**
6
+ * Compares two values deeply for equality.
7
+ * Works for primatives, arrays and objects.
8
+ * Not verified for other types.
9
+ * @param a - The first value to compare.
10
+ * @param b - The second value to compare.
11
+ * @returns True if the values are deeply equal, false otherwise.
12
+ */
13
+ function deepEqual(a, b) {
14
+ // Simple comparison for primitives
15
+ if (a === b) {
16
+ return true;
17
+ }
18
+ // object checks
19
+ if (a && b && _deep_map_values_1._isObject(a) && _deep_map_values_1._isObject(b)) {
20
+ // if either are not arrays, return false
21
+ if (Array.isArray(a) !== Array.isArray(b)) {
22
+ return false;
23
+ }
24
+ const keys = Object.keys(a);
25
+ // if key lengths are different, return false
26
+ if (keys.length !== Object.keys(b).length) {
27
+ return false;
28
+ }
29
+ // recurse on each key
30
+ return keys.every((key) => deepEqual(a[key], b[key]));
31
+ }
32
+ return false;
33
+ }
34
+ exports.deepEqual = deepEqual;
35
+ //# sourceMappingURL=deepEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/objects/deepEqual.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAE/C;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,mCAAmC;IACnC,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,gBAAgB;IAChB,IAAI,CAAC,IAAI,CAAC,IAAI,4BAAS,CAAC,CAAC,CAAC,IAAI,4BAAS,CAAC,CAAC,CAAC,EAAE;QAC1C,yCAAyC;QACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,sBAAsB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AApBD,8BAoBC"}
@@ -16,4 +16,6 @@ tslib_1.__exportStar(require("./deepFilter"), exports);
16
16
  tslib_1.__exportStar(require("./deepFind"), exports);
17
17
  tslib_1.__exportStar(require("./resolveReferences"), exports);
18
18
  tslib_1.__exportStar(require("./pickProps"), exports);
19
+ tslib_1.__exportStar(require("./deepEqual"), exports);
20
+ tslib_1.__exportStar(require("./deepDeletePropByValue"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAC7B,qDAA2B;AAC3B,8DAAoC;AACpC,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/objects/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,gEAAsC;AACtC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAC7B,qDAA2B;AAC3B,8DAAoC;AACpC,sDAA4B;AAC5B,sDAA4B;AAC5B,kEAAwC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getWellknownCollection = exports.getWellknownCollections = exports.getWellKnownCatalog = exports.dotifyString = void 0;
4
4
  const get_family_1 = require("../content/get-family");
5
5
  const buildCatalog_1 = require("./_internal/buildCatalog");
6
+ const objects_1 = require("../objects");
6
7
  /**
7
8
  * Check if i18nScope is defined and not ending with a ".", if so add a "." at the end.
8
9
  * e.g. if the i18nScope is 'project.edit', the path is `${i18nScope}catalog.organization`,
@@ -53,22 +54,32 @@ function validateUserExistence(catalogName, options) {
53
54
  function getWellknownItemCatalog(i18nScope, catalogName, options) {
54
55
  i18nScope = dotifyString(i18nScope);
55
56
  let catalog;
57
+ const additionalFilters = objects_1.getProp(options, "filters") || [];
56
58
  const collections = getWellknownCollections(i18nScope, "item", options === null || options === void 0 ? void 0 : options.collectionNames);
57
59
  switch (catalogName) {
58
60
  case "myContent":
59
61
  validateUserExistence(catalogName, options);
60
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ owner: options.user.username }] }], collections, "item");
62
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [
63
+ { predicates: [{ owner: options.user.username }] },
64
+ ...additionalFilters,
65
+ ], collections, "item");
61
66
  break;
62
67
  case "favorites":
63
68
  validateUserExistence(catalogName, options);
64
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ group: options.user.favGroupId }] }], collections, "item");
69
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [
70
+ { predicates: [{ group: options.user.favGroupId }] },
71
+ ...additionalFilters,
72
+ ], collections, "item");
65
73
  break;
66
74
  case "organization":
67
75
  validateUserExistence(catalogName, options);
68
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ orgid: options.user.orgId }] }], collections, "item");
76
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ orgid: options.user.orgId }] }, ...additionalFilters], collections, "item");
69
77
  break;
70
78
  case "world":
71
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ type: { not: ["code attachment"] } }] }], collections, "item");
79
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [
80
+ { predicates: [{ type: { not: ["code attachment"] } }] },
81
+ ...additionalFilters,
82
+ ], collections, "item");
72
83
  break;
73
84
  }
74
85
  return catalog;
@@ -83,6 +94,7 @@ function getWellknownItemCatalog(i18nScope, catalogName, options) {
83
94
  function getWellknownGroupCatalog(i18nScope, catalogName, options) {
84
95
  i18nScope = dotifyString(i18nScope);
85
96
  let catalog;
97
+ const additionalFilters = objects_1.getProp(options, "filters") || [];
86
98
  // because collections are needed in arcgis-hub-catalog and
87
99
  // "searchGroups" allows 'q: "*"', we use this as the collection
88
100
  const collections = [
@@ -103,15 +115,21 @@ function getWellknownGroupCatalog(i18nScope, catalogName, options) {
103
115
  switch (catalogName) {
104
116
  case "editGroups":
105
117
  validateUserExistence(catalogName, options);
106
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: ["updateitemcontrol"] }] }], collections, "group");
118
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [
119
+ { predicates: [{ capabilities: ["updateitemcontrol"] }] },
120
+ ...additionalFilters,
121
+ ], collections, "group");
107
122
  break;
108
123
  case "viewGroups":
109
124
  validateUserExistence(catalogName, options);
110
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: { not: ["updateitemcontrol"] } }] }], collections, "group");
125
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [
126
+ { predicates: [{ capabilities: { not: ["updateitemcontrol"] } }] },
127
+ ...additionalFilters,
128
+ ], collections, "group");
111
129
  break;
112
130
  case "allGroups":
113
131
  validateUserExistence(catalogName, options);
114
- catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: [""] }] }], collections, "group");
132
+ catalog = buildCatalog_1.buildCatalog(i18nScope, catalogName, [{ predicates: [{ capabilities: [""] }] }, ...additionalFilters], collections, "group");
115
133
  break;
116
134
  }
117
135
  return catalog;
@@ -241,6 +259,8 @@ function getAllCollectionsMap(i18nScope, entityType) {
241
259
  predicates: [
242
260
  {
243
261
  type: get_family_1.getFamilyTypes("initiative"),
262
+ // only include v2 initiatives
263
+ typekeywords: ["hubInitiativeV2"],
244
264
  },
245
265
  ],
246
266
  },
@@ -1 +1 @@
1
- {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wellKnownCatalog.js","sourceRoot":"","sources":["../../../src/search/wellKnownCatalog.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,22 @@ import { IArcGISContext } from "../ArcGISContext";
2
2
  import { HubEntity, HubEntityType } from "../core/types";
3
3
  import { IAssociationStats } from "./types";
4
4
  /**
5
- * get an entity's association stats - # of associated, pending,
6
- * requesting, included/referenced entities
5
+ * get Entity A's association stats with Entity B:
6
+ *
7
+ * 1. associated: the number of Entity B's that Entity A
8
+ * is associated with
9
+ *
10
+ * 2. pending: the number of outgoing requests Entity A
11
+ * has sent to Entity B
12
+ *
13
+ * 3. requesting: the number of incoming requests Entity A
14
+ * has received from Entity B
15
+ *
16
+ * 4a. included: if Entity A is the parent, the number of
17
+ * Entity B's it has included in its association group
18
+ *
19
+ * 4b. referenced: if Entity A is the child, the number of
20
+ * Entity B's it has referenced (via typeKeyword)
7
21
  *
8
22
  * @param entity - Hub entity
9
23
  * @param associationType - entity type to query for
@@ -0,0 +1,22 @@
1
+ import { HubEntity, HubEntityType } from "../core/types";
2
+ /**
3
+ * The following util returns an array of ids that the provided
4
+ * entity "references" via a typeKeyword of the form ref|<associationType>|<id>
5
+ *
6
+ * Note: if a specific associationType is not provided, this util
7
+ * will return ALL the ids that the provided entity "references"
8
+ *
9
+ * Additional context: the model for associations is built around
10
+ * platform capabilities. Platform imposes a limit of 128 on the
11
+ * number of typeKeywords that can be set on an item. Since "child"
12
+ * entities form their half of an association connection via
13
+ * typeKeywords, we must limit the number of associations a child
14
+ * can request or accept to far fewer than 128. For now, we are
15
+ * imposing a limit of 50. From the application, we can then use
16
+ * this util to determine if a child has already reached the limit
17
+ *
18
+ * @param entity - hub entity to extract ids from
19
+ * @param associationType - entity type to extract reference ids for
20
+ * @returns {string[]}
21
+ */
22
+ export declare const getReferencedEntityIds: (entity: HubEntity, associationType?: HubEntityType) => string[];
@@ -8,6 +8,7 @@ export * from "./getAssociationStats";
8
8
  export * from "./getAvailableToRequestEntitiesQuery";
9
9
  export * from "./getPendingEntitiesQuery";
10
10
  export * from "./getRequestingEntitiesQuery";
11
- export * from "./getWellKnownAssociationsCatalog";
11
+ export * from "./getReferencedEntityIds";
12
+ export * from "./wellKnownAssociationCatalogs";
12
13
  export { requestAssociation } from "./requestAssociation";
13
14
  export { requestAssociation as acceptAssociation } from "./requestAssociation";
@@ -10,4 +10,4 @@ import { HubEntity, HubEntityType } from "../../core";
10
10
  * @param associationType - entity type to extract ids for
11
11
  * @returns {string[]}
12
12
  */
13
- export declare const getIdsFromKeywords: (entity: HubEntity, associationType: HubEntityType) => string[];
13
+ export declare const getIdsFromKeywords: (entity: HubEntity, associationType?: HubEntityType) => string[];
@@ -70,3 +70,15 @@ export interface IAssociationInfo {
70
70
  * Association type
71
71
  */
72
72
  export declare type AssociationType = "initiative";
73
+ /**
74
+ * The model for associations is built around platform
75
+ * capabilities. Platform imposes a limit of 128 on the
76
+ * number of typeKeywords that can be set on an item.
77
+ * Since "child" entities form their half of an association
78
+ * connection via typeKeywords, we must limit the number
79
+ * of associations a child can request or accept to far
80
+ * fewer than 128.
81
+ *
82
+ * For now, we are setting this limit to 50
83
+ */
84
+ export declare const ASSOCIATION_REFERENCE_LIMIT = 50;
@@ -32,3 +32,19 @@ export declare type WellKnownAssociationCatalog = "associated" | "pending" | "re
32
32
  * @returns {IHubCatalog}
33
33
  */
34
34
  export declare function getWellKnownAssociationsCatalog(i18nScope: string, catalogName: WellKnownAssociationCatalog, entity: HubEntity, associationType: HubEntityType, context: IArcGISContext): Promise<IHubCatalog>;
35
+ /**
36
+ * Specific util for building well-known (My content, Favorites,
37
+ * Organization, and World) association catalogs to populate
38
+ * a gallery picker experience for requesting association.
39
+ *
40
+ * In addition to the normal filters that define these well-known
41
+ * catalogs, we also need to further filter the results to only
42
+ * include entities that can still be requested for association.
43
+ *
44
+ * @param i18nScope - translation scope to be interpolated into the catalog
45
+ * @param entity - primary entity the catalog is being built for
46
+ * @param associationType - type of entity the primary entity wants to view associations for
47
+ * @param context - contextual auth and portal information
48
+ * @returns {IHubCatalog[]}
49
+ */
50
+ export declare const getAvailableToRequestAssociationCatalogs: (i18nScope: string, entity: HubEntity, associationType: HubEntityType, context: IArcGISContext) => IHubCatalog[];
@@ -51,6 +51,8 @@ export interface ICardActionLink {
51
51
  showLabel?: boolean;
52
52
  icon?: string;
53
53
  buttonStyle?: "outline" | "outline-fill" | "solid" | "transparent";
54
+ disabled?: boolean;
55
+ tooltip?: string;
54
56
  }
55
57
  export declare type CardModelTarget = "self" | "siteRelative" | "workspaceRelative" | "none" | "event";
56
58
  export declare type EntityToCardModelFn<T> = (entity: T, context: IArcGISContext, opts?: IConvertToCardModelOpts) => IHubCardViewModel;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Recursively deletes properties from an object or array that have a
3
+ * specific value.
4
+ *
5
+ * Hub commonly applies migrations to entities on load. During those
6
+ * migrations, often we want to delete properties to clean things up.
7
+ * However, during the save process, we typically fetch the entity
8
+ * from it's backing store and spread the migrated entity over the top of
9
+ * the fetched entity. This results in the deleted props being re-added.
10
+ *
11
+ * To avoid this, instead of deleting the props in the migration,
12
+ * we can set them to a specific value (e.g. `remove-this-prop`) and then
13
+ * use this function to remove them, after the merge.
14
+ *
15
+ * @param object - The object or array to delete properties from.
16
+ * @param value - The value to match and delete.
17
+ * @returns The modified object or array with properties deleted.
18
+ */
19
+ export declare function deepDeletePropByValue(object: any, value: any): any;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Compares two values deeply for equality.
3
+ * Works for primatives, arrays and objects.
4
+ * Not verified for other types.
5
+ * @param a - The first value to compare.
6
+ * @param b - The second value to compare.
7
+ * @returns True if the values are deeply equal, false otherwise.
8
+ */
9
+ export declare function deepEqual(a: any, b: any): boolean;
@@ -13,3 +13,5 @@ export * from "./deepFilter";
13
13
  export * from "./deepFind";
14
14
  export * from "./resolveReferences";
15
15
  export * from "./pickProps";
16
+ export * from "./deepEqual";
17
+ export * from "./deepDeletePropByValue";
@@ -1,6 +1,6 @@
1
1
  import { IUser } from "@esri/arcgis-rest-types";
2
2
  import { HubFamily } from "../types";
3
- import { EntityType, IHubCatalog, IHubCollection } from "./types";
3
+ import { EntityType, IFilter, IHubCatalog, IHubCollection } from "./types";
4
4
  /**
5
5
  * This is used to determine what IHubCatalog definition JSON object
6
6
  * can be created
@@ -21,6 +21,8 @@ export declare type WellKnownCollection = Exclude<HubFamily, "app" | "map"> | "a
21
21
  export interface IGetWellKnownCatalogOptions {
22
22
  user?: IUser;
23
23
  collectionNames?: WellKnownCollection[];
24
+ /** additional filters to apply to the catalog scope */
25
+ filters?: IFilter[];
24
26
  }
25
27
  /**
26
28
  * Check if i18nScope is defined and not ending with a ".", if so add a "." at the end.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.83.0",
3
+ "version": "14.85.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",
@@ -1 +0,0 @@
1
- {"version":3,"file":"getWellKnownAssociationsCatalog.js","sourceRoot":"","sources":["../../../src/associations/getWellKnownAssociationsCatalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAEL,YAAY,EACZ,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAapC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAAiB,EACjB,WAAwC,EACxC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB;IAEvB,IAAI,OAAoB,CAAC;IACzB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,wDAAwD,UAAU,QAAQ,eAAe,oBAAoB,CAC9G,CAAC;KACH;IAED,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,WAAW,GAAG;QAClB,sBAAsB,CACpB,SAAS,EACT,YAAY,EACZ,eAAsC,CACvC;KACF,CAAC;IAEF,yDAAyD;IACzD,IAAI,KAAa,CAAC;IAClB,QAAQ,WAAW,EAAE;QACnB,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,0BAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,0BAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,oBAAoB;YACvB,KAAK,GAAG,kCAAkC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACpE,MAAM;KACT;IAED,sCAAsC;IACtC,gEAAgE;IAChE,2DAA2D;IAC3D,qCAAqC;IACrC,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAC5B,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,GAAG,YAAY,CACpB,SAAS,EACT,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,CACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getWellKnownAssociationsCatalog.js","sourceRoot":"","sources":["../../../src/associations/getWellKnownAssociationsCatalog.ts"],"names":[],"mappings":";;;AACA,kCAA4C;AAE5C,mEAAgE;AAChE,qFAAkF;AAClF,6EAA0E;AAC1E,uEAAoE;AACpE,6FAA0F;AAC1F,6EAA0E;AAC1E,8EAA2E;AAE3E,iEAIoC;AAapC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,+BAA+B,CACnD,SAAiB,EACjB,WAAwC,EACxC,MAAiB,EACjB,eAA8B,EAC9B,OAAuB;IAEvB,IAAI,OAAoB,CAAC;IACzB,MAAM,UAAU,GAAG,wBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,+CAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,wDAAwD,UAAU,QAAQ,eAAe,oBAAoB,CAC9G,CAAC;KACH;IAED,SAAS,GAAG,+BAAY,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,6CAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,WAAW,GAAG;QAClB,yCAAsB,CACpB,SAAS,EACT,YAAY,EACZ,eAAsC,CACvC;KACF,CAAC;IAEF,yDAAyD;IACzD,IAAI,KAAa,CAAC;IAClB,QAAQ,WAAW,EAAE;QACnB,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,uDAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,GAAG,MAAM,iDAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,YAAY;YACf,KAAK,GAAG,MAAM,uDAA0B,CACtC,MAAM,EACN,eAAe,EACf,OAAO,CACR,CAAC;YACF,MAAM;QACR,KAAK,oBAAoB;YACvB,KAAK,GAAG,uEAAkC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACpE,MAAM;KACT;IAED,sCAAsC;IACtC,gEAAgE;IAChE,2DAA2D;IAC3D,qCAAqC;IACrC,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAC5B,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,GAAG,2BAAY,CACpB,SAAS,EACT,WAAW,EACX,OAAO,EACP,WAAW,EACX,YAAY,CACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAtED,0EAsEC"}