@lifeready/core 1.0.3 → 1.0.5

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 (225) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +15445 -15445
  3. package/bundles/lifeready-core.umd.js.map +1 -1
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/ast.js +40 -40
  6. package/esm2015/lib/_common/deferred-promise.js +24 -24
  7. package/esm2015/lib/_common/exceptions.js +157 -157
  8. package/esm2015/lib/_common/queries.gql.js +190 -190
  9. package/esm2015/lib/_common/run-outside-angular.js +79 -79
  10. package/esm2015/lib/_common/types.js +1 -1
  11. package/esm2015/lib/_common/utils.js +44 -44
  12. package/esm2015/lib/api/contact-card.gql.js +79 -79
  13. package/esm2015/lib/api/contact-card.service.js +154 -154
  14. package/esm2015/lib/api/contact-card2.gql.js +60 -60
  15. package/esm2015/lib/api/contact-card2.service.js +103 -103
  16. package/esm2015/lib/api/file.service.js +74 -74
  17. package/esm2015/lib/api/item2.gql.js +110 -110
  18. package/esm2015/lib/api/item2.service.js +311 -311
  19. package/esm2015/lib/api/key-exchange.gql.js +188 -188
  20. package/esm2015/lib/api/key-exchange.service.js +442 -442
  21. package/esm2015/lib/api/key-exchange.types.js +18 -18
  22. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  23. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  24. package/esm2015/lib/api/lock.gql.js +40 -40
  25. package/esm2015/lib/api/lock.service.js +64 -64
  26. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  27. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  28. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  29. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  30. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  31. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  32. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  33. package/esm2015/lib/api/message.service.js +138 -138
  34. package/esm2015/lib/api/persist.service.js +181 -181
  35. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  36. package/esm2015/lib/api/query-processor/index.js +3 -3
  37. package/esm2015/lib/api/query-processor/query-processor.service.js +192 -192
  38. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  39. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  40. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  41. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  42. package/esm2015/lib/api/time.service.js +146 -146
  43. package/esm2015/lib/api/types/graphql.types.js +7 -7
  44. package/esm2015/lib/api/types/index.js +3 -3
  45. package/esm2015/lib/api/types/lr-graphql.types.js +71 -71
  46. package/esm2015/lib/auth/auth.config.js +57 -57
  47. package/esm2015/lib/auth/auth.gql.js +48 -48
  48. package/esm2015/lib/auth/auth.types.js +27 -27
  49. package/esm2015/lib/auth/idle.service.js +168 -168
  50. package/esm2015/lib/auth/idle.types.js +7 -7
  51. package/esm2015/lib/auth/lbop.service.js +355 -355
  52. package/esm2015/lib/auth/life-ready-auth.service.js +500 -500
  53. package/esm2015/lib/auth/password.service.js +320 -320
  54. package/esm2015/lib/auth/register.service.js +172 -172
  55. package/esm2015/lib/auth/two-factor.service.js +74 -74
  56. package/esm2015/lib/category/category-meta.service.js +99 -99
  57. package/esm2015/lib/category/category.gql.js +406 -406
  58. package/esm2015/lib/category/category.service.js +390 -390
  59. package/esm2015/lib/category/category.types.js +29 -29
  60. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  61. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  62. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  63. package/esm2015/lib/cryptography/key-graph.service.js +280 -280
  64. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  65. package/esm2015/lib/cryptography/key.service.js +124 -124
  66. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  67. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  68. package/esm2015/lib/life-ready.config.js +84 -84
  69. package/esm2015/lib/life-ready.module.js +74 -74
  70. package/esm2015/lib/plan/plan.gql.js +123 -123
  71. package/esm2015/lib/plan/plan.service.js +149 -149
  72. package/esm2015/lib/plan/plan.types.js +11 -11
  73. package/esm2015/lib/record/record-attachment.service.js +101 -101
  74. package/esm2015/lib/record/record.gql.js +179 -179
  75. package/esm2015/lib/record/record.service.js +206 -206
  76. package/esm2015/lib/record/record.types.js +15 -15
  77. package/esm2015/lib/record-type/record-type.service.js +75 -75
  78. package/esm2015/lib/record-type/record-type.types.js +28 -28
  79. package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +105 -105
  80. package/esm2015/lib/scenario/approvals/scenario-approval.types.js +1 -1
  81. package/esm2015/lib/scenario/approvals/scenario-approver.service.js +300 -300
  82. package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +52 -52
  83. package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +97 -97
  84. package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +1 -1
  85. package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +150 -150
  86. package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +229 -229
  87. package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +1 -1
  88. package/esm2015/lib/scenario/scenario-setup.service.js +269 -269
  89. package/esm2015/lib/scenario/scenario.gql.js +368 -368
  90. package/esm2015/lib/scenario/scenario.service.js +611 -611
  91. package/esm2015/lib/scenario/scenario.types.js +64 -64
  92. package/esm2015/lib/search/search.gql.js +62 -62
  93. package/esm2015/lib/search/search.service.js +156 -156
  94. package/esm2015/lib/search/search.types.js +6 -6
  95. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +112 -112
  96. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  97. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  98. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +232 -232
  99. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +299 -299
  100. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  101. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  102. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  103. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  104. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  105. package/esm2015/lib/users/profile-details.service.js +214 -214
  106. package/esm2015/lib/users/profile.gql.js +97 -97
  107. package/esm2015/lib/users/profile.service.js +169 -169
  108. package/esm2015/lib/users/profile.types.js +34 -34
  109. package/esm2015/lib/users/user.gql.js +60 -60
  110. package/esm2015/lib/users/user.service.js +79 -79
  111. package/esm2015/lib/users/user.types.js +5 -5
  112. package/esm2015/lifeready-core.js +10 -10
  113. package/esm2015/public-api.js +81 -81
  114. package/fesm2015/lifeready-core.js +13088 -13088
  115. package/fesm2015/lifeready-core.js.map +1 -1
  116. package/lib/_common/ast.d.ts +11 -11
  117. package/lib/_common/deferred-promise.d.ts +12 -12
  118. package/lib/_common/exceptions.d.ts +109 -109
  119. package/lib/_common/queries.gql.d.ts +10 -10
  120. package/lib/_common/run-outside-angular.d.ts +14 -14
  121. package/lib/_common/types.d.ts +10 -10
  122. package/lib/_common/utils.d.ts +3 -3
  123. package/lib/api/contact-card.gql.d.ts +7 -7
  124. package/lib/api/contact-card.service.d.ts +52 -52
  125. package/lib/api/contact-card2.gql.d.ts +34 -34
  126. package/lib/api/contact-card2.service.d.ts +49 -49
  127. package/lib/api/file.service.d.ts +18 -18
  128. package/lib/api/item2.gql.d.ts +96 -96
  129. package/lib/api/item2.service.d.ts +177 -177
  130. package/lib/api/key-exchange.gql.d.ts +9 -9
  131. package/lib/api/key-exchange.service.d.ts +39 -39
  132. package/lib/api/key-exchange.types.d.ts +196 -196
  133. package/lib/api/key-exchange2.gql.d.ts +125 -125
  134. package/lib/api/key-exchange2.service.d.ts +187 -187
  135. package/lib/api/lock.gql.d.ts +27 -27
  136. package/lib/api/lock.service.d.ts +25 -25
  137. package/lib/api/lr-apollo.service.d.ts +15 -15
  138. package/lib/api/lr-graphql/index.d.ts +5 -5
  139. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  140. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +27 -27
  141. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  142. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  143. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  144. package/lib/api/message.service.d.ts +58 -58
  145. package/lib/api/persist.service.d.ts +31 -31
  146. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  147. package/lib/api/query-processor/index.d.ts +2 -2
  148. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  149. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  150. package/lib/api/shared-contact-card.service.d.ts +33 -33
  151. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  152. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  153. package/lib/api/time.service.d.ts +16 -16
  154. package/lib/api/types/graphql.types.d.ts +29 -29
  155. package/lib/api/types/index.d.ts +2 -2
  156. package/lib/api/types/lr-graphql.types.d.ts +385 -385
  157. package/lib/auth/auth.config.d.ts +5 -5
  158. package/lib/auth/auth.gql.d.ts +15 -15
  159. package/lib/auth/auth.types.d.ts +66 -66
  160. package/lib/auth/idle.service.d.ts +40 -40
  161. package/lib/auth/idle.types.d.ts +10 -10
  162. package/lib/auth/lbop.service.d.ts +91 -91
  163. package/lib/auth/life-ready-auth.service.d.ts +59 -59
  164. package/lib/auth/password.service.d.ts +78 -78
  165. package/lib/auth/register.service.d.ts +25 -25
  166. package/lib/auth/two-factor.service.d.ts +15 -15
  167. package/lib/category/category-meta.service.d.ts +23 -23
  168. package/lib/category/category.gql.d.ts +45 -45
  169. package/lib/category/category.service.d.ts +67 -67
  170. package/lib/category/category.types.d.ts +79 -79
  171. package/lib/cryptography/cryptography.types.d.ts +83 -83
  172. package/lib/cryptography/encryption.service.d.ts +41 -41
  173. package/lib/cryptography/key-factory.service.d.ts +38 -38
  174. package/lib/cryptography/key-graph.service.d.ts +33 -33
  175. package/lib/cryptography/key-meta.service.d.ts +44 -44
  176. package/lib/cryptography/key.service.d.ts +36 -36
  177. package/lib/cryptography/slip39.service.d.ts +43 -43
  178. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  179. package/lib/life-ready.config.d.ts +14 -14
  180. package/lib/life-ready.module.d.ts +5 -5
  181. package/lib/plan/plan.gql.d.ts +11 -11
  182. package/lib/plan/plan.service.d.ts +33 -33
  183. package/lib/plan/plan.types.d.ts +31 -31
  184. package/lib/record/record-attachment.service.d.ts +16 -16
  185. package/lib/record/record.gql.d.ts +14 -14
  186. package/lib/record/record.service.d.ts +25 -25
  187. package/lib/record/record.types.d.ts +57 -57
  188. package/lib/record-type/record-type.service.d.ts +11 -11
  189. package/lib/record-type/record-type.types.d.ts +50 -50
  190. package/lib/scenario/approvals/scenario-approval.gql.d.ts +7 -7
  191. package/lib/scenario/approvals/scenario-approval.types.d.ts +63 -63
  192. package/lib/scenario/approvals/scenario-approver.service.d.ts +32 -32
  193. package/lib/scenario/claimants/scenario-claimant.gql.d.ts +5 -5
  194. package/lib/scenario/claimants/scenario-claimant.service.d.ts +17 -17
  195. package/lib/scenario/claimants/scenario-claimant.types.d.ts +18 -18
  196. package/lib/scenario/receivers/scenario-receiver.gql.d.ts +8 -8
  197. package/lib/scenario/receivers/scenario-receiver.service.d.ts +30 -30
  198. package/lib/scenario/receivers/scenario-receiver.types.d.ts +54 -54
  199. package/lib/scenario/scenario-setup.service.d.ts +22 -22
  200. package/lib/scenario/scenario.gql.d.ts +34 -34
  201. package/lib/scenario/scenario.service.d.ts +58 -58
  202. package/lib/scenario/scenario.types.d.ts +217 -217
  203. package/lib/search/search.gql.d.ts +1 -1
  204. package/lib/search/search.service.d.ts +25 -25
  205. package/lib/search/search.types.d.ts +20 -20
  206. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  207. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  208. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  209. package/lib/trusted-parties/tp-password-reset.gql.d.ts +218 -218
  210. package/lib/trusted-parties/tp-password-reset.service.d.ts +130 -130
  211. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  212. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  213. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  214. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  215. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  216. package/lib/users/profile-details.service.d.ts +21 -21
  217. package/lib/users/profile.gql.d.ts +11 -11
  218. package/lib/users/profile.service.d.ts +35 -35
  219. package/lib/users/profile.types.d.ts +96 -96
  220. package/lib/users/user.gql.d.ts +9 -9
  221. package/lib/users/user.service.d.ts +12 -12
  222. package/lib/users/user.types.d.ts +23 -23
  223. package/lifeready-core.d.ts +9 -9
  224. package/package.json +1 -1
  225. package/public-api.d.ts +77 -77
@@ -1,190 +1,190 @@
1
- import gql from 'graphql-tag';
2
- const KeyGraphFragmentBase = `
3
- {
4
- keys {
5
- id
6
- }
7
- keyLinks {
8
- keyId
9
- wrappingKeyId
10
- wrappedKey
11
- }
12
- passKeys {
13
- id
14
- }
15
- passKeyLinks {
16
- keyId
17
- passKeyId
18
- wrappedKey
19
- }
20
- __typename
21
- }
22
- `;
23
- export const KeyGraphFragment = gql `
24
- fragment KeyGraphFragment on KeyGraphType ${KeyGraphFragmentBase}
25
- `;
26
- export const KeyGraphField = `keyGraph ${KeyGraphFragmentBase}`;
27
- export const FetchKeyGraphField = `keyGraph: fetchKeyGraph ${KeyGraphFragmentBase}`;
28
- export const FileQuery = gql `
29
- query File($id: LrRelayIdInput!, $cachedKeyIds: [LrRelayIdInput!]) {
30
- file(id: $id) {
31
- id
32
- keyId
33
- currentVersion {
34
- id
35
- operation
36
- state {
37
- keyId
38
- plainMeta
39
- cipherMeta
40
- contentResource
41
- }
42
- }
43
- versions {
44
- edges {
45
- node {
46
- id
47
- state {
48
- keyId
49
- plainMeta
50
- cipherMeta
51
- contentResource
52
- }
53
- }
54
- }
55
- }
56
- parentDirectoryLinks {
57
- edges {
58
- node {
59
- parentDirectory {
60
- id
61
- plainMeta
62
- }
63
- }
64
- }
65
- }
66
- }
67
- keyGraph(cachedKeyIds: $cachedKeyIds) {
68
- ...KeyGraphFragment
69
- }
70
- }
71
- ${KeyGraphFragment}
72
- `;
73
- export const DirectoryQuery = gql `
74
- query Directory($id: LrRelayIdInput!, $cachedKeyIds: [LrRelayIdInput!]) {
75
- directory(id: $id) {
76
- id
77
- keyId
78
- plainMeta
79
- cipherMeta
80
- }
81
- keyGraph(cachedKeyIds: $cachedKeyIds) {
82
- ...KeyGraphFragment
83
- }
84
- }
85
- ${KeyGraphFragment}
86
- `;
87
- export const CreateFileQuery = gql `
88
- mutation CreateFile($input: CreateFileInput!) {
89
- createFile(input: $input) {
90
- file {
91
- id
92
- }
93
- }
94
- }
95
- `;
96
- export const UpdateFileQuery = gql `
97
- mutation UpdateFile($input: UpdateFileInput!) {
98
- updateFile(input: $input) {
99
- file {
100
- id
101
- currentVersion {
102
- id
103
- state {
104
- id
105
- }
106
- }
107
- }
108
- }
109
- }
110
- `;
111
- export const RevertFileQuery = gql `
112
- mutation RevertFile($input: RevertFileInput!) {
113
- revertFile(input: $input) {
114
- file {
115
- id
116
- currentVersion {
117
- id
118
- state {
119
- id
120
- }
121
- }
122
- }
123
- }
124
- }
125
- `;
126
- export const MoveFileQuery = gql `
127
- mutation MoveFile(
128
- $fileId: LrRelayIdInput!
129
- $fromParentDirectoryId: LrRelayIdInput!
130
- $toParentDirectoryId: LrRelayIdInput!
131
- $wrappingKeyId: LrRelayIdInput!
132
- $wrappedKey: String!
133
- ) {
134
- moveFile(
135
- input: {
136
- fileId: $fileId
137
- fromParentDirectoryId: $fromParentDirectoryId
138
- toParentDirectoryId: $toParentDirectoryId
139
- wrappingKeyId: $wrappingKeyId
140
- wrappedKey: $wrappedKey
141
- }
142
- ) {
143
- file {
144
- id
145
- parentDirectoryLinks {
146
- edges {
147
- node {
148
- parentDirectory {
149
- plainMeta
150
- }
151
- }
152
- }
153
- }
154
- }
155
- }
156
- }
157
- `;
158
- export const MoveDirectoryQuery = gql `
159
- mutation MoveDirectory(
160
- $directoryId: LrRelayIdInput!
161
- $fromParentDirectoryId: LrRelayIdInput
162
- $toParentDirectoryId: LrRelayIdInput!
163
- $wrappedKey: String!
164
- $wrappingKeyId: LrRelayIdInput!
165
- ) {
166
- moveDirectory(
167
- input: {
168
- directoryId: $directoryId
169
- fromParentDirectoryId: $fromParentDirectoryId
170
- toParentDirectoryId: $toParentDirectoryId
171
- wrappedKey: $wrappedKey
172
- wrappingKeyId: $wrappingKeyId
173
- }
174
- ) {
175
- directory {
176
- id
177
- parentDirectoryLinks {
178
- edges {
179
- node {
180
- parentDirectory {
181
- plainMeta
182
- }
183
- }
184
- }
185
- }
186
- }
187
- }
188
- }
189
- `;
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5ncWwuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9xdWVyaWVzLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFFOUIsTUFBTSxvQkFBb0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FvQjVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUE7NENBQ1Msb0JBQW9CO0NBQy9ELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxvQkFBb0IsRUFBRSxDQUFDO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixvQkFBb0IsRUFBRSxDQUFDO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUEyQ3hCLGdCQUFnQjtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7O0lBWTdCLGdCQUFnQjtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7O0NBY2pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStCL0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStCcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xyXG5cclxuY29uc3QgS2V5R3JhcGhGcmFnbWVudEJhc2UgPSBgXHJcbntcclxuICBrZXlzIHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIGtleUxpbmtzIHtcclxuICAgIGtleUlkXHJcbiAgICB3cmFwcGluZ0tleUlkXHJcbiAgICB3cmFwcGVkS2V5XHJcbiAgfVxyXG4gIHBhc3NLZXlzIHtcclxuICAgIGlkXHJcbiAgfVxyXG4gIHBhc3NLZXlMaW5rcyB7XHJcbiAgICBrZXlJZFxyXG4gICAgcGFzc0tleUlkXHJcbiAgICB3cmFwcGVkS2V5XHJcbiAgfVxyXG4gIF9fdHlwZW5hbWVcclxufVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEtleUdyYXBoRnJhZ21lbnQgPSBncWxgXHJcbmZyYWdtZW50IEtleUdyYXBoRnJhZ21lbnQgb24gS2V5R3JhcGhUeXBlICR7S2V5R3JhcGhGcmFnbWVudEJhc2V9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgS2V5R3JhcGhGaWVsZCA9IGBrZXlHcmFwaCAke0tleUdyYXBoRnJhZ21lbnRCYXNlfWA7XHJcblxyXG5leHBvcnQgY29uc3QgRmV0Y2hLZXlHcmFwaEZpZWxkID0gYGtleUdyYXBoOiBmZXRjaEtleUdyYXBoICR7S2V5R3JhcGhGcmFnbWVudEJhc2V9YDtcclxuXHJcbmV4cG9ydCBjb25zdCBGaWxlUXVlcnkgPSBncWxgXHJcbiAgcXVlcnkgRmlsZSgkaWQ6IExyUmVsYXlJZElucHV0ISwgJGNhY2hlZEtleUlkczogW0xyUmVsYXlJZElucHV0IV0pIHtcclxuICAgIGZpbGUoaWQ6ICRpZCkge1xyXG4gICAgICBpZFxyXG4gICAgICBrZXlJZFxyXG4gICAgICBjdXJyZW50VmVyc2lvbiB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBvcGVyYXRpb25cclxuICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICBrZXlJZFxyXG4gICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICBjaXBoZXJNZXRhXHJcbiAgICAgICAgICBjb250ZW50UmVzb3VyY2VcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdmVyc2lvbnMge1xyXG4gICAgICAgIGVkZ2VzIHtcclxuICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICAgICAga2V5SWRcclxuICAgICAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgICAgICBjaXBoZXJNZXRhXHJcbiAgICAgICAgICAgICAgY29udGVudFJlc291cmNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcGFyZW50RGlyZWN0b3J5TGlua3Mge1xyXG4gICAgICAgIGVkZ2VzIHtcclxuICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICBwYXJlbnREaXJlY3Rvcnkge1xyXG4gICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xyXG4gICAgICAuLi5LZXlHcmFwaEZyYWdtZW50XHJcbiAgICB9XHJcbiAgfVxyXG4gICR7S2V5R3JhcGhGcmFnbWVudH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBEaXJlY3RvcnlRdWVyeSA9IGdxbGBcclxuICBxdWVyeSBEaXJlY3RvcnkoJGlkOiBMclJlbGF5SWRJbnB1dCEsICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdKSB7XHJcbiAgICBkaXJlY3RvcnkoaWQ6ICRpZCkge1xyXG4gICAgICBpZFxyXG4gICAgICBrZXlJZFxyXG4gICAgICBwbGFpbk1ldGFcclxuICAgICAgY2lwaGVyTWV0YVxyXG4gICAgfVxyXG4gICAga2V5R3JhcGgoY2FjaGVkS2V5SWRzOiAkY2FjaGVkS2V5SWRzKSB7XHJcbiAgICAgIC4uLktleUdyYXBoRnJhZ21lbnRcclxuICAgIH1cclxuICB9XHJcbiAgJHtLZXlHcmFwaEZyYWdtZW50fVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENyZWF0ZUZpbGVRdWVyeSA9IGdxbGBcclxuICBtdXRhdGlvbiBDcmVhdGVGaWxlKCRpbnB1dDogQ3JlYXRlRmlsZUlucHV0ISkge1xyXG4gICAgY3JlYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVXBkYXRlRmlsZVF1ZXJ5ID0gZ3FsYFxyXG4gIG11dGF0aW9uIFVwZGF0ZUZpbGUoJGlucHV0OiBVcGRhdGVGaWxlSW5wdXQhKSB7XHJcbiAgICB1cGRhdGVGaWxlKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgZmlsZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjdXJyZW50VmVyc2lvbiB7XHJcbiAgICAgICAgICBpZFxyXG4gICAgICAgICAgc3RhdGUge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSZXZlcnRGaWxlUXVlcnkgPSBncWxgXHJcbiAgbXV0YXRpb24gUmV2ZXJ0RmlsZSgkaW5wdXQ6IFJldmVydEZpbGVJbnB1dCEpIHtcclxuICAgIHJldmVydEZpbGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBmaWxlIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGN1cnJlbnRWZXJzaW9uIHtcclxuICAgICAgICAgIGlkXHJcbiAgICAgICAgICBzdGF0ZSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE1vdmVGaWxlUXVlcnkgPSBncWxgXHJcbiAgbXV0YXRpb24gTW92ZUZpbGUoXHJcbiAgICAkZmlsZUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICRmcm9tUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICAgJHRvUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICAgJHdyYXBwZWRLZXk6IFN0cmluZyFcclxuICApIHtcclxuICAgIG1vdmVGaWxlKFxyXG4gICAgICBpbnB1dDoge1xyXG4gICAgICAgIGZpbGVJZDogJGZpbGVJZFxyXG4gICAgICAgIGZyb21QYXJlbnREaXJlY3RvcnlJZDogJGZyb21QYXJlbnREaXJlY3RvcnlJZFxyXG4gICAgICAgIHRvUGFyZW50RGlyZWN0b3J5SWQ6ICR0b1BhcmVudERpcmVjdG9yeUlkXHJcbiAgICAgICAgd3JhcHBpbmdLZXlJZDogJHdyYXBwaW5nS2V5SWRcclxuICAgICAgICB3cmFwcGVkS2V5OiAkd3JhcHBlZEtleVxyXG4gICAgICB9XHJcbiAgICApIHtcclxuICAgICAgZmlsZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBwYXJlbnREaXJlY3RvcnlMaW5rcyB7XHJcbiAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICAgIHBhcmVudERpcmVjdG9yeSB7XHJcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgTW92ZURpcmVjdG9yeVF1ZXJ5ID0gZ3FsYFxyXG4gIG11dGF0aW9uIE1vdmVEaXJlY3RvcnkoXHJcbiAgICAkZGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICAgJGZyb21QYXJlbnREaXJlY3RvcnlJZDogTHJSZWxheUlkSW5wdXRcclxuICAgICR0b1BhcmVudERpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXHJcbiAgICAkd3JhcHBpbmdLZXlJZDogTHJSZWxheUlkSW5wdXQhXHJcbiAgKSB7XHJcbiAgICBtb3ZlRGlyZWN0b3J5KFxyXG4gICAgICBpbnB1dDoge1xyXG4gICAgICAgIGRpcmVjdG9yeUlkOiAkZGlyZWN0b3J5SWRcclxuICAgICAgICBmcm9tUGFyZW50RGlyZWN0b3J5SWQ6ICRmcm9tUGFyZW50RGlyZWN0b3J5SWRcclxuICAgICAgICB0b1BhcmVudERpcmVjdG9yeUlkOiAkdG9QYXJlbnREaXJlY3RvcnlJZFxyXG4gICAgICAgIHdyYXBwZWRLZXk6ICR3cmFwcGVkS2V5XHJcbiAgICAgICAgd3JhcHBpbmdLZXlJZDogJHdyYXBwaW5nS2V5SWRcclxuICAgICAgfVxyXG4gICAgKSB7XHJcbiAgICAgIGRpcmVjdG9yeSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBwYXJlbnREaXJlY3RvcnlMaW5rcyB7XHJcbiAgICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICAgIG5vZGUge1xyXG4gICAgICAgICAgICAgIHBhcmVudERpcmVjdG9yeSB7XHJcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcbiJdfQ==
1
+ import gql from 'graphql-tag';
2
+ const KeyGraphFragmentBase = `
3
+ {
4
+ keys {
5
+ id
6
+ }
7
+ keyLinks {
8
+ keyId
9
+ wrappingKeyId
10
+ wrappedKey
11
+ }
12
+ passKeys {
13
+ id
14
+ }
15
+ passKeyLinks {
16
+ keyId
17
+ passKeyId
18
+ wrappedKey
19
+ }
20
+ __typename
21
+ }
22
+ `;
23
+ export const KeyGraphFragment = gql `
24
+ fragment KeyGraphFragment on KeyGraphType ${KeyGraphFragmentBase}
25
+ `;
26
+ export const KeyGraphField = `keyGraph ${KeyGraphFragmentBase}`;
27
+ export const FetchKeyGraphField = `keyGraph: fetchKeyGraph ${KeyGraphFragmentBase}`;
28
+ export const FileQuery = gql `
29
+ query File($id: LrRelayIdInput!, $cachedKeyIds: [LrRelayIdInput!]) {
30
+ file(id: $id) {
31
+ id
32
+ keyId
33
+ currentVersion {
34
+ id
35
+ operation
36
+ state {
37
+ keyId
38
+ plainMeta
39
+ cipherMeta
40
+ contentResource
41
+ }
42
+ }
43
+ versions {
44
+ edges {
45
+ node {
46
+ id
47
+ state {
48
+ keyId
49
+ plainMeta
50
+ cipherMeta
51
+ contentResource
52
+ }
53
+ }
54
+ }
55
+ }
56
+ parentDirectoryLinks {
57
+ edges {
58
+ node {
59
+ parentDirectory {
60
+ id
61
+ plainMeta
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ keyGraph(cachedKeyIds: $cachedKeyIds) {
68
+ ...KeyGraphFragment
69
+ }
70
+ }
71
+ ${KeyGraphFragment}
72
+ `;
73
+ export const DirectoryQuery = gql `
74
+ query Directory($id: LrRelayIdInput!, $cachedKeyIds: [LrRelayIdInput!]) {
75
+ directory(id: $id) {
76
+ id
77
+ keyId
78
+ plainMeta
79
+ cipherMeta
80
+ }
81
+ keyGraph(cachedKeyIds: $cachedKeyIds) {
82
+ ...KeyGraphFragment
83
+ }
84
+ }
85
+ ${KeyGraphFragment}
86
+ `;
87
+ export const CreateFileQuery = gql `
88
+ mutation CreateFile($input: CreateFileInput!) {
89
+ createFile(input: $input) {
90
+ file {
91
+ id
92
+ }
93
+ }
94
+ }
95
+ `;
96
+ export const UpdateFileQuery = gql `
97
+ mutation UpdateFile($input: UpdateFileInput!) {
98
+ updateFile(input: $input) {
99
+ file {
100
+ id
101
+ currentVersion {
102
+ id
103
+ state {
104
+ id
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ `;
111
+ export const RevertFileQuery = gql `
112
+ mutation RevertFile($input: RevertFileInput!) {
113
+ revertFile(input: $input) {
114
+ file {
115
+ id
116
+ currentVersion {
117
+ id
118
+ state {
119
+ id
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ `;
126
+ export const MoveFileQuery = gql `
127
+ mutation MoveFile(
128
+ $fileId: LrRelayIdInput!
129
+ $fromParentDirectoryId: LrRelayIdInput!
130
+ $toParentDirectoryId: LrRelayIdInput!
131
+ $wrappingKeyId: LrRelayIdInput!
132
+ $wrappedKey: String!
133
+ ) {
134
+ moveFile(
135
+ input: {
136
+ fileId: $fileId
137
+ fromParentDirectoryId: $fromParentDirectoryId
138
+ toParentDirectoryId: $toParentDirectoryId
139
+ wrappingKeyId: $wrappingKeyId
140
+ wrappedKey: $wrappedKey
141
+ }
142
+ ) {
143
+ file {
144
+ id
145
+ parentDirectoryLinks {
146
+ edges {
147
+ node {
148
+ parentDirectory {
149
+ plainMeta
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ `;
158
+ export const MoveDirectoryQuery = gql `
159
+ mutation MoveDirectory(
160
+ $directoryId: LrRelayIdInput!
161
+ $fromParentDirectoryId: LrRelayIdInput
162
+ $toParentDirectoryId: LrRelayIdInput!
163
+ $wrappedKey: String!
164
+ $wrappingKeyId: LrRelayIdInput!
165
+ ) {
166
+ moveDirectory(
167
+ input: {
168
+ directoryId: $directoryId
169
+ fromParentDirectoryId: $fromParentDirectoryId
170
+ toParentDirectoryId: $toParentDirectoryId
171
+ wrappedKey: $wrappedKey
172
+ wrappingKeyId: $wrappingKeyId
173
+ }
174
+ ) {
175
+ directory {
176
+ id
177
+ parentDirectoryLinks {
178
+ edges {
179
+ node {
180
+ parentDirectory {
181
+ plainMeta
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ }
189
+ `;
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5ncWwuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vcXVlcmllcy5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBRTlCLE1BQU0sb0JBQW9CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0I1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFBOzRDQUNTLG9CQUFvQjtDQUMvRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksb0JBQW9CLEVBQUUsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMkN4QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztJQVk3QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Q0FjakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQi9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQnBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcblxuY29uc3QgS2V5R3JhcGhGcmFnbWVudEJhc2UgPSBgXG57XG4gIGtleXMge1xuICAgIGlkXG4gIH1cbiAga2V5TGlua3Mge1xuICAgIGtleUlkXG4gICAgd3JhcHBpbmdLZXlJZFxuICAgIHdyYXBwZWRLZXlcbiAgfVxuICBwYXNzS2V5cyB7XG4gICAgaWRcbiAgfVxuICBwYXNzS2V5TGlua3Mge1xuICAgIGtleUlkXG4gICAgcGFzc0tleUlkXG4gICAgd3JhcHBlZEtleVxuICB9XG4gIF9fdHlwZW5hbWVcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBLZXlHcmFwaEZyYWdtZW50ID0gZ3FsYFxuZnJhZ21lbnQgS2V5R3JhcGhGcmFnbWVudCBvbiBLZXlHcmFwaFR5cGUgJHtLZXlHcmFwaEZyYWdtZW50QmFzZX1cbmA7XG5cbmV4cG9ydCBjb25zdCBLZXlHcmFwaEZpZWxkID0gYGtleUdyYXBoICR7S2V5R3JhcGhGcmFnbWVudEJhc2V9YDtcblxuZXhwb3J0IGNvbnN0IEZldGNoS2V5R3JhcGhGaWVsZCA9IGBrZXlHcmFwaDogZmV0Y2hLZXlHcmFwaCAke0tleUdyYXBoRnJhZ21lbnRCYXNlfWA7XG5cbmV4cG9ydCBjb25zdCBGaWxlUXVlcnkgPSBncWxgXG4gIHF1ZXJ5IEZpbGUoJGlkOiBMclJlbGF5SWRJbnB1dCEsICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdKSB7XG4gICAgZmlsZShpZDogJGlkKSB7XG4gICAgICBpZFxuICAgICAga2V5SWRcbiAgICAgIGN1cnJlbnRWZXJzaW9uIHtcbiAgICAgICAgaWRcbiAgICAgICAgb3BlcmF0aW9uXG4gICAgICAgIHN0YXRlIHtcbiAgICAgICAgICBrZXlJZFxuICAgICAgICAgIHBsYWluTWV0YVxuICAgICAgICAgIGNpcGhlck1ldGFcbiAgICAgICAgICBjb250ZW50UmVzb3VyY2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmVyc2lvbnMge1xuICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgbm9kZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgICBrZXlJZFxuICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgY2lwaGVyTWV0YVxuICAgICAgICAgICAgICBjb250ZW50UmVzb3VyY2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgZWRnZXMge1xuICAgICAgICAgIG5vZGUge1xuICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcGxhaW5NZXRhXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xuICAgICAgLi4uS2V5R3JhcGhGcmFnbWVudFxuICAgIH1cbiAgfVxuICAke0tleUdyYXBoRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgY29uc3QgRGlyZWN0b3J5UXVlcnkgPSBncWxgXG4gIHF1ZXJ5IERpcmVjdG9yeSgkaWQ6IExyUmVsYXlJZElucHV0ISwgJGNhY2hlZEtleUlkczogW0xyUmVsYXlJZElucHV0IV0pIHtcbiAgICBkaXJlY3RvcnkoaWQ6ICRpZCkge1xuICAgICAgaWRcbiAgICAgIGtleUlkXG4gICAgICBwbGFpbk1ldGFcbiAgICAgIGNpcGhlck1ldGFcbiAgICB9XG4gICAga2V5R3JhcGgoY2FjaGVkS2V5SWRzOiAkY2FjaGVkS2V5SWRzKSB7XG4gICAgICAuLi5LZXlHcmFwaEZyYWdtZW50XG4gICAgfVxuICB9XG4gICR7S2V5R3JhcGhGcmFnbWVudH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIENyZWF0ZUZpbGUoJGlucHV0OiBDcmVhdGVGaWxlSW5wdXQhKSB7XG4gICAgY3JlYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIFVwZGF0ZUZpbGUoJGlucHV0OiBVcGRhdGVGaWxlSW5wdXQhKSB7XG4gICAgdXBkYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3VycmVudFZlcnNpb24ge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSZXZlcnRGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIFJldmVydEZpbGUoJGlucHV0OiBSZXZlcnRGaWxlSW5wdXQhKSB7XG4gICAgcmV2ZXJ0RmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3VycmVudFZlcnNpb24ge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBNb3ZlRmlsZVF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBNb3ZlRmlsZShcbiAgICAkZmlsZUlkOiBMclJlbGF5SWRJbnB1dCFcbiAgICAkZnJvbVBhcmVudERpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcbiAgICAkdG9QYXJlbnREaXJlY3RvcnlJZDogTHJSZWxheUlkSW5wdXQhXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXG4gICkge1xuICAgIG1vdmVGaWxlKFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgZmlsZUlkOiAkZmlsZUlkXG4gICAgICAgIGZyb21QYXJlbnREaXJlY3RvcnlJZDogJGZyb21QYXJlbnREaXJlY3RvcnlJZFxuICAgICAgICB0b1BhcmVudERpcmVjdG9yeUlkOiAkdG9QYXJlbnREaXJlY3RvcnlJZFxuICAgICAgICB3cmFwcGluZ0tleUlkOiAkd3JhcHBpbmdLZXlJZFxuICAgICAgICB3cmFwcGVkS2V5OiAkd3JhcHBlZEtleVxuICAgICAgfVxuICAgICkge1xuICAgICAgZmlsZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE1vdmVEaXJlY3RvcnlRdWVyeSA9IGdxbGBcbiAgbXV0YXRpb24gTW92ZURpcmVjdG9yeShcbiAgICAkZGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICRmcm9tUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0XG4gICAgJHRvUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxuICApIHtcbiAgICBtb3ZlRGlyZWN0b3J5KFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgZGlyZWN0b3J5SWQ6ICRkaXJlY3RvcnlJZFxuICAgICAgICBmcm9tUGFyZW50RGlyZWN0b3J5SWQ6ICRmcm9tUGFyZW50RGlyZWN0b3J5SWRcbiAgICAgICAgdG9QYXJlbnREaXJlY3RvcnlJZDogJHRvUGFyZW50RGlyZWN0b3J5SWRcbiAgICAgICAgd3JhcHBlZEtleTogJHdyYXBwZWRLZXlcbiAgICAgICAgd3JhcHBpbmdLZXlJZDogJHdyYXBwaW5nS2V5SWRcbiAgICAgIH1cbiAgICApIHtcbiAgICAgIGRpcmVjdG9yeSB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcbiJdfQ==
@@ -1,79 +1,79 @@
1
- import { LrBadLogicException } from '../_common/exceptions';
2
- /**
3
- * If you wish to change the behaviour of those, you'll need to create a derived
4
- * class and override the methods.
5
- * However, can't figure out a way to call the super() in the derived class ctor, error says
6
- * the super call can't be in tested function.
7
- */
8
- export const EXCLUDE_METHODS = [
9
- 'constructor',
10
- 'ngOnChanges',
11
- 'ngOnInit',
12
- 'ngDoCheck',
13
- 'ngAfterContentInit',
14
- 'ngAfterContentChecked',
15
- 'ngAfterViewInit',
16
- 'ngAfterViewChecked',
17
- 'ngOnDestroy',
18
- ];
19
- // Patch all methods of the class.
20
- //
21
- // Note, this will not patch functions in the base class, it only
22
- // patches the function defined in the current class because it's
23
- // using getOwnPropertyNames(). You should be using composition for
24
- // services anyway.
25
- //
26
- // Ref: https://stackoverflow.com/a/44409244
27
- // The above approach might be a bit old. Now that we have ngZone.runOutsideAngular(),
28
- // we should probably use that and not touch any angular zone internals. But the approach
29
- // above doesn't require injecting ngZone.
30
- //
31
- // Ref: https://github.com/2ng/run-outside-angular/blob/master/src/run-outside-angular.ts
32
- export function RunOutsideAngular({ ngZoneName, exceptLastPromise = true, excludeMethods = [], patchSetters = true, }) {
33
- return (target) => {
34
- function run(original, args) {
35
- if (!this[ngZoneName]) {
36
- throw new LrBadLogicException(`RunOutsideAngular decorator requires that ${target.name} inject NgZone as ${ngZoneName}`);
37
- }
38
- // runOutsideAngular() synchronously runs the callback and returns the result.
39
- const result = this[ngZoneName].runOutsideAngular(() => original.apply(this, args));
40
- if (exceptLastPromise && (result === null || result === void 0 ? void 0 : result.then)) {
41
- // Bring back into zone which will trigger change detection properly.
42
- // If this doesn't work, then we'll have to trigger change detection explicitly.
43
- return Promise.resolve(result);
44
- }
45
- else {
46
- return result;
47
- }
48
- }
49
- // There should be no reason to run any of the ones in EXCLUDE_METHODS outside angular.
50
- // So we always exclude them from patching. You can always explicit implement these ones differently.
51
- excludeMethods = [...excludeMethods, ...EXCLUDE_METHODS];
52
- const methods = Object.getOwnPropertyNames(target.prototype);
53
- methods
54
- .filter((method) => !excludeMethods.includes(method))
55
- .forEach((method) => {
56
- // Patch setters
57
- // Note that setters do not return any thing. But they can still issue async calls.
58
- // These async calls are not visible to the wrapper. So we can't issue change detection
59
- // for setters when they are running outside angular.
60
- if (patchSetters &&
61
- Object.getOwnPropertyDescriptor(target.prototype, method).set) {
62
- const original = Object.getOwnPropertyDescriptor(target.prototype, method).set;
63
- Object.defineProperty(target.prototype, method, {
64
- set(...args) {
65
- return run.apply(this, [original, args]);
66
- },
67
- });
68
- }
69
- if (typeof target.prototype[method] === 'function') {
70
- const original = target.prototype[method];
71
- target.prototype[method] = function (...args) {
72
- return run.apply(this, [original, args]);
73
- };
74
- }
75
- });
76
- return target;
77
- };
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9uZXdyZXBvL2tjLWNsaWVudC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUEwQjVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLGFBQWE7SUFDYixhQUFhO0lBQ2IsVUFBVTtJQUNWLFdBQVc7SUFDWCxvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsYUFBYTtDQUNkLENBQUM7QUFFRixrQ0FBa0M7QUFDbEMsRUFBRTtBQUNGLGlFQUFpRTtBQUNqRSxpRUFBaUU7QUFDakUsbUVBQW1FO0FBQ25FLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsNENBQTRDO0FBQzVDLHNGQUFzRjtBQUN0Rix5RkFBeUY7QUFDekYsMENBQTBDO0FBQzFDLEVBQUU7QUFDRix5RkFBeUY7QUFDekYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQ2hDLFVBQVUsRUFDVixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLGNBQWMsR0FBRyxFQUFFLEVBQ25CLFlBQVksR0FBRyxJQUFJLEdBQ0s7SUFDeEIsT0FBTyxDQUFDLE1BQVcsRUFBRSxFQUFFO1FBQ3JCLFNBQVMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sSUFBSSxtQkFBbUIsQ0FDM0IsNkNBQTZDLE1BQU0sQ0FBQyxJQUFJLHFCQUFxQixVQUFVLEVBQUUsQ0FDMUYsQ0FBQzthQUNIO1lBQ0QsOEVBQThFO1lBQzlFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FDckQsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQzNCLENBQUM7WUFFRixJQUFJLGlCQUFpQixLQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJLENBQUEsRUFBRTtnQkFDckMscUVBQXFFO2dCQUNyRSxnRkFBZ0Y7Z0JBQ2hGLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoQztpQkFBTTtnQkFDTCxPQUFPLE1BQU0sQ0FBQzthQUNmO1FBQ0gsQ0FBQztRQUVELHVGQUF1RjtRQUN2RixxR0FBcUc7UUFDckcsY0FBYyxHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUV6RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdELE9BQU87YUFDSixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNwRCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0I7WUFDaEIsbUZBQW1GO1lBQ25GLHVGQUF1RjtZQUN2RixxREFBcUQ7WUFDckQsSUFDRSxZQUFZO2dCQUNaLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFDN0Q7Z0JBQ0EsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUM5QyxNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQ1AsQ0FBQyxHQUFHLENBQUM7Z0JBRU4sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRTtvQkFDOUMsR0FBRyxDQUFDLEdBQUcsSUFBSTt3QkFDVCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQzNDLENBQUM7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0JBQ2xELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRTFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsVUFBUyxHQUFHLElBQUk7b0JBQ3pDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMckJhZExvZ2ljRXhjZXB0aW9uIH0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcge1xyXG4gIG5nWm9uZU5hbWU6IHN0cmluZztcclxuICAvLyBJZiB0cnVlLCBhIHNpbmdsZSBjaGFuZ2UgZGV0ZWN0aW9uIGlzIHRyaWdnZXJlZCBvbiByZXNvbHZlIG9mIHRoZSBQcm9taXNlIHJldHVybmVkXHJcbiAgLy8gZnJvbSB0aGUgZnVuY3Rpb24uXHJcbiAgLy8gZWxzZSwgdGhlIGVudGlyZSBmdW5jdGlvbiBpcyBydW4gb3V0c2lkZSBvZiB6b25lLlxyXG4gIC8vIE5vdGUgdGhhdCBpZiB0aGlzIGlzIGRpc2FibGVkLCB0aGVuIGNoYW5nZSBkZXRlY3Rpb24gaXMgbm90IHRyaWdnZXJlZCBldmVuIGlmIHlvdVxyXG4gIC8vIHVzZSBhc3luYyBwaXBlcyB0byBzdWJzY3JpYmUgdG8gb2JzZXJ2YWJsZXMgb24gdGhlIHJlc3VsdGluZyBwcm9taXNlLiBUaGlzIGlzIGJlY2F1c2VcclxuICAvLyBhc3luYyBwaXBlcyBvbmx5IF9tYXJrc18gYSBjb21wb25lbnQgZm9yIGNoYW5nZSBkZXRlY3Rpb24sIGl0IGRvZXNuJ3QgYWN0dWFsbHkgX3RyaWdnZXJfXHJcbiAgLy8gdGhlIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXHJcbiAgZXhjZXB0TGFzdFByb21pc2U/OiBib29sZWFuO1xyXG4gIC8vIEFueSBtZXRob2Qgb3IgcHJvcGVydHkgeW91IHdpc2ggdG8gZXhjbHVkZSBmcm9tIHBhdGNoLiBUaGUgbWV0aG9kcyBpbiBFWENMVURFX01FVEhPRFMgYXJlXHJcbiAgLy8gbmV2ZXIgcGF0Y2hlZC5cclxuICBleGNsdWRlTWV0aG9kcz86IHN0cmluZ1tdO1xyXG4gIC8vIElmIHRydWUsIHBhdGNoIHRoZSBzZXR0ZXJzIGFzIHdlbGwuIFNldHRpbmdzIGFyZSBzb21lXHJcbiAgLy8gTm90ZSB0aGF0IHNldHRlcnMgZG8gbm90IHJldHVybiBhbnkgdGhpbmcuIEJ1dCB0aGV5IGNhbiBzdGlsbCBpc3N1ZSBhc3luYyBjYWxscy5cclxuICAvLyBUaGVzZSBhc3luYyBjYWxscyBhcmUgbm90IHZpc2libGUgdG8gdGhlIHdyYXBwZXIuIFNvIHdlIGNhbid0IGlzc3VlIGNoYW5nZSBkZXRlY3Rpb25cclxuICAvLyBmb3Igc2V0dGVycyB3aGVuIHRoZXkgYXJlIHJ1bm5pbmcgb3V0c2lkZSBhbmd1bGFyLlxyXG4gIC8vIE5vdGUgdGhhdCBnZXR0ZXJzIGFyZSBub3QgcGF0Y2hlZCBiZWNhdXNlIGdldHRlciBhbmQgc2V0dGVyIG11c3QgdXNlIHRoZSBzYW1lIHR5cGUuIFNvIGlmXHJcbiAgLy8gdGhlIGdldHRlciByZXR1cm5zIGEgcHJvbWlzZSwgdGhlbiB0aGUgc2V0dGluZyBtdXN0IGFsd2F5IHRha2UgYSBwcm9taXNlLiBJdCBkb2Vzbid0IG1ha2VcclxuICAvLyBtdWNoIHNlbnNlIHRvIHVzZSBnZXR0ZXJzIGFuZCBzZXR0ZXJzIHRoaXMgd2F5LiBBbmQgaWYgZ2V0dGVyIHJldHVybnMgYSB2YWx1ZSwgdGhlbiB0aGVyZSdzXHJcbiAgLy8gbm8gbmVlZCB0byBwYXRjaCBpdCB0byBydW4gb3V0c2lkZSBhbmd1bGFyLlxyXG4gIHBhdGNoU2V0dGVycz86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBJZiB5b3Ugd2lzaCB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aG9zZSwgeW91J2xsIG5lZWQgdG8gY3JlYXRlIGEgZGVyaXZlZFxyXG4gKiBjbGFzcyBhbmQgb3ZlcnJpZGUgdGhlIG1ldGhvZHMuXHJcbiAqIEhvd2V2ZXIsIGNhbid0IGZpZ3VyZSBvdXQgYSB3YXkgdG8gY2FsbCB0aGUgc3VwZXIoKSBpbiB0aGUgZGVyaXZlZCBjbGFzcyBjdG9yLCBlcnJvciBzYXlzXHJcbiAqIHRoZSBzdXBlciBjYWxsIGNhbid0IGJlIGluIHRlc3RlZCBmdW5jdGlvbi5cclxuICovXHJcbmV4cG9ydCBjb25zdCBFWENMVURFX01FVEhPRFMgPSBbXHJcbiAgJ2NvbnN0cnVjdG9yJyxcclxuICAnbmdPbkNoYW5nZXMnLFxyXG4gICduZ09uSW5pdCcsXHJcbiAgJ25nRG9DaGVjaycsXHJcbiAgJ25nQWZ0ZXJDb250ZW50SW5pdCcsXHJcbiAgJ25nQWZ0ZXJDb250ZW50Q2hlY2tlZCcsXHJcbiAgJ25nQWZ0ZXJWaWV3SW5pdCcsXHJcbiAgJ25nQWZ0ZXJWaWV3Q2hlY2tlZCcsXHJcbiAgJ25nT25EZXN0cm95JyxcclxuXTtcclxuXHJcbi8vIFBhdGNoIGFsbCBtZXRob2RzIG9mIHRoZSBjbGFzcy5cclxuLy9cclxuLy8gTm90ZSwgdGhpcyB3aWxsIG5vdCBwYXRjaCBmdW5jdGlvbnMgaW4gdGhlIGJhc2UgY2xhc3MsIGl0IG9ubHlcclxuLy8gcGF0Y2hlcyB0aGUgZnVuY3Rpb24gZGVmaW5lZCBpbiB0aGUgY3VycmVudCBjbGFzcyBiZWNhdXNlIGl0J3NcclxuLy8gdXNpbmcgZ2V0T3duUHJvcGVydHlOYW1lcygpLiBZb3Ugc2hvdWxkIGJlIHVzaW5nIGNvbXBvc2l0aW9uIGZvclxyXG4vLyBzZXJ2aWNlcyBhbnl3YXkuXHJcbi8vXHJcbi8vIFJlZjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQ0NDA5MjQ0XHJcbi8vIFRoZSBhYm92ZSBhcHByb2FjaCBtaWdodCBiZSBhIGJpdCBvbGQuIE5vdyB0aGF0IHdlIGhhdmUgbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCksXHJcbi8vIHdlIHNob3VsZCBwcm9iYWJseSB1c2UgdGhhdCBhbmQgbm90IHRvdWNoIGFueSBhbmd1bGFyIHpvbmUgaW50ZXJuYWxzLiBCdXQgdGhlIGFwcHJvYWNoXHJcbi8vIGFib3ZlIGRvZXNuJ3QgcmVxdWlyZSBpbmplY3Rpbmcgbmdab25lLlxyXG4vL1xyXG4vLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS8ybmcvcnVuLW91dHNpZGUtYW5ndWxhci9ibG9iL21hc3Rlci9zcmMvcnVuLW91dHNpZGUtYW5ndWxhci50c1xyXG5leHBvcnQgZnVuY3Rpb24gUnVuT3V0c2lkZUFuZ3VsYXIoe1xyXG4gIG5nWm9uZU5hbWUsXHJcbiAgZXhjZXB0TGFzdFByb21pc2UgPSB0cnVlLFxyXG4gIGV4Y2x1ZGVNZXRob2RzID0gW10sXHJcbiAgcGF0Y2hTZXR0ZXJzID0gdHJ1ZSxcclxufTogUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcpIHtcclxuICByZXR1cm4gKHRhcmdldDogYW55KSA9PiB7XHJcbiAgICBmdW5jdGlvbiBydW4ob3JpZ2luYWwsIGFyZ3MpIHtcclxuICAgICAgaWYgKCF0aGlzW25nWm9uZU5hbWVdKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IExyQmFkTG9naWNFeGNlcHRpb24oXHJcbiAgICAgICAgICBgUnVuT3V0c2lkZUFuZ3VsYXIgZGVjb3JhdG9yIHJlcXVpcmVzIHRoYXQgJHt0YXJnZXQubmFtZX0gaW5qZWN0IE5nWm9uZSBhcyAke25nWm9uZU5hbWV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gcnVuT3V0c2lkZUFuZ3VsYXIoKSBzeW5jaHJvbm91c2x5IHJ1bnMgdGhlIGNhbGxiYWNrIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXNbbmdab25lTmFtZV0ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cclxuICAgICAgICBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKVxyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKGV4Y2VwdExhc3RQcm9taXNlICYmIHJlc3VsdD8udGhlbikge1xyXG4gICAgICAgIC8vIEJyaW5nIGJhY2sgaW50byB6b25lIHdoaWNoIHdpbGwgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHByb3Blcmx5LlxyXG4gICAgICAgIC8vIElmIHRoaXMgZG9lc24ndCB3b3JrLCB0aGVuIHdlJ2xsIGhhdmUgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGV4cGxpY2l0bHkuXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUaGVyZSBzaG91bGQgYmUgbm8gcmVhc29uIHRvIHJ1biBhbnkgb2YgdGhlIG9uZXMgaW4gRVhDTFVERV9NRVRIT0RTIG91dHNpZGUgYW5ndWxhci5cclxuICAgIC8vIFNvIHdlIGFsd2F5cyBleGNsdWRlIHRoZW0gZnJvbSBwYXRjaGluZy4gWW91IGNhbiBhbHdheXMgZXhwbGljaXQgaW1wbGVtZW50IHRoZXNlIG9uZXMgZGlmZmVyZW50bHkuXHJcbiAgICBleGNsdWRlTWV0aG9kcyA9IFsuLi5leGNsdWRlTWV0aG9kcywgLi4uRVhDTFVERV9NRVRIT0RTXTtcclxuXHJcbiAgICBjb25zdCBtZXRob2RzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XHJcblxyXG4gICAgbWV0aG9kc1xyXG4gICAgICAuZmlsdGVyKChtZXRob2QpID0+ICFleGNsdWRlTWV0aG9kcy5pbmNsdWRlcyhtZXRob2QpKVxyXG4gICAgICAuZm9yRWFjaCgobWV0aG9kKSA9PiB7XHJcbiAgICAgICAgLy8gUGF0Y2ggc2V0dGVyc1xyXG4gICAgICAgIC8vIE5vdGUgdGhhdCBzZXR0ZXJzIGRvIG5vdCByZXR1cm4gYW55IHRoaW5nLiBCdXQgdGhleSBjYW4gc3RpbGwgaXNzdWUgYXN5bmMgY2FsbHMuXHJcbiAgICAgICAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgICAgICAgLy8gZm9yIHNldHRlcnMgd2hlbiB0aGV5IGFyZSBydW5uaW5nIG91dHNpZGUgYW5ndWxhci5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBwYXRjaFNldHRlcnMgJiZcclxuICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LnByb3RvdHlwZSwgbWV0aG9kKS5zZXRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcclxuICAgICAgICAgICAgdGFyZ2V0LnByb3RvdHlwZSxcclxuICAgICAgICAgICAgbWV0aG9kXHJcbiAgICAgICAgICApLnNldDtcclxuXHJcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LnByb3RvdHlwZSwgbWV0aG9kLCB7XHJcbiAgICAgICAgICAgIHNldCguLi5hcmdzKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHJ1bi5hcHBseSh0aGlzLCBbb3JpZ2luYWwsIGFyZ3NdKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gdGFyZ2V0LnByb3RvdHlwZVttZXRob2RdO1xyXG5cclxuICAgICAgICAgIHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJ1bi5hcHBseSh0aGlzLCBbb3JpZ2luYWwsIGFyZ3NdKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG4gIH07XHJcbn1cclxuIl19
1
+ import { LrBadLogicException } from '../_common/exceptions';
2
+ /**
3
+ * If you wish to change the behaviour of those, you'll need to create a derived
4
+ * class and override the methods.
5
+ * However, can't figure out a way to call the super() in the derived class ctor, error says
6
+ * the super call can't be in tested function.
7
+ */
8
+ export const EXCLUDE_METHODS = [
9
+ 'constructor',
10
+ 'ngOnChanges',
11
+ 'ngOnInit',
12
+ 'ngDoCheck',
13
+ 'ngAfterContentInit',
14
+ 'ngAfterContentChecked',
15
+ 'ngAfterViewInit',
16
+ 'ngAfterViewChecked',
17
+ 'ngOnDestroy',
18
+ ];
19
+ // Patch all methods of the class.
20
+ //
21
+ // Note, this will not patch functions in the base class, it only
22
+ // patches the function defined in the current class because it's
23
+ // using getOwnPropertyNames(). You should be using composition for
24
+ // services anyway.
25
+ //
26
+ // Ref: https://stackoverflow.com/a/44409244
27
+ // The above approach might be a bit old. Now that we have ngZone.runOutsideAngular(),
28
+ // we should probably use that and not touch any angular zone internals. But the approach
29
+ // above doesn't require injecting ngZone.
30
+ //
31
+ // Ref: https://github.com/2ng/run-outside-angular/blob/master/src/run-outside-angular.ts
32
+ export function RunOutsideAngular({ ngZoneName, exceptLastPromise = true, excludeMethods = [], patchSetters = true, }) {
33
+ return (target) => {
34
+ function run(original, args) {
35
+ if (!this[ngZoneName]) {
36
+ throw new LrBadLogicException(`RunOutsideAngular decorator requires that ${target.name} inject NgZone as ${ngZoneName}`);
37
+ }
38
+ // runOutsideAngular() synchronously runs the callback and returns the result.
39
+ const result = this[ngZoneName].runOutsideAngular(() => original.apply(this, args));
40
+ if (exceptLastPromise && (result === null || result === void 0 ? void 0 : result.then)) {
41
+ // Bring back into zone which will trigger change detection properly.
42
+ // If this doesn't work, then we'll have to trigger change detection explicitly.
43
+ return Promise.resolve(result);
44
+ }
45
+ else {
46
+ return result;
47
+ }
48
+ }
49
+ // There should be no reason to run any of the ones in EXCLUDE_METHODS outside angular.
50
+ // So we always exclude them from patching. You can always explicit implement these ones differently.
51
+ excludeMethods = [...excludeMethods, ...EXCLUDE_METHODS];
52
+ const methods = Object.getOwnPropertyNames(target.prototype);
53
+ methods
54
+ .filter((method) => !excludeMethods.includes(method))
55
+ .forEach((method) => {
56
+ // Patch setters
57
+ // Note that setters do not return any thing. But they can still issue async calls.
58
+ // These async calls are not visible to the wrapper. So we can't issue change detection
59
+ // for setters when they are running outside angular.
60
+ if (patchSetters &&
61
+ Object.getOwnPropertyDescriptor(target.prototype, method).set) {
62
+ const original = Object.getOwnPropertyDescriptor(target.prototype, method).set;
63
+ Object.defineProperty(target.prototype, method, {
64
+ set(...args) {
65
+ return run.apply(this, [original, args]);
66
+ },
67
+ });
68
+ }
69
+ if (typeof target.prototype[method] === 'function') {
70
+ const original = target.prototype[method];
71
+ target.prototype[method] = function (...args) {
72
+ return run.apply(this, [original, args]);
73
+ };
74
+ }
75
+ });
76
+ return target;
77
+ };
78
+ }
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBMEI1RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGFBQWE7Q0FDZCxDQUFDO0FBRUYsa0NBQWtDO0FBQ2xDLEVBQUU7QUFDRixpRUFBaUU7QUFDakUsaUVBQWlFO0FBQ2pFLG1FQUFtRTtBQUNuRSxtQkFBbUI7QUFDbkIsRUFBRTtBQUNGLDRDQUE0QztBQUM1QyxzRkFBc0Y7QUFDdEYseUZBQXlGO0FBQ3pGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0YseUZBQXlGO0FBQ3pGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxVQUFVLEVBQ1YsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixjQUFjLEdBQUcsRUFBRSxFQUNuQixZQUFZLEdBQUcsSUFBSSxHQUNLO0lBQ3hCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLElBQUksbUJBQW1CLENBQzNCLDZDQUE2QyxNQUFNLENBQUMsSUFBSSxxQkFBcUIsVUFBVSxFQUFFLENBQzFGLENBQUM7YUFDSDtZQUNELDhFQUE4RTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQ3JELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUMzQixDQUFDO1lBRUYsSUFBSSxpQkFBaUIsS0FBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFBLEVBQUU7Z0JBQ3JDLHFFQUFxRTtnQkFDckUsZ0ZBQWdGO2dCQUNoRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsT0FBTyxNQUFNLENBQUM7YUFDZjtRQUNILENBQUM7UUFFRCx1RkFBdUY7UUFDdkYscUdBQXFHO1FBQ3JHLGNBQWMsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFFekQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RCxPQUFPO2FBQ0osTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEQsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCO1lBQ2hCLG1GQUFtRjtZQUNuRix1RkFBdUY7WUFDdkYscURBQXFEO1lBQ3JELElBQ0UsWUFBWTtnQkFDWixNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQzdEO2dCQUNBLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUNQLENBQUMsR0FBRyxDQUFDO2dCQUVOLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7b0JBQzlDLEdBQUcsQ0FBQyxHQUFHLElBQUk7d0JBQ1QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFJO29CQUN6QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTHJCYWRMb2dpY0V4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcge1xuICBuZ1pvbmVOYW1lOiBzdHJpbmc7XG4gIC8vIElmIHRydWUsIGEgc2luZ2xlIGNoYW5nZSBkZXRlY3Rpb24gaXMgdHJpZ2dlcmVkIG9uIHJlc29sdmUgb2YgdGhlIFByb21pc2UgcmV0dXJuZWRcbiAgLy8gZnJvbSB0aGUgZnVuY3Rpb24uXG4gIC8vIGVsc2UsIHRoZSBlbnRpcmUgZnVuY3Rpb24gaXMgcnVuIG91dHNpZGUgb2Ygem9uZS5cbiAgLy8gTm90ZSB0aGF0IGlmIHRoaXMgaXMgZGlzYWJsZWQsIHRoZW4gY2hhbmdlIGRldGVjdGlvbiBpcyBub3QgdHJpZ2dlcmVkIGV2ZW4gaWYgeW91XG4gIC8vIHVzZSBhc3luYyBwaXBlcyB0byBzdWJzY3JpYmUgdG8gb2JzZXJ2YWJsZXMgb24gdGhlIHJlc3VsdGluZyBwcm9taXNlLiBUaGlzIGlzIGJlY2F1c2VcbiAgLy8gYXN5bmMgcGlwZXMgb25seSBfbWFya3NfIGEgY29tcG9uZW50IGZvciBjaGFuZ2UgZGV0ZWN0aW9uLCBpdCBkb2Vzbid0IGFjdHVhbGx5IF90cmlnZ2VyX1xuICAvLyB0aGUgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgZXhjZXB0TGFzdFByb21pc2U/OiBib29sZWFuO1xuICAvLyBBbnkgbWV0aG9kIG9yIHByb3BlcnR5IHlvdSB3aXNoIHRvIGV4Y2x1ZGUgZnJvbSBwYXRjaC4gVGhlIG1ldGhvZHMgaW4gRVhDTFVERV9NRVRIT0RTIGFyZVxuICAvLyBuZXZlciBwYXRjaGVkLlxuICBleGNsdWRlTWV0aG9kcz86IHN0cmluZ1tdO1xuICAvLyBJZiB0cnVlLCBwYXRjaCB0aGUgc2V0dGVycyBhcyB3ZWxsLiBTZXR0aW5ncyBhcmUgc29tZVxuICAvLyBOb3RlIHRoYXQgc2V0dGVycyBkbyBub3QgcmV0dXJuIGFueSB0aGluZy4gQnV0IHRoZXkgY2FuIHN0aWxsIGlzc3VlIGFzeW5jIGNhbGxzLlxuICAvLyBUaGVzZSBhc3luYyBjYWxscyBhcmUgbm90IHZpc2libGUgdG8gdGhlIHdyYXBwZXIuIFNvIHdlIGNhbid0IGlzc3VlIGNoYW5nZSBkZXRlY3Rpb25cbiAgLy8gZm9yIHNldHRlcnMgd2hlbiB0aGV5IGFyZSBydW5uaW5nIG91dHNpZGUgYW5ndWxhci5cbiAgLy8gTm90ZSB0aGF0IGdldHRlcnMgYXJlIG5vdCBwYXRjaGVkIGJlY2F1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIgbXVzdCB1c2UgdGhlIHNhbWUgdHlwZS4gU28gaWZcbiAgLy8gdGhlIGdldHRlciByZXR1cm5zIGEgcHJvbWlzZSwgdGhlbiB0aGUgc2V0dGluZyBtdXN0IGFsd2F5IHRha2UgYSBwcm9taXNlLiBJdCBkb2Vzbid0IG1ha2VcbiAgLy8gbXVjaCBzZW5zZSB0byB1c2UgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGlzIHdheS4gQW5kIGlmIGdldHRlciByZXR1cm5zIGEgdmFsdWUsIHRoZW4gdGhlcmUnc1xuICAvLyBubyBuZWVkIHRvIHBhdGNoIGl0IHRvIHJ1biBvdXRzaWRlIGFuZ3VsYXIuXG4gIHBhdGNoU2V0dGVycz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSWYgeW91IHdpc2ggdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhvc2UsIHlvdSdsbCBuZWVkIHRvIGNyZWF0ZSBhIGRlcml2ZWRcbiAqIGNsYXNzIGFuZCBvdmVycmlkZSB0aGUgbWV0aG9kcy5cbiAqIEhvd2V2ZXIsIGNhbid0IGZpZ3VyZSBvdXQgYSB3YXkgdG8gY2FsbCB0aGUgc3VwZXIoKSBpbiB0aGUgZGVyaXZlZCBjbGFzcyBjdG9yLCBlcnJvciBzYXlzXG4gKiB0aGUgc3VwZXIgY2FsbCBjYW4ndCBiZSBpbiB0ZXN0ZWQgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBFWENMVURFX01FVEhPRFMgPSBbXG4gICdjb25zdHJ1Y3RvcicsXG4gICduZ09uQ2hhbmdlcycsXG4gICduZ09uSW5pdCcsXG4gICduZ0RvQ2hlY2snLFxuICAnbmdBZnRlckNvbnRlbnRJbml0JyxcbiAgJ25nQWZ0ZXJDb250ZW50Q2hlY2tlZCcsXG4gICduZ0FmdGVyVmlld0luaXQnLFxuICAnbmdBZnRlclZpZXdDaGVja2VkJyxcbiAgJ25nT25EZXN0cm95Jyxcbl07XG5cbi8vIFBhdGNoIGFsbCBtZXRob2RzIG9mIHRoZSBjbGFzcy5cbi8vXG4vLyBOb3RlLCB0aGlzIHdpbGwgbm90IHBhdGNoIGZ1bmN0aW9ucyBpbiB0aGUgYmFzZSBjbGFzcywgaXQgb25seVxuLy8gcGF0Y2hlcyB0aGUgZnVuY3Rpb24gZGVmaW5lZCBpbiB0aGUgY3VycmVudCBjbGFzcyBiZWNhdXNlIGl0J3Ncbi8vIHVzaW5nIGdldE93blByb3BlcnR5TmFtZXMoKS4gWW91IHNob3VsZCBiZSB1c2luZyBjb21wb3NpdGlvbiBmb3Jcbi8vIHNlcnZpY2VzIGFueXdheS5cbi8vXG4vLyBSZWY6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80NDQwOTI0NFxuLy8gVGhlIGFib3ZlIGFwcHJvYWNoIG1pZ2h0IGJlIGEgYml0IG9sZC4gTm93IHRoYXQgd2UgaGF2ZSBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKSxcbi8vIHdlIHNob3VsZCBwcm9iYWJseSB1c2UgdGhhdCBhbmQgbm90IHRvdWNoIGFueSBhbmd1bGFyIHpvbmUgaW50ZXJuYWxzLiBCdXQgdGhlIGFwcHJvYWNoXG4vLyBhYm92ZSBkb2Vzbid0IHJlcXVpcmUgaW5qZWN0aW5nIG5nWm9uZS5cbi8vXG4vLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS8ybmcvcnVuLW91dHNpZGUtYW5ndWxhci9ibG9iL21hc3Rlci9zcmMvcnVuLW91dHNpZGUtYW5ndWxhci50c1xuZXhwb3J0IGZ1bmN0aW9uIFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZSxcbiAgZXhjZXB0TGFzdFByb21pc2UgPSB0cnVlLFxuICBleGNsdWRlTWV0aG9kcyA9IFtdLFxuICBwYXRjaFNldHRlcnMgPSB0cnVlLFxufTogUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAgIGZ1bmN0aW9uIHJ1bihvcmlnaW5hbCwgYXJncykge1xuICAgICAgaWYgKCF0aGlzW25nWm9uZU5hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBMckJhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICAgIGBSdW5PdXRzaWRlQW5ndWxhciBkZWNvcmF0b3IgcmVxdWlyZXMgdGhhdCAke3RhcmdldC5uYW1lfSBpbmplY3QgTmdab25lIGFzICR7bmdab25lTmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyBydW5PdXRzaWRlQW5ndWxhcigpIHN5bmNocm9ub3VzbHkgcnVucyB0aGUgY2FsbGJhY2sgYW5kIHJldHVybnMgdGhlIHJlc3VsdC5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXNbbmdab25lTmFtZV0ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgb3JpZ2luYWwuYXBwbHkodGhpcywgYXJncylcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGNlcHRMYXN0UHJvbWlzZSAmJiByZXN1bHQ/LnRoZW4pIHtcbiAgICAgICAgLy8gQnJpbmcgYmFjayBpbnRvIHpvbmUgd2hpY2ggd2lsbCB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gcHJvcGVybHkuXG4gICAgICAgIC8vIElmIHRoaXMgZG9lc24ndCB3b3JrLCB0aGVuIHdlJ2xsIGhhdmUgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGV4cGxpY2l0bHkuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIHJlYXNvbiB0byBydW4gYW55IG9mIHRoZSBvbmVzIGluIEVYQ0xVREVfTUVUSE9EUyBvdXRzaWRlIGFuZ3VsYXIuXG4gICAgLy8gU28gd2UgYWx3YXlzIGV4Y2x1ZGUgdGhlbSBmcm9tIHBhdGNoaW5nLiBZb3UgY2FuIGFsd2F5cyBleHBsaWNpdCBpbXBsZW1lbnQgdGhlc2Ugb25lcyBkaWZmZXJlbnRseS5cbiAgICBleGNsdWRlTWV0aG9kcyA9IFsuLi5leGNsdWRlTWV0aG9kcywgLi4uRVhDTFVERV9NRVRIT0RTXTtcblxuICAgIGNvbnN0IG1ldGhvZHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIG1ldGhvZHNcbiAgICAgIC5maWx0ZXIoKG1ldGhvZCkgPT4gIWV4Y2x1ZGVNZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkpXG4gICAgICAuZm9yRWFjaCgobWV0aG9kKSA9PiB7XG4gICAgICAgIC8vIFBhdGNoIHNldHRlcnNcbiAgICAgICAgLy8gTm90ZSB0aGF0IHNldHRlcnMgZG8gbm90IHJldHVybiBhbnkgdGhpbmcuIEJ1dCB0aGV5IGNhbiBzdGlsbCBpc3N1ZSBhc3luYyBjYWxscy5cbiAgICAgICAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIC8vIGZvciBzZXR0ZXJzIHdoZW4gdGhleSBhcmUgcnVubmluZyBvdXRzaWRlIGFuZ3VsYXIuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXRjaFNldHRlcnMgJiZcbiAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldC5wcm90b3R5cGUsIG1ldGhvZCkuc2V0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgICAgIHRhcmdldC5wcm90b3R5cGUsXG4gICAgICAgICAgICBtZXRob2RcbiAgICAgICAgICApLnNldDtcblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQucHJvdG90eXBlLCBtZXRob2QsIHtcbiAgICAgICAgICAgIHNldCguLi5hcmdzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXTtcblxuICAgICAgICAgIHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuIl19
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMvbmV3cmVwby9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFzS2V5R3JhcGggfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWRnZTxUPiB7XHJcbiAgbm9kZTogVDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIYXNFZGdlczxUPiB7XHJcbiAgZWRnZXM6IEVkZ2U8VD5bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIYXNLZXlHcmFwaEVkZ2VzPFQ+IGV4dGVuZHMgSGFzS2V5R3JhcGgge1xyXG4gIGxpc3Q6IEhhc0VkZ2VzPFQ+O1xyXG59XHJcbiJdfQ==
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc0tleUdyYXBoIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZTxUPiB7XG4gIG5vZGU6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzRWRnZXM8VD4ge1xuICBlZGdlczogRWRnZTxUPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0tleUdyYXBoRWRnZXM8VD4gZXh0ZW5kcyBIYXNLZXlHcmFwaCB7XG4gIGxpc3Q6IEhhc0VkZ2VzPFQ+O1xufVxuIl19