@esri/hub-common 12.29.0 → 12.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/esm/core/behaviors/IWithMetricsBehavior.js +1 -0
  2. package/dist/esm/core/behaviors/IWithMetricsBehavior.js.map +1 -0
  3. package/dist/esm/core/traits/IWithMetrics.js +1 -0
  4. package/dist/esm/core/traits/IWithMetrics.js.map +1 -0
  5. package/dist/esm/core/types/IHubProject.js.map +1 -1
  6. package/dist/esm/core/types/IReference.js +5 -0
  7. package/dist/esm/core/types/IReference.js.map +1 -0
  8. package/dist/esm/core/types/Metrics.js +1 -0
  9. package/dist/esm/core/types/Metrics.js.map +1 -0
  10. package/dist/esm/core/types/index.js +2 -0
  11. package/dist/esm/core/types/index.js.map +1 -1
  12. package/dist/esm/index.js +1 -0
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/initiatives/HubInitiative.js +18 -0
  15. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  16. package/dist/esm/initiatives/_internal/getPropertyMap.js +1 -0
  17. package/dist/esm/initiatives/_internal/getPropertyMap.js.map +1 -1
  18. package/dist/esm/metrics/aggregateMetrics.js +43 -0
  19. package/dist/esm/metrics/aggregateMetrics.js.map +1 -0
  20. package/dist/esm/metrics/getEntityMetrics.js +38 -0
  21. package/dist/esm/metrics/getEntityMetrics.js.map +1 -0
  22. package/dist/esm/metrics/index.js +4 -0
  23. package/dist/esm/metrics/index.js.map +1 -0
  24. package/dist/esm/metrics/resolveMetric.js +167 -0
  25. package/dist/esm/metrics/resolveMetric.js.map +1 -0
  26. package/dist/esm/projects/HubProject.js +18 -0
  27. package/dist/esm/projects/HubProject.js.map +1 -1
  28. package/dist/esm/projects/_internal/getPropertyMap.js +1 -0
  29. package/dist/esm/projects/_internal/getPropertyMap.js.map +1 -1
  30. package/dist/esm/utils/memoize.js +14 -4
  31. package/dist/esm/utils/memoize.js.map +1 -1
  32. package/dist/esm/versioning/updateVersionMetadata.js +1 -1
  33. package/dist/esm/versioning/updateVersionMetadata.js.map +1 -1
  34. package/dist/node/core/behaviors/IWithMetricsBehavior.js +3 -0
  35. package/dist/node/core/behaviors/IWithMetricsBehavior.js.map +1 -0
  36. package/dist/node/core/traits/IWithMetrics.js +3 -0
  37. package/dist/node/core/traits/IWithMetrics.js.map +1 -0
  38. package/dist/node/core/types/IHubProject.js.map +1 -1
  39. package/dist/node/core/types/IReference.js +7 -0
  40. package/dist/node/core/types/IReference.js.map +1 -0
  41. package/dist/node/core/types/Metrics.js +3 -0
  42. package/dist/node/core/types/Metrics.js.map +1 -0
  43. package/dist/node/core/types/index.js +2 -0
  44. package/dist/node/core/types/index.js.map +1 -1
  45. package/dist/node/index.js +1 -0
  46. package/dist/node/index.js.map +1 -1
  47. package/dist/node/initiatives/HubInitiative.js +18 -0
  48. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  49. package/dist/node/initiatives/_internal/getPropertyMap.js +1 -0
  50. package/dist/node/initiatives/_internal/getPropertyMap.js.map +1 -1
  51. package/dist/node/metrics/aggregateMetrics.js +47 -0
  52. package/dist/node/metrics/aggregateMetrics.js.map +1 -0
  53. package/dist/node/metrics/getEntityMetrics.js +42 -0
  54. package/dist/node/metrics/getEntityMetrics.js.map +1 -0
  55. package/dist/node/metrics/index.js +7 -0
  56. package/dist/node/metrics/index.js.map +1 -0
  57. package/dist/node/metrics/resolveMetric.js +171 -0
  58. package/dist/node/metrics/resolveMetric.js.map +1 -0
  59. package/dist/node/projects/HubProject.js +18 -0
  60. package/dist/node/projects/HubProject.js.map +1 -1
  61. package/dist/node/projects/_internal/getPropertyMap.js +1 -0
  62. package/dist/node/projects/_internal/getPropertyMap.js.map +1 -1
  63. package/dist/node/utils/memoize.js +14 -4
  64. package/dist/node/utils/memoize.js.map +1 -1
  65. package/dist/node/versioning/updateVersionMetadata.js +1 -1
  66. package/dist/node/versioning/updateVersionMetadata.js.map +1 -1
  67. package/dist/types/core/behaviors/IWithMetricsBehavior.d.ts +10 -0
  68. package/dist/types/core/traits/IWithMetrics.d.ts +10 -0
  69. package/dist/types/core/types/DynamicValues.d.ts +1 -7
  70. package/dist/types/core/types/IHubInitiative.d.ts +2 -1
  71. package/dist/types/core/types/IHubProject.d.ts +2 -1
  72. package/dist/types/core/types/IReference.d.ts +7 -0
  73. package/dist/types/core/types/Metrics.d.ts +159 -0
  74. package/dist/types/core/types/index.d.ts +2 -0
  75. package/dist/types/index.d.ts +1 -0
  76. package/dist/types/initiatives/HubInitiative.d.ts +9 -2
  77. package/dist/types/metrics/aggregateMetrics.d.ts +10 -0
  78. package/dist/types/metrics/getEntityMetrics.d.ts +10 -0
  79. package/dist/types/metrics/index.d.ts +3 -0
  80. package/dist/types/metrics/resolveMetric.d.ts +11 -0
  81. package/dist/types/projects/HubProject.d.ts +9 -2
  82. package/dist/types/utils/memoize.d.ts +3 -1
  83. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IWithMetricsBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithMetricsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithMetricsBehavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IWithMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithMetrics.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithMetrics.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
1
+ {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Interface for a reference to another value in the same object graph.
3
+ * Can be used with `getProp(obj, ref.$use)` to get the value of the referenced property
4
+ */
5
+ //# sourceMappingURL=IReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReference.js","sourceRoot":"","sources":["../../../../src/core/types/IReference.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.js","sourceRoot":"","sources":["../../../../src/core/types/Metrics.ts"],"names":[],"mappings":""}
@@ -21,4 +21,6 @@ export * from "./IServerEnrichments";
21
21
  export * from "./ISystemStatus";
22
22
  export * from "./types";
23
23
  export * from "./DynamicValues";
24
+ export * from "./IReference";
25
+ export * from "./Metrics";
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
package/dist/esm/index.js CHANGED
@@ -34,6 +34,7 @@ export * from "./users";
34
34
  export * from "./util";
35
35
  export * from "./utils";
36
36
  export * from "./versioning";
37
+ export * from "./metrics";
37
38
  // Unclear _why_ this needs to be here vs in core/index.ts
38
39
  // but if it's not here, the function is not exported
39
40
  export * from "./core/updateHubEntity";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AAEvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,0BAA0B;AAE1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,0DAA0D;AAC1D,qDAAqD;AACrD,cAAc,wBAAwB,CAAC;AAEvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -3,6 +3,8 @@ import { getEntityEditorSchemas } from "../core/schemas/getEntityEditorSchemas";
3
3
  import { createInitiative, deleteInitiative, fetchInitiative, updateInitiative, } from "./HubInitiatives";
4
4
  import { Catalog } from "../search";
5
5
  import { HubItemEntity } from "../core/HubItemEntity";
6
+ import { getEntityMetrics } from "../metrics/getEntityMetrics";
7
+ import { resolveMetric } from "../metrics/resolveMetric";
6
8
  /**
7
9
  * Hub Initiative Class
8
10
  */
@@ -146,5 +148,21 @@ export class HubInitiative extends HubItemEntity {
146
148
  // Delegate to module fn
147
149
  await deleteInitiative(this.entity.id, this.context.userRequestOptions);
148
150
  }
151
+ /**
152
+ * Resolve a single metric for this metric
153
+ * @param metricId
154
+ * @returns
155
+ */
156
+ resolveMetric(metricId) {
157
+ const metrics = getEntityMetrics(this.entity);
158
+ const metric = metrics.find((m) => m.id === metricId);
159
+ // TODO: Add caching
160
+ if (metric) {
161
+ return resolveMetric(metric, this.context);
162
+ }
163
+ else {
164
+ throw new Error(`Metric ${metricId} not found.`);
165
+ }
166
+ }
149
167
  }
150
168
  //# sourceMappingURL=HubInitiative.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAUhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD;;GAEG;AACH,MAAM,OAAO,aACX,SAAQ,aAA6B;IAQrC;;;;OAIG;IACH,YAAoB,MAAsB,EAAE,OAAuB;QACjE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA6B,EAC7B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,iBAA0C,EAC1C,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC5D,sCAAsC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,sBAAsB;QACtB,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzE,sDAAsD;YACtD,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAChD;QAAC,OAAO,EAAE,EAAE;YACX,IACG,EAAY,CAAC,OAAO;gBACrB,oDAAoD,EACpD;gBACA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;SACF;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,SAAiB,EACjB,IAA0B,EAC1B,UAAoC,EAAE;QAEtC,OAAO,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,iBAA0C,EAC1C,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAChC,iBAAiB,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SACrD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCACR,kBAAkB,GAClB,iBAAiB,CACH,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAgC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrE;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,gBAAgB,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QAED,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,wBAAwB;QACxB,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export function getPropertyMap() {
17
17
  });
18
18
  map.push({ objectKey: "contacts", modelKey: "data.contacts" });
19
19
  map.push({ objectKey: "timeline", modelKey: "data.timeline" });
20
+ map.push({ objectKey: "metrics", modelKey: "item.properties.metrics" });
20
21
  return map;
21
22
  }
22
23
  //# sourceMappingURL=getPropertyMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAExE,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Given an array of metrics, aggregate them using the specified aggregation
3
+ * Consumer must be aware of the type of the metrics and pass an appropriate aggregation
4
+ * @param metrics
5
+ * @param aggregation
6
+ * @returns
7
+ */
8
+ export function aggregateMetrics(metrics, field, aggregation) {
9
+ // Get the values from the metrics, we use any so
10
+ // we can keep the rest of the code simpler
11
+ const values = metrics.map((m) => m.attributes[field]);
12
+ let aggregate = null;
13
+ switch (aggregation) {
14
+ case "sum":
15
+ aggregate = values.reduce((acc, v) => acc + v, 0);
16
+ break;
17
+ case "count":
18
+ aggregate = values.length;
19
+ break;
20
+ case "avg":
21
+ aggregate = values.reduce((acc, v) => acc + v, 0) / values.length;
22
+ break;
23
+ case "min":
24
+ aggregate = values.reduce((acc, v) => Math.min(acc, v), Number.MAX_VALUE);
25
+ break;
26
+ case "max":
27
+ aggregate = values.reduce((acc, v) => Math.max(acc, v), Number.MIN_VALUE);
28
+ break;
29
+ case "countByValue": // count for each value as a hash {value: string, count: number}
30
+ aggregate = values.reduce((acc, v) => {
31
+ if (acc[v]) {
32
+ acc[v] += 1;
33
+ }
34
+ else {
35
+ acc[v] = 1;
36
+ }
37
+ return acc;
38
+ }, {});
39
+ break;
40
+ }
41
+ return aggregate;
42
+ }
43
+ //# sourceMappingURL=aggregateMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregateMetrics.js","sourceRoot":"","sources":["../../../src/metrics/aggregateMetrics.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyB,EACzB,KAAa,EACb,WAA+B;IAE/B,iDAAiD;IACjD,2CAA2C;IAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAQ,CAAC,CAAC;IAE9D,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,QAAQ,WAAW,EAAE;QACnB,KAAK,KAAK;YACR,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,OAAO;YACV,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,MAAM;QACR,KAAK,KAAK;YACR,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAClE,MAAM;QACR,KAAK,KAAK;YACR,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,MAAM;QAER,KAAK,KAAK;YACR,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1E,MAAM;QACR,KAAK,cAAc,EAAE,gEAAgE;YACnF,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;oBACV,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBACb;qBAAM;oBACL,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBACZ;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM;KACT;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { getProp } from "../objects/get-prop";
2
+ import { cloneObject } from "../util";
3
+ /**
4
+ * Get the metrics from an entity applying some pre-processing
5
+ * and adding source info.
6
+ * @param entity
7
+ * @returns
8
+ */
9
+ export function getEntityMetrics(entity) {
10
+ // Create the source info that will attach into each metric
11
+ const sourceInfo = {
12
+ id: entity.id,
13
+ name: entity.name,
14
+ type: entity.type,
15
+ };
16
+ const entityMetrics = entity.metrics || [];
17
+ const metrics = entityMetrics.map((metric) => {
18
+ // assign the source info to the metric
19
+ metric.entityInfo = Object.assign({}, sourceInfo);
20
+ // at this point the source references should have been resolved
21
+ // so we can cast the source to a MetricSource
22
+ const source = metric.source;
23
+ // If the metric is an item query and the catalog key is defined
24
+ // get the scope from the specified collection in the catalog.
25
+ if (source.type === "item-query" && source.collectionKey) {
26
+ const key = source.collectionKey;
27
+ const query = getProp(entity.catalog, `collections[findBy(key,'${key}')].scope`);
28
+ if (query) {
29
+ source.scope = cloneObject(query);
30
+ }
31
+ }
32
+ // reassign the source with updates
33
+ metric.source = source;
34
+ return metric;
35
+ });
36
+ return metrics;
37
+ }
38
+ //# sourceMappingURL=getEntityMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEntityMetrics.js","sourceRoot":"","sources":["../../../src/metrics/getEntityMetrics.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoC;IAEpC,2DAA2D;IAC3D,MAAM,UAAU,GAAgB;QAC9B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAE3C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,uCAAuC;QACvC,MAAM,CAAC,UAAU,qBAAQ,UAAU,CAAE,CAAC;QAEtC,gEAAgE;QAChE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAsB,CAAC;QAC7C,gEAAgE;QAChE,8DAA8D;QAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE;YACxD,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC;YACjC,MAAM,KAAK,GAAG,OAAO,CACnB,MAAM,CAAC,OAAO,EACd,2BAA2B,GAAG,WAAW,CAC1C,CAAC;YAEF,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;aACnC;SACF;QACD,mCAAmC;QACnC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./getEntityMetrics";
2
+ export * from "./resolveMetric";
3
+ export * from "./aggregateMetrics";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/metrics/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,167 @@
1
+ import { queryFeatures } from "@esri/arcgis-rest-feature-layer";
2
+ import { getProp } from "../objects/get-prop";
3
+ import { combineQueries } from "../search/_internal/combineQueries";
4
+ import { memoize } from "../utils/memoize";
5
+ import { portalSearchItemsAsItems } from "../search/_internal/portalSearchItems";
6
+ /**
7
+ * Resolve a Metric into an array of `IMetricFeature` objects.
8
+ * This implementation is similar to DynamicValues, but is just different
9
+ * enough to warrant a separate implementation.
10
+ * @param metric
11
+ * @param context
12
+ * @returns
13
+ */
14
+ export async function resolveMetric(metric, context) {
15
+ // At this point the source references should have been resolved
16
+ // so we can force case to a MetricSource and switch on the type
17
+ const source = metric.source;
18
+ // call the appropriate resolver
19
+ switch (source.type) {
20
+ case "static-value":
21
+ return resolveStaticValueMetric(metric, context);
22
+ case "service-query":
23
+ return resolveServiceQueryMetric(metric, context);
24
+ case "item-query":
25
+ return resolveItemQueryMetric(metric, context);
26
+ default:
27
+ throw new Error(`Unknown metric type passed in.`);
28
+ }
29
+ }
30
+ /**
31
+ * Resolve a static value metric
32
+ * @param metric
33
+ * @param context
34
+ * @returns
35
+ */
36
+ function resolveStaticValueMetric(metric, context) {
37
+ const source = metric.source;
38
+ // cut off the parent identifier from the metric id and use that
39
+ // as the output field name
40
+ const fieldName = metric.id.split("_")[0];
41
+ const result = {
42
+ attributes: {
43
+ id: metric.entityInfo.id,
44
+ name: metric.entityInfo.name,
45
+ type: metric.entityInfo.type,
46
+ [fieldName]: source.value,
47
+ },
48
+ };
49
+ return Promise.resolve([result]);
50
+ }
51
+ /**
52
+ * Exequte a query against a service and return the aggregate value
53
+ * in an `IMetricFeature`
54
+ * @param metric
55
+ * @param context
56
+ * @returns
57
+ */
58
+ async function resolveServiceQueryMetric(metric, context) {
59
+ const source = metric.source;
60
+ // cut off the parent identifier from the metric id and use that
61
+ // as the output field name
62
+ const fieldName = metric.id.split("_")[0];
63
+ // If no where is provided, default to "1=1"
64
+ source.where = source.where || "1=1";
65
+ // Construct the stats definition
66
+ const statsDef = {
67
+ onStatisticField: source.field,
68
+ statisticType: source.statistic,
69
+ outStatisticFieldName: source.field,
70
+ };
71
+ // construct the url by appending the layer id if provided
72
+ const serviceUrl = source.serviceUrl + `/${source.layerId}`;
73
+ // Execute the query
74
+ const response = await queryFeatures({
75
+ url: serviceUrl,
76
+ where: source.where,
77
+ f: "json",
78
+ outStatistics: [statsDef],
79
+ authentication: context.requestOptions.authentication,
80
+ });
81
+ // TODO: If we enable more stats, we will need to update
82
+ // how we fetch the values out of the response
83
+ const aggregate = getProp(response, `features[0].attributes.${source.field}`);
84
+ const result = {
85
+ attributes: {
86
+ id: metric.entityInfo.id,
87
+ name: metric.entityInfo.name,
88
+ type: metric.entityInfo.type,
89
+ [fieldName]: aggregate,
90
+ },
91
+ };
92
+ return [result];
93
+ }
94
+ async function resolveItemQueryMetric(metric, context) {
95
+ const source = metric.source;
96
+ // cut off the parent identifier from the metric id and use that
97
+ // as the output field name
98
+ const fieldName = metric.id.split("_")[0];
99
+ // create the query from the source properties
100
+ const predicate = {
101
+ typekeywords: source.keywords,
102
+ };
103
+ if (source.itemTypes) {
104
+ predicate.type = source.itemTypes;
105
+ }
106
+ const baseQuery = {
107
+ targetEntity: "item",
108
+ filters: [
109
+ {
110
+ operation: "AND",
111
+ predicates: [predicate],
112
+ },
113
+ ],
114
+ };
115
+ const scope = source.scope || {
116
+ targetEntity: "item",
117
+ filters: [],
118
+ };
119
+ const combined = combineQueries([baseQuery, scope]);
120
+ const opts = {
121
+ requestOptions: context.hubRequestOptions,
122
+ num: 100,
123
+ };
124
+ // create/get memoized version of portalSearchItemsAsItems
125
+ const memoizedPortalSearch = memoize(portalSearchItemsAsItems);
126
+ // Execute the query
127
+ const response = await memoizedPortalSearch(combined, opts);
128
+ // This next section is all promise based so that a dynamic value
129
+ // can itself be a dynamic value definition, which then needs to be
130
+ // resolved.
131
+ const promises = await response.results.reduce(async (valsPromise, item) => {
132
+ const vals = await valsPromise;
133
+ const valueFromItem = getProp(item, source.propertyPath);
134
+ const result = {
135
+ attributes: {
136
+ id: item.id,
137
+ name: item.title,
138
+ type: item.type,
139
+ [fieldName]: null,
140
+ },
141
+ };
142
+ // Handle case where value is not found...
143
+ // e.g. the project exists but the metric is not defined yet
144
+ if (valueFromItem) {
145
+ // This block is needed if we are just plucking a value from the item
146
+ // e.g. item.views or item.access
147
+ if (typeof valueFromItem === "string" ||
148
+ typeof valueFromItem === "number") {
149
+ result.attributes[fieldName] = valueFromItem;
150
+ vals.push(Promise.resolve(result));
151
+ }
152
+ else {
153
+ // valueFromItem is itself a metric so we call resolveDynamicValues again
154
+ // attach in the entity info, so it's present for the next level of recursion
155
+ valueFromItem.entityInfo = result.attributes;
156
+ const vResult = await resolveMetric(valueFromItem, context);
157
+ vals.push(...vResult);
158
+ }
159
+ }
160
+ return vals;
161
+ }, Promise.resolve([]));
162
+ // let everything resolve
163
+ const outputs = (await Promise.all(promises));
164
+ // return the results
165
+ return outputs;
166
+ }
167
+ //# sourceMappingURL=resolveMetric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveMetric.js","sourceRoot":"","sources":["../../../src/metrics/resolveMetric.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { Catalog } from "../search";
4
4
  import { HubItemEntity } from "../core/HubItemEntity";
5
5
  // NOTE: this could be lazy-loaded just like the CUD functions
6
6
  import { fetchProject } from "./fetch";
7
+ import { getEntityMetrics } from "../metrics/getEntityMetrics";
8
+ import { resolveMetric } from "../metrics/resolveMetric";
7
9
  /**
8
10
  * Hub Project Class
9
11
  */
@@ -148,5 +150,21 @@ export class HubProject extends HubItemEntity {
148
150
  // Delegate to module fn
149
151
  await deleteProject(this.entity.id, this.context.userRequestOptions);
150
152
  }
153
+ /**
154
+ * Resolve a single metric for this metric
155
+ * @param metricId
156
+ * @returns
157
+ */
158
+ resolveMetric(metricId) {
159
+ const metrics = getEntityMetrics(this.entity);
160
+ const metric = metrics.find((m) => m.id === metricId);
161
+ // TODO: add caching
162
+ if (metric) {
163
+ return resolveMetric(metric, this.context);
164
+ }
165
+ else {
166
+ throw new Error(`Metric ${metricId} not found.`);
167
+ }
168
+ }
151
169
  }
152
170
  //# sourceMappingURL=HubProject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export function getPropertyMap() {
23
23
  objectKey: "location",
24
24
  modelKey: "item.properties.location",
25
25
  });
26
+ map.push({ objectKey: "metrics", modelKey: "item.properties.metrics" });
26
27
  return map;
27
28
  }
28
29
  //# sourceMappingURL=getPropertyMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;GAKG;AAEH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC;;;;OAIG;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAExE,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -13,7 +13,7 @@ const memoizedFnCache = {};
13
13
  * @returns
14
14
  */
15
15
  export const memoize = (fn) => {
16
- if (!memoizedFnCache[fn.name]) {
16
+ if (!memoizedFnCache[`_${fn.name}`]) {
17
17
  const cache = {};
18
18
  const memoizedFn = (...args) => {
19
19
  const cacheKey = createCacheKeyFromArgs(args);
@@ -24,15 +24,25 @@ export const memoize = (fn) => {
24
24
  cache[cacheKey] = asyncFn;
25
25
  return asyncFn;
26
26
  };
27
- memoizedFnCache[fn.name] = memoizedFn;
27
+ memoizedFnCache[`_${fn.name}`] = memoizedFn;
28
28
  }
29
- return memoizedFnCache[fn.name];
29
+ return memoizedFnCache[`_${fn.name}`];
30
30
  };
31
31
  /**
32
32
  * Clear the cache of a memoized function
33
+ * If no function name is provided, the entire cache is cleared
34
+ * This is useful for testing, but should not be used in production
33
35
  * @param fn
34
36
  */
35
37
  export const clearMemoizedCache = (fnName) => {
36
- delete memoizedFnCache[fnName];
38
+ if (!fnName) {
39
+ Object.keys(memoizedFnCache).forEach((key) => {
40
+ delete memoizedFnCache[key];
41
+ });
42
+ return;
43
+ }
44
+ else {
45
+ delete memoizedFnCache[`_${fnName}`];
46
+ }
37
47
  };
38
48
  //# sourceMappingURL=memoize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/utils/memoize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,IAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,MAAM,CACT,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAChB,CAAC,QAAQ,IAAI,IACX,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EACzD,GAAG,CAAC,EACN,EAAE,CACH,CAAC;AAEJ,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,EAA0B,EAC1B,EAAE;IACF,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7B,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACnB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;aACxB;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5C,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;KACvC;IACD,OAAO,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../../src/utils/memoize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,CAAC,IAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,MAAM,CACT,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAChB,CAAC,QAAQ,IAAI,IACX,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EACzD,GAAG,CAAC,EACN,EAAE,CACH,CAAC;AAEJ,MAAM,eAAe,GAAwB,EAAE,CAAC;AAChD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,EAA0B,EAC1B,EAAE;IACF,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;QACnC,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACnB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;aACxB;YAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5C,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;YAC1B,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QACF,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;KAC7C;IACD,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,EAAE;IACpD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO;KACR;SAAM;QACL,OAAO,eAAe,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;KACtC;AACH,CAAC,CAAC"}
@@ -12,7 +12,7 @@ import { updateItemResource } from "@esri/arcgis-rest-portal";
12
12
  export async function updateVersionMetadata(id, version, requestOptions) {
13
13
  const prefix = getPrefix(version.id);
14
14
  const properties = mergeObjects(version, {}, VERSION_RESOURCE_PROPERTIES);
15
- await updateItemResource(Object.assign(Object.assign({}, requestOptions), { id, name: VERSION_RESOURCE_NAME, params: { properties }, prefix }));
15
+ await updateItemResource(Object.assign(Object.assign({}, requestOptions), { id, name: VERSION_RESOURCE_NAME, owner: properties.creator, params: { properties }, prefix }));
16
16
  return version;
17
17
  }
18
18
  //# sourceMappingURL=updateVersionMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateVersionMetadata.js","sourceRoot":"","sources":["../../../src/versioning/updateVersionMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAU,EACV,OAAyB,EACzB,cAAsC;IAEtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAE1E,MAAM,kBAAkB,iCACnB,cAAc,KACjB,EAAE,EACF,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,IACN,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"updateVersionMetadata.js","sourceRoot":"","sources":["../../../src/versioning/updateVersionMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,EAAU,EACV,OAAyB,EACzB,cAAsC;IAEtC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAE1E,MAAM,kBAAkB,iCACnB,cAAc,KACjB,EAAE,EACF,IAAI,EAAE,qBAAqB,EAC3B,KAAK,EAAE,UAAU,CAAC,OAAO,EACzB,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,IACN,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IWithMetricsBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithMetricsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithMetricsBehavior.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IWithMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWithMetrics.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithMetrics.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":";;;AAqBA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B"}
1
+ {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":";;;AAsBA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6CAAyB,CAAA;IACzB,6CAAyB,CAAA;IACzB,yCAAqB,CAAA;AACvB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Interface for a reference to another value in the same object graph.
4
+ * Can be used with `getProp(obj, ref.$use)` to get the value of the referenced property
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=IReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReference.js","sourceRoot":"","sources":["../../../../src/core/types/IReference.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metrics.js","sourceRoot":"","sources":["../../../../src/core/types/Metrics.ts"],"names":[],"mappings":""}
@@ -24,4 +24,6 @@ tslib_1.__exportStar(require("./IServerEnrichments"), exports);
24
24
  tslib_1.__exportStar(require("./ISystemStatus"), exports);
25
25
  tslib_1.__exportStar(require("./types"), exports);
26
26
  tslib_1.__exportStar(require("./DynamicValues"), exports);
27
+ tslib_1.__exportStar(require("./IReference"), exports);
28
+ tslib_1.__exportStar(require("./Metrics"), exports);
27
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,gEAAsC;AACtC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB;AACxB,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,2DAAiC;AACjC,gEAAsC;AACtC,2DAAiC;AACjC,sDAA4B;AAC5B,sDAA4B;AAC5B,2DAAiC;AACjC,2DAAiC;AACjC,uDAA6B;AAC7B,yDAA+B;AAC/B,qDAA2B;AAC3B,wDAA8B;AAC9B,qDAA2B;AAC3B,0DAAgC;AAChC,yDAA+B;AAC/B,6DAAmC;AACnC,+DAAqC;AACrC,0DAAgC;AAChC,kDAAwB;AACxB,0DAAgC;AAChC,uDAA6B;AAC7B,oDAA0B"}
@@ -38,6 +38,7 @@ tslib_1.__exportStar(require("./users"), exports);
38
38
  tslib_1.__exportStar(require("./util"), exports);
39
39
  tslib_1.__exportStar(require("./utils"), exports);
40
40
  tslib_1.__exportStar(require("./versioning"), exports);
41
+ tslib_1.__exportStar(require("./metrics"), exports);
41
42
  // Unclear _why_ this needs to be here vs in core/index.ts
42
43
  // but if it's not here, the function is not exported
43
44
  tslib_1.__exportStar(require("./core/updateHubEntity"), exports);