@lifeready/core 1.0.13 → 1.0.15

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 (219) hide show
  1. package/README.md +62 -62
  2. package/bundles/lifeready-core.umd.js +14315 -14315
  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 +52 -52
  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/key-exchange.gql.js +188 -188
  18. package/esm2015/lib/api/key-exchange.service.js +442 -442
  19. package/esm2015/lib/api/key-exchange.types.js +18 -18
  20. package/esm2015/lib/api/key-exchange2.gql.js +171 -171
  21. package/esm2015/lib/api/key-exchange2.service.js +479 -479
  22. package/esm2015/lib/api/lock.gql.js +40 -40
  23. package/esm2015/lib/api/lock.service.js +64 -64
  24. package/esm2015/lib/api/lr-apollo.service.js +46 -46
  25. package/esm2015/lib/api/lr-graphql/index.js +6 -6
  26. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +155 -155
  27. package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +213 -213
  28. package/esm2015/lib/api/lr-graphql/lr-mutation-base.js +51 -51
  29. package/esm2015/lib/api/lr-graphql/lr-mutation.js +48 -48
  30. package/esm2015/lib/api/lr-graphql/lr.service.js +18 -18
  31. package/esm2015/lib/api/message.service.js +138 -138
  32. package/esm2015/lib/api/persist.service.js +181 -181
  33. package/esm2015/lib/api/query-processor/common-processors.service.js +93 -93
  34. package/esm2015/lib/api/query-processor/index.js +3 -3
  35. package/esm2015/lib/api/query-processor/query-processor.service.js +262 -262
  36. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +109 -109
  37. package/esm2015/lib/api/shared-contact-card.service.js +119 -119
  38. package/esm2015/lib/api/shared-contact-card2.gql.js +41 -41
  39. package/esm2015/lib/api/shared-contact-card2.service.js +117 -117
  40. package/esm2015/lib/api/time.service.js +146 -146
  41. package/esm2015/lib/api/types/graphql.types.js +7 -7
  42. package/esm2015/lib/api/types/index.js +3 -3
  43. package/esm2015/lib/api/types/lr-graphql.types.js +101 -101
  44. package/esm2015/lib/auth/auth.config.js +57 -57
  45. package/esm2015/lib/auth/auth.gql.js +48 -48
  46. package/esm2015/lib/auth/auth.types.js +27 -27
  47. package/esm2015/lib/auth/idle.service.js +168 -168
  48. package/esm2015/lib/auth/idle.types.js +7 -7
  49. package/esm2015/lib/auth/lbop.service.js +355 -355
  50. package/esm2015/lib/auth/life-ready-auth.service.js +488 -488
  51. package/esm2015/lib/auth/password.service.js +320 -320
  52. package/esm2015/lib/auth/register.service.js +172 -172
  53. package/esm2015/lib/auth/two-factor.service.js +74 -74
  54. package/esm2015/lib/category/category-meta.service.js +99 -99
  55. package/esm2015/lib/category/category.gql.js +406 -406
  56. package/esm2015/lib/category/category.service.js +390 -390
  57. package/esm2015/lib/category/category.types.js +29 -29
  58. package/esm2015/lib/cryptography/cryptography.types.js +11 -11
  59. package/esm2015/lib/cryptography/encryption.service.js +189 -189
  60. package/esm2015/lib/cryptography/key-factory.service.js +237 -237
  61. package/esm2015/lib/cryptography/key-graph.service.js +299 -299
  62. package/esm2015/lib/cryptography/key-meta.service.js +200 -200
  63. package/esm2015/lib/cryptography/key.service.js +124 -124
  64. package/esm2015/lib/cryptography/slip39.service.js +169 -169
  65. package/esm2015/lib/cryptography/web-crypto.service.js +29 -29
  66. package/esm2015/lib/items2/item2.gql.js +139 -139
  67. package/esm2015/lib/items2/item2.service.js +498 -498
  68. package/esm2015/lib/items2/item2.types.js +1 -1
  69. package/esm2015/lib/life-ready.config.js +84 -84
  70. package/esm2015/lib/life-ready.module.js +74 -74
  71. package/esm2015/lib/notification/notification.gql.js +43 -43
  72. package/esm2015/lib/notification/notification.service.js +118 -118
  73. package/esm2015/lib/plan/plan.gql.js +123 -123
  74. package/esm2015/lib/plan/plan.service.js +149 -149
  75. package/esm2015/lib/plan/plan.types.js +11 -11
  76. package/esm2015/lib/record/record-attachment.service.js +101 -101
  77. package/esm2015/lib/record/record.gql.js +179 -179
  78. package/esm2015/lib/record/record.service.js +206 -206
  79. package/esm2015/lib/record/record.types.js +15 -15
  80. package/esm2015/lib/record-type/record-type.service.js +75 -75
  81. package/esm2015/lib/record-type/record-type.types.js +28 -28
  82. package/esm2015/lib/scenario/scenario.constants.js +2 -2
  83. package/esm2015/lib/scenario/scenario.controller.js +34 -34
  84. package/esm2015/lib/scenario/scenario.gql.js +72 -72
  85. package/esm2015/lib/scenario/scenario.gql.private.js +198 -198
  86. package/esm2015/lib/scenario/scenario.service.js +538 -538
  87. package/esm2015/lib/scenario/scenario.types.js +1 -1
  88. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -22
  89. package/esm2015/lib/trusted-parties/tp-assembly.js +362 -362
  90. package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -1
  91. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +113 -113
  92. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +129 -129
  93. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +4 -4
  94. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -34
  95. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +236 -236
  96. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +95 -95
  97. package/esm2015/lib/trusted-parties/trusted-party.gql.js +148 -148
  98. package/esm2015/lib/trusted-parties/trusted-party.service.js +326 -326
  99. package/esm2015/lib/trusted-parties/trusted-party.types.js +41 -41
  100. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +87 -87
  101. package/esm2015/lib/trusted-parties/trusted-party2.service.js +215 -215
  102. package/esm2015/lib/users/profile-details.service.js +214 -214
  103. package/esm2015/lib/users/profile.gql.js +97 -97
  104. package/esm2015/lib/users/profile.service.js +169 -169
  105. package/esm2015/lib/users/profile.types.js +34 -34
  106. package/esm2015/lib/users/user.gql.js +60 -60
  107. package/esm2015/lib/users/user.service.js +79 -79
  108. package/esm2015/lib/users/user.types.js +5 -5
  109. package/esm2015/lifeready-core.js +13 -13
  110. package/esm2015/public-api.js +71 -71
  111. package/fesm2015/lifeready-core.js +12258 -12258
  112. package/fesm2015/lifeready-core.js.map +1 -1
  113. package/lib/_common/ast.d.ts +11 -11
  114. package/lib/_common/deferred-promise.d.ts +12 -12
  115. package/lib/_common/exceptions.d.ts +109 -109
  116. package/lib/_common/queries.gql.d.ts +10 -10
  117. package/lib/_common/run-outside-angular.d.ts +14 -14
  118. package/lib/_common/types.d.ts +10 -10
  119. package/lib/_common/utils.d.ts +9 -9
  120. package/lib/api/contact-card.gql.d.ts +7 -7
  121. package/lib/api/contact-card.service.d.ts +52 -52
  122. package/lib/api/contact-card2.gql.d.ts +34 -34
  123. package/lib/api/contact-card2.service.d.ts +49 -49
  124. package/lib/api/file.service.d.ts +18 -18
  125. package/lib/api/key-exchange.gql.d.ts +9 -9
  126. package/lib/api/key-exchange.service.d.ts +39 -39
  127. package/lib/api/key-exchange.types.d.ts +196 -196
  128. package/lib/api/key-exchange2.gql.d.ts +125 -125
  129. package/lib/api/key-exchange2.service.d.ts +187 -187
  130. package/lib/api/lock.gql.d.ts +27 -27
  131. package/lib/api/lock.service.d.ts +34 -34
  132. package/lib/api/lr-apollo.service.d.ts +15 -15
  133. package/lib/api/lr-graphql/index.d.ts +5 -5
  134. package/lib/api/lr-graphql/lr-graphql.service.d.ts +60 -60
  135. package/lib/api/lr-graphql/lr-merged-mutation.d.ts +28 -28
  136. package/lib/api/lr-graphql/lr-mutation-base.d.ts +28 -28
  137. package/lib/api/lr-graphql/lr-mutation.d.ts +8 -8
  138. package/lib/api/lr-graphql/lr.service.d.ts +9 -9
  139. package/lib/api/message.service.d.ts +58 -58
  140. package/lib/api/persist.service.d.ts +31 -31
  141. package/lib/api/query-processor/common-processors.service.d.ts +36 -36
  142. package/lib/api/query-processor/index.d.ts +2 -2
  143. package/lib/api/query-processor/query-processor.service.d.ts +18 -18
  144. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +15 -15
  145. package/lib/api/shared-contact-card.service.d.ts +33 -33
  146. package/lib/api/shared-contact-card2.gql.d.ts +36 -36
  147. package/lib/api/shared-contact-card2.service.d.ts +45 -45
  148. package/lib/api/time.service.d.ts +16 -16
  149. package/lib/api/types/graphql.types.d.ts +29 -29
  150. package/lib/api/types/index.d.ts +2 -2
  151. package/lib/api/types/lr-graphql.types.d.ts +502 -502
  152. package/lib/auth/auth.config.d.ts +5 -5
  153. package/lib/auth/auth.gql.d.ts +15 -15
  154. package/lib/auth/auth.types.d.ts +66 -66
  155. package/lib/auth/idle.service.d.ts +40 -40
  156. package/lib/auth/idle.types.d.ts +10 -10
  157. package/lib/auth/lbop.service.d.ts +91 -91
  158. package/lib/auth/life-ready-auth.service.d.ts +61 -61
  159. package/lib/auth/password.service.d.ts +78 -78
  160. package/lib/auth/register.service.d.ts +25 -25
  161. package/lib/auth/two-factor.service.d.ts +15 -15
  162. package/lib/category/category-meta.service.d.ts +23 -23
  163. package/lib/category/category.gql.d.ts +45 -45
  164. package/lib/category/category.service.d.ts +67 -67
  165. package/lib/category/category.types.d.ts +79 -79
  166. package/lib/cryptography/cryptography.types.d.ts +83 -83
  167. package/lib/cryptography/encryption.service.d.ts +41 -41
  168. package/lib/cryptography/key-factory.service.d.ts +38 -38
  169. package/lib/cryptography/key-graph.service.d.ts +41 -41
  170. package/lib/cryptography/key-meta.service.d.ts +44 -44
  171. package/lib/cryptography/key.service.d.ts +36 -36
  172. package/lib/cryptography/slip39.service.d.ts +43 -43
  173. package/lib/cryptography/web-crypto.service.d.ts +5 -5
  174. package/lib/items2/item2.gql.d.ts +123 -123
  175. package/lib/items2/item2.service.d.ts +203 -203
  176. package/lib/items2/item2.types.d.ts +70 -70
  177. package/lib/life-ready.config.d.ts +14 -14
  178. package/lib/life-ready.module.d.ts +5 -5
  179. package/lib/notification/notification.gql.d.ts +37 -37
  180. package/lib/notification/notification.service.d.ts +63 -63
  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/scenario.constants.d.ts +1 -1
  191. package/lib/scenario/scenario.controller.d.ts +10 -10
  192. package/lib/scenario/scenario.gql.d.ts +62 -62
  193. package/lib/scenario/scenario.gql.private.d.ts +16 -16
  194. package/lib/scenario/scenario.service.d.ts +233 -233
  195. package/lib/scenario/scenario.types.d.ts +50 -50
  196. package/lib/trusted-parties/tp-assembly.d.ts +177 -177
  197. package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -5
  198. package/lib/trusted-parties/tp-assembly.types.d.ts +38 -38
  199. package/lib/trusted-parties/tp-password-reset-request.service.d.ts +20 -20
  200. package/lib/trusted-parties/tp-password-reset-user.service.d.ts +35 -35
  201. package/lib/trusted-parties/tp-password-reset.constants.d.ts +3 -3
  202. package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -10
  203. package/lib/trusted-parties/tp-password-reset.gql.d.ts +223 -223
  204. package/lib/trusted-parties/tp-password-reset.service.d.ts +188 -188
  205. package/lib/trusted-parties/trusted-party.gql.d.ts +9 -9
  206. package/lib/trusted-parties/trusted-party.service.d.ts +44 -44
  207. package/lib/trusted-parties/trusted-party.types.d.ts +102 -102
  208. package/lib/trusted-parties/trusted-party2.gql.d.ts +79 -79
  209. package/lib/trusted-parties/trusted-party2.service.d.ts +114 -114
  210. package/lib/users/profile-details.service.d.ts +21 -21
  211. package/lib/users/profile.gql.d.ts +11 -11
  212. package/lib/users/profile.service.d.ts +35 -35
  213. package/lib/users/profile.types.d.ts +96 -96
  214. package/lib/users/user.gql.d.ts +9 -9
  215. package/lib/users/user.service.d.ts +12 -12
  216. package/lib/users/user.types.d.ts +23 -23
  217. package/lifeready-core.d.ts +12 -12
  218. package/package.json +1 -1
  219. package/public-api.d.ts +67 -67
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5ncWwuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vcXVlcmllcy5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBRTlCLE1BQU0sb0JBQW9CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0I1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFBOzRDQUNTLG9CQUFvQjtDQUMvRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksb0JBQW9CLEVBQUUsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMkN4QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztJQVk3QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Q0FjakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQi9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQnBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcblxuY29uc3QgS2V5R3JhcGhGcmFnbWVudEJhc2UgPSBgXG57XG4gIGtleXMge1xuICAgIGlkXG4gIH1cbiAga2V5TGlua3Mge1xuICAgIGtleUlkXG4gICAgd3JhcHBpbmdLZXlJZFxuICAgIHdyYXBwZWRLZXlcbiAgfVxuICBwYXNzS2V5cyB7XG4gICAgaWRcbiAgfVxuICBwYXNzS2V5TGlua3Mge1xuICAgIGtleUlkXG4gICAgcGFzc0tleUlkXG4gICAgd3JhcHBlZEtleVxuICB9XG4gIF9fdHlwZW5hbWVcbn1cbmA7XG5cbmV4cG9ydCBjb25zdCBLZXlHcmFwaEZyYWdtZW50ID0gZ3FsYFxuZnJhZ21lbnQgS2V5R3JhcGhGcmFnbWVudCBvbiBLZXlHcmFwaFR5cGUgJHtLZXlHcmFwaEZyYWdtZW50QmFzZX1cbmA7XG5cbmV4cG9ydCBjb25zdCBLZXlHcmFwaEZpZWxkID0gYGtleUdyYXBoICR7S2V5R3JhcGhGcmFnbWVudEJhc2V9YDtcblxuZXhwb3J0IGNvbnN0IEZldGNoS2V5R3JhcGhGaWVsZCA9IGBrZXlHcmFwaDogZmV0Y2hLZXlHcmFwaCAke0tleUdyYXBoRnJhZ21lbnRCYXNlfWA7XG5cbmV4cG9ydCBjb25zdCBGaWxlUXVlcnkgPSBncWxgXG4gIHF1ZXJ5IEZpbGUoJGlkOiBMclJlbGF5SWRJbnB1dCEsICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdKSB7XG4gICAgZmlsZShpZDogJGlkKSB7XG4gICAgICBpZFxuICAgICAga2V5SWRcbiAgICAgIGN1cnJlbnRWZXJzaW9uIHtcbiAgICAgICAgaWRcbiAgICAgICAgb3BlcmF0aW9uXG4gICAgICAgIHN0YXRlIHtcbiAgICAgICAgICBrZXlJZFxuICAgICAgICAgIHBsYWluTWV0YVxuICAgICAgICAgIGNpcGhlck1ldGFcbiAgICAgICAgICBjb250ZW50UmVzb3VyY2VcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdmVyc2lvbnMge1xuICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgbm9kZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgICBrZXlJZFxuICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgY2lwaGVyTWV0YVxuICAgICAgICAgICAgICBjb250ZW50UmVzb3VyY2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgZWRnZXMge1xuICAgICAgICAgIG5vZGUge1xuICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgcGxhaW5NZXRhXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xuICAgICAgLi4uS2V5R3JhcGhGcmFnbWVudFxuICAgIH1cbiAgfVxuICAke0tleUdyYXBoRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgY29uc3QgRGlyZWN0b3J5UXVlcnkgPSBncWxgXG4gIHF1ZXJ5IERpcmVjdG9yeSgkaWQ6IExyUmVsYXlJZElucHV0ISwgJGNhY2hlZEtleUlkczogW0xyUmVsYXlJZElucHV0IV0pIHtcbiAgICBkaXJlY3RvcnkoaWQ6ICRpZCkge1xuICAgICAgaWRcbiAgICAgIGtleUlkXG4gICAgICBwbGFpbk1ldGFcbiAgICAgIGNpcGhlck1ldGFcbiAgICB9XG4gICAga2V5R3JhcGgoY2FjaGVkS2V5SWRzOiAkY2FjaGVkS2V5SWRzKSB7XG4gICAgICAuLi5LZXlHcmFwaEZyYWdtZW50XG4gICAgfVxuICB9XG4gICR7S2V5R3JhcGhGcmFnbWVudH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIENyZWF0ZUZpbGUoJGlucHV0OiBDcmVhdGVGaWxlSW5wdXQhKSB7XG4gICAgY3JlYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIFVwZGF0ZUZpbGUoJGlucHV0OiBVcGRhdGVGaWxlSW5wdXQhKSB7XG4gICAgdXBkYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3VycmVudFZlcnNpb24ge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSZXZlcnRGaWxlUXVlcnkgPSBncWxgXG4gIG11dGF0aW9uIFJldmVydEZpbGUoJGlucHV0OiBSZXZlcnRGaWxlSW5wdXQhKSB7XG4gICAgcmV2ZXJ0RmlsZShpbnB1dDogJGlucHV0KSB7XG4gICAgICBmaWxlIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3VycmVudFZlcnNpb24ge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc3RhdGUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBNb3ZlRmlsZVF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBNb3ZlRmlsZShcbiAgICAkZmlsZUlkOiBMclJlbGF5SWRJbnB1dCFcbiAgICAkZnJvbVBhcmVudERpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcbiAgICAkdG9QYXJlbnREaXJlY3RvcnlJZDogTHJSZWxheUlkSW5wdXQhXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXG4gICkge1xuICAgIG1vdmVGaWxlKFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgZmlsZUlkOiAkZmlsZUlkXG4gICAgICAgIGZyb21QYXJlbnREaXJlY3RvcnlJZDogJGZyb21QYXJlbnREaXJlY3RvcnlJZFxuICAgICAgICB0b1BhcmVudERpcmVjdG9yeUlkOiAkdG9QYXJlbnREaXJlY3RvcnlJZFxuICAgICAgICB3cmFwcGluZ0tleUlkOiAkd3JhcHBpbmdLZXlJZFxuICAgICAgICB3cmFwcGVkS2V5OiAkd3JhcHBlZEtleVxuICAgICAgfVxuICAgICkge1xuICAgICAgZmlsZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE1vdmVEaXJlY3RvcnlRdWVyeSA9IGdxbGBcbiAgbXV0YXRpb24gTW92ZURpcmVjdG9yeShcbiAgICAkZGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICRmcm9tUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0XG4gICAgJHRvUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0IVxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxuICApIHtcbiAgICBtb3ZlRGlyZWN0b3J5KFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgZGlyZWN0b3J5SWQ6ICRkaXJlY3RvcnlJZFxuICAgICAgICBmcm9tUGFyZW50RGlyZWN0b3J5SWQ6ICRmcm9tUGFyZW50RGlyZWN0b3J5SWRcbiAgICAgICAgdG9QYXJlbnREaXJlY3RvcnlJZDogJHRvUGFyZW50RGlyZWN0b3J5SWRcbiAgICAgICAgd3JhcHBlZEtleTogJHdyYXBwZWRLZXlcbiAgICAgICAgd3JhcHBpbmdLZXlJZDogJHdyYXBwaW5nS2V5SWRcbiAgICAgIH1cbiAgICApIHtcbiAgICAgIGRpcmVjdG9yeSB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcbiAgICAgICAgICBlZGdlcyB7XG4gICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcbiAgICAgICAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5ncWwuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMva2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vcXVlcmllcy5ncWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBRTlCLE1BQU0sb0JBQW9CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBb0I1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFBOzRDQUNTLG9CQUFvQjtDQUMvRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksb0JBQW9CLEVBQUUsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMkN4QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztJQVk3QixnQkFBZ0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Q0FjakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQi9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQnBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcclxuXHJcbmNvbnN0IEtleUdyYXBoRnJhZ21lbnRCYXNlID0gYFxyXG57XHJcbiAga2V5cyB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBrZXlMaW5rcyB7XHJcbiAgICBrZXlJZFxyXG4gICAgd3JhcHBpbmdLZXlJZFxyXG4gICAgd3JhcHBlZEtleVxyXG4gIH1cclxuICBwYXNzS2V5cyB7XHJcbiAgICBpZFxyXG4gIH1cclxuICBwYXNzS2V5TGlua3Mge1xyXG4gICAga2V5SWRcclxuICAgIHBhc3NLZXlJZFxyXG4gICAgd3JhcHBlZEtleVxyXG4gIH1cclxuICBfX3R5cGVuYW1lXHJcbn1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBLZXlHcmFwaEZyYWdtZW50ID0gZ3FsYFxyXG5mcmFnbWVudCBLZXlHcmFwaEZyYWdtZW50IG9uIEtleUdyYXBoVHlwZSAke0tleUdyYXBoRnJhZ21lbnRCYXNlfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEtleUdyYXBoRmllbGQgPSBga2V5R3JhcGggJHtLZXlHcmFwaEZyYWdtZW50QmFzZX1gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEZldGNoS2V5R3JhcGhGaWVsZCA9IGBrZXlHcmFwaDogZmV0Y2hLZXlHcmFwaCAke0tleUdyYXBoRnJhZ21lbnRCYXNlfWA7XHJcblxyXG5leHBvcnQgY29uc3QgRmlsZVF1ZXJ5ID0gZ3FsYFxyXG4gIHF1ZXJ5IEZpbGUoJGlkOiBMclJlbGF5SWRJbnB1dCEsICRjYWNoZWRLZXlJZHM6IFtMclJlbGF5SWRJbnB1dCFdKSB7XHJcbiAgICBmaWxlKGlkOiAkaWQpIHtcclxuICAgICAgaWRcclxuICAgICAga2V5SWRcclxuICAgICAgY3VycmVudFZlcnNpb24ge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgb3BlcmF0aW9uXHJcbiAgICAgICAgc3RhdGUge1xyXG4gICAgICAgICAga2V5SWRcclxuICAgICAgICAgIHBsYWluTWV0YVxyXG4gICAgICAgICAgY2lwaGVyTWV0YVxyXG4gICAgICAgICAgY29udGVudFJlc291cmNlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHZlcnNpb25zIHtcclxuICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgc3RhdGUge1xyXG4gICAgICAgICAgICAgIGtleUlkXHJcbiAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgICAgY2lwaGVyTWV0YVxyXG4gICAgICAgICAgICAgIGNvbnRlbnRSZXNvdXJjZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHBhcmVudERpcmVjdG9yeUxpbmtzIHtcclxuICAgICAgICBlZGdlcyB7XHJcbiAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgcGFyZW50RGlyZWN0b3J5IHtcclxuICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgIHBsYWluTWV0YVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBrZXlHcmFwaChjYWNoZWRLZXlJZHM6ICRjYWNoZWRLZXlJZHMpIHtcclxuICAgICAgLi4uS2V5R3JhcGhGcmFnbWVudFxyXG4gICAgfVxyXG4gIH1cclxuICAke0tleUdyYXBoRnJhZ21lbnR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRGlyZWN0b3J5UXVlcnkgPSBncWxgXHJcbiAgcXVlcnkgRGlyZWN0b3J5KCRpZDogTHJSZWxheUlkSW5wdXQhLCAkY2FjaGVkS2V5SWRzOiBbTHJSZWxheUlkSW5wdXQhXSkge1xyXG4gICAgZGlyZWN0b3J5KGlkOiAkaWQpIHtcclxuICAgICAgaWRcclxuICAgICAga2V5SWRcclxuICAgICAgcGxhaW5NZXRhXHJcbiAgICAgIGNpcGhlck1ldGFcclxuICAgIH1cclxuICAgIGtleUdyYXBoKGNhY2hlZEtleUlkczogJGNhY2hlZEtleUlkcykge1xyXG4gICAgICAuLi5LZXlHcmFwaEZyYWdtZW50XHJcbiAgICB9XHJcbiAgfVxyXG4gICR7S2V5R3JhcGhGcmFnbWVudH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDcmVhdGVGaWxlUXVlcnkgPSBncWxgXHJcbiAgbXV0YXRpb24gQ3JlYXRlRmlsZSgkaW5wdXQ6IENyZWF0ZUZpbGVJbnB1dCEpIHtcclxuICAgIGNyZWF0ZUZpbGUoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICBmaWxlIHtcclxuICAgICAgICBpZFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVwZGF0ZUZpbGVRdWVyeSA9IGdxbGBcclxuICBtdXRhdGlvbiBVcGRhdGVGaWxlKCRpbnB1dDogVXBkYXRlRmlsZUlucHV0ISkge1xyXG4gICAgdXBkYXRlRmlsZShpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3VycmVudFZlcnNpb24ge1xyXG4gICAgICAgICAgaWRcclxuICAgICAgICAgIHN0YXRlIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUmV2ZXJ0RmlsZVF1ZXJ5ID0gZ3FsYFxyXG4gIG11dGF0aW9uIFJldmVydEZpbGUoJGlucHV0OiBSZXZlcnRGaWxlSW5wdXQhKSB7XHJcbiAgICByZXZlcnRGaWxlKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgZmlsZSB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjdXJyZW50VmVyc2lvbiB7XHJcbiAgICAgICAgICBpZFxyXG4gICAgICAgICAgc3RhdGUge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBNb3ZlRmlsZVF1ZXJ5ID0gZ3FsYFxyXG4gIG11dGF0aW9uIE1vdmVGaWxlKFxyXG4gICAgJGZpbGVJZDogTHJSZWxheUlkSW5wdXQhXHJcbiAgICAkZnJvbVBhcmVudERpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICR0b1BhcmVudERpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICR3cmFwcGluZ0tleUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICR3cmFwcGVkS2V5OiBTdHJpbmchXHJcbiAgKSB7XHJcbiAgICBtb3ZlRmlsZShcclxuICAgICAgaW5wdXQ6IHtcclxuICAgICAgICBmaWxlSWQ6ICRmaWxlSWRcclxuICAgICAgICBmcm9tUGFyZW50RGlyZWN0b3J5SWQ6ICRmcm9tUGFyZW50RGlyZWN0b3J5SWRcclxuICAgICAgICB0b1BhcmVudERpcmVjdG9yeUlkOiAkdG9QYXJlbnREaXJlY3RvcnlJZFxyXG4gICAgICAgIHdyYXBwaW5nS2V5SWQ6ICR3cmFwcGluZ0tleUlkXHJcbiAgICAgICAgd3JhcHBlZEtleTogJHdyYXBwZWRLZXlcclxuICAgICAgfVxyXG4gICAgKSB7XHJcbiAgICAgIGZpbGUge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgcGFyZW50RGlyZWN0b3J5TGlua3Mge1xyXG4gICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgICBwYXJlbnREaXJlY3Rvcnkge1xyXG4gICAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IE1vdmVEaXJlY3RvcnlRdWVyeSA9IGdxbGBcclxuICBtdXRhdGlvbiBNb3ZlRGlyZWN0b3J5KFxyXG4gICAgJGRpcmVjdG9yeUlkOiBMclJlbGF5SWRJbnB1dCFcclxuICAgICRmcm9tUGFyZW50RGlyZWN0b3J5SWQ6IExyUmVsYXlJZElucHV0XHJcbiAgICAkdG9QYXJlbnREaXJlY3RvcnlJZDogTHJSZWxheUlkSW5wdXQhXHJcbiAgICAkd3JhcHBlZEtleTogU3RyaW5nIVxyXG4gICAgJHdyYXBwaW5nS2V5SWQ6IExyUmVsYXlJZElucHV0IVxyXG4gICkge1xyXG4gICAgbW92ZURpcmVjdG9yeShcclxuICAgICAgaW5wdXQ6IHtcclxuICAgICAgICBkaXJlY3RvcnlJZDogJGRpcmVjdG9yeUlkXHJcbiAgICAgICAgZnJvbVBhcmVudERpcmVjdG9yeUlkOiAkZnJvbVBhcmVudERpcmVjdG9yeUlkXHJcbiAgICAgICAgdG9QYXJlbnREaXJlY3RvcnlJZDogJHRvUGFyZW50RGlyZWN0b3J5SWRcclxuICAgICAgICB3cmFwcGVkS2V5OiAkd3JhcHBlZEtleVxyXG4gICAgICAgIHdyYXBwaW5nS2V5SWQ6ICR3cmFwcGluZ0tleUlkXHJcbiAgICAgIH1cclxuICAgICkge1xyXG4gICAgICBkaXJlY3Rvcnkge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgcGFyZW50RGlyZWN0b3J5TGlua3Mge1xyXG4gICAgICAgICAgZWRnZXMge1xyXG4gICAgICAgICAgICBub2RlIHtcclxuICAgICAgICAgICAgICBwYXJlbnREaXJlY3Rvcnkge1xyXG4gICAgICAgICAgICAgICAgcGxhaW5NZXRhXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5gO1xyXG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBMEI1RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGFBQWE7Q0FDZCxDQUFDO0FBRUYsa0NBQWtDO0FBQ2xDLEVBQUU7QUFDRixpRUFBaUU7QUFDakUsaUVBQWlFO0FBQ2pFLG1FQUFtRTtBQUNuRSxtQkFBbUI7QUFDbkIsRUFBRTtBQUNGLDRDQUE0QztBQUM1QyxzRkFBc0Y7QUFDdEYseUZBQXlGO0FBQ3pGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0YseUZBQXlGO0FBQ3pGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxVQUFVLEVBQ1YsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixjQUFjLEdBQUcsRUFBRSxFQUNuQixZQUFZLEdBQUcsSUFBSSxHQUNLO0lBQ3hCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLElBQUksbUJBQW1CLENBQzNCLDZDQUE2QyxNQUFNLENBQUMsSUFBSSxxQkFBcUIsVUFBVSxFQUFFLENBQzFGLENBQUM7YUFDSDtZQUNELDhFQUE4RTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQ3JELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUMzQixDQUFDO1lBRUYsSUFBSSxpQkFBaUIsS0FBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFBLEVBQUU7Z0JBQ3JDLHFFQUFxRTtnQkFDckUsZ0ZBQWdGO2dCQUNoRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsT0FBTyxNQUFNLENBQUM7YUFDZjtRQUNILENBQUM7UUFFRCx1RkFBdUY7UUFDdkYscUdBQXFHO1FBQ3JHLGNBQWMsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFFekQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RCxPQUFPO2FBQ0osTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEQsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCO1lBQ2hCLG1GQUFtRjtZQUNuRix1RkFBdUY7WUFDdkYscURBQXFEO1lBQ3JELElBQ0UsWUFBWTtnQkFDWixNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQzdEO2dCQUNBLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUNQLENBQUMsR0FBRyxDQUFDO2dCQUVOLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7b0JBQzlDLEdBQUcsQ0FBQyxHQUFHLElBQUk7d0JBQ1QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFJO29CQUN6QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTHJCYWRMb2dpY0V4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcge1xuICBuZ1pvbmVOYW1lOiBzdHJpbmc7XG4gIC8vIElmIHRydWUsIGEgc2luZ2xlIGNoYW5nZSBkZXRlY3Rpb24gaXMgdHJpZ2dlcmVkIG9uIHJlc29sdmUgb2YgdGhlIFByb21pc2UgcmV0dXJuZWRcbiAgLy8gZnJvbSB0aGUgZnVuY3Rpb24uXG4gIC8vIGVsc2UsIHRoZSBlbnRpcmUgZnVuY3Rpb24gaXMgcnVuIG91dHNpZGUgb2Ygem9uZS5cbiAgLy8gTm90ZSB0aGF0IGlmIHRoaXMgaXMgZGlzYWJsZWQsIHRoZW4gY2hhbmdlIGRldGVjdGlvbiBpcyBub3QgdHJpZ2dlcmVkIGV2ZW4gaWYgeW91XG4gIC8vIHVzZSBhc3luYyBwaXBlcyB0byBzdWJzY3JpYmUgdG8gb2JzZXJ2YWJsZXMgb24gdGhlIHJlc3VsdGluZyBwcm9taXNlLiBUaGlzIGlzIGJlY2F1c2VcbiAgLy8gYXN5bmMgcGlwZXMgb25seSBfbWFya3NfIGEgY29tcG9uZW50IGZvciBjaGFuZ2UgZGV0ZWN0aW9uLCBpdCBkb2Vzbid0IGFjdHVhbGx5IF90cmlnZ2VyX1xuICAvLyB0aGUgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAgZXhjZXB0TGFzdFByb21pc2U/OiBib29sZWFuO1xuICAvLyBBbnkgbWV0aG9kIG9yIHByb3BlcnR5IHlvdSB3aXNoIHRvIGV4Y2x1ZGUgZnJvbSBwYXRjaC4gVGhlIG1ldGhvZHMgaW4gRVhDTFVERV9NRVRIT0RTIGFyZVxuICAvLyBuZXZlciBwYXRjaGVkLlxuICBleGNsdWRlTWV0aG9kcz86IHN0cmluZ1tdO1xuICAvLyBJZiB0cnVlLCBwYXRjaCB0aGUgc2V0dGVycyBhcyB3ZWxsLiBTZXR0aW5ncyBhcmUgc29tZVxuICAvLyBOb3RlIHRoYXQgc2V0dGVycyBkbyBub3QgcmV0dXJuIGFueSB0aGluZy4gQnV0IHRoZXkgY2FuIHN0aWxsIGlzc3VlIGFzeW5jIGNhbGxzLlxuICAvLyBUaGVzZSBhc3luYyBjYWxscyBhcmUgbm90IHZpc2libGUgdG8gdGhlIHdyYXBwZXIuIFNvIHdlIGNhbid0IGlzc3VlIGNoYW5nZSBkZXRlY3Rpb25cbiAgLy8gZm9yIHNldHRlcnMgd2hlbiB0aGV5IGFyZSBydW5uaW5nIG91dHNpZGUgYW5ndWxhci5cbiAgLy8gTm90ZSB0aGF0IGdldHRlcnMgYXJlIG5vdCBwYXRjaGVkIGJlY2F1c2UgZ2V0dGVyIGFuZCBzZXR0ZXIgbXVzdCB1c2UgdGhlIHNhbWUgdHlwZS4gU28gaWZcbiAgLy8gdGhlIGdldHRlciByZXR1cm5zIGEgcHJvbWlzZSwgdGhlbiB0aGUgc2V0dGluZyBtdXN0IGFsd2F5IHRha2UgYSBwcm9taXNlLiBJdCBkb2Vzbid0IG1ha2VcbiAgLy8gbXVjaCBzZW5zZSB0byB1c2UgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGlzIHdheS4gQW5kIGlmIGdldHRlciByZXR1cm5zIGEgdmFsdWUsIHRoZW4gdGhlcmUnc1xuICAvLyBubyBuZWVkIHRvIHBhdGNoIGl0IHRvIHJ1biBvdXRzaWRlIGFuZ3VsYXIuXG4gIHBhdGNoU2V0dGVycz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSWYgeW91IHdpc2ggdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhvc2UsIHlvdSdsbCBuZWVkIHRvIGNyZWF0ZSBhIGRlcml2ZWRcbiAqIGNsYXNzIGFuZCBvdmVycmlkZSB0aGUgbWV0aG9kcy5cbiAqIEhvd2V2ZXIsIGNhbid0IGZpZ3VyZSBvdXQgYSB3YXkgdG8gY2FsbCB0aGUgc3VwZXIoKSBpbiB0aGUgZGVyaXZlZCBjbGFzcyBjdG9yLCBlcnJvciBzYXlzXG4gKiB0aGUgc3VwZXIgY2FsbCBjYW4ndCBiZSBpbiB0ZXN0ZWQgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBFWENMVURFX01FVEhPRFMgPSBbXG4gICdjb25zdHJ1Y3RvcicsXG4gICduZ09uQ2hhbmdlcycsXG4gICduZ09uSW5pdCcsXG4gICduZ0RvQ2hlY2snLFxuICAnbmdBZnRlckNvbnRlbnRJbml0JyxcbiAgJ25nQWZ0ZXJDb250ZW50Q2hlY2tlZCcsXG4gICduZ0FmdGVyVmlld0luaXQnLFxuICAnbmdBZnRlclZpZXdDaGVja2VkJyxcbiAgJ25nT25EZXN0cm95Jyxcbl07XG5cbi8vIFBhdGNoIGFsbCBtZXRob2RzIG9mIHRoZSBjbGFzcy5cbi8vXG4vLyBOb3RlLCB0aGlzIHdpbGwgbm90IHBhdGNoIGZ1bmN0aW9ucyBpbiB0aGUgYmFzZSBjbGFzcywgaXQgb25seVxuLy8gcGF0Y2hlcyB0aGUgZnVuY3Rpb24gZGVmaW5lZCBpbiB0aGUgY3VycmVudCBjbGFzcyBiZWNhdXNlIGl0J3Ncbi8vIHVzaW5nIGdldE93blByb3BlcnR5TmFtZXMoKS4gWW91IHNob3VsZCBiZSB1c2luZyBjb21wb3NpdGlvbiBmb3Jcbi8vIHNlcnZpY2VzIGFueXdheS5cbi8vXG4vLyBSZWY6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80NDQwOTI0NFxuLy8gVGhlIGFib3ZlIGFwcHJvYWNoIG1pZ2h0IGJlIGEgYml0IG9sZC4gTm93IHRoYXQgd2UgaGF2ZSBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKSxcbi8vIHdlIHNob3VsZCBwcm9iYWJseSB1c2UgdGhhdCBhbmQgbm90IHRvdWNoIGFueSBhbmd1bGFyIHpvbmUgaW50ZXJuYWxzLiBCdXQgdGhlIGFwcHJvYWNoXG4vLyBhYm92ZSBkb2Vzbid0IHJlcXVpcmUgaW5qZWN0aW5nIG5nWm9uZS5cbi8vXG4vLyBSZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS8ybmcvcnVuLW91dHNpZGUtYW5ndWxhci9ibG9iL21hc3Rlci9zcmMvcnVuLW91dHNpZGUtYW5ndWxhci50c1xuZXhwb3J0IGZ1bmN0aW9uIFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZSxcbiAgZXhjZXB0TGFzdFByb21pc2UgPSB0cnVlLFxuICBleGNsdWRlTWV0aG9kcyA9IFtdLFxuICBwYXRjaFNldHRlcnMgPSB0cnVlLFxufTogUnVuT3V0c2lkZUFuZ3VsYXJDb25maWcpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAgIGZ1bmN0aW9uIHJ1bihvcmlnaW5hbCwgYXJncykge1xuICAgICAgaWYgKCF0aGlzW25nWm9uZU5hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBMckJhZExvZ2ljRXhjZXB0aW9uKFxuICAgICAgICAgIGBSdW5PdXRzaWRlQW5ndWxhciBkZWNvcmF0b3IgcmVxdWlyZXMgdGhhdCAke3RhcmdldC5uYW1lfSBpbmplY3QgTmdab25lIGFzICR7bmdab25lTmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyBydW5PdXRzaWRlQW5ndWxhcigpIHN5bmNocm9ub3VzbHkgcnVucyB0aGUgY2FsbGJhY2sgYW5kIHJldHVybnMgdGhlIHJlc3VsdC5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXNbbmdab25lTmFtZV0ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgb3JpZ2luYWwuYXBwbHkodGhpcywgYXJncylcbiAgICAgICk7XG5cbiAgICAgIGlmIChleGNlcHRMYXN0UHJvbWlzZSAmJiByZXN1bHQ/LnRoZW4pIHtcbiAgICAgICAgLy8gQnJpbmcgYmFjayBpbnRvIHpvbmUgd2hpY2ggd2lsbCB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gcHJvcGVybHkuXG4gICAgICAgIC8vIElmIHRoaXMgZG9lc24ndCB3b3JrLCB0aGVuIHdlJ2xsIGhhdmUgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGV4cGxpY2l0bHkuXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIHJlYXNvbiB0byBydW4gYW55IG9mIHRoZSBvbmVzIGluIEVYQ0xVREVfTUVUSE9EUyBvdXRzaWRlIGFuZ3VsYXIuXG4gICAgLy8gU28gd2UgYWx3YXlzIGV4Y2x1ZGUgdGhlbSBmcm9tIHBhdGNoaW5nLiBZb3UgY2FuIGFsd2F5cyBleHBsaWNpdCBpbXBsZW1lbnQgdGhlc2Ugb25lcyBkaWZmZXJlbnRseS5cbiAgICBleGNsdWRlTWV0aG9kcyA9IFsuLi5leGNsdWRlTWV0aG9kcywgLi4uRVhDTFVERV9NRVRIT0RTXTtcblxuICAgIGNvbnN0IG1ldGhvZHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIG1ldGhvZHNcbiAgICAgIC5maWx0ZXIoKG1ldGhvZCkgPT4gIWV4Y2x1ZGVNZXRob2RzLmluY2x1ZGVzKG1ldGhvZCkpXG4gICAgICAuZm9yRWFjaCgobWV0aG9kKSA9PiB7XG4gICAgICAgIC8vIFBhdGNoIHNldHRlcnNcbiAgICAgICAgLy8gTm90ZSB0aGF0IHNldHRlcnMgZG8gbm90IHJldHVybiBhbnkgdGhpbmcuIEJ1dCB0aGV5IGNhbiBzdGlsbCBpc3N1ZSBhc3luYyBjYWxscy5cbiAgICAgICAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXG4gICAgICAgIC8vIGZvciBzZXR0ZXJzIHdoZW4gdGhleSBhcmUgcnVubmluZyBvdXRzaWRlIGFuZ3VsYXIuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXRjaFNldHRlcnMgJiZcbiAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldC5wcm90b3R5cGUsIG1ldGhvZCkuc2V0XG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgICAgIHRhcmdldC5wcm90b3R5cGUsXG4gICAgICAgICAgICBtZXRob2RcbiAgICAgICAgICApLnNldDtcblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQucHJvdG90eXBlLCBtZXRob2QsIHtcbiAgICAgICAgICAgIHNldCguLi5hcmdzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXTtcblxuICAgICAgICAgIHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLW91dHNpZGUtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWN0cy9rYy1jbGllbnQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBMEI1RDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixhQUFhO0lBQ2IsYUFBYTtJQUNiLFVBQVU7SUFDVixXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGFBQWE7Q0FDZCxDQUFDO0FBRUYsa0NBQWtDO0FBQ2xDLEVBQUU7QUFDRixpRUFBaUU7QUFDakUsaUVBQWlFO0FBQ2pFLG1FQUFtRTtBQUNuRSxtQkFBbUI7QUFDbkIsRUFBRTtBQUNGLDRDQUE0QztBQUM1QyxzRkFBc0Y7QUFDdEYseUZBQXlGO0FBQ3pGLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0YseUZBQXlGO0FBQ3pGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxVQUFVLEVBQ1YsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixjQUFjLEdBQUcsRUFBRSxFQUNuQixZQUFZLEdBQUcsSUFBSSxHQUNLO0lBQ3hCLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixTQUFTLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSTtZQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLElBQUksbUJBQW1CLENBQzNCLDZDQUE2QyxNQUFNLENBQUMsSUFBSSxxQkFBcUIsVUFBVSxFQUFFLENBQzFGLENBQUM7YUFDSDtZQUNELDhFQUE4RTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQ3JELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUMzQixDQUFDO1lBRUYsSUFBSSxpQkFBaUIsS0FBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFBLEVBQUU7Z0JBQ3JDLHFFQUFxRTtnQkFDckUsZ0ZBQWdGO2dCQUNoRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsT0FBTyxNQUFNLENBQUM7YUFDZjtRQUNILENBQUM7UUFFRCx1RkFBdUY7UUFDdkYscUdBQXFHO1FBQ3JHLGNBQWMsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFFekQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU3RCxPQUFPO2FBQ0osTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEQsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCO1lBQ2hCLG1GQUFtRjtZQUNuRix1RkFBdUY7WUFDdkYscURBQXFEO1lBQ3JELElBQ0UsWUFBWTtnQkFDWixNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQzdEO2dCQUNBLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUNQLENBQUMsR0FBRyxDQUFDO2dCQUVOLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUU7b0JBQzlDLEdBQUcsQ0FBQyxHQUFHLElBQUk7d0JBQ1QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1lBRUQsSUFBSSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFJO29CQUN6QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTHJCYWRMb2dpY0V4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnIHtcclxuICBuZ1pvbmVOYW1lOiBzdHJpbmc7XHJcbiAgLy8gSWYgdHJ1ZSwgYSBzaW5nbGUgY2hhbmdlIGRldGVjdGlvbiBpcyB0cmlnZ2VyZWQgb24gcmVzb2x2ZSBvZiB0aGUgUHJvbWlzZSByZXR1cm5lZFxyXG4gIC8vIGZyb20gdGhlIGZ1bmN0aW9uLlxyXG4gIC8vIGVsc2UsIHRoZSBlbnRpcmUgZnVuY3Rpb24gaXMgcnVuIG91dHNpZGUgb2Ygem9uZS5cclxuICAvLyBOb3RlIHRoYXQgaWYgdGhpcyBpcyBkaXNhYmxlZCwgdGhlbiBjaGFuZ2UgZGV0ZWN0aW9uIGlzIG5vdCB0cmlnZ2VyZWQgZXZlbiBpZiB5b3VcclxuICAvLyB1c2UgYXN5bmMgcGlwZXMgdG8gc3Vic2NyaWJlIHRvIG9ic2VydmFibGVzIG9uIHRoZSByZXN1bHRpbmcgcHJvbWlzZS4gVGhpcyBpcyBiZWNhdXNlXHJcbiAgLy8gYXN5bmMgcGlwZXMgb25seSBfbWFya3NfIGEgY29tcG9uZW50IGZvciBjaGFuZ2UgZGV0ZWN0aW9uLCBpdCBkb2Vzbid0IGFjdHVhbGx5IF90cmlnZ2VyX1xyXG4gIC8vIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxyXG4gIGV4Y2VwdExhc3RQcm9taXNlPzogYm9vbGVhbjtcclxuICAvLyBBbnkgbWV0aG9kIG9yIHByb3BlcnR5IHlvdSB3aXNoIHRvIGV4Y2x1ZGUgZnJvbSBwYXRjaC4gVGhlIG1ldGhvZHMgaW4gRVhDTFVERV9NRVRIT0RTIGFyZVxyXG4gIC8vIG5ldmVyIHBhdGNoZWQuXHJcbiAgZXhjbHVkZU1ldGhvZHM/OiBzdHJpbmdbXTtcclxuICAvLyBJZiB0cnVlLCBwYXRjaCB0aGUgc2V0dGVycyBhcyB3ZWxsLiBTZXR0aW5ncyBhcmUgc29tZVxyXG4gIC8vIE5vdGUgdGhhdCBzZXR0ZXJzIGRvIG5vdCByZXR1cm4gYW55IHRoaW5nLiBCdXQgdGhleSBjYW4gc3RpbGwgaXNzdWUgYXN5bmMgY2FsbHMuXHJcbiAgLy8gVGhlc2UgYXN5bmMgY2FsbHMgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSB3cmFwcGVyLiBTbyB3ZSBjYW4ndCBpc3N1ZSBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgLy8gZm9yIHNldHRlcnMgd2hlbiB0aGV5IGFyZSBydW5uaW5nIG91dHNpZGUgYW5ndWxhci5cclxuICAvLyBOb3RlIHRoYXQgZ2V0dGVycyBhcmUgbm90IHBhdGNoZWQgYmVjYXVzZSBnZXR0ZXIgYW5kIHNldHRlciBtdXN0IHVzZSB0aGUgc2FtZSB0eXBlLiBTbyBpZlxyXG4gIC8vIHRoZSBnZXR0ZXIgcmV0dXJucyBhIHByb21pc2UsIHRoZW4gdGhlIHNldHRpbmcgbXVzdCBhbHdheSB0YWtlIGEgcHJvbWlzZS4gSXQgZG9lc24ndCBtYWtlXHJcbiAgLy8gbXVjaCBzZW5zZSB0byB1c2UgZ2V0dGVycyBhbmQgc2V0dGVycyB0aGlzIHdheS4gQW5kIGlmIGdldHRlciByZXR1cm5zIGEgdmFsdWUsIHRoZW4gdGhlcmUnc1xyXG4gIC8vIG5vIG5lZWQgdG8gcGF0Y2ggaXQgdG8gcnVuIG91dHNpZGUgYW5ndWxhci5cclxuICBwYXRjaFNldHRlcnM/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogSWYgeW91IHdpc2ggdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhvc2UsIHlvdSdsbCBuZWVkIHRvIGNyZWF0ZSBhIGRlcml2ZWRcclxuICogY2xhc3MgYW5kIG92ZXJyaWRlIHRoZSBtZXRob2RzLlxyXG4gKiBIb3dldmVyLCBjYW4ndCBmaWd1cmUgb3V0IGEgd2F5IHRvIGNhbGwgdGhlIHN1cGVyKCkgaW4gdGhlIGRlcml2ZWQgY2xhc3MgY3RvciwgZXJyb3Igc2F5c1xyXG4gKiB0aGUgc3VwZXIgY2FsbCBjYW4ndCBiZSBpbiB0ZXN0ZWQgZnVuY3Rpb24uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgRVhDTFVERV9NRVRIT0RTID0gW1xyXG4gICdjb25zdHJ1Y3RvcicsXHJcbiAgJ25nT25DaGFuZ2VzJyxcclxuICAnbmdPbkluaXQnLFxyXG4gICduZ0RvQ2hlY2snLFxyXG4gICduZ0FmdGVyQ29udGVudEluaXQnLFxyXG4gICduZ0FmdGVyQ29udGVudENoZWNrZWQnLFxyXG4gICduZ0FmdGVyVmlld0luaXQnLFxyXG4gICduZ0FmdGVyVmlld0NoZWNrZWQnLFxyXG4gICduZ09uRGVzdHJveScsXHJcbl07XHJcblxyXG4vLyBQYXRjaCBhbGwgbWV0aG9kcyBvZiB0aGUgY2xhc3MuXHJcbi8vXHJcbi8vIE5vdGUsIHRoaXMgd2lsbCBub3QgcGF0Y2ggZnVuY3Rpb25zIGluIHRoZSBiYXNlIGNsYXNzLCBpdCBvbmx5XHJcbi8vIHBhdGNoZXMgdGhlIGZ1bmN0aW9uIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgY2xhc3MgYmVjYXVzZSBpdCdzXHJcbi8vIHVzaW5nIGdldE93blByb3BlcnR5TmFtZXMoKS4gWW91IHNob3VsZCBiZSB1c2luZyBjb21wb3NpdGlvbiBmb3JcclxuLy8gc2VydmljZXMgYW55d2F5LlxyXG4vL1xyXG4vLyBSZWY6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80NDQwOTI0NFxyXG4vLyBUaGUgYWJvdmUgYXBwcm9hY2ggbWlnaHQgYmUgYSBiaXQgb2xkLiBOb3cgdGhhdCB3ZSBoYXZlIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigpLFxyXG4vLyB3ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoYXQgYW5kIG5vdCB0b3VjaCBhbnkgYW5ndWxhciB6b25lIGludGVybmFscy4gQnV0IHRoZSBhcHByb2FjaFxyXG4vLyBhYm92ZSBkb2Vzbid0IHJlcXVpcmUgaW5qZWN0aW5nIG5nWm9uZS5cclxuLy9cclxuLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vMm5nL3J1bi1vdXRzaWRlLWFuZ3VsYXIvYmxvYi9tYXN0ZXIvc3JjL3J1bi1vdXRzaWRlLWFuZ3VsYXIudHNcclxuZXhwb3J0IGZ1bmN0aW9uIFJ1bk91dHNpZGVBbmd1bGFyKHtcclxuICBuZ1pvbmVOYW1lLFxyXG4gIGV4Y2VwdExhc3RQcm9taXNlID0gdHJ1ZSxcclxuICBleGNsdWRlTWV0aG9kcyA9IFtdLFxyXG4gIHBhdGNoU2V0dGVycyA9IHRydWUsXHJcbn06IFJ1bk91dHNpZGVBbmd1bGFyQ29uZmlnKSB7XHJcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xyXG4gICAgZnVuY3Rpb24gcnVuKG9yaWdpbmFsLCBhcmdzKSB7XHJcbiAgICAgIGlmICghdGhpc1tuZ1pvbmVOYW1lXSkge1xyXG4gICAgICAgIHRocm93IG5ldyBMckJhZExvZ2ljRXhjZXB0aW9uKFxyXG4gICAgICAgICAgYFJ1bk91dHNpZGVBbmd1bGFyIGRlY29yYXRvciByZXF1aXJlcyB0aGF0ICR7dGFyZ2V0Lm5hbWV9IGluamVjdCBOZ1pvbmUgYXMgJHtuZ1pvbmVOYW1lfWBcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIHJ1bk91dHNpZGVBbmd1bGFyKCkgc3luY2hyb25vdXNseSBydW5zIHRoZSBjYWxsYmFjayBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzW25nWm9uZU5hbWVdLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XHJcbiAgICAgICAgb3JpZ2luYWwuYXBwbHkodGhpcywgYXJncylcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmIChleGNlcHRMYXN0UHJvbWlzZSAmJiByZXN1bHQ/LnRoZW4pIHtcclxuICAgICAgICAvLyBCcmluZyBiYWNrIGludG8gem9uZSB3aGljaCB3aWxsIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBwcm9wZXJseS5cclxuICAgICAgICAvLyBJZiB0aGlzIGRvZXNuJ3Qgd29yaywgdGhlbiB3ZSdsbCBoYXZlIHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBleHBsaWNpdGx5LlxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIHJlYXNvbiB0byBydW4gYW55IG9mIHRoZSBvbmVzIGluIEVYQ0xVREVfTUVUSE9EUyBvdXRzaWRlIGFuZ3VsYXIuXHJcbiAgICAvLyBTbyB3ZSBhbHdheXMgZXhjbHVkZSB0aGVtIGZyb20gcGF0Y2hpbmcuIFlvdSBjYW4gYWx3YXlzIGV4cGxpY2l0IGltcGxlbWVudCB0aGVzZSBvbmVzIGRpZmZlcmVudGx5LlxyXG4gICAgZXhjbHVkZU1ldGhvZHMgPSBbLi4uZXhjbHVkZU1ldGhvZHMsIC4uLkVYQ0xVREVfTUVUSE9EU107XHJcblxyXG4gICAgY29uc3QgbWV0aG9kcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldC5wcm90b3R5cGUpO1xyXG5cclxuICAgIG1ldGhvZHNcclxuICAgICAgLmZpbHRlcigobWV0aG9kKSA9PiAhZXhjbHVkZU1ldGhvZHMuaW5jbHVkZXMobWV0aG9kKSlcclxuICAgICAgLmZvckVhY2goKG1ldGhvZCkgPT4ge1xyXG4gICAgICAgIC8vIFBhdGNoIHNldHRlcnNcclxuICAgICAgICAvLyBOb3RlIHRoYXQgc2V0dGVycyBkbyBub3QgcmV0dXJuIGFueSB0aGluZy4gQnV0IHRoZXkgY2FuIHN0aWxsIGlzc3VlIGFzeW5jIGNhbGxzLlxyXG4gICAgICAgIC8vIFRoZXNlIGFzeW5jIGNhbGxzIGFyZSBub3QgdmlzaWJsZSB0byB0aGUgd3JhcHBlci4gU28gd2UgY2FuJ3QgaXNzdWUgY2hhbmdlIGRldGVjdGlvblxyXG4gICAgICAgIC8vIGZvciBzZXR0ZXJzIHdoZW4gdGhleSBhcmUgcnVubmluZyBvdXRzaWRlIGFuZ3VsYXIuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgcGF0Y2hTZXR0ZXJzICYmXHJcbiAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldC5wcm90b3R5cGUsIG1ldGhvZCkuc2V0XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXHJcbiAgICAgICAgICAgIHRhcmdldC5wcm90b3R5cGUsXHJcbiAgICAgICAgICAgIG1ldGhvZFxyXG4gICAgICAgICAgKS5zZXQ7XHJcblxyXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldC5wcm90b3R5cGUsIG1ldGhvZCwge1xyXG4gICAgICAgICAgICBzZXQoLi4uYXJncykge1xyXG4gICAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0LnByb3RvdHlwZVttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHRhcmdldC5wcm90b3R5cGVbbWV0aG9kXTtcclxuXHJcbiAgICAgICAgICB0YXJnZXQucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbiguLi5hcmdzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBydW4uYXBwbHkodGhpcywgW29yaWdpbmFsLCBhcmdzXSk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRhcmdldDtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc0tleUdyYXBoIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZTxUPiB7XG4gIG5vZGU6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzRWRnZXM8VD4ge1xuICBlZGdlczogRWRnZTxUPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhc0tleUdyYXBoRWRnZXM8VD4gZXh0ZW5kcyBIYXNLZXlHcmFwaCB7XG4gIGxpc3Q6IEhhc0VkZ2VzPFQ+O1xufVxuIl19
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVjdHMva2MtY2xpZW50L3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL19jb21tb24vdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc0tleUdyYXBoIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2NyeXB0b2dyYXBoeS50eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVkZ2U8VD4ge1xyXG4gIG5vZGU6IFQ7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGFzRWRnZXM8VD4ge1xyXG4gIGVkZ2VzOiBFZGdlPFQ+W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGFzS2V5R3JhcGhFZGdlczxUPiBleHRlbmRzIEhhc0tleUdyYXBoIHtcclxuICBsaXN0OiBIYXNFZGdlczxUPjtcclxufVxyXG4iXX0=