@esri/telemetry-amazon 1.0.0-beta.2 → 1.0.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 (109) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +119 -28
  3. package/dist/esm/auth.js +47 -0
  4. package/dist/esm/auth.js.map +1 -0
  5. package/dist/esm/auth.test.js +100 -0
  6. package/dist/esm/auth.test.js.map +1 -0
  7. package/dist/esm/build-access-properties.js +16 -0
  8. package/dist/esm/build-access-properties.js.map +1 -0
  9. package/dist/esm/build-access-properties.test.js +40 -0
  10. package/dist/esm/build-access-properties.test.js.map +1 -0
  11. package/dist/esm/create-event-log.js +31 -0
  12. package/dist/esm/create-event-log.js.map +1 -0
  13. package/dist/esm/create-event-log.test.js +273 -0
  14. package/dist/esm/create-event-log.test.js.map +1 -0
  15. package/dist/esm/create-page-view-log.js +19 -0
  16. package/dist/esm/create-page-view-log.js.map +1 -0
  17. package/dist/esm/create-page-view-log.test.js +69 -0
  18. package/dist/esm/create-page-view-log.test.js.map +1 -0
  19. package/dist/esm/format-telemetry-attributes.js +32 -0
  20. package/dist/esm/format-telemetry-attributes.js.map +1 -0
  21. package/dist/esm/format-telemetry-metrics.js +27 -0
  22. package/dist/esm/format-telemetry-metrics.js.map +1 -0
  23. package/dist/esm/format-telemetry-metrics.test.js +22 -0
  24. package/dist/esm/format-telemetry-metrics.test.js.map +1 -0
  25. package/dist/esm/get-portal-item-access-permissions.js +8 -0
  26. package/dist/esm/get-portal-item-access-permissions.js.map +1 -0
  27. package/dist/esm/get-portal-item-access-permissions.test.js +55 -0
  28. package/dist/esm/get-portal-item-access-permissions.test.js.map +1 -0
  29. package/dist/esm/index.js +63 -0
  30. package/dist/esm/index.js.map +1 -0
  31. package/dist/esm/index.test.js +196 -0
  32. package/dist/esm/index.test.js.map +1 -0
  33. package/dist/esm/set-portal-item-access-permissions.js +20 -0
  34. package/dist/esm/set-portal-item-access-permissions.js.map +1 -0
  35. package/dist/esm/set-portal-item-access-permissions.test.js +177 -0
  36. package/dist/esm/set-portal-item-access-permissions.test.js.map +1 -0
  37. package/dist/esm/types.js +2 -0
  38. package/dist/esm/types.js.map +1 -0
  39. package/dist/node/auth.js +51 -0
  40. package/dist/node/auth.js.map +1 -0
  41. package/dist/node/auth.test.js +103 -0
  42. package/dist/node/auth.test.js.map +1 -0
  43. package/dist/node/build-access-properties.js +20 -0
  44. package/dist/node/build-access-properties.js.map +1 -0
  45. package/dist/node/build-access-properties.test.js +42 -0
  46. package/dist/node/build-access-properties.test.js.map +1 -0
  47. package/dist/node/create-event-log.js +35 -0
  48. package/dist/node/create-event-log.js.map +1 -0
  49. package/dist/node/create-event-log.test.js +275 -0
  50. package/dist/node/create-event-log.test.js.map +1 -0
  51. package/dist/node/create-page-view-log.js +23 -0
  52. package/dist/node/create-page-view-log.js.map +1 -0
  53. package/dist/node/create-page-view-log.test.js +71 -0
  54. package/dist/node/create-page-view-log.test.js.map +1 -0
  55. package/dist/node/format-telemetry-attributes.js +36 -0
  56. package/dist/node/format-telemetry-attributes.js.map +1 -0
  57. package/dist/node/format-telemetry-metrics.js +31 -0
  58. package/dist/node/format-telemetry-metrics.js.map +1 -0
  59. package/dist/node/format-telemetry-metrics.test.js +24 -0
  60. package/dist/node/format-telemetry-metrics.test.js.map +1 -0
  61. package/dist/node/get-portal-item-access-permissions.js +12 -0
  62. package/dist/node/get-portal-item-access-permissions.js.map +1 -0
  63. package/dist/node/get-portal-item-access-permissions.test.js +58 -0
  64. package/dist/node/get-portal-item-access-permissions.test.js.map +1 -0
  65. package/dist/node/index.js +68 -0
  66. package/dist/node/index.js.map +1 -0
  67. package/dist/node/index.test.js +199 -0
  68. package/dist/node/index.test.js.map +1 -0
  69. package/dist/node/set-portal-item-access-permissions.js +24 -0
  70. package/dist/node/set-portal-item-access-permissions.js.map +1 -0
  71. package/dist/node/set-portal-item-access-permissions.test.js +180 -0
  72. package/dist/node/set-portal-item-access-permissions.test.js.map +1 -0
  73. package/dist/node/types.js +3 -0
  74. package/dist/node/types.js.map +1 -0
  75. package/dist/types/auth.d.ts +2 -0
  76. package/dist/types/auth.test.d.ts +1 -0
  77. package/dist/types/build-access-properties.d.ts +2 -0
  78. package/dist/types/build-access-properties.test.d.ts +1 -0
  79. package/dist/types/create-event-log.d.ts +6 -0
  80. package/dist/types/create-event-log.test.d.ts +1 -0
  81. package/dist/types/create-page-view-log.d.ts +8 -0
  82. package/dist/types/create-page-view-log.test.d.ts +1 -0
  83. package/dist/types/format-telemetry-attributes.d.ts +5 -0
  84. package/dist/types/format-telemetry-metrics.d.ts +2 -0
  85. package/dist/types/format-telemetry-metrics.test.d.ts +1 -0
  86. package/dist/types/get-portal-item-access-permissions.d.ts +2 -0
  87. package/dist/types/get-portal-item-access-permissions.test.d.ts +1 -0
  88. package/dist/types/index.d.ts +16 -0
  89. package/dist/types/index.test.d.ts +1 -0
  90. package/dist/types/set-portal-item-access-permissions.d.ts +3 -0
  91. package/dist/types/set-portal-item-access-permissions.test.d.ts +1 -0
  92. package/dist/types/types.d.ts +77 -0
  93. package/dist/umd/telemetry-amazon.js +6844 -0
  94. package/dist/umd/telemetry-amazon.js.map +1 -0
  95. package/dist/umd/telemetry-amazon.min.js +6844 -0
  96. package/dist/umd/telemetry-amazon.min.js.map +1 -0
  97. package/package.json +23 -6
  98. package/dist/telemetry-amazon.js.amd.js +0 -363
  99. package/dist/telemetry-amazon.js.amd.js.map +0 -1
  100. package/dist/telemetry-amazon.js.amd.min.js +0 -2
  101. package/dist/telemetry-amazon.js.amd.min.js.map +0 -1
  102. package/dist/telemetry-amazon.js.dojo.js +0 -363
  103. package/dist/telemetry-amazon.js.dojo.js.map +0 -1
  104. package/dist/telemetry-amazon.js.dojo.min.js +0 -2
  105. package/dist/telemetry-amazon.js.dojo.min.js.map +0 -1
  106. package/dist/telemetry-amazon.js.js +0 -367
  107. package/dist/telemetry-amazon.js.js.map +0 -1
  108. package/dist/telemetry-amazon.js.min.js +0 -2
  109. package/dist/telemetry-amazon.js.min.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-access-properties.test.js","sourceRoot":"","sources":["../../src/build-access-properties.test.ts"],"names":[],"mappings":";;AAAA,uEAAkE;AAElE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC/D,MAAM,gBAAgB,GAAG,IAAA,+CAAqB,EAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAExE,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAuB,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI;aACjB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;aACrB,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAA,+CAAqB,EAAC,eAAe,EAAE,EAAE,EAAE;YACxD,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE;gBACN,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,eAAe;aAC3B;SACF,CAAC,CAAC;QACH,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC9E,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAuB,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI;aACjB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;aACrB,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,gBAAgB,GAAG,IAAA,+CAAqB,EAAC,eAAe,EAAE,EAAE,EAAE;YAClE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,eAAe;aAC3B;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEventLog = void 0;
4
+ const format_telemetry_attributes_1 = require("./format-telemetry-attributes");
5
+ const format_telemetry_metrics_1 = require("./format-telemetry-metrics");
6
+ function createEventLog({ event = {}, dimensionLookup = {}, metricLookup = {}, }) {
7
+ var _a, _b;
8
+ const { pathname: eventPathname, eventType = 'other' } = event;
9
+ const metrics = (0, format_telemetry_metrics_1.formatTelemetryMetrics)(event, metricLookup);
10
+ const eventAttributes = (0, format_telemetry_attributes_1.formatTelemetryAttributes)({
11
+ telemetryData: Object.assign({ eventType }, event),
12
+ dimensionLookup,
13
+ excludeKeys: [
14
+ 'workflow',
15
+ 'pathname',
16
+ ...Object.keys(metrics),
17
+ ...Object.keys(metricLookup),
18
+ ],
19
+ });
20
+ const telemetryPayload = Object.assign(Object.assign({ name: eventType }, eventAttributes), metrics);
21
+ // Set browser properties if available
22
+ if (typeof document !== 'undefined' && document.referrer) {
23
+ telemetryPayload.referrer = document.referrer;
24
+ }
25
+ if (typeof window !== 'undefined' && !telemetryPayload.hostname) {
26
+ telemetryPayload.hostname = (_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname;
27
+ }
28
+ telemetryPayload.path =
29
+ typeof window !== 'undefined' && window.location.pathname
30
+ ? (_b = window.location) === null || _b === void 0 ? void 0 : _b.pathname
31
+ : eventPathname;
32
+ return telemetryPayload;
33
+ }
34
+ exports.createEventLog = createEventLog;
35
+ //# sourceMappingURL=create-event-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-event-log.js","sourceRoot":"","sources":["../../src/create-event-log.ts"],"names":[],"mappings":";;;AAAA,+EAA0E;AAC1E,yEAAoE;AAGpE,SAAgB,cAAc,CAAC,EAC7B,KAAK,GAAG,EAAe,EACvB,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAKlB;;IACC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAA,iDAAsB,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,IAAA,uDAAyB,EAAC;QAChD,aAAa,kBAAI,SAAS,IAAK,KAAK,CAAE;QACtC,eAAe;QACf,WAAW,EAAE;YACX,UAAU;YACV,UAAU;YACV,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,iCACpB,IAAI,EAAE,SAAS,IACZ,eAAe,GACf,OAAO,CACX,CAAC;IAEF,sCAAsC;IACtC,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACxD,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;KAC/C;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAC/D,gBAAgB,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ,CAAC;KACvD;IAED,gBAAgB,CAAC,IAAI;QACnB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ;YACvD,CAAC,CAAC,MAAA,MAAM,CAAC,QAAQ,0CAAE,QAAQ;YAC3B,CAAC,CAAC,aAAa,CAAC;IAEpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AA3CD,wCA2CC"}
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const create_event_log_1 = require("./create-event-log");
4
+ describe('Window defined - Browser', () => {
5
+ const originalWindowLocation = Object.assign({}, window.location);
6
+ let documentReferrerSpy;
7
+ beforeEach(() => {
8
+ jest.spyOn(window, 'location', 'get').mockImplementation(() => (Object.assign(Object.assign({}, originalWindowLocation), { hostname: 'https://hostname.com', pathname: '/path/name' })));
9
+ documentReferrerSpy = jest
10
+ .spyOn(document, 'referrer', 'get')
11
+ .mockImplementation(() => 'https://foo-bar.com');
12
+ jest.spyOn(global, 'Date').mockImplementation(() => new Date(0).toString());
13
+ });
14
+ afterEach(() => {
15
+ jest.restoreAllMocks();
16
+ });
17
+ test('createEventLog with referrer', () => {
18
+ const event = {
19
+ eventType: 'download',
20
+ category: 'foo',
21
+ action: 'bar',
22
+ label: 'buzz',
23
+ datasetId: 'abcdef0123456789',
24
+ timeMetric: 1.567,
25
+ count: 4,
26
+ };
27
+ const dimensionLookup = {
28
+ datasetId: 6,
29
+ someAttribute: 7,
30
+ };
31
+ const metricLookup = {
32
+ timeMetric: 1,
33
+ otherMetric: 3,
34
+ };
35
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
36
+ expect(result).toEqual({
37
+ action: 'bar',
38
+ category: 'foo',
39
+ dimension6: 'abcdef0123456789',
40
+ eventType: 'download',
41
+ hostname: 'https://hostname.com',
42
+ label: 'buzz',
43
+ path: '/path/name',
44
+ referrer: 'https://foo-bar.com',
45
+ name: 'download',
46
+ count: 4,
47
+ metric1: 1.567,
48
+ });
49
+ });
50
+ test('createEventLog without referrer', () => {
51
+ documentReferrerSpy.mockImplementationOnce(() => undefined);
52
+ const event = {
53
+ eventType: 'download',
54
+ category: 'foo',
55
+ action: 'bar',
56
+ label: 'buzz',
57
+ datasetId: 'abcdef0123456789',
58
+ timeMetric: 1.567,
59
+ count: 4,
60
+ };
61
+ const dimensionLookup = {
62
+ datasetId: 6,
63
+ someAttribute: 7,
64
+ };
65
+ const metricLookup = {
66
+ timeMetric: 1,
67
+ otherMetric: 3,
68
+ };
69
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
70
+ expect(result).toEqual({
71
+ action: 'bar',
72
+ category: 'foo',
73
+ dimension6: 'abcdef0123456789',
74
+ eventType: 'download',
75
+ hostname: 'https://hostname.com',
76
+ label: 'buzz',
77
+ path: '/path/name',
78
+ name: 'download',
79
+ count: 4,
80
+ metric1: 1.567,
81
+ });
82
+ });
83
+ test('createEventLog undefined eventType', () => {
84
+ const event = {
85
+ category: 'foo',
86
+ action: 'bar',
87
+ label: 'buzz',
88
+ datasetId: 'abcdef0123456789',
89
+ timeMetric: 1.567,
90
+ count: 4,
91
+ };
92
+ const dimensionLookup = {
93
+ datasetId: 6,
94
+ someAttribute: 7,
95
+ };
96
+ const metricLookup = {
97
+ timeMetric: 1,
98
+ otherMetric: 3,
99
+ };
100
+ const result = (0, create_event_log_1.createEventLog)({
101
+ event,
102
+ dimensionLookup,
103
+ metricLookup,
104
+ });
105
+ expect(result).toEqual({
106
+ action: 'bar',
107
+ category: 'foo',
108
+ dimension6: 'abcdef0123456789',
109
+ eventType: 'other',
110
+ hostname: 'https://hostname.com',
111
+ label: 'buzz',
112
+ path: '/path/name',
113
+ referrer: 'https://foo-bar.com',
114
+ name: 'other',
115
+ count: 4,
116
+ metric1: 1.567,
117
+ });
118
+ });
119
+ test('createEventLog undefined event', () => {
120
+ const event = {};
121
+ const dimensionLookup = {
122
+ datasetId: 6,
123
+ someAttribute: 7,
124
+ };
125
+ const metricLookup = {
126
+ timeMetric: 1,
127
+ otherMetric: 3,
128
+ };
129
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
130
+ expect(result).toEqual({
131
+ eventType: 'other',
132
+ hostname: 'https://hostname.com',
133
+ path: '/path/name',
134
+ referrer: 'https://foo-bar.com',
135
+ name: 'other',
136
+ });
137
+ });
138
+ });
139
+ describe('Window undefined - Server', () => {
140
+ beforeEach(() => {
141
+ jest.spyOn(global, 'window', 'get').mockImplementation(() => undefined);
142
+ });
143
+ afterEach(() => {
144
+ jest.restoreAllMocks();
145
+ });
146
+ test('createEventLog no hostname or pathname provided', () => {
147
+ const event = {
148
+ eventType: 'download',
149
+ category: 'foo',
150
+ action: 'bar',
151
+ label: 'buzz',
152
+ datasetId: 'abcdef0123456789',
153
+ timeMetric: 1.567,
154
+ count: 4,
155
+ };
156
+ const dimensionLookup = {
157
+ datasetId: 6,
158
+ someAttributes: 7,
159
+ };
160
+ const metricLookup = {
161
+ timeMetric: 1,
162
+ otherMetric: 3,
163
+ };
164
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
165
+ expect(result).toEqual({
166
+ action: 'bar',
167
+ category: 'foo',
168
+ dimension6: 'abcdef0123456789',
169
+ eventType: 'download',
170
+ label: 'buzz',
171
+ name: 'download',
172
+ count: 4,
173
+ metric1: 1.567,
174
+ });
175
+ });
176
+ test('createEventLog hostname provided, no pathname', () => {
177
+ const event = {
178
+ hostname: 'https//hostname.com',
179
+ eventType: 'download',
180
+ category: 'foo',
181
+ action: 'bar',
182
+ label: 'buzz',
183
+ datasetId: 'abcdef0123456789',
184
+ timeMetric: 1.567,
185
+ count: 4,
186
+ };
187
+ const dimensionLookup = {
188
+ datasetId: 6,
189
+ someAttributes: 7,
190
+ };
191
+ const metricLookup = {
192
+ timeMetric: 1,
193
+ otherMetric: 3,
194
+ };
195
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
196
+ expect(result).toEqual({
197
+ hostname: 'https//hostname.com',
198
+ action: 'bar',
199
+ category: 'foo',
200
+ dimension6: 'abcdef0123456789',
201
+ eventType: 'download',
202
+ label: 'buzz',
203
+ name: 'download',
204
+ count: 4,
205
+ metric1: 1.567,
206
+ });
207
+ });
208
+ test('createEventLog pathname provided, no hostname', () => {
209
+ const event = {
210
+ pathname: '/path/name',
211
+ eventType: 'download',
212
+ category: 'foo',
213
+ action: 'bar',
214
+ label: 'buzz',
215
+ datasetId: 'abcdef0123456789',
216
+ timeMetric: 1.567,
217
+ count: 4,
218
+ };
219
+ const dimensionLookup = {
220
+ datasetId: 6,
221
+ someAttributes: 7,
222
+ };
223
+ const metricLookup = {
224
+ timeMetric: 1,
225
+ otherMetric: 3,
226
+ };
227
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
228
+ expect(result).toEqual({
229
+ path: '/path/name',
230
+ action: 'bar',
231
+ category: 'foo',
232
+ dimension6: 'abcdef0123456789',
233
+ eventType: 'download',
234
+ label: 'buzz',
235
+ name: 'download',
236
+ count: 4,
237
+ metric1: 1.567,
238
+ });
239
+ });
240
+ test('createEventLog hostname and pathname provided', () => {
241
+ const event = {
242
+ hostname: 'https://hostname.com',
243
+ pathname: '/path/name',
244
+ eventType: 'download',
245
+ category: 'foo',
246
+ action: 'bar',
247
+ label: 'buzz',
248
+ datasetId: 'abcdef0123456789',
249
+ timeMetric: 1.567,
250
+ count: 4,
251
+ };
252
+ const dimensionLookup = {
253
+ datasetId: 6,
254
+ someAttributes: 7,
255
+ };
256
+ const metricLookup = {
257
+ timeMetric: 1,
258
+ otherMetric: 3,
259
+ };
260
+ const result = (0, create_event_log_1.createEventLog)({ event, dimensionLookup, metricLookup });
261
+ expect(result).toEqual({
262
+ hostname: 'https://hostname.com',
263
+ path: '/path/name',
264
+ action: 'bar',
265
+ category: 'foo',
266
+ dimension6: 'abcdef0123456789',
267
+ eventType: 'download',
268
+ label: 'buzz',
269
+ name: 'download',
270
+ count: 4,
271
+ metric1: 1.567,
272
+ });
273
+ });
274
+ });
275
+ //# sourceMappingURL=create-event-log.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-event-log.test.js","sourceRoot":"","sources":["../../src/create-event-log.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPageViewLog = void 0;
4
+ const format_telemetry_attributes_1 = require("./format-telemetry-attributes");
5
+ const format_telemetry_metrics_1 = require("./format-telemetry-metrics");
6
+ function createPageViewLog({ page, previousPage = {}, options = {}, dimensionLookup = {}, metricLookup = {}, }) {
7
+ const metrics = (0, format_telemetry_metrics_1.formatTelemetryMetrics)(options, metricLookup);
8
+ const attributes = (0, format_telemetry_attributes_1.formatTelemetryAttributes)({
9
+ telemetryData: options,
10
+ dimensionLookup,
11
+ excludeKeys: [
12
+ 'workflow',
13
+ ...Object.keys(metrics),
14
+ ...Object.keys(metricLookup),
15
+ ],
16
+ });
17
+ const { referrer, title } = document || {};
18
+ const { hostname, pathname } = window && window.location ? window.location : {};
19
+ return Object.assign(Object.assign({ name: 'pageView', referrer,
20
+ hostname, path: page || pathname, pageUrl: page || pathname, pageName: title, previousPageUrl: previousPage.pageUrl, previousPageName: previousPage.pageName }, attributes), metrics);
21
+ }
22
+ exports.createPageViewLog = createPageViewLog;
23
+ //# sourceMappingURL=create-page-view-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page-view-log.js","sourceRoot":"","sources":["../../src/create-page-view-log.ts"],"names":[],"mappings":";;;AAAA,+EAA0E;AAC1E,yEAAoE;AAGpE,SAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,YAAY,GAAG,EAAE,EACjB,OAAO,GAAG,EAAE,EACZ,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,EAAE,GAOlB;IACC,MAAM,OAAO,GAAG,IAAA,iDAAsB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAA,uDAAyB,EAAC;QAC3C,aAAa,EAAE,OAAO;QACtB,eAAe;QACf,WAAW,EAAE;YACX,UAAU;YACV,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAC1B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAU,CAAC;IAE5D,qCACE,IAAI,EAAE,UAAU,EAChB,QAAQ;QACR,QAAQ,EACR,IAAI,EAAE,IAAI,IAAI,QAAQ,EACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EACzB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,CAAC,OAAO,EACrC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,IACpC,UAAU,GACV,OAAO,EACV;AACJ,CAAC;AAxCD,8CAwCC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const create_page_view_log_1 = require("./create-page-view-log");
4
+ test('createPageViewLog', () => {
5
+ const page = 'path/to/page';
6
+ const dateSpy = jest
7
+ .spyOn(global, 'Date')
8
+ .mockImplementation(() => new Date(0).toString());
9
+ const result = (0, create_page_view_log_1.createPageViewLog)({ page });
10
+ expect(result).toEqual({
11
+ hostname: 'localhost',
12
+ pageName: '',
13
+ pageUrl: 'path/to/page',
14
+ path: 'path/to/page',
15
+ previousPageName: undefined,
16
+ previousPageUrl: undefined,
17
+ referrer: '',
18
+ name: 'pageView',
19
+ });
20
+ dateSpy.mockRestore();
21
+ });
22
+ test('createPageViewLog, with previous page info', () => {
23
+ const page = 'path/to/page';
24
+ const dateSpy = jest
25
+ .spyOn(global, 'Date')
26
+ .mockImplementation(() => new Date(0).toString());
27
+ const result = (0, create_page_view_log_1.createPageViewLog)({
28
+ page,
29
+ previousPage: { pageUrl: '/test', pageName: 'foo' },
30
+ });
31
+ expect(result).toEqual({
32
+ hostname: 'localhost',
33
+ pageName: '',
34
+ pageUrl: 'path/to/page',
35
+ path: 'path/to/page',
36
+ previousPageName: 'foo',
37
+ previousPageUrl: '/test',
38
+ referrer: '',
39
+ name: 'pageView',
40
+ });
41
+ dateSpy.mockRestore();
42
+ });
43
+ test('createPageViewLog, with optional telemetry data', () => {
44
+ const page = 'path/to/page';
45
+ const result = (0, create_page_view_log_1.createPageViewLog)({
46
+ page,
47
+ options: {
48
+ myDimension: 'boovar',
49
+ anotherDimension: 'bazvar',
50
+ myMetric: 1000,
51
+ anotherMetric: 500,
52
+ },
53
+ metricLookup: { myMetric: 5, anotherMetric: 34 },
54
+ dimensionLookup: { myDimension: 2, anotherDimension: 4 },
55
+ });
56
+ expect(result).toEqual({
57
+ hostname: 'localhost',
58
+ pageName: '',
59
+ pageUrl: 'path/to/page',
60
+ path: 'path/to/page',
61
+ previousPageName: undefined,
62
+ previousPageUrl: undefined,
63
+ referrer: '',
64
+ dimension2: 'boovar',
65
+ dimension4: 'bazvar',
66
+ metric5: 1000,
67
+ metric34: 500,
68
+ name: 'pageView',
69
+ });
70
+ });
71
+ //# sourceMappingURL=create-page-view-log.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page-view-log.test.js","sourceRoot":"","sources":["../../src/create-page-view-log.test.ts"],"names":[],"mappings":";;AAAA,iEAA2D;AAE3D,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI;SACjB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAA,wCAAiB,EAAC,EAAE,IAAI,EAAS,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,cAAc;QACpB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI;SACjB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,IAAA,wCAAiB,EAAC;QAC/B,IAAI;QACJ,YAAY,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC7C,CAAC,CAAC;IACV,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,cAAc;QACpB,gBAAgB,EAAE,KAAK;QACvB,eAAe,EAAE,OAAO;QACxB,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC3D,MAAM,IAAI,GAAG,cAAc,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,wCAAiB,EAAC;QAC/B,IAAI;QACJ,OAAO,EAAE;YACP,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,QAAQ;YAC1B,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,GAAG;SACnB;QACD,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;QAChD,eAAe,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;KACzD,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,cAAc;QACpB,gBAAgB,EAAE,SAAS;QAC3B,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTelemetryAttributes = void 0;
4
+ function formatTelemetryAttributes({ telemetryData, dimensionLookup = {}, excludeKeys = [], }) {
5
+ return Object.keys(telemetryData)
6
+ .filter((key) => {
7
+ return !excludeKeys.includes(key);
8
+ })
9
+ .map((key) => {
10
+ if (dimensionLookup[key]) {
11
+ return {
12
+ key: getCustomDimensionKey(dimensionLookup, key),
13
+ value: telemetryData[key],
14
+ };
15
+ }
16
+ return {
17
+ key,
18
+ value: getValue(telemetryData, key),
19
+ };
20
+ })
21
+ .reduce((acc, { key, value }) => {
22
+ acc[key] = value;
23
+ return acc;
24
+ }, {});
25
+ }
26
+ exports.formatTelemetryAttributes = formatTelemetryAttributes;
27
+ function getValue(data, key) {
28
+ if (key === 'json') {
29
+ return data[key] ? JSON.stringify(data[key]) : 'null';
30
+ }
31
+ return data[key] === undefined ? 'null' : data[key].toString();
32
+ }
33
+ function getCustomDimensionKey(lookup, key) {
34
+ return `dimension${lookup[key]}`;
35
+ }
36
+ //# sourceMappingURL=format-telemetry-attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-telemetry-attributes.js","sourceRoot":"","sources":["../../src/format-telemetry-attributes.ts"],"names":[],"mappings":";;;AAAA,SAAgB,yBAAyB,CAAC,EACxC,aAAa,EACb,eAAe,GAAG,EAAE,EACpB,WAAW,GAAG,EAAE,GAKjB;IACC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO;gBACL,GAAG,EAAE,qBAAqB,CAAC,eAAe,EAAE,GAAG,CAAC;gBAChD,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;aAC1B,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;SACpC,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AA9BD,8DA8BC;AAED,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW;IACtD,IAAI,GAAG,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACvD;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA8B,EAC9B,GAAW;IAEX,OAAO,YAAY,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnC,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTelemetryMetrics = void 0;
4
+ const METRICS = ['size', 'duration', 'position', 'number', 'count'];
5
+ function formatTelemetryMetrics(telemetryData, metricLookup = {}) {
6
+ return Object.keys(telemetryData)
7
+ .filter((key) => {
8
+ return metricLookup[key] || METRICS.includes(key);
9
+ })
10
+ .map((key) => {
11
+ if (metricLookup[key]) {
12
+ return {
13
+ key: getCustomMetricKey(metricLookup, key),
14
+ value: telemetryData[key],
15
+ };
16
+ }
17
+ return {
18
+ key,
19
+ value: telemetryData[key],
20
+ };
21
+ })
22
+ .reduce((acc, { key, value }) => {
23
+ acc[key] = value;
24
+ return acc;
25
+ }, {});
26
+ }
27
+ exports.formatTelemetryMetrics = formatTelemetryMetrics;
28
+ function getCustomMetricKey(lookup, key) {
29
+ return `metric${lookup[key]}`;
30
+ }
31
+ //# sourceMappingURL=format-telemetry-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-telemetry-metrics.js","sourceRoot":"","sources":["../../src/format-telemetry-metrics.ts"],"names":[],"mappings":";;;AAEA,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEpE,SAAgB,sBAAsB,CACpC,aAAkC,EAClC,eAAoC,EAAE;IAEtC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;SAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO;gBACL,GAAG,EAAE,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC;gBAC1C,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;aAC1B,CAAC;SACH;QAED,OAAO;YACL,GAAG;YACH,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;SAC1B,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAyB,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAzBD,wDAyBC;AAED,SAAS,kBAAkB,CACzB,MAA8B,EAC9B,GAAW;IAEX,OAAO,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const format_telemetry_metrics_1 = require("./format-telemetry-metrics");
4
+ test('formatTelemetryAttributes: with specified exclusion', () => {
5
+ const telemetryData = {
6
+ eventType: 'download',
7
+ category: 'foo',
8
+ action: 'bar',
9
+ label: 'buzz',
10
+ datasetId: 'abcdef0123456789',
11
+ timeMetric: 43,
12
+ count: 44,
13
+ };
14
+ const metricLookup = {
15
+ timeMetric: 1,
16
+ otherMetric: 3,
17
+ };
18
+ const result = (0, format_telemetry_metrics_1.formatTelemetryMetrics)(telemetryData, metricLookup);
19
+ expect(result).toEqual({
20
+ metric1: 43,
21
+ count: 44,
22
+ });
23
+ });
24
+ //# sourceMappingURL=format-telemetry-metrics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-telemetry-metrics.test.js","sourceRoot":"","sources":["../../src/format-telemetry-metrics.test.ts"],"names":[],"mappings":";;AAAA,yEAAoE;AAEpE,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,aAAa,GAAG;QACpB,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,iDAAsB,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPortalItemAccessPermissions = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ async function getPortalItemAccessPermissions({ id, authentication, }) {
6
+ const { properties: { telemetry: { arcgis: { access = {} } = {} } = {} }, } = await (0, arcgis_rest_portal_1.getItem)(id, {
7
+ authentication,
8
+ });
9
+ return { access };
10
+ }
11
+ exports.getPortalItemAccessPermissions = getPortalItemAccessPermissions;
12
+ //# sourceMappingURL=get-portal-item-access-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-portal-item-access-permissions.js","sourceRoot":"","sources":["../../src/get-portal-item-access-permissions.ts"],"names":[],"mappings":";;;AAAA,iEAAmD;AAG5C,KAAK,UAAU,8BAA8B,CAAC,EACnD,EAAE,EACF,cAAc,GACc;IAC5B,MAAM,EACJ,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GACjE,GAAG,MAAM,IAAA,4BAAO,EAAC,EAAE,EAAE;QACpB,cAAc;KACf,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAXD,wEAWC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const get_portal_item_access_permissions_1 = require("./get-portal-item-access-permissions");
5
+ const portal = tslib_1.__importStar(require("@esri/arcgis-rest-portal"));
6
+ jest.mock('@esri/arcgis-rest-portal');
7
+ const getItemMock = portal.getItem;
8
+ afterEach(() => {
9
+ jest.resetAllMocks();
10
+ });
11
+ describe('getPortalItemAccessPermissions', () => {
12
+ test('should call getItem with empty access property', async () => {
13
+ const id = 'id';
14
+ const authentication = 'baz';
15
+ getItemMock.mockResolvedValue({
16
+ id,
17
+ properties: { foo: 'foo', bar: 'bar' },
18
+ });
19
+ const result = await (0, get_portal_item_access_permissions_1.getPortalItemAccessPermissions)({ id, authentication });
20
+ expect(getItemMock).toBeCalledTimes(1);
21
+ expect(getItemMock).toBeCalledWith(id, { authentication });
22
+ expect(result).toEqual({ access: {} });
23
+ });
24
+ test('should return getItem with access property values', async () => {
25
+ const id = 'id';
26
+ const authentication = 'baz';
27
+ const getItemReturnValue = {
28
+ id,
29
+ properties: {
30
+ foo: 'foo',
31
+ bar: 'bar',
32
+ telemetry: {
33
+ arcgis: {
34
+ access: {
35
+ public: {
36
+ updatedAt: 'updatedAt',
37
+ updatedBy: 'updatedBy',
38
+ },
39
+ },
40
+ },
41
+ },
42
+ },
43
+ };
44
+ getItemMock.mockResolvedValue(getItemReturnValue);
45
+ const result = await (0, get_portal_item_access_permissions_1.getPortalItemAccessPermissions)({ id, authentication });
46
+ expect(getItemMock).toBeCalledTimes(1);
47
+ expect(getItemMock).toBeCalledWith(id, { authentication });
48
+ expect(result).toEqual({
49
+ access: {
50
+ public: {
51
+ updatedAt: 'updatedAt',
52
+ updatedBy: 'updatedBy',
53
+ },
54
+ },
55
+ });
56
+ });
57
+ });
58
+ //# sourceMappingURL=get-portal-item-access-permissions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-portal-item-access-permissions.test.js","sourceRoot":"","sources":["../../src/get-portal-item-access-permissions.test.ts"],"names":[],"mappings":";;;AAAA,6FAAsF;AACtF,yEAAmD;AAGnD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAoB,CAAC;AAEhD,SAAS,CAAC,GAAG,EAAE;IACb,IAAI,CAAC,aAAa,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChB,MAAM,cAAc,GAAG,KAA+B,CAAC;QAEvD,WAAW,CAAC,iBAAiB,CAAC;YAC5B,EAAE;YACF,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;SACvC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,mEAA8B,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAE5E,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChB,MAAM,cAAc,GAAG,KAA+B,CAAC;QACvD,MAAM,kBAAkB,GAAG;YACzB,EAAE;YACF,UAAU,EAAE;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,MAAM,EAAE;4BACN,MAAM,EAAE;gCACN,SAAS,EAAE,WAAW;gCACtB,SAAS,EAAE,WAAW;6BACvB;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QACF,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,IAAA,mEAA8B,EAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAE5E,MAAM,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,WAAW;iBACvB;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}