@microsoft/power-apps 0.3.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 (291) hide show
  1. package/LICENSE +153 -0
  2. package/README.md +63 -0
  3. package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts +5 -0
  4. package/lib/__tests__/connectorDataOperationExecutor.spec.d.ts.map +1 -0
  5. package/lib/__tests__/connectorDataOperationExecutor.spec.js +509 -0
  6. package/lib/__tests__/connectorDataOperationExecutor.spec.js.map +1 -0
  7. package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts +5 -0
  8. package/lib/__tests__/dataverseDataOperationExecutor.spec.d.ts.map +1 -0
  9. package/lib/__tests__/dataverseDataOperationExecutor.spec.js +349 -0
  10. package/lib/__tests__/dataverseDataOperationExecutor.spec.js.map +1 -0
  11. package/lib/__tests__/helpers/testHelpers.d.ts +27 -0
  12. package/lib/__tests__/helpers/testHelpers.d.ts.map +1 -0
  13. package/lib/__tests__/helpers/testHelpers.js +67 -0
  14. package/lib/__tests__/helpers/testHelpers.js.map +1 -0
  15. package/lib/__tests__/index.spec.d.ts +5 -0
  16. package/lib/__tests__/index.spec.d.ts.map +1 -0
  17. package/lib/__tests__/index.spec.js +10 -0
  18. package/lib/__tests__/index.spec.js.map +1 -0
  19. package/lib/__tests__/mockDataOperationExecutor.spec.d.ts +5 -0
  20. package/lib/__tests__/mockDataOperationExecutor.spec.d.ts.map +1 -0
  21. package/lib/__tests__/mockDataOperationExecutor.spec.js +51 -0
  22. package/lib/__tests__/mockDataOperationExecutor.spec.js.map +1 -0
  23. package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts +17 -0
  24. package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.d.ts.map +1 -0
  25. package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js +35 -0
  26. package/lib/__tests__/mocks/mockDataverseRetrieveMultipleResponse.js.map +1 -0
  27. package/lib/__tests__/mocks/mockLog.d.ts +31 -0
  28. package/lib/__tests__/mocks/mockLog.d.ts.map +1 -0
  29. package/lib/__tests__/mocks/mockLog.js +53 -0
  30. package/lib/__tests__/mocks/mockLog.js.map +1 -0
  31. package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts +76 -0
  32. package/lib/__tests__/mocks/mockTeamsConnectorResponse.d.ts.map +1 -0
  33. package/lib/__tests__/mocks/mockTeamsConnectorResponse.js +81 -0
  34. package/lib/__tests__/mocks/mockTeamsConnectorResponse.js.map +1 -0
  35. package/lib/__tests__/mocks/silenceConsole.d.ts +37 -0
  36. package/lib/__tests__/mocks/silenceConsole.d.ts.map +1 -0
  37. package/lib/__tests__/mocks/silenceConsole.js +58 -0
  38. package/lib/__tests__/mocks/silenceConsole.js.map +1 -0
  39. package/lib/__tests__/powerDataRuntimeInstance.test.d.ts +5 -0
  40. package/lib/__tests__/powerDataRuntimeInstance.test.d.ts.map +1 -0
  41. package/lib/__tests__/powerDataRuntimeInstance.test.js +179 -0
  42. package/lib/__tests__/powerDataRuntimeInstance.test.js.map +1 -0
  43. package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts +5 -0
  44. package/lib/__tests__/powerDataSourcesInfoProvider.test.d.ts.map +1 -0
  45. package/lib/__tests__/powerDataSourcesInfoProvider.test.js +153 -0
  46. package/lib/__tests__/powerDataSourcesInfoProvider.test.js.map +1 -0
  47. package/lib/__tests__/runtimeClientProvider.test.d.ts +5 -0
  48. package/lib/__tests__/runtimeClientProvider.test.d.ts.map +1 -0
  49. package/lib/__tests__/runtimeClientProvider.test.js +248 -0
  50. package/lib/__tests__/runtimeClientProvider.test.js.map +1 -0
  51. package/lib/__tests__/runtimeDataClient.spec.d.ts +2 -0
  52. package/lib/__tests__/runtimeDataClient.spec.d.ts.map +1 -0
  53. package/lib/__tests__/runtimeDataClient.spec.js +351 -0
  54. package/lib/__tests__/runtimeDataClient.spec.js.map +1 -0
  55. package/lib/__tests__/runtimeDataClient.test.d.ts +2 -0
  56. package/lib/__tests__/runtimeDataClient.test.d.ts.map +1 -0
  57. package/lib/__tests__/runtimeDataClient.test.js +351 -0
  58. package/lib/__tests__/runtimeDataClient.test.js.map +1 -0
  59. package/lib/__tests__/runtimeDataOperation.test.d.ts +5 -0
  60. package/lib/__tests__/runtimeDataOperation.test.d.ts.map +1 -0
  61. package/lib/__tests__/runtimeDataOperation.test.js +234 -0
  62. package/lib/__tests__/runtimeDataOperation.test.js.map +1 -0
  63. package/lib/__tests__/runtimeMetadataClient.test.d.ts +5 -0
  64. package/lib/__tests__/runtimeMetadataClient.test.d.ts.map +1 -0
  65. package/lib/__tests__/runtimeMetadataClient.test.js +271 -0
  66. package/lib/__tests__/runtimeMetadataClient.test.js.map +1 -0
  67. package/lib/__tests__/runtimeMetadataOperations.test.d.ts +5 -0
  68. package/lib/__tests__/runtimeMetadataOperations.test.d.ts.map +1 -0
  69. package/lib/__tests__/runtimeMetadataOperations.test.js +286 -0
  70. package/lib/__tests__/runtimeMetadataOperations.test.js.map +1 -0
  71. package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts +2 -0
  72. package/lib/__tests__/serviceSchemaModelSnapshot.test.d.ts.map +1 -0
  73. package/lib/__tests__/serviceSchemaModelSnapshot.test.js +98 -0
  74. package/lib/__tests__/serviceSchemaModelSnapshot.test.js.map +1 -0
  75. package/lib/__tests__/types.spec.d.ts +5 -0
  76. package/lib/__tests__/types.spec.d.ts.map +1 -0
  77. package/lib/__tests__/types.spec.js +104 -0
  78. package/lib/__tests__/types.spec.js.map +1 -0
  79. package/lib/__tests__/utils.test.d.ts +5 -0
  80. package/lib/__tests__/utils.test.d.ts.map +1 -0
  81. package/lib/__tests__/utils.test.js +33 -0
  82. package/lib/__tests__/utils.test.js.map +1 -0
  83. package/lib/app/Lifecycle.d.ts +14 -0
  84. package/lib/app/Lifecycle.d.ts.map +1 -0
  85. package/lib/app/Lifecycle.js +37 -0
  86. package/lib/app/Lifecycle.js.map +1 -0
  87. package/lib/app/index.d.ts +5 -0
  88. package/lib/app/index.d.ts.map +1 -0
  89. package/lib/app/index.js +5 -0
  90. package/lib/app/index.js.map +1 -0
  91. package/lib/data/Data.types.d.ts +20 -0
  92. package/lib/data/Data.types.d.ts.map +1 -0
  93. package/lib/data/Data.types.js +5 -0
  94. package/lib/data/Data.types.js.map +1 -0
  95. package/lib/data/executors/index.d.ts +6 -0
  96. package/lib/data/executors/index.d.ts.map +1 -0
  97. package/lib/data/executors/index.js +5 -0
  98. package/lib/data/executors/index.js.map +1 -0
  99. package/lib/data/index.d.ts +7 -0
  100. package/lib/data/index.d.ts.map +1 -0
  101. package/lib/data/index.js +5 -0
  102. package/lib/data/index.js.map +1 -0
  103. package/lib/data/powerAppsData.d.ts +10 -0
  104. package/lib/data/powerAppsData.d.ts.map +1 -0
  105. package/lib/data/powerAppsData.js +43 -0
  106. package/lib/data/powerAppsData.js.map +1 -0
  107. package/lib/index.d.ts +8 -0
  108. package/lib/index.d.ts.map +1 -0
  109. package/lib/index.js +8 -0
  110. package/lib/index.js.map +1 -0
  111. package/lib/internal/communication/CompatibleMessageReceiver.d.ts +12 -0
  112. package/lib/internal/communication/CompatibleMessageReceiver.d.ts.map +1 -0
  113. package/lib/internal/communication/CompatibleMessageReceiver.js +92 -0
  114. package/lib/internal/communication/CompatibleMessageReceiver.js.map +1 -0
  115. package/lib/internal/communication/IncompatibleMessageReceiver.d.ts +10 -0
  116. package/lib/internal/communication/IncompatibleMessageReceiver.d.ts.map +1 -0
  117. package/lib/internal/communication/IncompatibleMessageReceiver.js +13 -0
  118. package/lib/internal/communication/IncompatibleMessageReceiver.js.map +1 -0
  119. package/lib/internal/communication/MessageReceiver.Types.d.ts +18 -0
  120. package/lib/internal/communication/MessageReceiver.Types.d.ts.map +1 -0
  121. package/lib/internal/communication/MessageReceiver.Types.js +5 -0
  122. package/lib/internal/communication/MessageReceiver.Types.js.map +1 -0
  123. package/lib/internal/communication/SendMessage.d.ts +11 -0
  124. package/lib/internal/communication/SendMessage.d.ts.map +1 -0
  125. package/lib/internal/communication/SendMessage.js +32 -0
  126. package/lib/internal/communication/SendMessage.js.map +1 -0
  127. package/lib/internal/communication/SendMessageOperation.d.ts +15 -0
  128. package/lib/internal/communication/SendMessageOperation.d.ts.map +1 -0
  129. package/lib/internal/communication/SendMessageOperation.js +18 -0
  130. package/lib/internal/communication/SendMessageOperation.js.map +1 -0
  131. package/lib/internal/data/ConnectionUtils.d.ts +5 -0
  132. package/lib/internal/data/ConnectionUtils.d.ts.map +1 -0
  133. package/lib/internal/data/ConnectionUtils.js +20 -0
  134. package/lib/internal/data/ConnectionUtils.js.map +1 -0
  135. package/lib/internal/data/OperationExecutor.d.ts +18 -0
  136. package/lib/internal/data/OperationExecutor.d.ts.map +1 -0
  137. package/lib/internal/data/OperationExecutor.js +35 -0
  138. package/lib/internal/data/OperationExecutor.js.map +1 -0
  139. package/lib/internal/data/core/api/createRecord.d.ts +13 -0
  140. package/lib/internal/data/core/api/createRecord.d.ts.map +1 -0
  141. package/lib/internal/data/core/api/createRecord.js +15 -0
  142. package/lib/internal/data/core/api/createRecord.js.map +1 -0
  143. package/lib/internal/data/core/api/deleteRecord.d.ts +13 -0
  144. package/lib/internal/data/core/api/deleteRecord.d.ts.map +1 -0
  145. package/lib/internal/data/core/api/deleteRecord.js +15 -0
  146. package/lib/internal/data/core/api/deleteRecord.js.map +1 -0
  147. package/lib/internal/data/core/api/execute.d.ts +11 -0
  148. package/lib/internal/data/core/api/execute.d.ts.map +1 -0
  149. package/lib/internal/data/core/api/execute.js +13 -0
  150. package/lib/internal/data/core/api/execute.js.map +1 -0
  151. package/lib/internal/data/core/api/retrieveMultipleRecords.d.ts +13 -0
  152. package/lib/internal/data/core/api/retrieveMultipleRecords.d.ts.map +1 -0
  153. package/lib/internal/data/core/api/retrieveMultipleRecords.js +15 -0
  154. package/lib/internal/data/core/api/retrieveMultipleRecords.js.map +1 -0
  155. package/lib/internal/data/core/api/retrieveRecord.d.ts +13 -0
  156. package/lib/internal/data/core/api/retrieveRecord.d.ts.map +1 -0
  157. package/lib/internal/data/core/api/retrieveRecord.js +15 -0
  158. package/lib/internal/data/core/api/retrieveRecord.js.map +1 -0
  159. package/lib/internal/data/core/api/updateRecord.d.ts +14 -0
  160. package/lib/internal/data/core/api/updateRecord.d.ts.map +1 -0
  161. package/lib/internal/data/core/api/updateRecord.js +16 -0
  162. package/lib/internal/data/core/api/updateRecord.js.map +1 -0
  163. package/lib/internal/data/core/common/types.d.ts +230 -0
  164. package/lib/internal/data/core/common/types.d.ts.map +1 -0
  165. package/lib/internal/data/core/common/types.js +25 -0
  166. package/lib/internal/data/core/common/types.js.map +1 -0
  167. package/lib/internal/data/core/common/utils.d.ts +19 -0
  168. package/lib/internal/data/core/common/utils.d.ts.map +1 -0
  169. package/lib/internal/data/core/common/utils.js +47 -0
  170. package/lib/internal/data/core/common/utils.js.map +1 -0
  171. package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts +93 -0
  172. package/lib/internal/data/core/data/defaultOperationOrchestrator.d.ts.map +1 -0
  173. package/lib/internal/data/core/data/defaultOperationOrchestrator.js +249 -0
  174. package/lib/internal/data/core/data/defaultOperationOrchestrator.js.map +1 -0
  175. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts +160 -0
  176. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.d.ts.map +1 -0
  177. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js +500 -0
  178. package/lib/internal/data/core/data/executors/connectorDataOperationExecutor.js.map +1 -0
  179. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts +164 -0
  180. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.d.ts.map +1 -0
  181. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js +508 -0
  182. package/lib/internal/data/core/data/executors/dataverseDataOperationExecutor.js.map +1 -0
  183. package/lib/internal/data/core/data/executors/index.d.ts +5 -0
  184. package/lib/internal/data/core/data/executors/index.d.ts.map +1 -0
  185. package/lib/internal/data/core/data/executors/index.js +5 -0
  186. package/lib/internal/data/core/data/executors/index.js.map +1 -0
  187. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts +21 -0
  188. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.d.ts.map +1 -0
  189. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js +75 -0
  190. package/lib/internal/data/core/data/executors/mockDataOperationExecutor.js.map +1 -0
  191. package/lib/internal/data/core/error/codes.d.ts +31 -0
  192. package/lib/internal/data/core/error/codes.d.ts.map +1 -0
  193. package/lib/internal/data/core/error/codes.js +39 -0
  194. package/lib/internal/data/core/error/codes.js.map +1 -0
  195. package/lib/internal/data/core/error/constants.d.ts +30 -0
  196. package/lib/internal/data/core/error/constants.d.ts.map +1 -0
  197. package/lib/internal/data/core/error/constants.js +33 -0
  198. package/lib/internal/data/core/error/constants.js.map +1 -0
  199. package/lib/internal/data/core/error/error.d.ts +8 -0
  200. package/lib/internal/data/core/error/error.d.ts.map +1 -0
  201. package/lib/internal/data/core/error/error.js +8 -0
  202. package/lib/internal/data/core/error/error.js.map +1 -0
  203. package/lib/internal/data/core/error/messages.d.ts +24 -0
  204. package/lib/internal/data/core/error/messages.d.ts.map +1 -0
  205. package/lib/internal/data/core/error/messages.js +55 -0
  206. package/lib/internal/data/core/error/messages.js.map +1 -0
  207. package/lib/internal/data/core/error/types.d.ts +30 -0
  208. package/lib/internal/data/core/error/types.d.ts.map +1 -0
  209. package/lib/internal/data/core/error/types.js +28 -0
  210. package/lib/internal/data/core/error/types.js.map +1 -0
  211. package/lib/internal/data/core/error/util.d.ts +24 -0
  212. package/lib/internal/data/core/error/util.d.ts.map +1 -0
  213. package/lib/internal/data/core/error/util.js +71 -0
  214. package/lib/internal/data/core/error/util.js.map +1 -0
  215. package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts +65 -0
  216. package/lib/internal/data/core/metadata/runtimeDataSourceService.d.ts.map +1 -0
  217. package/lib/internal/data/core/metadata/runtimeDataSourceService.js +101 -0
  218. package/lib/internal/data/core/metadata/runtimeDataSourceService.js.map +1 -0
  219. package/lib/internal/data/core/metadata/runtimeMetadataOperations.d.ts +17 -0
  220. package/lib/internal/data/core/metadata/runtimeMetadataOperations.d.ts.map +1 -0
  221. package/lib/internal/data/core/metadata/runtimeMetadataOperations.js +34 -0
  222. package/lib/internal/data/core/metadata/runtimeMetadataOperations.js.map +1 -0
  223. package/lib/internal/data/core/runtime/getRuntimeContext.d.ts +11 -0
  224. package/lib/internal/data/core/runtime/getRuntimeContext.d.ts.map +1 -0
  225. package/lib/internal/data/core/runtime/getRuntimeContext.js +16 -0
  226. package/lib/internal/data/core/runtime/getRuntimeContext.js.map +1 -0
  227. package/lib/internal/data/core/runtime/initializeRuntime.d.ts +13 -0
  228. package/lib/internal/data/core/runtime/initializeRuntime.d.ts.map +1 -0
  229. package/lib/internal/data/core/runtime/initializeRuntime.js +38 -0
  230. package/lib/internal/data/core/runtime/initializeRuntime.js.map +1 -0
  231. package/lib/internal/data/core/runtime/powerDataRuntime.d.ts +68 -0
  232. package/lib/internal/data/core/runtime/powerDataRuntime.d.ts.map +1 -0
  233. package/lib/internal/data/core/runtime/powerDataRuntime.js +116 -0
  234. package/lib/internal/data/core/runtime/powerDataRuntime.js.map +1 -0
  235. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts +20 -0
  236. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.d.ts.map +1 -0
  237. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js +36 -0
  238. package/lib/internal/data/core/runtime/powerDataRuntimeInstance.js.map +1 -0
  239. package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts +34 -0
  240. package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.d.ts.map +1 -0
  241. package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.js +45 -0
  242. package/lib/internal/data/core/runtime/powerDataSourcesInfoProvider.js.map +1 -0
  243. package/lib/internal/data/core/runtimeClient/runtimeClientProvider.d.ts +43 -0
  244. package/lib/internal/data/core/runtimeClient/runtimeClientProvider.d.ts.map +1 -0
  245. package/lib/internal/data/core/runtimeClient/runtimeClientProvider.js +87 -0
  246. package/lib/internal/data/core/runtimeClient/runtimeClientProvider.js.map +1 -0
  247. package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts +112 -0
  248. package/lib/internal/data/core/runtimeClient/runtimeDataClient.d.ts.map +1 -0
  249. package/lib/internal/data/core/runtimeClient/runtimeDataClient.js +457 -0
  250. package/lib/internal/data/core/runtimeClient/runtimeDataClient.js.map +1 -0
  251. package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts +40 -0
  252. package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.d.ts.map +1 -0
  253. package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.js +94 -0
  254. package/lib/internal/data/core/runtimeClient/runtimeMetadataClient.js.map +1 -0
  255. package/lib/internal/data/core/telemetry/log.d.ts +20 -0
  256. package/lib/internal/data/core/telemetry/log.d.ts.map +1 -0
  257. package/lib/internal/data/core/telemetry/log.js +85 -0
  258. package/lib/internal/data/core/telemetry/log.js.map +1 -0
  259. package/lib/internal/data/core/types/index.d.ts +164 -0
  260. package/lib/internal/data/core/types/index.d.ts.map +1 -0
  261. package/lib/internal/data/core/types/index.js +7 -0
  262. package/lib/internal/data/core/types/index.js.map +1 -0
  263. package/lib/internal/plugin/PluginCommon.d.ts +16 -0
  264. package/lib/internal/plugin/PluginCommon.d.ts.map +1 -0
  265. package/lib/internal/plugin/PluginCommon.js +116 -0
  266. package/lib/internal/plugin/PluginCommon.js.map +1 -0
  267. package/lib/internal/plugin/PluginMobile.d.ts +13 -0
  268. package/lib/internal/plugin/PluginMobile.d.ts.map +1 -0
  269. package/lib/internal/plugin/PluginMobile.js +109 -0
  270. package/lib/internal/plugin/PluginMobile.js.map +1 -0
  271. package/lib/telemetry/Logger.types.d.ts +8 -0
  272. package/lib/telemetry/Logger.types.d.ts.map +1 -0
  273. package/lib/telemetry/Logger.types.js +5 -0
  274. package/lib/telemetry/Logger.types.js.map +1 -0
  275. package/lib/telemetry/LoggerManager.d.ts +6 -0
  276. package/lib/telemetry/LoggerManager.d.ts.map +1 -0
  277. package/lib/telemetry/LoggerManager.js +28 -0
  278. package/lib/telemetry/LoggerManager.js.map +1 -0
  279. package/lib/telemetry/Metrics.types.d.ts +53 -0
  280. package/lib/telemetry/Metrics.types.d.ts.map +1 -0
  281. package/lib/telemetry/Metrics.types.js +5 -0
  282. package/lib/telemetry/Metrics.types.js.map +1 -0
  283. package/lib/telemetry/Performance.d.ts +5 -0
  284. package/lib/telemetry/Performance.d.ts.map +1 -0
  285. package/lib/telemetry/Performance.js +47 -0
  286. package/lib/telemetry/Performance.js.map +1 -0
  287. package/lib/telemetry/index.d.ts +5 -0
  288. package/lib/telemetry/index.d.ts.map +1 -0
  289. package/lib/telemetry/index.js +5 -0
  290. package/lib/telemetry/index.js.map +1 -0
  291. package/package.json +44 -0
@@ -0,0 +1,85 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ const ServiceName = 'PublishedAppTelemetry';
5
+ var TelemetryActionNames;
6
+ (function (TelemetryActionNames) {
7
+ TelemetryActionNames["trackEvent"] = "trackEvent";
8
+ TelemetryActionNames["trackException"] = "trackException";
9
+ TelemetryActionNames["trackMetric"] = "trackMetric";
10
+ TelemetryActionNames["startScenario"] = "startScenario";
11
+ TelemetryActionNames["endScenario"] = "endScenario";
12
+ TelemetryActionNames["setDefaultProperties"] = "setDefaultProperties";
13
+ })(TelemetryActionNames || (TelemetryActionNames = {}));
14
+ export class Log {
15
+ _powerOperationExecutor;
16
+ static _instance = null;
17
+ constructor(_powerOperationExecutor) {
18
+ this._powerOperationExecutor = _powerOperationExecutor;
19
+ }
20
+ static createInstance(powerOperationExecutor) {
21
+ if (!Log._instance) {
22
+ Log._instance = new Log(powerOperationExecutor);
23
+ }
24
+ else {
25
+ Log.trackEvent('TelemetryLogger', {
26
+ message: 'Attempted to create an instance when instance is already created.',
27
+ });
28
+ }
29
+ return Log._instance;
30
+ }
31
+ // Since powerDataRuntime can be reset, we need to be able to reset the instance of Log as well.
32
+ static resetInstance() {
33
+ Log._instance = null;
34
+ }
35
+ static async _sendMessage(actionName, ...args) {
36
+ try {
37
+ const instance = Log._getInstance();
38
+ const result = await instance._powerOperationExecutor.execute(ServiceName, actionName, args);
39
+ if (!result.success) {
40
+ // Fallback to console logging if telemetry fails, since it is reasonable to assume the runtimeClient is failing.
41
+ // eslint-disable-next-line no-console
42
+ console.error({
43
+ message: `PowerDataRuntime.TelemetryLogger: Failed to send telemetry message.`,
44
+ error: result.error,
45
+ telemetryArgs: args,
46
+ });
47
+ }
48
+ }
49
+ catch (error) {
50
+ // Fallback to console logging if telemetry fails, since it is reasonable to assume the runtimeClient is failing.
51
+ // we don't want to throw an error here, since we don't want to break the app if telemetry fails.
52
+ // eslint-disable-next-line no-console
53
+ console.error({
54
+ message: `PowerDataRuntime.TelemetryLogger: Failed to send telemetry message.`,
55
+ error,
56
+ telemetryArgs: args,
57
+ });
58
+ }
59
+ }
60
+ static trackEvent(eventName, eventData) {
61
+ return Log._sendMessage(TelemetryActionNames.trackEvent, `PowerDataRuntime.${eventName}`, eventData);
62
+ }
63
+ static trackException(exception) {
64
+ return Log._sendMessage(TelemetryActionNames.trackException, exception);
65
+ }
66
+ static trackMetric(metricName, value) {
67
+ return Log._sendMessage(TelemetryActionNames.trackMetric, `PowerDataRuntime.${metricName}`, value);
68
+ }
69
+ static startScenario(scenarioName) {
70
+ return Log._sendMessage(TelemetryActionNames.startScenario, `PowerDataRuntime.${scenarioName}`);
71
+ }
72
+ static endScenario(scenarioName) {
73
+ return Log._sendMessage(TelemetryActionNames.endScenario, `PowerDataRuntime.${scenarioName}`);
74
+ }
75
+ static setDefaultProperties(properties) {
76
+ return Log._sendMessage(TelemetryActionNames.setDefaultProperties, properties);
77
+ }
78
+ static _getInstance() {
79
+ if (!Log._instance) {
80
+ throw new Error('PowerDataRuntime.TelemetryLogger: Attempted to log telemetry prior to instantiation.');
81
+ }
82
+ return Log._instance;
83
+ }
84
+ }
85
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/telemetry/log.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,IAAW,oBAOV;AAPD,WAAW,oBAAoB;IAC7B,iDAAyB,CAAA;IACzB,yDAAiC,CAAA;IACjC,mDAA2B,CAAA;IAC3B,uDAA+B,CAAA;IAC/B,mDAA2B,CAAA;IAC3B,qEAA6C,CAAA;AAC/C,CAAC,EAPU,oBAAoB,KAApB,oBAAoB,QAO9B;AAED,MAAM,OAAO,GAAG;IAGuB;IAF7B,MAAM,CAAC,SAAS,GAAe,IAAI,CAAC;IAE5C,YAAqC,uBAAgD;QAAhD,4BAAuB,GAAvB,uBAAuB,CAAyB;IAAG,CAAC;IAElF,MAAM,CAAC,cAAc,CAAC,sBAA+C;QAC1E,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,GAAG,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;SACjD;aAAM;YACL,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE;gBAChC,OAAO,EAAE,mEAAmE;aAC7E,CAAC,CAAC;SACJ;QACD,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,gGAAgG;IACzF,MAAM,CAAC,aAAa;QACzB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,UAAgC,EAChC,GAAG,IAA2D;QAE9D,IAAI;YACF,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,iHAAiH;gBAEjH,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC;oBACZ,OAAO,EAAE,qEAAqE;oBAC9E,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;aACJ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,iHAAiH;YACjH,iGAAiG;YAEjG,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC;gBACZ,OAAO,EAAE,qEAAqE;gBAC9E,KAAK;gBACL,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;SACJ;IACH,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,SAAkB;QAC5D,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,EAAE,oBAAoB,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IACvG,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,SAAiB;QAC5C,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,UAAkB,EAAE,KAAa;QACzD,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,EAAE,oBAAoB,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;IACrG,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,YAAoB;QAC9C,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,aAAa,EAAE,oBAAoB,YAAY,EAAE,CAAC,CAAC;IAClG,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,YAAoB;QAC5C,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,EAAE,oBAAoB,YAAY,EAAE,CAAC,CAAC;IAChG,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,UAAkB;QACnD,OAAO,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAEO,MAAM,CAAC,YAAY;QACzB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;SACzG;QACD,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC"}
@@ -0,0 +1,164 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { IApiResponseInfo, IDataverseRequest } from '../common/types';
5
+ import { PowerDataRuntimeHttpError } from '../error/error';
6
+ /**
7
+ * Main PowerDataRuntime interface providing access to data operations
8
+ */
9
+ export interface IPowerDataRuntime {
10
+ /** Access to data operations */
11
+ Data: IDataOperationOrchestrator;
12
+ }
13
+ /**
14
+ * Interface for performing CRUD operations on data sources
15
+ */
16
+ export interface IDataOperationOrchestrator {
17
+ /**
18
+ * Creates a new record in the specified data source
19
+ */
20
+ createRecordAsync<TRequest, TResponse>(tableName: string, data: TRequest): Promise<IOperationResult<TResponse>>;
21
+ /**
22
+ * Updates an existing record in the specified data source
23
+ */
24
+ updateRecordAsync<TRequest, TResponse>(tableName: string, id: string, data: TRequest): Promise<IOperationResult<TResponse>>;
25
+ /**
26
+ * Deletes a record from the specified data source
27
+ */
28
+ deleteRecordAsync(tableName: string, id: string): Promise<IOperationResult<void>>;
29
+ /**
30
+ * Retrieves a record from the specified data source
31
+ */
32
+ retrieveRecordAsync<TResponse>(tableName: string, id: string, options?: IOperationOptions): Promise<IOperationResult<TResponse>>;
33
+ /**
34
+ * Retrieves records from the specified data source
35
+ */
36
+ retrieveMultipleRecordsAsync<TResponse>(tableName: string, options?: IOperationOptions): Promise<IOperationResult<TResponse[]>>;
37
+ /**
38
+ * Executes the provided operation on the specified data source.
39
+ */
40
+ executeAsync<TRequest, TResponse>(operation: IDataOperation<TRequest>): Promise<IOperationResult<TResponse>>;
41
+ }
42
+ export interface IDataOperationExecutor {
43
+ /**
44
+ * Creates a new record in the specified data source
45
+ */
46
+ createRecordAsync<TRequest, TResponse>(tableName: string, data: TRequest): Promise<IOperationResult<TResponse>>;
47
+ /**
48
+ * Updates an existing record in the specified data source
49
+ */
50
+ updateRecordAsync<TRequest, TResponse>(tableName: string, id: string, data: TRequest): Promise<IOperationResult<TResponse>>;
51
+ /**
52
+ * Deletes a record from the specified data source
53
+ */
54
+ deleteRecordAsync(tableName: string, id: string): Promise<IOperationResult<void>>;
55
+ /**
56
+ * Retrieves a record from the specified data source
57
+ */
58
+ retrieveRecordAsync<TResponse>(tableName: string, id: string, options?: string, maxPageSize?: number): Promise<IOperationResult<TResponse>>;
59
+ /**
60
+ * Retrieves records from the specified data source
61
+ */
62
+ retrieveMultipleRecordsAsync<TResponse>(tableName: string, options?: string, maxPageSize?: number): Promise<IOperationResult<TResponse[]>>;
63
+ /**
64
+ * Executes the provided operation on the specified data source.
65
+ */
66
+ executeAsync<TRequest, TResponse>(operation: IDataOperation<TRequest>): Promise<IOperationResult<TResponse>>;
67
+ }
68
+ /**
69
+ * Type definition for data source configuration
70
+ */
71
+ export type DataSourcesInfo = Record<string, IDataSourceInfo>;
72
+ /**
73
+ * Interface for data source info
74
+ */
75
+ export interface IDataSourceInfo {
76
+ /** Table identifier */
77
+ tableId: string;
78
+ /** Optional version information */
79
+ version?: string;
80
+ /** Optional primary key field */
81
+ primaryKey?: string;
82
+ /** Optional data source type field */
83
+ dataSourceType?: string;
84
+ /** Available APIs for the data source */
85
+ apis: {
86
+ [key: string]: IApiDefinition;
87
+ };
88
+ }
89
+ export interface IApiDefinition {
90
+ /** API path */
91
+ path: string;
92
+ /** HTTP method (GET, POST, etc.) */
93
+ method: string;
94
+ /** Parameters */
95
+ parameters: Array<{
96
+ /** Parameter name */
97
+ name: string;
98
+ /** Parameter location (query, path, etc.) */
99
+ in: string;
100
+ /** Whether the parameter is required */
101
+ required: boolean;
102
+ /** Parameter type (string, number, etc.) */
103
+ type: string;
104
+ }>;
105
+ /** Response information */
106
+ responseInfo?: Record<string, IApiResponseInfo>;
107
+ }
108
+ /**
109
+ * Interface for PowerOperationExecutor
110
+ * This interface defines the method for executing operations
111
+ */
112
+ export interface IPowerOperationExecutor {
113
+ execute<T = string>(operationName: string, action: string, params: Array<string | number | boolean | object | undefined>): Promise<IOperationResult<T>>;
114
+ }
115
+ /**
116
+ * Base interface for operation options
117
+ * The parameters must be defined as OData query parameters
118
+ */
119
+ export interface IOperationOptions {
120
+ maxPageSize?: number;
121
+ select?: string[];
122
+ filter?: string;
123
+ orderBy?: string[];
124
+ top?: number;
125
+ skip?: number;
126
+ count?: boolean;
127
+ skipToken?: string;
128
+ }
129
+ /**
130
+ * Base interface for operation results
131
+ * @template T The type of data returned by the operation
132
+ */
133
+ export interface IOperationResult<TResponse> {
134
+ success: boolean;
135
+ data: TResponse;
136
+ error?: Error | PowerDataRuntimeHttpError;
137
+ /**
138
+ * Skip token to get the next page of results
139
+ * @type {string}
140
+ */
141
+ skipToken?: string;
142
+ }
143
+ export declare function isOperationResult<TResponse>(result: IOperationResult<TResponse> | TResponse | unknown): result is IOperationResult<TResponse>;
144
+ /**
145
+ * Interface for custom data operations
146
+ */
147
+ export interface IDataOperation<TRequest> {
148
+ /** Dataverse-specific request details */
149
+ dataverseRequest?: IDataverseRequest;
150
+ /** Connector-specific operation details */
151
+ connectorOperation?: IConnectorOperation<TRequest>;
152
+ }
153
+ /**
154
+ * Interface for connector-specific operations
155
+ */
156
+ export interface IConnectorOperation<TParameters> {
157
+ /** Target table name */
158
+ tableName: string;
159
+ /** Operation name to execute */
160
+ operationName: string;
161
+ /** Optional operation parameters */
162
+ parameters?: TParameters;
163
+ }
164
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/data/core/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export function isOperationResult(result) {
5
+ return result?.success !== undefined;
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/data/core/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqNH,MAAM,UAAU,iBAAiB,CAC/B,MAAyD;IAEzD,OAAQ,MAAsC,EAAE,OAAO,KAAK,SAAS,CAAC;AACxE,CAAC"}
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export type HostMessage = {
5
+ isPluginCall: boolean;
6
+ callbackId: string;
7
+ status: number;
8
+ args: unknown[];
9
+ keepCallback: boolean;
10
+ messageType: 'initCommunication';
11
+ antiCSRFToken: string;
12
+ };
13
+ export declare function initializePlugins(): Promise<void>;
14
+ export declare function executePluginAsync<T = unknown>(pluginName: string, pluginAction: string, params?: unknown[]): Promise<T>;
15
+ export declare function executePlugin(pluginName: string, pluginAction: string, params?: unknown[]): void;
16
+ //# sourceMappingURL=PluginCommon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginCommon.d.ts","sourceRoot":"","sources":["../../../src/internal/plugin/PluginCommon.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AASF,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMvD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAC5C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,OAAO,EAAO,GACrB,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,IAAI,CAapG"}
@@ -0,0 +1,116 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { executePluginAsync as executePluginAsyncMobile, executePlugin as executePluginMobile, initializeMobilePlugins, isMobilePlayer, } from './PluginMobile';
5
+ let antiCSRFToken;
6
+ let currentCallbackId = 0;
7
+ const callbacks = {};
8
+ let postMessageSource;
9
+ const instanceId = Date.now().toString();
10
+ const postMessageQueue = [];
11
+ export async function initializePlugins() {
12
+ if (isMobilePlayer()) {
13
+ await initializeMobilePlugins();
14
+ }
15
+ else {
16
+ initializeMessageChannel();
17
+ }
18
+ }
19
+ export function executePluginAsync(pluginName, pluginAction, params = []) {
20
+ if (isMobilePlayer()) {
21
+ return executePluginAsyncMobile(pluginName, pluginAction, params);
22
+ }
23
+ return new Promise((resolve, reject) => {
24
+ const callbackId = getCallbackId(pluginName);
25
+ callbacks[callbackId] = { resolve, reject };
26
+ sendMessage({
27
+ isPluginCall: true,
28
+ callbackId,
29
+ service: pluginName,
30
+ action: pluginAction,
31
+ actionArgs: params,
32
+ antiCSRFToken,
33
+ });
34
+ });
35
+ }
36
+ export function executePlugin(pluginName, pluginAction, params = []) {
37
+ if (isMobilePlayer()) {
38
+ executePluginMobile(pluginName, pluginAction, params);
39
+ return;
40
+ }
41
+ sendMessage({
42
+ isPluginCall: true,
43
+ callbackId: getCallbackId(pluginName),
44
+ service: pluginName,
45
+ action: pluginAction,
46
+ actionArgs: params,
47
+ antiCSRFToken,
48
+ });
49
+ }
50
+ function initializeMessageChannel() {
51
+ const messageChannel = new window.MessageChannel();
52
+ messageChannel.port1.onmessage = createMessageHandler(messageChannel);
53
+ // eslint-disable-next-line @microsoft/sdl/no-postmessage-star-origin
54
+ window.parent.postMessage({
55
+ messageType: 'initCommunicationWithPort',
56
+ instanceId,
57
+ }, '*', [messageChannel.port2]);
58
+ }
59
+ function getCallbackId(pluginName) {
60
+ return 'instanceId=' + instanceId + '_' + pluginName + currentCallbackId++;
61
+ }
62
+ function sendMessage(message) {
63
+ if (!postMessageSource) {
64
+ postMessageQueue.push(message);
65
+ }
66
+ else {
67
+ postMessageSource.postMessage(message);
68
+ }
69
+ }
70
+ function createMessageHandler(messageChannel) {
71
+ return (messageEvent) => {
72
+ const message = messageEvent.data;
73
+ // Capture only the messages that are sent via the App Host's CommunicationChannel
74
+ // which always provides an isPluginCall boolean value.
75
+ if (message && typeof message.isPluginCall === 'boolean') {
76
+ // message can be either a native plugin call result, or a script to execute
77
+ if (message.isPluginCall) {
78
+ // this is the result of a plugin call, extract the parameters and return them
79
+ const callbackId = message.callbackId;
80
+ const status = message.status;
81
+ const args = message.args;
82
+ const keepCallback = message.keepCallback;
83
+ try {
84
+ const callback = callbacks[callbackId];
85
+ if (callback) {
86
+ if (status === 1) {
87
+ callback.resolve(args[0]);
88
+ }
89
+ else if (status !== 0) {
90
+ callback.reject(args);
91
+ }
92
+ if (!keepCallback) {
93
+ delete callbacks[callbackId];
94
+ }
95
+ }
96
+ }
97
+ catch (error) {
98
+ // eslint-disable-next-line no-console
99
+ console.error(error);
100
+ }
101
+ }
102
+ }
103
+ else if (message && message.messageType === 'initCommunication') {
104
+ antiCSRFToken = message.antiCSRFToken;
105
+ postMessageSource = messageChannel.port1;
106
+ if (postMessageSource) {
107
+ for (let i = 0; i < postMessageQueue.length; i++) {
108
+ // backfill csrf token
109
+ postMessageQueue[i].antiCSRFToken = antiCSRFToken;
110
+ postMessageSource.postMessage(postMessageQueue[i]);
111
+ }
112
+ }
113
+ }
114
+ };
115
+ }
116
+ //# sourceMappingURL=PluginCommon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginCommon.js","sourceRoot":"","sources":["../../../src/internal/plugin/PluginCommon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ declare global {
5
+ namespace cordova {
6
+ function exec(success: (data: any) => any, fail: (err: any) => any, service: string, action: string, args?: any[]): void;
7
+ }
8
+ }
9
+ export declare function executePlugin(pluginName: string, pluginAction: string, params?: unknown[]): void;
10
+ export declare function executePluginAsync<T = unknown>(pluginName: string, pluginAction: string, params?: unknown[]): Promise<T>;
11
+ export declare function initializeMobilePlugins(): Promise<void>;
12
+ export declare function isMobilePlayer(): boolean;
13
+ //# sourceMappingURL=PluginMobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMobile.d.ts","sourceRoot":"","sources":["../../../src/internal/plugin/PluginMobile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,CAAC,MAAM,CAAC;IAEb,UAAO,OAAO,CAAC;QACb,SAAgB,IAAI,CAClB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,GAAG,EAAE,GACX,IAAI,CAAC;KACT;CACF;AAWD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,IAAI,CAwBpG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAC5C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,OAAO,EAAO,GACrB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAY7D;AAED,wBAAgB,cAAc,YAG7B"}
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ let cordovaOperationsQueue = [];
5
+ function executePendingCordovaOperations() {
6
+ for (let i = 0; i < cordovaOperationsQueue.length; i++) {
7
+ cordovaOperationsQueue[i]();
8
+ }
9
+ cordovaOperationsQueue = [];
10
+ }
11
+ export function executePlugin(pluginName, pluginAction, params = []) {
12
+ if (typeof cordova !== 'undefined') {
13
+ cordova.exec(
14
+ // eslint-disable-next-line no-empty-function
15
+ () => { },
16
+ // eslint-disable-next-line no-empty-function
17
+ () => { }, pluginName, pluginAction, params);
18
+ }
19
+ else {
20
+ cordovaOperationsQueue.push(() => {
21
+ cordova.exec(
22
+ // eslint-disable-next-line no-empty-function
23
+ () => { },
24
+ // eslint-disable-next-line no-empty-function
25
+ () => { }, pluginName, pluginAction, params);
26
+ });
27
+ }
28
+ }
29
+ export function executePluginAsync(pluginName, pluginAction, params = []) {
30
+ return new Promise((resolve, reject) => {
31
+ if (typeof cordova !== 'undefined') {
32
+ cordova.exec(resolve, reject, pluginName, pluginAction, params);
33
+ }
34
+ else {
35
+ cordovaOperationsQueue.push(() => {
36
+ cordova.exec(resolve, reject, pluginName, pluginAction, params);
37
+ });
38
+ }
39
+ });
40
+ }
41
+ export async function initializeMobilePlugins() {
42
+ await new Promise((resolve, reject) => {
43
+ reject('Mobile is currently not supported');
44
+ // if (document.readyState === 'loading') {
45
+ // document.addEventListener('DOMContentLoaded', () => {
46
+ // callLoader(resolve, reject);
47
+ // });
48
+ // } else {
49
+ // callLoader(resolve, reject);
50
+ // }
51
+ });
52
+ executePendingCordovaOperations();
53
+ }
54
+ export function isMobilePlayer() {
55
+ const searchParams = new URLSearchParams(window.location.search);
56
+ return searchParams.get('loaderType') === 'reactnative';
57
+ }
58
+ // async function getCordova(successCallback: () => void): Promise<void> {
59
+ // if (typeof cordova !== 'undefined') {
60
+ // successCallback();
61
+ // } else {
62
+ // document.addEventListener('deviceready', () => {
63
+ // successCallback();
64
+ // });
65
+ // }
66
+ // }
67
+ // function callLoader(successCallback: () => void, failCallback: (reason: string) => void) {
68
+ // for ios, cordova script will be injected directly by player
69
+ // if (getSearchParam('injectCordova') === 'true' && getSearchParam('platformOS') === 'ios') {
70
+ // getCordova(successCallback);
71
+ // return;
72
+ // }
73
+ // const appServerUrl = getSearchParam('appServerUrl');
74
+ // const loaderPath = getSearchParam('loader');
75
+ // if (appServerUrl !== null && loaderPath !== null) {
76
+ // addScript(
77
+ // `${appServerUrl}${loaderPath.substring(1)}`,
78
+ // () => {
79
+ // getCordova(successCallback);
80
+ // },
81
+ // failCallback
82
+ // );
83
+ // } else {
84
+ // failCallback('Mobile is currently not supported');
85
+ // }
86
+ //
87
+ // function getSearchParam(param: string): string | null {
88
+ // const searchParams = new URLSearchParams(window.location.search);
89
+ // return searchParams.get(param);
90
+ // }
91
+ // function addScript(
92
+ // src: string,
93
+ // successCallback?: (event: Event) => void,
94
+ // failCallback?: (event: ErrorEvent) => void
95
+ // ) {
96
+ // const scriptTag = document.createElement('SCRIPT') as HTMLScriptElement;
97
+ // scriptTag.setAttribute('crossorigin', 'anonymous');
98
+ // scriptTag.type = 'text/javascript';
99
+ // scriptTag.async = false;
100
+ // if (successCallback) {
101
+ // scriptTag.addEventListener('load', successCallback);
102
+ // }
103
+ // if (failCallback) {
104
+ // scriptTag.addEventListener('error', failCallback);
105
+ // }
106
+ // document.head.appendChild(scriptTag);
107
+ // scriptTag.src = src;
108
+ // }
109
+ //# sourceMappingURL=PluginMobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMobile.js","sourceRoot":"","sources":["../../../src/internal/plugin/PluginMobile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { Metric } from './Metrics.types';
5
+ export interface Logger {
6
+ logMetric?: (value: Metric) => void;
7
+ }
8
+ //# sourceMappingURL=Logger.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.types.d.ts","sourceRoot":"","sources":["../../src/telemetry/Logger.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Logger.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.types.js","sourceRoot":"","sources":["../../src/telemetry/Logger.types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import type { Logger } from './Logger.types';
5
+ export declare function setupLogger(logger: Logger): Promise<void>;
6
+ //# sourceMappingURL=LoggerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerManager.d.ts","sourceRoot":"","sources":["../../src/telemetry/LoggerManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D"}
@@ -0,0 +1,28 @@
1
+ /*!
2
+ * Copyright (C) Microsoft Corporation. All rights reserved.
3
+ */
4
+ import { SendMessage } from '../internal/communication/SendMessage';
5
+ let loggerInstance;
6
+ export async function setupLogger(logger) {
7
+ loggerInstance = logger;
8
+ const sendMessagePlugin = await SendMessage.createInstanceAsync();
9
+ const receiver = await sendMessagePlugin.getMessageReceiverAsync('PowerApps.AppMonitorReceiver', (versionInfo) => {
10
+ let isCompatible = false;
11
+ if (versionInfo === '1.0.0') {
12
+ isCompatible = true;
13
+ }
14
+ return { isCompatible };
15
+ });
16
+ if (receiver.isCompatible) {
17
+ await receiver.sendMessage('initialize', (message) => {
18
+ const parsedMessage = JSON.parse(message);
19
+ if (parsedMessage.metrics) {
20
+ for (const metric of parsedMessage.metrics) {
21
+ // Log the metric
22
+ loggerInstance.logMetric?.(metric);
23
+ }
24
+ }
25
+ });
26
+ }
27
+ }
28
+ //# sourceMappingURL=LoggerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerManager.js","sourceRoot":"","sources":["../../src/telemetry/LoggerManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,IAAI,cAAsB,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,cAAc,GAAG,MAAM,CAAC;IAExB,MAAM,iBAAiB,GAAsB,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;IAErF,MAAM,QAAQ,GAAoB,MAAM,iBAAiB,CAAC,uBAAuB,CAC/E,8BAA8B,EAC9B,CAAC,WAAmB,EAAE,EAAE;QACtB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,WAAW,KAAK,OAAO,EAAE;YAC3B,YAAY,GAAG,IAAI,CAAC;SACrB;QACD,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC,CACF,CAAC;IACF,IAAI,QAAQ,CAAC,YAAY,EAAE;QACzB,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,aAAa,CAAC,OAAO,EAAE;gBACzB,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE;oBAC1C,iBAAiB;oBACjB,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;iBACpC;aACF;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC"}