@nlabs/reaktor 0.2.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config.js +12 -4
- package/lib/data/conversations.d.ts +3 -1
- package/lib/data/conversations.js +150 -65
- package/lib/data/dynamodb.d.ts +8 -8
- package/lib/data/dynamodb.js +65 -33
- package/lib/data/email.d.ts +2 -2
- package/lib/data/email.js +52 -24
- package/lib/data/files.js +71 -11
- package/lib/data/groups.js +37 -3
- package/lib/data/images.d.ts +3 -2
- package/lib/data/images.js +425 -273
- package/lib/data/index.d.ts +1 -0
- package/lib/data/index.js +33 -1
- package/lib/data/ios.d.ts +5 -5
- package/lib/data/ios.js +47 -21
- package/lib/data/locations.js +28 -4
- package/lib/data/messages.js +89 -73
- package/lib/data/notifications.d.ts +2 -2
- package/lib/data/notifications.js +6 -6
- package/lib/data/payments.d.ts +3 -4
- package/lib/data/payments.js +228 -257
- package/lib/data/posts.d.ts +1 -1
- package/lib/data/posts.js +88 -12
- package/lib/data/reactions.d.ts +1 -1
- package/lib/data/reactions.js +56 -14
- package/lib/data/s3.d.ts +6 -6
- package/lib/data/s3.js +10 -2
- package/lib/data/search.js +46 -4
- package/lib/data/sms.js +5 -1
- package/lib/data/subscription.d.ts +1 -1
- package/lib/data/subscription.js +46 -20
- package/lib/data/tags.js +60 -8
- package/lib/data/users.d.ts +7 -4
- package/lib/data/users.js +83 -32
- package/lib/data/websockets.d.ts +6 -0
- package/lib/data/websockets.js +250 -0
- package/lib/index.js +4 -1
- package/lib/types/conversations.d.ts +2 -0
- package/lib/types/index.js +18 -1
- package/lib/types/payments.d.ts +1 -0
- package/lib/types/posts.d.ts +2 -0
- package/lib/types/reactions.d.ts +2 -0
- package/lib/types/users.d.ts +1 -0
- package/lib/utils/analytics.js +28 -6
- package/lib/utils/arangodb.d.ts +2 -1
- package/lib/utils/arangodb.js +31 -10
- package/lib/utils/auth.js +21 -3
- package/lib/utils/graphql.js +3 -1
- package/lib/utils/index.js +7 -1
- package/lib/utils/objects.js +9 -1
- package/lib/utils/redis.js +6 -2
- package/package.json +33 -31
package/lib/data/index.d.ts
CHANGED
package/lib/data/index.js
CHANGED
|
@@ -8,6 +8,7 @@ var _conversations = require("./conversations");
|
|
|
8
8
|
|
|
9
9
|
Object.keys(_conversations).forEach(function (key) {
|
|
10
10
|
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _conversations[key]) return;
|
|
11
12
|
Object.defineProperty(exports, key, {
|
|
12
13
|
enumerable: true,
|
|
13
14
|
get: function get() {
|
|
@@ -20,6 +21,7 @@ var _dynamodb = require("./dynamodb");
|
|
|
20
21
|
|
|
21
22
|
Object.keys(_dynamodb).forEach(function (key) {
|
|
22
23
|
if (key === "default" || key === "__esModule") return;
|
|
24
|
+
if (key in exports && exports[key] === _dynamodb[key]) return;
|
|
23
25
|
Object.defineProperty(exports, key, {
|
|
24
26
|
enumerable: true,
|
|
25
27
|
get: function get() {
|
|
@@ -32,6 +34,7 @@ var _email = require("./email");
|
|
|
32
34
|
|
|
33
35
|
Object.keys(_email).forEach(function (key) {
|
|
34
36
|
if (key === "default" || key === "__esModule") return;
|
|
37
|
+
if (key in exports && exports[key] === _email[key]) return;
|
|
35
38
|
Object.defineProperty(exports, key, {
|
|
36
39
|
enumerable: true,
|
|
37
40
|
get: function get() {
|
|
@@ -44,6 +47,7 @@ var _files = require("./files");
|
|
|
44
47
|
|
|
45
48
|
Object.keys(_files).forEach(function (key) {
|
|
46
49
|
if (key === "default" || key === "__esModule") return;
|
|
50
|
+
if (key in exports && exports[key] === _files[key]) return;
|
|
47
51
|
Object.defineProperty(exports, key, {
|
|
48
52
|
enumerable: true,
|
|
49
53
|
get: function get() {
|
|
@@ -56,6 +60,7 @@ var _groups = require("./groups");
|
|
|
56
60
|
|
|
57
61
|
Object.keys(_groups).forEach(function (key) {
|
|
58
62
|
if (key === "default" || key === "__esModule") return;
|
|
63
|
+
if (key in exports && exports[key] === _groups[key]) return;
|
|
59
64
|
Object.defineProperty(exports, key, {
|
|
60
65
|
enumerable: true,
|
|
61
66
|
get: function get() {
|
|
@@ -68,6 +73,7 @@ var _images = require("./images");
|
|
|
68
73
|
|
|
69
74
|
Object.keys(_images).forEach(function (key) {
|
|
70
75
|
if (key === "default" || key === "__esModule") return;
|
|
76
|
+
if (key in exports && exports[key] === _images[key]) return;
|
|
71
77
|
Object.defineProperty(exports, key, {
|
|
72
78
|
enumerable: true,
|
|
73
79
|
get: function get() {
|
|
@@ -80,6 +86,7 @@ var _ios = require("./ios");
|
|
|
80
86
|
|
|
81
87
|
Object.keys(_ios).forEach(function (key) {
|
|
82
88
|
if (key === "default" || key === "__esModule") return;
|
|
89
|
+
if (key in exports && exports[key] === _ios[key]) return;
|
|
83
90
|
Object.defineProperty(exports, key, {
|
|
84
91
|
enumerable: true,
|
|
85
92
|
get: function get() {
|
|
@@ -92,6 +99,7 @@ var _locations = require("./locations");
|
|
|
92
99
|
|
|
93
100
|
Object.keys(_locations).forEach(function (key) {
|
|
94
101
|
if (key === "default" || key === "__esModule") return;
|
|
102
|
+
if (key in exports && exports[key] === _locations[key]) return;
|
|
95
103
|
Object.defineProperty(exports, key, {
|
|
96
104
|
enumerable: true,
|
|
97
105
|
get: function get() {
|
|
@@ -104,6 +112,7 @@ var _messages = require("./messages");
|
|
|
104
112
|
|
|
105
113
|
Object.keys(_messages).forEach(function (key) {
|
|
106
114
|
if (key === "default" || key === "__esModule") return;
|
|
115
|
+
if (key in exports && exports[key] === _messages[key]) return;
|
|
107
116
|
Object.defineProperty(exports, key, {
|
|
108
117
|
enumerable: true,
|
|
109
118
|
get: function get() {
|
|
@@ -116,6 +125,7 @@ var _notifications = require("./notifications");
|
|
|
116
125
|
|
|
117
126
|
Object.keys(_notifications).forEach(function (key) {
|
|
118
127
|
if (key === "default" || key === "__esModule") return;
|
|
128
|
+
if (key in exports && exports[key] === _notifications[key]) return;
|
|
119
129
|
Object.defineProperty(exports, key, {
|
|
120
130
|
enumerable: true,
|
|
121
131
|
get: function get() {
|
|
@@ -128,6 +138,7 @@ var _payments = require("./payments");
|
|
|
128
138
|
|
|
129
139
|
Object.keys(_payments).forEach(function (key) {
|
|
130
140
|
if (key === "default" || key === "__esModule") return;
|
|
141
|
+
if (key in exports && exports[key] === _payments[key]) return;
|
|
131
142
|
Object.defineProperty(exports, key, {
|
|
132
143
|
enumerable: true,
|
|
133
144
|
get: function get() {
|
|
@@ -140,6 +151,7 @@ var _posts = require("./posts");
|
|
|
140
151
|
|
|
141
152
|
Object.keys(_posts).forEach(function (key) {
|
|
142
153
|
if (key === "default" || key === "__esModule") return;
|
|
154
|
+
if (key in exports && exports[key] === _posts[key]) return;
|
|
143
155
|
Object.defineProperty(exports, key, {
|
|
144
156
|
enumerable: true,
|
|
145
157
|
get: function get() {
|
|
@@ -152,6 +164,7 @@ var _reactions = require("./reactions");
|
|
|
152
164
|
|
|
153
165
|
Object.keys(_reactions).forEach(function (key) {
|
|
154
166
|
if (key === "default" || key === "__esModule") return;
|
|
167
|
+
if (key in exports && exports[key] === _reactions[key]) return;
|
|
155
168
|
Object.defineProperty(exports, key, {
|
|
156
169
|
enumerable: true,
|
|
157
170
|
get: function get() {
|
|
@@ -164,6 +177,7 @@ var _s = require("./s3");
|
|
|
164
177
|
|
|
165
178
|
Object.keys(_s).forEach(function (key) {
|
|
166
179
|
if (key === "default" || key === "__esModule") return;
|
|
180
|
+
if (key in exports && exports[key] === _s[key]) return;
|
|
167
181
|
Object.defineProperty(exports, key, {
|
|
168
182
|
enumerable: true,
|
|
169
183
|
get: function get() {
|
|
@@ -176,6 +190,7 @@ var _search = require("./search");
|
|
|
176
190
|
|
|
177
191
|
Object.keys(_search).forEach(function (key) {
|
|
178
192
|
if (key === "default" || key === "__esModule") return;
|
|
193
|
+
if (key in exports && exports[key] === _search[key]) return;
|
|
179
194
|
Object.defineProperty(exports, key, {
|
|
180
195
|
enumerable: true,
|
|
181
196
|
get: function get() {
|
|
@@ -188,6 +203,7 @@ var _sms = require("./sms");
|
|
|
188
203
|
|
|
189
204
|
Object.keys(_sms).forEach(function (key) {
|
|
190
205
|
if (key === "default" || key === "__esModule") return;
|
|
206
|
+
if (key in exports && exports[key] === _sms[key]) return;
|
|
191
207
|
Object.defineProperty(exports, key, {
|
|
192
208
|
enumerable: true,
|
|
193
209
|
get: function get() {
|
|
@@ -200,6 +216,7 @@ var _subscription = require("./subscription");
|
|
|
200
216
|
|
|
201
217
|
Object.keys(_subscription).forEach(function (key) {
|
|
202
218
|
if (key === "default" || key === "__esModule") return;
|
|
219
|
+
if (key in exports && exports[key] === _subscription[key]) return;
|
|
203
220
|
Object.defineProperty(exports, key, {
|
|
204
221
|
enumerable: true,
|
|
205
222
|
get: function get() {
|
|
@@ -212,6 +229,7 @@ var _tags = require("./tags");
|
|
|
212
229
|
|
|
213
230
|
Object.keys(_tags).forEach(function (key) {
|
|
214
231
|
if (key === "default" || key === "__esModule") return;
|
|
232
|
+
if (key in exports && exports[key] === _tags[key]) return;
|
|
215
233
|
Object.defineProperty(exports, key, {
|
|
216
234
|
enumerable: true,
|
|
217
235
|
get: function get() {
|
|
@@ -224,6 +242,7 @@ var _users = require("./users");
|
|
|
224
242
|
|
|
225
243
|
Object.keys(_users).forEach(function (key) {
|
|
226
244
|
if (key === "default" || key === "__esModule") return;
|
|
245
|
+
if (key in exports && exports[key] === _users[key]) return;
|
|
227
246
|
Object.defineProperty(exports, key, {
|
|
228
247
|
enumerable: true,
|
|
229
248
|
get: function get() {
|
|
@@ -231,4 +250,17 @@ Object.keys(_users).forEach(function (key) {
|
|
|
231
250
|
}
|
|
232
251
|
});
|
|
233
252
|
});
|
|
234
|
-
|
|
253
|
+
|
|
254
|
+
var _websockets = require("./websockets");
|
|
255
|
+
|
|
256
|
+
Object.keys(_websockets).forEach(function (key) {
|
|
257
|
+
if (key === "default" || key === "__esModule") return;
|
|
258
|
+
if (key in exports && exports[key] === _websockets[key]) return;
|
|
259
|
+
Object.defineProperty(exports, key, {
|
|
260
|
+
enumerable: true,
|
|
261
|
+
get: function get() {
|
|
262
|
+
return _websockets[key];
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUlBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY29udmVyc2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtb2RiJztcbmV4cG9ydCAqIGZyb20gJy4vZW1haWwnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3Vwcyc7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL2lvcyc7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcG9zdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zMyc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3Ntcyc7XG5leHBvcnQgKiBmcm9tICcuL3N1YnNjcmlwdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycyc7XG5leHBvcnQgKiBmcm9tICcuL3dlYnNvY2tldHMnO1xuIl19
|
package/lib/data/ios.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiContext, PaymentIOSInAppError, PaymentIOSSubscriptionUpdate, PaymentSubscription } from '../types';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
2
|
+
export declare const getIosInAppError: (statusCode: string) => PaymentIOSInAppError;
|
|
3
|
+
export declare const iosSubscriptionUpdate: (database: string, subscriptionUpdate: PaymentIOSSubscriptionUpdate) => Promise<void>;
|
|
4
|
+
export declare const getIosSubscription: (context: ApiContext) => Promise<PaymentSubscription>;
|
|
5
|
+
export declare const addIosInApp: (context: ApiContext, subscription: PaymentSubscription) => Promise<PaymentSubscription>;
|
|
6
|
+
export declare const getIosInApp: (context: ApiContext) => Promise<PaymentSubscription>;
|
package/lib/data/ios.js
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.filter");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.for-each");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.array.slice");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.date.now");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/es.date.to-string");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.object.define-properties");
|
|
16
|
+
|
|
17
|
+
require("core-js/modules/es.object.define-property");
|
|
18
|
+
|
|
19
|
+
require("core-js/modules/es.object.freeze");
|
|
20
|
+
|
|
21
|
+
require("core-js/modules/es.object.get-own-property-descriptor");
|
|
22
|
+
|
|
23
|
+
require("core-js/modules/es.object.get-own-property-descriptors");
|
|
24
|
+
|
|
25
|
+
require("core-js/modules/es.object.keys");
|
|
26
|
+
|
|
27
|
+
require("core-js/modules/web.dom-collections.for-each");
|
|
28
|
+
|
|
3
29
|
Object.defineProperty(exports, "__esModule", {
|
|
4
30
|
value: true
|
|
5
31
|
});
|
|
6
|
-
exports.
|
|
32
|
+
exports.getIosInApp = exports.addIosInApp = exports.getIosSubscription = exports.iosSubscriptionUpdate = exports.getIosInAppError = void 0;
|
|
7
33
|
|
|
8
34
|
var _utils = require("@nlabs/utils");
|
|
9
35
|
|
|
@@ -55,13 +81,13 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
|
|
|
55
81
|
|
|
56
82
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
57
83
|
|
|
58
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
84
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
59
85
|
|
|
60
86
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
61
87
|
|
|
62
88
|
var eventCategory = 'ios';
|
|
63
89
|
|
|
64
|
-
var
|
|
90
|
+
var getIosInAppError = function getIosInAppError(statusCode) {
|
|
65
91
|
var _codes;
|
|
66
92
|
|
|
67
93
|
var codes = (_codes = {}, _defineProperty(_codes, 0, {
|
|
@@ -113,10 +139,10 @@ var getIOSInAppError = function getIOSInAppError(statusCode) {
|
|
|
113
139
|
return codes[statusCode] || {};
|
|
114
140
|
};
|
|
115
141
|
|
|
116
|
-
exports.
|
|
142
|
+
exports.getIosInAppError = getIosInAppError;
|
|
117
143
|
|
|
118
|
-
var
|
|
119
|
-
var action = '
|
|
144
|
+
var iosSubscriptionUpdate = function iosSubscriptionUpdate(database, subscriptionUpdate) {
|
|
145
|
+
var action = 'iosSubscriptionUpdate';
|
|
120
146
|
var planId = subscriptionUpdate.auto_renew_adam_id,
|
|
121
147
|
cancelDate = subscriptionUpdate.cancellation_date,
|
|
122
148
|
status = subscriptionUpdate.notification_type,
|
|
@@ -138,7 +164,7 @@ var iOSSubscriptionUpdate = function iOSSubscriptionUpdate(database, subscriptio
|
|
|
138
164
|
status: formatStatus
|
|
139
165
|
};
|
|
140
166
|
|
|
141
|
-
var insert = _objectSpread({}, update, {
|
|
167
|
+
var insert = _objectSpread(_objectSpread({}, update), {}, {
|
|
142
168
|
_key: id,
|
|
143
169
|
added: now,
|
|
144
170
|
type: 'ios_payment'
|
|
@@ -156,12 +182,12 @@ var iOSSubscriptionUpdate = function iOSSubscriptionUpdate(database, subscriptio
|
|
|
156
182
|
return null;
|
|
157
183
|
});
|
|
158
184
|
});
|
|
159
|
-
}; // export const
|
|
185
|
+
}; // export const addIosInApp = (
|
|
160
186
|
// context: ApiContext,
|
|
161
187
|
// app,
|
|
162
188
|
// subscription: PaymentSubscription
|
|
163
189
|
// ): Promise<PaymentSubscription> => {
|
|
164
|
-
// const action: string = '
|
|
190
|
+
// const action: string = 'addIosInApp';
|
|
165
191
|
// const {isProduction, receipt} = subscription;
|
|
166
192
|
// const {database, userId: sessionId} = context;
|
|
167
193
|
// const productionHost: string = 'buy.itunes.apple.com';
|
|
@@ -225,7 +251,7 @@ var iOSSubscriptionUpdate = function iOSSubscriptionUpdate(database, subscriptio
|
|
|
225
251
|
// }, dbError, context).then(() => null));
|
|
226
252
|
// }
|
|
227
253
|
// // Errors
|
|
228
|
-
// const error: PaymentIOSInAppError =
|
|
254
|
+
// const error: PaymentIOSInAppError = getIosInAppError(results.status);
|
|
229
255
|
// return logException({
|
|
230
256
|
// action,
|
|
231
257
|
// category: eventCategory,
|
|
@@ -237,10 +263,10 @@ var iOSSubscriptionUpdate = function iOSSubscriptionUpdate(database, subscriptio
|
|
|
237
263
|
// };
|
|
238
264
|
|
|
239
265
|
|
|
240
|
-
exports.
|
|
266
|
+
exports.iosSubscriptionUpdate = iosSubscriptionUpdate;
|
|
241
267
|
|
|
242
|
-
var
|
|
243
|
-
var action = '
|
|
268
|
+
var getIosSubscription = function getIosSubscription(context) {
|
|
269
|
+
var action = 'getIosSubscription';
|
|
244
270
|
var database = context.database,
|
|
245
271
|
sessionId = context.userId;
|
|
246
272
|
var aqlQry = (0, _arangojs.aql)(_templateObject2(), sessionId);
|
|
@@ -260,10 +286,10 @@ var getIOSSubscription = function getIOSSubscription(context) {
|
|
|
260
286
|
});
|
|
261
287
|
};
|
|
262
288
|
|
|
263
|
-
exports.
|
|
289
|
+
exports.getIosSubscription = getIosSubscription;
|
|
264
290
|
|
|
265
|
-
var
|
|
266
|
-
var action = '
|
|
291
|
+
var addIosInApp = function addIosInApp(context, subscription) {
|
|
292
|
+
var action = 'addIosInApp';
|
|
267
293
|
var database = context.database,
|
|
268
294
|
sessionId = context.userId;
|
|
269
295
|
var now = Date.now();
|
|
@@ -302,10 +328,10 @@ var addIOSInApp = function addIOSInApp(context, subscription) {
|
|
|
302
328
|
});
|
|
303
329
|
};
|
|
304
330
|
|
|
305
|
-
exports.
|
|
331
|
+
exports.addIosInApp = addIosInApp;
|
|
306
332
|
|
|
307
|
-
var
|
|
308
|
-
var action = '
|
|
333
|
+
var getIosInApp = function getIosInApp(context) {
|
|
334
|
+
var action = 'getIosInApp';
|
|
309
335
|
var database = context.database,
|
|
310
336
|
sessionId = context.userId;
|
|
311
337
|
var aqlQry = (0, _arangojs.aql)(_templateObject4(), sessionId);
|
|
@@ -325,5 +351,5 @@ var getIOSInApp = function getIOSInApp(context) {
|
|
|
325
351
|
});
|
|
326
352
|
};
|
|
327
353
|
|
|
328
|
-
exports.
|
|
329
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2lvcy50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiZ2V0SU9TSW5BcHBFcnJvciIsInN0YXR1c0NvZGUiLCJjb2RlcyIsImVycm9yIiwibWVzc2FnZSIsInZhbGlkIiwiaWQiLCJyZWRpcmVjdCIsImlPU1N1YnNjcmlwdGlvblVwZGF0ZSIsImRhdGFiYXNlIiwic3Vic2NyaXB0aW9uVXBkYXRlIiwiYWN0aW9uIiwicGxhbklkIiwiYXV0b19yZW5ld19hZGFtX2lkIiwiY2FuY2VsRGF0ZSIsImNhbmNlbGxhdGlvbl9kYXRlIiwic3RhdHVzIiwibm90aWZpY2F0aW9uX3R5cGUiLCJsYXRlc3RSZWNlaXB0IiwibGF0ZXN0X3JlY2VpcHQiLCJsYXRlc3RJbmZvIiwibGF0ZXN0X3JlY2VpcHRfaW5mbyIsImV4cGlyZWRSZWNlaXB0IiwibGF0ZXN0X2V4cGlyZWRfcmVjZWlwdCIsImV4cGlyZWRJbmZvIiwibGF0ZXN0X2V4cGlyZWRfcmVjZWlwdF9pbmZvIiwidHJhbnNhY3Rpb25JZCIsIm9yaWdpbmFsX3RyYW5zYWN0aW9uX2lkIiwiZm9ybWF0U3RhdHVzIiwidG9Mb3dlckNhc2UiLCJub3ciLCJEYXRlIiwicmVjZWlwdEluZm8iLCJ1cGRhdGUiLCJpc1ZhbGlkIiwiZXhwaXJlc19kYXRlX21zIiwibW9kaWZpZWQiLCJyZWNlaXB0IiwiaW5zZXJ0IiwiX2tleSIsImFkZGVkIiwidHlwZSIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwidGhlbiIsImRiRXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiZ2V0SU9TU3Vic2NyaXB0aW9uIiwiY29udGV4dCIsInNlc3Npb25JZCIsInVzZXJJZCIsImN1cnNvciIsIm5leHQiLCJzdWJzY3JpcHRpb24iLCJhZGRJT1NJbkFwcCIsInRyaWFsRW5kIiwic3Vic2NyaXB0aW9uSWQiLCJ1cGRhdGVkU3Vic2NyaXB0aW9uIiwiZ2V0SU9TSW5BcHAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7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LGFBQUgsc0JBQ0dRLFNBREgsQ0FBdEI7QUFLQSxTQUFPLG1CQUFNMUMsUUFBTixFQUFnQm1DLEtBQWhCLENBQXNCRixNQUF0QixFQUNKRyxJQURJLENBQ0MsVUFBQ1EsTUFBRDtBQUFBLFdBQXlCQSxNQUFNLENBQUNDLElBQVAsRUFBekI7QUFBQSxHQURELEVBRUpULElBRkksQ0FFQztBQUFBLFFBQUNVLFlBQUQsdUVBQXFDLEVBQXJDO0FBQUEsV0FBNENBLFlBQTVDO0FBQUEsR0FGRCxXQUdFLFVBQUNwRCxLQUFEO0FBQUEsV0FBa0Isc0JBQVM7QUFDaENRLE1BQUFBLE1BQU0sRUFBTkEsTUFEZ0M7QUFFaENvQyxNQUFBQSxRQUFRLEVBQUVoRCxhQUZzQjtBQUdoQ2lELE1BQUFBLEtBQUssRUFBRTtBQUh5QixLQUFULEVBSXRCN0MsS0FKc0IsRUFJZitDLE9BSmUsRUFJTkwsSUFKTSxDQUlEO0FBQUEsYUFBTSxJQUFOO0FBQUEsS0FKQyxDQUFsQjtBQUFBLEdBSEYsQ0FBUDtBQVFELENBaEJNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVIYXNofSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvYXFsLXF1ZXJ5JztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvY3Vyc29yJztcblxuaW1wb3J0IHtcbiAgQXBpQ29udGV4dCxcbiAgUGF5bWVudElPU0luQXBwRXJyb3IsXG4gIFBheW1lbnRJT1NTdWJzY3JpcHRpb25JbmZvLFxuICBQYXltZW50SU9TU3Vic2NyaXB0aW9uVXBkYXRlLFxuICBQYXltZW50U3Vic2NyaXB0aW9uXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7bG9nRXJyb3IsIHVzZURifSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdpb3MnO1xuXG5leHBvcnQgY29uc3QgZ2V0SU9TSW5BcHBFcnJvciA9IChzdGF0dXNDb2RlOiBzdHJpbmcpOiBQYXltZW50SU9TSW5BcHBFcnJvciA9PiB7XG4gIGNvbnN0IGNvZGVzID0ge1xuICAgIFswXToge2Vycm9yOiBmYWxzZSwgbWVzc2FnZTogJ0FjdGl2ZScsIHZhbGlkOiB0cnVlfSxcbiAgICBbMjEwMDBdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9yZWNlaXB0X3VucmVhZGFibGUnLCBtZXNzYWdlOiAnQXBwIHN0b3JlIGNvdWxkIG5vdCByZWFkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDJdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9kYXRhX21hbGZvcm1lZCcsIG1lc3NhZ2U6ICdEYXRhIHdhcyBtYWxmb3JtZWQnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwM106IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X3JlY2VpcHRfdW5hdXRob3JpemVkJywgbWVzc2FnZTogJ1JlY2VpcHQgbm90IGF1dGhlbnRpY2F0ZWQnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwNF06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X2ludmFsaWRfc2VjcmV0JywgbWVzc2FnZTogJ1NoYXJlZCBzZWNyZXQgZG9lcyBub3QgbWF0Y2gnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwNV06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X3NlcnZlcl91bmF2YWlsYWJsZScsIG1lc3NhZ2U6ICdSZWNlaXB0IHNlcnZlciB1bmF2YWlsYWJsZScsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDA2XToge1xuICAgICAgZXJyb3I6IGZhbHNlLFxuICAgICAgaWQ6ICdwYXltZW50X3N1YnNjcmlwdGlvbl9leHBpcmVkJyxcbiAgICAgIG1lc3NhZ2U6ICdSZWNlaXB0IHZhbGlkIGJ1dCBzdWIgZXhwaXJlZCcsXG4gICAgICB2YWxpZDogdHJ1ZVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogc3BlY2lhbCBjYXNlIGZvciBhcHAgcmV2aWV3IGhhbmRsaW5nIC0gZm9yd2FyZCBhbnkgcmVxdWVzdCB0aGF0IGlzIGludGVuZGVkIGZvciB0aGUgU2FuZGJveCBidXQgd2FzIHNlbnQgdG9cbiAgICAgKiBQcm9kdWN0aW9uLCB0aGlzIGlzIHdoYXQgdGhlIGFwcCByZXZpZXcgdGVhbSBkb2VzXG4gICAgICovXG4gICAgWzIxMDA3XToge1xuICAgICAgZXJyb3I6IHRydWUsXG4gICAgICBpZDogJ3BheW1lbnRfaW52YWxpZF9zZXJ2ZXInLFxuICAgICAgbWVzc2FnZTogJ1NhbmRib3ggcmVjZWlwdCBzZW50IHRvIFByb2R1Y3Rpb24gZW52aXJvbm1lbnQnLFxuICAgICAgcmVkaXJlY3Q6IHRydWUsXG4gICAgICB2YWxpZDogZmFsc2VcbiAgICB9LFxuICAgIFsyMTAwOF06IHtcbiAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgaWQ6ICdwYXltZW50X2ludmFsaWRfc2VydmVyJyxcbiAgICAgIG1lc3NhZ2U6ICdQcm9kdWN0aW9uIHJlY2VpcHQgc2VudCB0byBTYW5kYm94IGVudmlyb25tZW50JyxcbiAgICAgIHZhbGlkOiBmYWxzZVxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gY29kZXNbc3RhdHVzQ29kZV0gfHwge307XG59O1xuXG5leHBvcnQgY29uc3QgaU9TU3Vic2NyaXB0aW9uVXBkYXRlID0gKFxuICBkYXRhYmFzZTogc3RyaW5nLFxuICBzdWJzY3JpcHRpb25VcGRhdGU6IFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdpT1NTdWJzY3JpcHRpb25VcGRhdGUnO1xuICBjb25zdCB7XG4gICAgYXV0b19yZW5ld19hZGFtX2lkOiBwbGFuSWQsXG4gICAgY2FuY2VsbGF0aW9uX2RhdGU6IGNhbmNlbERhdGUsXG4gICAgbm90aWZpY2F0aW9uX3R5cGU6IHN0YXR1cyxcbiAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbiAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHQ6IGV4cGlyZWRSZWNlaXB0LFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHRfaW5mbzogZXhwaXJlZEluZm8sXG4gICAgb3JpZ2luYWxfdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbiAgfSA9IHN1YnNjcmlwdGlvblVwZGF0ZTtcbiAgY29uc3QgZm9ybWF0U3RhdHVzOiBzdHJpbmcgPSAoc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4gIGNvbnN0IHJlY2VpcHRJbmZvOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mb1tdID0gbGF0ZXN0SW5mbyB8fCBleHBpcmVkSW5mbztcbiAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuXG4gIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBjYW5jZWxEYXRlLFxuICAgIGlzVmFsaWQ6IHJlY2VpcHRJbmZvWzBdLmV4cGlyZXNfZGF0ZV9tcyA+IG5vdyxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0IHx8IGV4cGlyZWRSZWNlaXB0LFxuICAgIHN0YXR1czogZm9ybWF0U3RhdHVzXG4gIH07XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICAuLi51cGRhdGUsXG4gICAgX2tleTogaWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuICAgICBMSU1JVCAxYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoKSA9PiBudWxsKVxuICAgIC5jYXRjaCgoZGJFcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBkYkVycm9yLCB7fSkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgYWRkSU9TSW5BcHAgPSAoXG4vLyAgIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4vLyAgIGFwcCxcbi8vICAgc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uXG4vLyApOiBQcm9taXNlPFBheW1lbnRTdWJzY3JpcHRpb24+ID0+IHtcbi8vICAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnYWRkSU9TSW5BcHAnO1xuLy8gICBjb25zdCB7aXNQcm9kdWN0aW9uLCByZWNlaXB0fSA9IHN1YnNjcmlwdGlvbjtcbi8vICAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuXG4vLyAgIGNvbnN0IHByb2R1Y3Rpb25Ib3N0OiBzdHJpbmcgPSAnYnV5Lml0dW5lcy5hcHBsZS5jb20nO1xuLy8gICBjb25zdCBzYW5kYm94SG9zdDogc3RyaW5nID0gJ3NhbmRib3guaXR1bmVzLmFwcGxlLmNvbSc7XG4vLyAgIGNvbnN0IGVuZHBvaW50OiBzdHJpbmcgPSBpc1Byb2R1Y3Rpb24gPyBwcm9kdWN0aW9uSG9zdCA6IHNhbmRib3hIb3N0O1xuLy8gICBjb25zdCB2ZXJpZnlVcmw6IHN0cmluZyA9IGBodHRwczovLyR7ZW5kcG9pbnR9L3ZlcmlmeVJlY2VpcHRgO1xuLy8gICBjb25zdCBwYXlsb2FkOiBvYmplY3QgPSB7XG4vLyAgICAgcGFzc3dvcmQ6IGFwcC5pYXAsXG4vLyAgICAgJ3JlY2VpcHQtZGF0YSc6IGRlY29kZVVSSUNvbXBvbmVudChyZWNlaXB0KVxuLy8gICB9O1xuLy8gICBjb25zdCBvcHRpb25zOiBvYmplY3QgPSB7XG4vLyAgICAgaGVhZGVyczoge1xuLy8gICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4vLyAgICAgfVxuLy8gICB9O1xuXG4vLyAgIHJldHVybiBwb3N0KHZlcmlmeVVybCwgcGF5bG9hZCwgb3B0aW9ucylcbi8vICAgICAudGhlbigocmVzdWx0cykgPT4ge1xuLy8gICAgICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UocmVzdWx0cyk7XG4vLyAgICAgICBjb25zdCB7XG4vLyAgICAgICAgIGxhdGVzdF9yZWNlaXB0OiBsYXRlc3RSZWNlaXB0LFxuLy8gICAgICAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuLy8gICAgICAgICBzdGF0dXNcbi8vICAgICAgIH0gPSBqc29uO1xuXG4vLyAgICAgICBjb25zdCB7XG4vLyAgICAgICAgIGlzX3RyaWFsX3BlcmlvZDogdHJpYWxQZXJpb2QsXG4vLyAgICAgICAgIG9yaWdpbmFsX3B1cmNoYXNlX2RhdGVfbXM6IGFkZGVkLFxuLy8gICAgICAgICBleHBpcmVzX2RhdGU6IGV4cGlyZXMsXG4vLyAgICAgICAgIHByb2R1Y3RfaWQ6IHBsYW5JZCxcbi8vICAgICAgICAgdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbi8vICAgICAgIH0gPSBsYXRlc3RJbmZvO1xuXG4vLyAgICAgICBpZihzdGF0dXMgPT09IDAgfHwgc3RhdHVzID09PSAyMTAwNikge1xuLy8gICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gY3JlYXRlSGFzaChgcGF5bWVudC0ke3RyYW5zYWN0aW9uSWR9YCk7XG4vLyAgICAgICAgIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbi8vICAgICAgICAgY29uc3QgdXBkYXRlOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuLy8gICAgICAgICAgIGV4cGlyZXMsXG4vLyAgICAgICAgICAgaXNUcmlhbDogdHJpYWxQZXJpb2QgPT09ICd0cnVlJyxcbi8vICAgICAgICAgICBpc1ZhbGlkOiBleHBpcmVzID4gbm93LFxuLy8gICAgICAgICAgIG1vZGlmaWVkOiBub3csXG4vLyAgICAgICAgICAgcGxhbklkLFxuLy8gICAgICAgICAgIHJlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4vLyAgICAgICAgICAgdHJhbnNhY3Rpb25JZCxcbi8vICAgICAgICAgICB1c2VySWQ6IHNlc3Npb25JZFxuLy8gICAgICAgICB9O1xuLy8gICAgICAgICBjb25zdCBpbnNlcnQ6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4vLyAgICAgICAgICAgLi4udXBkYXRlLFxuLy8gICAgICAgICAgIF9rZXk6IGlkLFxuLy8gICAgICAgICAgIGFkZGVkLFxuLy8gICAgICAgICAgIHR5cGU6ICdpb3NfcGF5bWVudCdcbi8vICAgICAgICAgfTtcblxuLy8gICAgICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dHJhbnNhY3Rpb25JZDogJHt0cmFuc2FjdGlvbklkfX1cbi8vICAgICAgICAgICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuLy8gICAgICAgICAgICAgICBVUERBVEUgJHt1cGRhdGV9IElOIHN1YnNjcmlwdGlvbnNcbi8vICAgICAgICAgICAgICAgUkVUVVJOIE5FV2A7XG5cbi8vICAgICAgICAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4vLyAgICAgICAgICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4vLyAgICAgICAgICAgLnRoZW4oKHVwZGF0ZWRTdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gdXBkYXRlZFN1YnNjcmlwdGlvbilcbi8vICAgICAgICAgICAuY2F0Y2goKGRiRXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4vLyAgICAgICAgICAgICBhY3Rpb24sXG4vLyAgICAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbi8vICAgICAgICAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4vLyAgICAgICAgICAgfSwgZGJFcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4vLyAgICAgICB9XG5cbi8vICAgICAgIC8vIEVycm9yc1xuLy8gICAgICAgY29uc3QgZXJyb3I6IFBheW1lbnRJT1NJbkFwcEVycm9yID0gZ2V0SU9TSW5BcHBFcnJvcihyZXN1bHRzLnN0YXR1cyk7XG5cbi8vICAgICAgIHJldHVybiBsb2dFeGNlcHRpb24oe1xuLy8gICAgICAgICBhY3Rpb24sXG4vLyAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuLy8gICAgICAgICBsYWJlbDogJ3BheW1lbnRfZXJyb3InLFxuLy8gICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuLy8gICAgICAgICB2YWx1ZTogZXJyb3IuaWRcbi8vICAgICAgIH0sIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCk7XG4vLyAgICAgfSk7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZ2V0SU9TU3Vic2NyaXB0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQpOiBQcm9taXNlPFBheW1lbnRTdWJzY3JpcHRpb24+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0SU9TU3Vic2NyaXB0aW9uJztcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBzIElOIHN1YnNjcmlwdGlvbnNcbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zX3BheW1lbnRcIlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gc3Vic2NyaXB0aW9uKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZElPU0luQXBwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbik6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRJT1NJbkFwcCc7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBjb25zdCB7YWRkZWQgPSBub3csIHBsYW5JZCwgcmVjZWlwdCwgdHJhbnNhY3Rpb25JZCwgdHJpYWxFbmR9ID0gc3Vic2NyaXB0aW9uO1xuICBjb25zdCBzdWJzY3JpcHRpb25JZDogc3RyaW5nID0gY3JlYXRlSGFzaChgc3Vic2NyaXB0aW9uLSR7dHJhbnNhY3Rpb25JZH1gKTtcbiAgY29uc3QgaW5zZXJ0OiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuICAgIF9rZXk6IHN1YnNjcmlwdGlvbklkLFxuICAgIGFkZGVkLFxuICAgIG1vZGlmaWVkOiBub3csXG4gICAgcGxhbklkLFxuICAgIHJlY2VpcHQsXG4gICAgdHJhbnNhY3Rpb25JZCxcbiAgICB0cmlhbEVuZCxcbiAgICB0eXBlOiAnaW9zX3N1YnNjcmlwdGlvbicsXG4gICAgdXNlcklkOiBzZXNzaW9uSWRcbiAgfTtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBJTlNFUlQgJHtpbnNlcnR9IElOIHN1YnNjcmlwdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRTdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gdXBkYXRlZFN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJT1NJbkFwcCA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElPU0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBzIElOIHN1YnNjcmlwdGlvblxuICAgICAgRklMVEVSIHMudXNlcklkID09ICR7c2Vzc2lvbklkfSAmJiBzLnR5cGUgPT0gXCJpb3NcIlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gc3Vic2NyaXB0aW9uKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcbiJdfQ==
|
|
354
|
+
exports.getIosInApp = getIosInApp;
|
|
355
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2lvcy50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiZ2V0SW9zSW5BcHBFcnJvciIsInN0YXR1c0NvZGUiLCJjb2RlcyIsImVycm9yIiwibWVzc2FnZSIsInZhbGlkIiwiaWQiLCJyZWRpcmVjdCIsImlvc1N1YnNjcmlwdGlvblVwZGF0ZSIsImRhdGFiYXNlIiwic3Vic2NyaXB0aW9uVXBkYXRlIiwiYWN0aW9uIiwicGxhbklkIiwiYXV0b19yZW5ld19hZGFtX2lkIiwiY2FuY2VsRGF0ZSIsImNhbmNlbGxhdGlvbl9kYXRlIiwic3RhdHVzIiwibm90aWZpY2F0aW9uX3R5cGUiLCJsYXRlc3RSZWNlaXB0IiwibGF0ZXN0X3JlY2VpcHQiLCJsYXRlc3RJbmZvIiwibGF0ZXN0X3JlY2VpcHRfaW5mbyIsImV4cGlyZWRSZWNlaXB0IiwibGF0ZXN0X2V4cGlyZWRfcmVjZWlwdCIsImV4cGlyZWRJbmZvIiwibGF0ZXN0X2V4cGlyZWRfcmVjZWlwdF9pbmZvIiwidHJhbnNhY3Rpb25JZCIsIm9yaWdpbmFsX3RyYW5zYWN0aW9uX2lkIiwiZm9ybWF0U3RhdHVzIiwidG9Mb3dlckNhc2UiLCJub3ciLCJEYXRlIiwicmVjZWlwdEluZm8iLCJ1cGRhdGUiLCJpc1ZhbGlkIiwiZXhwaXJlc19kYXRlX21zIiwibW9kaWZpZWQiLCJyZWNlaXB0IiwiaW5zZXJ0IiwiX2tleSIsImFkZGVkIiwidHlwZSIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwidGhlbiIsImRiRXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiZ2V0SW9zU3Vic2NyaXB0aW9uIiwiY29udGV4dCIsInNlc3Npb25JZCIsInVzZXJJZCIsImN1cnNvciIsIm5leHQiLCJzdWJzY3JpcHRpb24iLCJhZGRJb3NJbkFwcCIsInRyaWFsRW5kIiwic3Vic2NyaXB0aW9uSWQiLCJ1cGRhdGVkU3Vic2NyaXB0aW9uIiwiZ2V0SW9zSW5BcHAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7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K0Q7QUFHaEYsTUFBTVYsTUFBZ0IsT0FBR0MsYUFBSCxzQkFDR1EsU0FESCxDQUF0QjtBQUtBLFNBQU8sbUJBQU0xQyxRQUFOLEVBQWdCbUMsS0FBaEIsQ0FBc0JGLE1BQXRCLEVBQ0pHLElBREksQ0FDQyxVQUFDUSxNQUFEO0FBQUEsV0FBeUJBLE1BQU0sQ0FBQ0MsSUFBUCxFQUF6QjtBQUFBLEdBREQsRUFFSlQsSUFGSSxDQUVDO0FBQUEsUUFBQ1UsWUFBRCx1RUFBcUMsRUFBckM7QUFBQSxXQUE0Q0EsWUFBNUM7QUFBQSxHQUZELFdBR0UsVUFBQ3BELEtBQUQ7QUFBQSxXQUFrQixzQkFBUztBQUNoQ1EsTUFBQUEsTUFBTSxFQUFOQSxNQURnQztBQUVoQ29DLE1BQUFBLFFBQVEsRUFBRWhELGFBRnNCO0FBR2hDaUQsTUFBQUEsS0FBSyxFQUFFO0FBSHlCLEtBQVQsRUFJdEI3QyxLQUpzQixFQUlmK0MsT0FKZSxFQUlOTCxJQUpNLENBSUQ7QUFBQSxhQUFNLElBQU47QUFBQSxLQUpDLENBQWxCO0FBQUEsR0FIRixDQUFQO0FBUUQsQ0FoQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2N1cnNvcic7XG5cbmltcG9ydCB7XG4gIEFwaUNvbnRleHQsXG4gIFBheW1lbnRJT1NJbkFwcEVycm9yLFxuICBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mbyxcbiAgUGF5bWVudElPU1N1YnNjcmlwdGlvblVwZGF0ZSxcbiAgUGF5bWVudFN1YnNjcmlwdGlvblxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge2xvZ0Vycm9yLCB1c2VEYn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnaW9zJztcblxuZXhwb3J0IGNvbnN0IGdldElvc0luQXBwRXJyb3IgPSAoc3RhdHVzQ29kZTogc3RyaW5nKTogUGF5bWVudElPU0luQXBwRXJyb3IgPT4ge1xuICBjb25zdCBjb2RlcyA9IHtcbiAgICBbMF06IHtlcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICdBY3RpdmUnLCB2YWxpZDogdHJ1ZX0sXG4gICAgWzIxMDAwXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfcmVjZWlwdF91bnJlYWRhYmxlJywgbWVzc2FnZTogJ0FwcCBzdG9yZSBjb3VsZCBub3QgcmVhZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDAyXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfZGF0YV9tYWxmb3JtZWQnLCBtZXNzYWdlOiAnRGF0YSB3YXMgbWFsZm9ybWVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDNdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9yZWNlaXB0X3VuYXV0aG9yaXplZCcsIG1lc3NhZ2U6ICdSZWNlaXB0IG5vdCBhdXRoZW50aWNhdGVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDRdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlY3JldCcsIG1lc3NhZ2U6ICdTaGFyZWQgc2VjcmV0IGRvZXMgbm90IG1hdGNoJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDVdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9zZXJ2ZXJfdW5hdmFpbGFibGUnLCBtZXNzYWdlOiAnUmVjZWlwdCBzZXJ2ZXIgdW5hdmFpbGFibGUnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwNl06IHtcbiAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgIGlkOiAncGF5bWVudF9zdWJzY3JpcHRpb25fZXhwaXJlZCcsXG4gICAgICBtZXNzYWdlOiAnUmVjZWlwdCB2YWxpZCBidXQgc3ViIGV4cGlyZWQnLFxuICAgICAgdmFsaWQ6IHRydWVcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIHNwZWNpYWwgY2FzZSBmb3IgYXBwIHJldmlldyBoYW5kbGluZyAtIGZvcndhcmQgYW55IHJlcXVlc3QgdGhhdCBpcyBpbnRlbmRlZCBmb3IgdGhlIFNhbmRib3ggYnV0IHdhcyBzZW50IHRvXG4gICAgICogUHJvZHVjdGlvbiwgdGhpcyBpcyB3aGF0IHRoZSBhcHAgcmV2aWV3IHRlYW0gZG9lc1xuICAgICAqL1xuICAgIFsyMTAwN106IHtcbiAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgaWQ6ICdwYXltZW50X2ludmFsaWRfc2VydmVyJyxcbiAgICAgIG1lc3NhZ2U6ICdTYW5kYm94IHJlY2VpcHQgc2VudCB0byBQcm9kdWN0aW9uIGVudmlyb25tZW50JyxcbiAgICAgIHJlZGlyZWN0OiB0cnVlLFxuICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgfSxcbiAgICBbMjEwMDhdOiB7XG4gICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlcnZlcicsXG4gICAgICBtZXNzYWdlOiAnUHJvZHVjdGlvbiByZWNlaXB0IHNlbnQgdG8gU2FuZGJveCBlbnZpcm9ubWVudCcsXG4gICAgICB2YWxpZDogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGNvZGVzW3N0YXR1c0NvZGVdIHx8IHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlvc1N1YnNjcmlwdGlvblVwZGF0ZSA9IChcbiAgZGF0YWJhc2U6IHN0cmluZyxcbiAgc3Vic2NyaXB0aW9uVXBkYXRlOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uVXBkYXRlXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnaW9zU3Vic2NyaXB0aW9uVXBkYXRlJztcbiAgY29uc3Qge1xuICAgIGF1dG9fcmVuZXdfYWRhbV9pZDogcGxhbklkLFxuICAgIGNhbmNlbGxhdGlvbl9kYXRlOiBjYW5jZWxEYXRlLFxuICAgIG5vdGlmaWNhdGlvbl90eXBlOiBzdGF0dXMsXG4gICAgbGF0ZXN0X3JlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4gICAgbGF0ZXN0X3JlY2VpcHRfaW5mbzogbGF0ZXN0SW5mbyxcbiAgICBsYXRlc3RfZXhwaXJlZF9yZWNlaXB0OiBleHBpcmVkUmVjZWlwdCxcbiAgICBsYXRlc3RfZXhwaXJlZF9yZWNlaXB0X2luZm86IGV4cGlyZWRJbmZvLFxuICAgIG9yaWdpbmFsX3RyYW5zYWN0aW9uX2lkOiB0cmFuc2FjdGlvbklkXG4gIH0gPSBzdWJzY3JpcHRpb25VcGRhdGU7XG4gIGNvbnN0IGZvcm1hdFN0YXR1czogc3RyaW5nID0gKHN0YXR1cyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBjb25zdCByZWNlaXB0SW5mbzogUGF5bWVudElPU1N1YnNjcmlwdGlvbkluZm9bXSA9IGxhdGVzdEluZm8gfHwgZXhwaXJlZEluZm87XG4gIGNvbnN0IGlkOiBzdHJpbmcgPSBjcmVhdGVIYXNoKGBwYXltZW50LSR7dHJhbnNhY3Rpb25JZH1gKTtcblxuICBjb25zdCB1cGRhdGU6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4gICAgY2FuY2VsRGF0ZSxcbiAgICBpc1ZhbGlkOiByZWNlaXB0SW5mb1swXS5leHBpcmVzX2RhdGVfbXMgPiBub3csXG4gICAgbW9kaWZpZWQ6IG5vdyxcbiAgICBwbGFuSWQsXG4gICAgcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCB8fCBleHBpcmVkUmVjZWlwdCxcbiAgICBzdGF0dXM6IGZvcm1hdFN0YXR1c1xuICB9O1xuICBjb25zdCBpbnNlcnQ6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4gICAgLi4udXBkYXRlLFxuICAgIF9rZXk6IGlkLFxuICAgIGFkZGVkOiBub3csXG4gICAgdHlwZTogJ2lvc19wYXltZW50J1xuICB9O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dHJhbnNhY3Rpb25JZDogJHt0cmFuc2FjdGlvbklkfX1cbiAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICBVUERBVEUgJHt1cGRhdGV9IElOIHN1YnNjcmlwdGlvbnNcbiAgICAgTElNSVQgMWA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKCkgPT4gbnVsbClcbiAgICAuY2F0Y2goKGRiRXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZGJFcnJvciwge30pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuLy8gZXhwb3J0IGNvbnN0IGFkZElvc0luQXBwID0gKFxuLy8gICBjb250ZXh0OiBBcGlDb250ZXh0LFxuLy8gICBhcHAsXG4vLyAgIHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvblxuLy8gKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4vLyAgIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZElvc0luQXBwJztcbi8vICAgY29uc3Qge2lzUHJvZHVjdGlvbiwgcmVjZWlwdH0gPSBzdWJzY3JpcHRpb247XG4vLyAgIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcblxuLy8gICBjb25zdCBwcm9kdWN0aW9uSG9zdDogc3RyaW5nID0gJ2J1eS5pdHVuZXMuYXBwbGUuY29tJztcbi8vICAgY29uc3Qgc2FuZGJveEhvc3Q6IHN0cmluZyA9ICdzYW5kYm94Lml0dW5lcy5hcHBsZS5jb20nO1xuLy8gICBjb25zdCBlbmRwb2ludDogc3RyaW5nID0gaXNQcm9kdWN0aW9uID8gcHJvZHVjdGlvbkhvc3QgOiBzYW5kYm94SG9zdDtcbi8vICAgY29uc3QgdmVyaWZ5VXJsOiBzdHJpbmcgPSBgaHR0cHM6Ly8ke2VuZHBvaW50fS92ZXJpZnlSZWNlaXB0YDtcbi8vICAgY29uc3QgcGF5bG9hZDogb2JqZWN0ID0ge1xuLy8gICAgIHBhc3N3b3JkOiBhcHAuaWFwLFxuLy8gICAgICdyZWNlaXB0LWRhdGEnOiBkZWNvZGVVUklDb21wb25lbnQocmVjZWlwdClcbi8vICAgfTtcbi8vICAgY29uc3Qgb3B0aW9uczogb2JqZWN0ID0ge1xuLy8gICAgIGhlYWRlcnM6IHtcbi8vICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuLy8gICAgIH1cbi8vICAgfTtcblxuLy8gICByZXR1cm4gcG9zdCh2ZXJpZnlVcmwsIHBheWxvYWQsIG9wdGlvbnMpXG4vLyAgICAgLnRoZW4oKHJlc3VsdHMpID0+IHtcbi8vICAgICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHJlc3VsdHMpO1xuLy8gICAgICAgY29uc3Qge1xuLy8gICAgICAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbi8vICAgICAgICAgbGF0ZXN0X3JlY2VpcHRfaW5mbzogbGF0ZXN0SW5mbyxcbi8vICAgICAgICAgc3RhdHVzXG4vLyAgICAgICB9ID0ganNvbjtcblxuLy8gICAgICAgY29uc3Qge1xuLy8gICAgICAgICBpc190cmlhbF9wZXJpb2Q6IHRyaWFsUGVyaW9kLFxuLy8gICAgICAgICBvcmlnaW5hbF9wdXJjaGFzZV9kYXRlX21zOiBhZGRlZCxcbi8vICAgICAgICAgZXhwaXJlc19kYXRlOiBleHBpcmVzLFxuLy8gICAgICAgICBwcm9kdWN0X2lkOiBwbGFuSWQsXG4vLyAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiB0cmFuc2FjdGlvbklkXG4vLyAgICAgICB9ID0gbGF0ZXN0SW5mbztcblxuLy8gICAgICAgaWYoc3RhdHVzID09PSAwIHx8IHN0YXR1cyA9PT0gMjEwMDYpIHtcbi8vICAgICAgICAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuLy8gICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4vLyAgICAgICAgIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbi8vICAgICAgICAgICBleHBpcmVzLFxuLy8gICAgICAgICAgIGlzVHJpYWw6IHRyaWFsUGVyaW9kID09PSAndHJ1ZScsXG4vLyAgICAgICAgICAgaXNWYWxpZDogZXhwaXJlcyA+IG5vdyxcbi8vICAgICAgICAgICBtb2RpZmllZDogbm93LFxuLy8gICAgICAgICAgIHBsYW5JZCxcbi8vICAgICAgICAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0LFxuLy8gICAgICAgICAgIHRyYW5zYWN0aW9uSWQsXG4vLyAgICAgICAgICAgdXNlcklkOiBzZXNzaW9uSWRcbi8vICAgICAgICAgfTtcbi8vICAgICAgICAgY29uc3QgaW5zZXJ0OiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuLy8gICAgICAgICAgIC4uLnVwZGF0ZSxcbi8vICAgICAgICAgICBfa2V5OiBpZCxcbi8vICAgICAgICAgICBhZGRlZCxcbi8vICAgICAgICAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4vLyAgICAgICAgIH07XG5cbi8vICAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge3RyYW5zYWN0aW9uSWQ6ICR7dHJhbnNhY3Rpb25JZH19XG4vLyAgICAgICAgICAgICAgIElOU0VSVCAke2luc2VydH1cbi8vICAgICAgICAgICAgICAgVVBEQVRFICR7dXBkYXRlfSBJTiBzdWJzY3JpcHRpb25zXG4vLyAgICAgICAgICAgICAgIFJFVFVSTiBORVdgO1xuXG4vLyAgICAgICAgIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuLy8gICAgICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuLy8gICAgICAgICAgIC50aGVuKCh1cGRhdGVkU3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4vLyAgICAgICAgICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuLy8gICAgICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4vLyAgICAgICAgICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuLy8gICAgICAgICAgIH0sIGRiRXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAvLyBFcnJvcnNcbi8vICAgICAgIGNvbnN0IGVycm9yOiBQYXltZW50SU9TSW5BcHBFcnJvciA9IGdldElvc0luQXBwRXJyb3IocmVzdWx0cy5zdGF0dXMpO1xuXG4vLyAgICAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbi8vICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbi8vICAgICAgICAgbGFiZWw6ICdwYXltZW50X2Vycm9yJyxcbi8vICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbi8vICAgICAgICAgdmFsdWU6IGVycm9yLmlkXG4vLyAgICAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuLy8gICAgIH0pO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldElvc1N1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc1N1YnNjcmlwdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgcyBJTiBzdWJzY3JpcHRpb25zXG4gICAgICBGSUxURVIgcy51c2VySWQgPT0gJHtzZXNzaW9uSWR9ICYmIHMudHlwZSA9PSBcImlvc19wYXltZW50XCJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiBzYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRJb3NJbkFwcCA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24pOiBQcm9taXNlPFBheW1lbnRTdWJzY3JpcHRpb24+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnYWRkSW9zSW5BcHAnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3Qge2FkZGVkID0gbm93LCBwbGFuSWQsIHJlY2VpcHQsIHRyYW5zYWN0aW9uSWQsIHRyaWFsRW5kfSA9IHN1YnNjcmlwdGlvbjtcbiAgY29uc3Qgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHN1YnNjcmlwdGlvbi0ke3RyYW5zYWN0aW9uSWR9YCk7XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBfa2V5OiBzdWJzY3JpcHRpb25JZCxcbiAgICBhZGRlZCxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0LFxuICAgIHRyYW5zYWN0aW9uSWQsXG4gICAgdHJpYWxFbmQsXG4gICAgdHlwZTogJ2lvc19zdWJzY3JpcHRpb24nLFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBzdWJzY3JpcHRpb25zIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKCh1cGRhdGVkU3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SW9zSW5BcHAgPSAoY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRJb3NJbkFwcCc7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgcyBJTiBzdWJzY3JpcHRpb25cbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zXCJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiBzYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG4iXX0=
|
package/lib/data/locations.js
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.concat");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.filter");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.find");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.array.find-index");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.array.join");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/es.array.slice");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.date.now");
|
|
16
|
+
|
|
17
|
+
require("core-js/modules/es.date.to-string");
|
|
18
|
+
|
|
19
|
+
require("core-js/modules/es.object.define-properties");
|
|
20
|
+
|
|
21
|
+
require("core-js/modules/es.object.freeze");
|
|
22
|
+
|
|
3
23
|
Object.defineProperty(exports, "__esModule", {
|
|
4
24
|
value: true
|
|
5
25
|
});
|
|
@@ -115,14 +135,18 @@ var addLocation = function addLocation(context, location) {
|
|
|
115
135
|
|
|
116
136
|
|
|
117
137
|
if (itemDocId) {
|
|
118
|
-
var edgeCollection = (0, _utils2.useDb)(database).
|
|
138
|
+
var edgeCollection = (0, _utils2.useDb)(database).collection('hasLocation');
|
|
119
139
|
var locationId = updatedLocationKey;
|
|
120
140
|
var locationDocId = "locations/".concat(locationId);
|
|
121
141
|
var edgeId = (0, _utils.createHash)("hasLocation-".concat(locationId, "-").concat(sessionId));
|
|
122
142
|
var edge = {
|
|
123
|
-
|
|
143
|
+
_from: itemDocId,
|
|
144
|
+
_key: edgeId,
|
|
145
|
+
_to: locationDocId
|
|
124
146
|
};
|
|
125
|
-
return edgeCollection.save(edge,
|
|
147
|
+
return edgeCollection.save(edge, {
|
|
148
|
+
returnNew: true
|
|
149
|
+
}).then(function () {
|
|
126
150
|
return updatedLocation;
|
|
127
151
|
});
|
|
128
152
|
} // Otherwise just return the new location
|
|
@@ -145,4 +169,4 @@ var addLocation = function addLocation(context, location) {
|
|
|
145
169
|
};
|
|
146
170
|
|
|
147
171
|
exports.addLocation = addLocation;
|
|
148
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2xvY2F0aW9ucy50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiYWRkTG9jYXRpb24iLCJjb250ZXh0IiwibG9jYXRpb24iLCJhY3Rpb24iLCJkYXRhYmFzZSIsInNlc3Npb25JZCIsInVzZXJJZCIsImFkZHJlc3MiLCJpdGVtSWQiLCJpdGVtVHlwZSIsImdlb2NvZGVVcmwiLCJDb25maWciLCJnZXQiLCJwYXJhbXMiLCJrZXkiLCJ1cmwiLCJ0aGVuIiwianNvbiIsInJlc3VsdHMiLCJzdGF0dXMiLCJsZW5ndGgiLCJnZW9kYXRhIiwiYWRkcmVzc0NvbXBvbmVudHMiLCJnZXRGaWVsZFZhbCIsIm5hbWUiLCJmaW5kIiwiYWRkcmVzc0ZpZWxkIiwidHlwZXMiLCJmaW5kSW5kZXgiLCJmaWVsZFR5cGUiLCJzaG9ydF9uYW1lIiwic2hvcnROYW1lIiwic3RyZWV0TnVtYmVyIiwicm91dGUiLCJub3ciLCJEYXRlIiwiZm9ybWF0SXRlbVR5cGUiLCJ0b0xvd2VyQ2FzZSIsImZvcm1hdEl0ZW1JZCIsImdvb2dsZUlkIiwidXBkYXRlIiwiaW5zZXJ0IiwiX2tleSIsImFkZGVkIiwiY2l0eSIsImNvdW50cnkiLCJmb3JtYXR0ZWQiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInN0YXRlIiwic3RyZWV0IiwiZmlsdGVyIiwib2JqIiwiam9pbiIsInppcCIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwiY3Vyc29yIiwibmV4dCIsInVwZGF0ZWRMb2NhdGlvbiIsIml0ZW1Eb2NJZCIsInVwZGF0ZWRMb2NhdGlvbktleSIsImVkZ2VDb2xsZWN0aW9uIiwibG9jYXRpb25JZCIsImxvY2F0aW9uRG9jSWQiLCJlZGdlSWQiLCJlZGdlIiwic2F2ZSIsImVycm9yIiwiY2F0ZWdvcnkiLCJsYWJlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBOztBQUNBOztBQUNBOztBQUdBOztBQUVBOztBQUlBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFB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YUFBL0IsQ0FBdkI7QUFDQSxjQUFNQyxVQUFrQixHQUFHRixrQkFBM0I7QUFDQSxjQUFNRyxhQUFxQix1QkFBZ0JELFVBQWhCLENBQTNCO0FBQ0EsY0FBTUUsTUFBTSxHQUFHLDZDQUEwQkYsVUFBMUIsY0FBd0MzRCxTQUF4QyxFQUFmO0FBQ0EsY0FBTThELElBQVMsR0FBRztBQUFDekIsWUFBQUEsSUFBSSxFQUFFd0I7QUFBUCxXQUFsQjtBQUVBLGlCQUFPSCxjQUFjLENBQUNLLElBQWYsQ0FBb0JELElBQXBCLEVBQTBCTixTQUExQixFQUFxQ0ksYUFBckMsRUFBb0RqRCxJQUFwRCxDQUF5RDtBQUFBLG1CQUFNNEMsZUFBTjtBQUFBLFdBQXpELENBQVA7QUFDRCxTQXJCMkMsQ0F1QjVDOzs7QUFDQSxlQUFPQSxlQUFQO0FBQ0QsT0EzQkksV0E0QkUsVUFBQ1MsS0FBRDtBQUFBLGVBQWtCLHNCQUFTO0FBQ2hDbEUsVUFBQUEsTUFBTSxFQUFOQSxNQURnQztBQUVoQ21FLFVBQUFBLFFBQVEsRUFBRXZFLGFBRnNCO0FBR2hDd0UsVUFBQUEsS0FBSyxFQUFFO0FBSHlCLFNBQVQsRUFJdEJGLEtBSnNCLEVBSWZwRSxPQUplLEVBSU5lLElBSk0sQ0FJRDtBQUFBLGlCQUFNLElBQU47QUFBQSxTQUpDLENBQWxCO0FBQUEsT0E1QkYsQ0FBUDtBQWlDRDs7QUFFRCxXQUFPLEVBQVA7QUFDRCxHQWxGSSxDQUFQO0FBbUZELENBOUZNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Z2V0IGFzIGh0dHBHZXQsIHF1ZXJ5U3RyaW5nfSBmcm9tICdAbmxhYnMvcmlwLWh1bnRlcic7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlQ2hhciwgcGFyc2VJZH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7YXFsfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9saWIvY2pzL2FxbC1xdWVyeSc7XG5pbXBvcnQge0FycmF5Q3Vyc29yfSBmcm9tICdhcmFuZ29qcy9saWIvY2pzL2N1cnNvcic7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aCc7XG5pbXBvcnQge0dvb2dsZU1hcHNBZGRyZXNzVHlwZX0gZnJvbSAnLi4vdHlwZXMvZ29vZ2xlJztcbmltcG9ydCB7TG9jYXRpb25UeXBlfSBmcm9tICcuLi90eXBlcy9sb2NhdGlvbnMnO1xuaW1wb3J0IHtsb2dFcnJvciwgdXNlRGJ9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2xvY2F0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBhZGRMb2NhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBsb2NhdGlvbjogTG9jYXRpb25UeXBlKTogUHJvbWlzZTxMb2NhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnYWRkJztcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuICBjb25zdCB7YWRkcmVzcywgaXRlbUlkLCBpdGVtVHlwZX0gPSBsb2NhdGlvbjtcbiAgY29uc3QgZ2VvY29kZVVybDogc3RyaW5nID0gQ29uZmlnLmdldCgnZ29vZ2xlLmdlb2NvZGUudXJsJyk7XG4gIGNvbnN0IHBhcmFtczogb2JqZWN0ID0ge1xuICAgIGFkZHJlc3MsXG4gICAga2V5OiBDb25maWcuZ2V0KCdnb29nbGUuZ2VvY29kZS5rZXknKVxuICB9O1xuICBjb25zdCB1cmw6IHN0cmluZyA9IGAke2dlb2NvZGVVcmx9PyR7cXVlcnlTdHJpbmcocGFyYW1zKX1gO1xuXG4gIHJldHVybiBodHRwR2V0KHVybClcbiAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgY29uc3Qge3Jlc3VsdHMgPSBbXSwgc3RhdHVzID0gJyd9ID0ganNvbjtcblxuICAgICAgaWYoc3RhdHVzID09PSAnT0snICYmIHJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGdlb2RhdGE6IG9iamVjdCA9IHJlc3VsdHNbMF07XG4gICAgICAgIGNvbnN0IGFkZHJlc3NDb21wb25lbnRzOiBHb29nbGVNYXBzQWRkcmVzc1R5cGVbXSA9IGdldChnZW9kYXRhLCAnYWRkcmVzc19jb21wb25lbnRzJyk7XG4gICAgICAgIGNvbnN0IGdldEZpZWxkVmFsID0gKG5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgICAgICAgY29uc3Qge3Nob3J0X25hbWU6IHNob3J0TmFtZSA9ICcnfSA9IGFkZHJlc3NDb21wb25lbnRzLmZpbmQoKGFkZHJlc3NGaWVsZDogR29vZ2xlTWFwc0FkZHJlc3NUeXBlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IGFkZHJlc3NGaWVsZC50eXBlcyB8fCBbXTtcbiAgICAgICAgICAgIHJldHVybiB0eXBlcy5maW5kSW5kZXgoKGZpZWxkVHlwZTogc3RyaW5nKSA9PiBmaWVsZFR5cGUgPT09IG5hbWUpID49IDA7XG4gICAgICAgICAgfSkgfHwge307XG5cbiAgICAgICAgICByZXR1cm4gc2hvcnROYW1lO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFN0cmVldFxuICAgICAgICBjb25zdCBzdHJlZXROdW1iZXI6IHN0cmluZyA9IGdldEZpZWxkVmFsKCdzdHJlZXRfbnVtYmVyJyk7XG4gICAgICAgIGNvbnN0IHJvdXRlOiBzdHJpbmcgPSBnZXRGaWVsZFZhbCgncm91dGUnKTtcblxuICAgICAgICAvLyBMb2NhdGlvblxuICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG5cbiAgICAgICAgLy8gSXRlbVxuICAgICAgICBjb25zdCBmb3JtYXRJdGVtVHlwZTogc3RyaW5nID0gcGFyc2VDaGFyKGl0ZW1UeXBlKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBmb3JtYXRJdGVtSWQ6IHN0cmluZyA9IHBhcnNlSWQoaXRlbUlkKTtcbiAgICAgICAgY29uc3QgZ29vZ2xlSWQ6IHN0cmluZyA9IGdldChnZW9kYXRhLCAncGxhY2VfaWQnKTtcbiAgICAgICAgY29uc3QgdXBkYXRlOiBMb2NhdGlvblR5cGUgPSB7fTtcbiAgICAgICAgY29uc3QgaW5zZXJ0OiBMb2NhdGlvblR5cGUgPSB7XG4gICAgICAgICAgX2tleTogY3JlYXRlSGFzaChgcG9zdC0ke3Nlc3Npb25JZH1gKSxcbiAgICAgICAgICBhZGRlZDogbm93LFxuICAgICAgICAgIGNpdHk6IGdldEZpZWxkVmFsKCdsb2NhbGl0eScpLFxuICAgICAgICAgIGNvdW50cnk6IGdldEZpZWxkVmFsKCdjb3VudHJ5JyksXG4gICAgICAgICAgZm9ybWF0dGVkOiBnZXQoZ2VvZGF0YSwgJ2Zvcm1hdHRlZF9hZGRyZXNzJyksXG4gICAgICAgICAgZ29vZ2xlSWQsXG4gICAgICAgICAgbGF0aXR1ZGU6IGdldChnZW9kYXRhLCAnZ2VvbWV0cnkubG9jYXRpb24ubGF0JyksXG4gICAgICAgICAgbG9uZ2l0dWRlOiBnZXQoZ2VvZGF0YSwgJ2dlb21ldHJ5LmxvY2F0aW9uLmxuZycpLFxuICAgICAgICAgIHN0YXRlOiBnZXRGaWVsZFZhbCgnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8xJyksXG4gICAgICAgICAgc3RyZWV0OiBbc3RyZWV0TnVtYmVyLCByb3V0ZV0uZmlsdGVyKChvYmopID0+IG9iaikuam9pbignICcpLFxuICAgICAgICAgIHppcDogZ2V0RmllbGRWYWwoJ3Bvc3RhbF9jb2RlJylcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge2dvb2dsZUlkOiAke2dvb2dsZUlkfX1cbiAgICAgICAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgICAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgICAgICAgIElOIGxvY2F0aW9ucyBSRVRVUk4gTkVXYDtcblxuICAgICAgICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgICAgICAudGhlbigodXBkYXRlZExvY2F0aW9uOiBMb2NhdGlvblR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgICAgbGV0IGl0ZW1Eb2NJZDogc3RyaW5nO1xuICAgICAgICAgICAgY29uc3Qge19rZXk6IHVwZGF0ZWRMb2NhdGlvbktleX0gPSB1cGRhdGVkTG9jYXRpb247XG5cbiAgICAgICAgICAgIHN3aXRjaChmb3JtYXRJdGVtVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlICdwb3N0cyc6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gYHBvc3RzLyR7Zm9ybWF0SXRlbUlkfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgdmFsaWQgaXRlbSBkb2MgaWQsIGNyZWF0ZSBhbiBlZGdlXG4gICAgICAgICAgICBpZihpdGVtRG9jSWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZUNvbGxlY3Rpb24gPSB1c2VEYihkYXRhYmFzZSkuZWRnZUNvbGxlY3Rpb24oJ2hhc0xvY2F0aW9uJyk7XG4gICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uSWQ6IHN0cmluZyA9IHVwZGF0ZWRMb2NhdGlvbktleTtcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25Eb2NJZDogc3RyaW5nID0gYGxvY2F0aW9ucy8ke2xvY2F0aW9uSWR9YDtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZUlkID0gY3JlYXRlSGFzaChgaGFzTG9jYXRpb24tJHtsb2NhdGlvbklkfS0ke3Nlc3Npb25JZH1gKTtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZTogYW55ID0ge19rZXk6IGVkZ2VJZH07XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uLnNhdmUoZWRnZSwgaXRlbURvY0lkLCBsb2NhdGlvbkRvY0lkKS50aGVuKCgpID0+IHVwZGF0ZWRMb2NhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgbmV3IGxvY2F0aW9uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZExvY2F0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICAgICAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9KTtcbn07XG4iXX0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2xvY2F0aW9ucy50cyJdLCJuYW1lcyI6WyJldmVudENhdGVnb3J5IiwiYWRkTG9jYXRpb24iLCJjb250ZXh0IiwibG9jYXRpb24iLCJhY3Rpb24iLCJkYXRhYmFzZSIsInNlc3Npb25JZCIsInVzZXJJZCIsImFkZHJlc3MiLCJpdGVtSWQiLCJpdGVtVHlwZSIsImdlb2NvZGVVcmwiLCJDb25maWciLCJnZXQiLCJwYXJhbXMiLCJrZXkiLCJ1cmwiLCJ0aGVuIiwianNvbiIsInJlc3VsdHMiLCJzdGF0dXMiLCJsZW5ndGgiLCJnZW9kYXRhIiwiYWRkcmVzc0NvbXBvbmVudHMiLCJnZXRGaWVsZFZhbCIsIm5hbWUiLCJmaW5kIiwiYWRkcmVzc0ZpZWxkIiwidHlwZXMiLCJmaW5kSW5kZXgiLCJmaWVsZFR5cGUiLCJzaG9ydF9uYW1lIiwic2hvcnROYW1lIiwic3RyZWV0TnVtYmVyIiwicm91dGUiLCJub3ciLCJEYXRlIiwiZm9ybWF0SXRlbVR5cGUiLCJ0b0xvd2VyQ2FzZSIsImZvcm1hdEl0ZW1JZCIsImdvb2dsZUlkIiwidXBkYXRlIiwiaW5zZXJ0IiwiX2tleSIsImFkZGVkIiwiY2l0eSIsImNvdW50cnkiLCJmb3JtYXR0ZWQiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInN0YXRlIiwic3RyZWV0IiwiZmlsdGVyIiwib2JqIiwiam9pbiIsInppcCIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwiY3Vyc29yIiwibmV4dCIsInVwZGF0ZWRMb2NhdGlvbiIsIml0ZW1Eb2NJZCIsInVwZGF0ZWRMb2NhdGlvbktleSIsImVkZ2VDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsImxvY2F0aW9uSWQiLCJsb2NhdGlvbkRvY0lkIiwiZWRnZUlkIiwiZWRnZSIsIl9mcm9tIiwiX3RvIiwic2F2ZSIsInJldHVybk5ldyIsImVycm9yIiwiY2F0ZWdvcnkiLCJsYWJlbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUE7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RUFBYztBQUNaLGNBQU1FLGNBQThCLEdBQUcsbUJBQU0zRCxRQUFOLEVBQWdCNEQsVUFBaEIsQ0FBMkIsYUFBM0IsQ0FBdkM7QUFDQSxjQUFNQyxVQUFrQixHQUFHSCxrQkFBM0I7QUFDQSxjQUFNSSxhQUFxQix1QkFBZ0JELFVBQWhCLENBQTNCO0FBQ0EsY0FBTUUsTUFBTSxHQUFHLDZDQUEwQkYsVUFBMUIsY0FBd0M1RCxTQUF4QyxFQUFmO0FBQ0EsY0FBTStELElBQVMsR0FBRztBQUFDQyxZQUFBQSxLQUFLLEVBQUVSLFNBQVI7QUFBbUJuQixZQUFBQSxJQUFJLEVBQUV5QixNQUF6QjtBQUFpQ0csWUFBQUEsR0FBRyxFQUFFSjtBQUF0QyxXQUFsQjtBQUVBLGlCQUFPSCxjQUFjLENBQUNRLElBQWYsQ0FBb0JILElBQXBCLEVBQTBCO0FBQUNJLFlBQUFBLFNBQVMsRUFBRTtBQUFaLFdBQTFCLEVBQTZDeEQsSUFBN0MsQ0FBa0Q7QUFBQSxtQkFBTTRDLGVBQU47QUFBQSxXQUFsRCxDQUFQO0FBQ0QsU0FyQjJDLENBdUI1Qzs7O0FBQ0EsZUFBT0EsZUFBUDtBQUNELE9BM0JJLFdBNEJFLFVBQUNhLEtBQUQ7QUFBQSxlQUFrQixzQkFBUztBQUNoQ3RFLFVBQUFBLE1BQU0sRUFBTkEsTUFEZ0M7QUFFaEN1RSxVQUFBQSxRQUFRLEVBQUUzRSxhQUZzQjtBQUdoQzRFLFVBQUFBLEtBQUssRUFBRTtBQUh5QixTQUFULEVBSXRCRixLQUpzQixFQUlmeEUsT0FKZSxFQUlOZSxJQUpNLENBSUQ7QUFBQSxpQkFBTSxJQUFOO0FBQUEsU0FKQyxDQUFsQjtBQUFBLE9BNUJGLENBQVA7QUFpQ0Q7O0FBRUQsV0FBTyxFQUFQO0FBQ0QsR0FsRkksQ0FBUDtBQW1GRCxDQTlGTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2dldCBhcyBodHRwR2V0LCBxdWVyeVN0cmluZ30gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUNoYXIsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB7RWRnZUNvbGxlY3Rpb259IGZyb20gJ2FyYW5nb2pzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvY3Vyc29yJztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoJztcbmltcG9ydCB7R29vZ2xlTWFwc0FkZHJlc3NUeXBlfSBmcm9tICcuLi90eXBlcy9nb29nbGUnO1xuaW1wb3J0IHtMb2NhdGlvblR5cGV9IGZyb20gJy4uL3R5cGVzL2xvY2F0aW9ucyc7XG5pbXBvcnQge2xvZ0Vycm9yLCB1c2VEYn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnbG9jYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IGFkZExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGQnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHthZGRyZXNzLCBpdGVtSWQsIGl0ZW1UeXBlfSA9IGxvY2F0aW9uO1xuICBjb25zdCBnZW9jb2RlVXJsOiBzdHJpbmcgPSBDb25maWcuZ2V0KCdnb29nbGUuZ2VvY29kZS51cmwnKTtcbiAgY29uc3QgcGFyYW1zOiBvYmplY3QgPSB7XG4gICAgYWRkcmVzcyxcbiAgICBrZXk6IENvbmZpZy5nZXQoJ2dvb2dsZS5nZW9jb2RlLmtleScpXG4gIH07XG4gIGNvbnN0IHVybDogc3RyaW5nID0gYCR7Z2VvY29kZVVybH0/JHtxdWVyeVN0cmluZyhwYXJhbXMpfWA7XG5cbiAgcmV0dXJuIGh0dHBHZXQodXJsKVxuICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICBjb25zdCB7cmVzdWx0cyA9IFtdLCBzdGF0dXMgPSAnJ30gPSBqc29uO1xuXG4gICAgICBpZihzdGF0dXMgPT09ICdPSycgJiYgcmVzdWx0cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZ2VvZGF0YTogb2JqZWN0ID0gcmVzdWx0c1swXTtcbiAgICAgICAgY29uc3QgYWRkcmVzc0NvbXBvbmVudHM6IEdvb2dsZU1hcHNBZGRyZXNzVHlwZVtdID0gZ2V0KGdlb2RhdGEsICdhZGRyZXNzX2NvbXBvbmVudHMnKTtcbiAgICAgICAgY29uc3QgZ2V0RmllbGRWYWwgPSAobmFtZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgICAgICBjb25zdCB7c2hvcnRfbmFtZTogc2hvcnROYW1lID0gJyd9ID0gYWRkcmVzc0NvbXBvbmVudHMuZmluZCgoYWRkcmVzc0ZpZWxkOiBHb29nbGVNYXBzQWRkcmVzc1R5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVzID0gYWRkcmVzc0ZpZWxkLnR5cGVzIHx8IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVzLmZpbmRJbmRleCgoZmllbGRUeXBlOiBzdHJpbmcpID0+IGZpZWxkVHlwZSA9PT0gbmFtZSkgPj0gMDtcbiAgICAgICAgICB9KSB8fCB7fTtcblxuICAgICAgICAgIHJldHVybiBzaG9ydE5hbWU7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gU3RyZWV0XG4gICAgICAgIGNvbnN0IHN0cmVldE51bWJlcjogc3RyaW5nID0gZ2V0RmllbGRWYWwoJ3N0cmVldF9udW1iZXInKTtcbiAgICAgICAgY29uc3Qgcm91dGU6IHN0cmluZyA9IGdldEZpZWxkVmFsKCdyb3V0ZScpO1xuXG4gICAgICAgIC8vIExvY2F0aW9uXG4gICAgICAgIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcblxuICAgICAgICAvLyBJdGVtXG4gICAgICAgIGNvbnN0IGZvcm1hdEl0ZW1UeXBlOiBzdHJpbmcgPSBwYXJzZUNoYXIoaXRlbVR5cGUpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGZvcm1hdEl0ZW1JZDogc3RyaW5nID0gcGFyc2VJZChpdGVtSWQpO1xuICAgICAgICBjb25zdCBnb29nbGVJZDogc3RyaW5nID0gZ2V0KGdlb2RhdGEsICdwbGFjZV9pZCcpO1xuICAgICAgICBjb25zdCB1cGRhdGU6IExvY2F0aW9uVHlwZSA9IHt9O1xuICAgICAgICBjb25zdCBpbnNlcnQ6IExvY2F0aW9uVHlwZSA9IHtcbiAgICAgICAgICBfa2V5OiBjcmVhdGVIYXNoKGBwb3N0LSR7c2Vzc2lvbklkfWApLFxuICAgICAgICAgIGFkZGVkOiBub3csXG4gICAgICAgICAgY2l0eTogZ2V0RmllbGRWYWwoJ2xvY2FsaXR5JyksXG4gICAgICAgICAgY291bnRyeTogZ2V0RmllbGRWYWwoJ2NvdW50cnknKSxcbiAgICAgICAgICBmb3JtYXR0ZWQ6IGdldChnZW9kYXRhLCAnZm9ybWF0dGVkX2FkZHJlc3MnKSxcbiAgICAgICAgICBnb29nbGVJZCxcbiAgICAgICAgICBsYXRpdHVkZTogZ2V0KGdlb2RhdGEsICdnZW9tZXRyeS5sb2NhdGlvbi5sYXQnKSxcbiAgICAgICAgICBsb25naXR1ZGU6IGdldChnZW9kYXRhLCAnZ2VvbWV0cnkubG9jYXRpb24ubG5nJyksXG4gICAgICAgICAgc3RhdGU6IGdldEZpZWxkVmFsKCdhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzEnKSxcbiAgICAgICAgICBzdHJlZXQ6IFtzdHJlZXROdW1iZXIsIHJvdXRlXS5maWx0ZXIoKG9iaikgPT4gb2JqKS5qb2luKCcgJyksXG4gICAgICAgICAgemlwOiBnZXRGaWVsZFZhbCgncG9zdGFsX2NvZGUnKVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7Z29vZ2xlSWQ6ICR7Z29vZ2xlSWR9fVxuICAgICAgICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICAgICAgICAgVVBEQVRFICR7dXBkYXRlfVxuICAgICAgICAgICAgSU4gbG9jYXRpb25zIFJFVFVSTiBORVdgO1xuXG4gICAgICAgIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAgIC50aGVuKCh1cGRhdGVkTG9jYXRpb246IExvY2F0aW9uVHlwZSA9IHt9KSA9PiB7XG4gICAgICAgICAgICBsZXQgaXRlbURvY0lkOiBzdHJpbmc7XG4gICAgICAgICAgICBjb25zdCB7X2tleTogdXBkYXRlZExvY2F0aW9uS2V5fSA9IHVwZGF0ZWRMb2NhdGlvbjtcblxuICAgICAgICAgICAgc3dpdGNoKGZvcm1hdEl0ZW1UeXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3Bvc3RzJzpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSBgcG9zdHMvJHtmb3JtYXRJdGVtSWR9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSB2YWxpZCBpdGVtIGRvYyBpZCwgY3JlYXRlIGFuIGVkZ2VcbiAgICAgICAgICAgIGlmKGl0ZW1Eb2NJZCkge1xuICAgICAgICAgICAgICBjb25zdCBlZGdlQ29sbGVjdGlvbjogRWRnZUNvbGxlY3Rpb24gPSB1c2VEYihkYXRhYmFzZSkuY29sbGVjdGlvbignaGFzTG9jYXRpb24nKTtcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25JZDogc3RyaW5nID0gdXBkYXRlZExvY2F0aW9uS2V5O1xuICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbkRvY0lkOiBzdHJpbmcgPSBgbG9jYXRpb25zLyR7bG9jYXRpb25JZH1gO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGBoYXNMb2NhdGlvbi0ke2xvY2F0aW9uSWR9LSR7c2Vzc2lvbklkfWApO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlOiBhbnkgPSB7X2Zyb206IGl0ZW1Eb2NJZCwgX2tleTogZWRnZUlkLCBfdG86IGxvY2F0aW9uRG9jSWR9O1xuXG4gICAgICAgICAgICAgIHJldHVybiBlZGdlQ29sbGVjdGlvbi5zYXZlKGVkZ2UsIHtyZXR1cm5OZXc6IHRydWV9KS50aGVuKCgpID0+IHVwZGF0ZWRMb2NhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgbmV3IGxvY2F0aW9uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZExvY2F0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICAgICAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9KTtcbn07XG4iXX0=
|