@nlabs/reaktor 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/.eslintrc +10 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +1 -1
  4. package/coverage/actions/groups.ts.html +1039 -0
  5. package/coverage/actions/images.ts.html +2500 -0
  6. package/coverage/actions/index.html +131 -0
  7. package/coverage/actions/tags.ts.html +1000 -0
  8. package/coverage/adapters/arangoAdapter.ts.html +151 -0
  9. package/coverage/adapters/index.html +146 -0
  10. package/coverage/adapters/reaktorAdapter.ts.html +127 -0
  11. package/coverage/adapters/tagAdapter.ts.html +160 -0
  12. package/coverage/base.css +224 -0
  13. package/coverage/block-navigation.js +87 -0
  14. package/coverage/clover.xml +6 -0
  15. package/coverage/coverage-final.json +1 -0
  16. package/coverage/favicon.png +0 -0
  17. package/coverage/index.html +176 -0
  18. package/coverage/lcov-report/base.css +224 -0
  19. package/coverage/lcov-report/block-navigation.js +87 -0
  20. package/coverage/lcov-report/favicon.png +0 -0
  21. package/coverage/lcov-report/index.html +101 -0
  22. package/coverage/lcov-report/prettify.css +1 -0
  23. package/coverage/lcov-report/prettify.js +2 -0
  24. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  25. package/coverage/lcov-report/sorter.js +196 -0
  26. package/coverage/lcov.info +0 -0
  27. package/coverage/mocks/file.ts.html +118 -0
  28. package/coverage/mocks/group.ts.html +145 -0
  29. package/coverage/mocks/image.ts.html +136 -0
  30. package/coverage/mocks/index.html +146 -0
  31. package/coverage/mocks/post.ts.html +169 -0
  32. package/coverage/mocks/tag.ts.html +121 -0
  33. package/coverage/mocks/user.ts.html +268 -0
  34. package/coverage/prettify.css +1 -0
  35. package/coverage/prettify.js +2 -0
  36. package/coverage/sort-arrow-sprite.png +0 -0
  37. package/coverage/sorter.js +196 -0
  38. package/coverage/types/error.ts.html +145 -0
  39. package/coverage/types/index.html +116 -0
  40. package/coverage/utils/adapterUtils.ts.html +151 -0
  41. package/coverage/utils/analyticsUtils.ts.html +292 -0
  42. package/coverage/utils/arangodbUtils.ts.html +463 -0
  43. package/coverage/utils/index.html +146 -0
  44. package/jest.setup.js +0 -0
  45. package/jpg:- +0 -0
  46. package/lib/actions/apps.d.ts +25 -0
  47. package/lib/actions/apps.js +252 -0
  48. package/lib/actions/conversations.d.ts +12 -12
  49. package/lib/actions/conversations.js +131 -126
  50. package/lib/actions/dynamodb.d.ts +8 -8
  51. package/lib/actions/dynamodb.js +35 -32
  52. package/lib/actions/email.d.ts +2 -4
  53. package/lib/actions/email.js +23 -53
  54. package/lib/actions/files.d.ts +15 -12
  55. package/lib/actions/files.js +188 -202
  56. package/lib/actions/groups.d.ts +2 -2
  57. package/lib/actions/groups.js +38 -36
  58. package/lib/actions/images.d.ts +15 -11
  59. package/lib/actions/images.js +236 -229
  60. package/lib/actions/index.d.ts +1 -0
  61. package/lib/actions/index.js +3 -1
  62. package/lib/actions/ios.js +11 -10
  63. package/lib/actions/locations.d.ts +2 -0
  64. package/lib/actions/locations.js +29 -37
  65. package/lib/actions/messages.d.ts +2 -2
  66. package/lib/actions/messages.js +10 -10
  67. package/lib/actions/notifications.d.ts +2 -2
  68. package/lib/actions/notifications.js +1 -1
  69. package/lib/actions/payments.d.ts +2 -2
  70. package/lib/actions/payments.js +27 -26
  71. package/lib/actions/posts.d.ts +7 -9
  72. package/lib/actions/posts.js +176 -156
  73. package/lib/actions/reactions.d.ts +5 -5
  74. package/lib/actions/reactions.js +30 -28
  75. package/lib/actions/s3.d.ts +7 -7
  76. package/lib/actions/s3.js +37 -32
  77. package/lib/actions/search.d.ts +3 -3
  78. package/lib/actions/search.js +11 -9
  79. package/lib/actions/sms.d.ts +2 -2
  80. package/lib/actions/sms.js +58 -34
  81. package/lib/actions/statistics.d.ts +2 -1
  82. package/lib/actions/statistics.js +21 -18
  83. package/lib/actions/subscription.d.ts +2 -2
  84. package/lib/actions/subscription.js +24 -21
  85. package/lib/actions/tags.d.ts +21 -23
  86. package/lib/actions/tags.js +129 -198
  87. package/lib/actions/users.d.ts +23 -20
  88. package/lib/actions/users.js +188 -194
  89. package/lib/actions/websockets.d.ts +13 -0
  90. package/lib/actions/websockets.js +60 -34
  91. package/lib/adapters/arangoAdapter.d.ts +2 -0
  92. package/lib/adapters/arangoAdapter.js +46 -0
  93. package/lib/adapters/fileAdapter.d.ts +3 -0
  94. package/lib/adapters/fileAdapter.js +76 -0
  95. package/lib/adapters/postAdapter.d.ts +2 -0
  96. package/lib/adapters/postAdapter.js +70 -0
  97. package/lib/adapters/reaktorAdapter.d.ts +6 -0
  98. package/lib/adapters/reaktorAdapter.js +44 -0
  99. package/lib/adapters/tagAdapter.d.ts +2 -0
  100. package/lib/adapters/tagAdapter.js +50 -0
  101. package/lib/adapters/userAdapter.d.ts +2 -0
  102. package/lib/adapters/userAdapter.js +110 -0
  103. package/lib/config.js +14 -15
  104. package/lib/lambdas/actions/websockets.js +7 -7
  105. package/lib/lambdas/authorizer.js +1 -1
  106. package/lib/lambdas/connection.js +5 -4
  107. package/lib/lambdas/utils/websocket.js +7 -6
  108. package/lib/mocks/conversation.d.ts +8 -0
  109. package/lib/mocks/conversation.js +35 -0
  110. package/lib/mocks/file.d.ts +11 -0
  111. package/lib/mocks/file.js +38 -0
  112. package/lib/mocks/group.d.ts +17 -0
  113. package/lib/mocks/group.js +47 -0
  114. package/lib/mocks/image.d.ts +3 -0
  115. package/lib/mocks/image.js +43 -0
  116. package/lib/mocks/nlabs.png +0 -0
  117. package/lib/mocks/post.d.ts +38 -0
  118. package/lib/mocks/post.js +55 -0
  119. package/lib/mocks/tag.d.ts +2 -0
  120. package/lib/mocks/tag.js +37 -0
  121. package/lib/mocks/user.d.ts +4 -0
  122. package/lib/mocks/user.js +88 -0
  123. package/lib/types/apps.d.ts +19 -17
  124. package/lib/types/apps.js +17 -1
  125. package/lib/types/arangodb.d.ts +19 -6
  126. package/lib/types/arangodb.js +1 -1
  127. package/lib/types/auth.d.ts +4 -4
  128. package/lib/types/auth.js +1 -1
  129. package/lib/types/connections.d.ts +2 -3
  130. package/lib/types/connections.js +1 -1
  131. package/lib/types/conversations.d.ts +21 -8
  132. package/lib/types/conversations.js +1 -1
  133. package/lib/types/email.d.ts +4 -3
  134. package/lib/types/email.js +1 -1
  135. package/lib/types/error.d.ts +20 -0
  136. package/lib/types/error.js +44 -0
  137. package/lib/types/files.d.ts +10 -10
  138. package/lib/types/files.js +1 -1
  139. package/lib/types/google.d.ts +29 -27
  140. package/lib/types/google.js +1 -1
  141. package/lib/types/groups.d.ts +6 -7
  142. package/lib/types/groups.js +1 -1
  143. package/lib/types/images.d.ts +26 -17
  144. package/lib/types/images.js +1 -1
  145. package/lib/types/locations.d.ts +4 -4
  146. package/lib/types/locations.js +1 -1
  147. package/lib/types/messages.d.ts +3 -14
  148. package/lib/types/messages.js +1 -1
  149. package/lib/types/notifications.d.ts +9 -11
  150. package/lib/types/notifications.js +1 -1
  151. package/lib/types/payments.d.ts +13 -16
  152. package/lib/types/payments.js +1 -1
  153. package/lib/types/posts.d.ts +7 -23
  154. package/lib/types/posts.js +1 -1
  155. package/lib/types/statistics.d.ts +2 -2
  156. package/lib/types/statistics.js +1 -1
  157. package/lib/types/tags.d.ts +7 -12
  158. package/lib/types/tags.js +1 -1
  159. package/lib/types/users.d.ts +10 -14
  160. package/lib/types/users.js +1 -1
  161. package/lib/types/websocket.d.ts +2 -3
  162. package/lib/types/websocket.js +1 -1
  163. package/lib/utils/adapterUtils.d.ts +1 -0
  164. package/lib/utils/adapterUtils.js +45 -0
  165. package/lib/utils/analyticsUtils.d.ts +21 -0
  166. package/lib/utils/analyticsUtils.js +72 -0
  167. package/lib/utils/arangodbUtils.d.ts +65 -0
  168. package/lib/utils/arangodbUtils.js +144 -0
  169. package/lib/utils/auth.d.ts +18 -3
  170. package/lib/utils/auth.js +13 -30
  171. package/lib/utils/index.d.ts +3 -4
  172. package/lib/utils/index.js +7 -9
  173. package/lib/utils/session.d.ts +7 -9
  174. package/lib/utils/session.js +11 -2
  175. package/package.json +12 -5
  176. package/lib/utils/analytics.d.ts +0 -14
  177. package/lib/utils/analytics.js +0 -88
  178. package/lib/utils/arangodb.d.ts +0 -9
  179. package/lib/utils/arangodb.js +0 -118
  180. package/lib/utils/graphql.d.ts +0 -1
  181. package/lib/utils/graphql.js +0 -46
  182. package/lib/utils/objects.d.ts +0 -3
  183. package/lib/utils/objects.js +0 -59
@@ -4,3 +4,16 @@ export declare const getConnectionByUser: (userId: string) => Promise<any>;
4
4
  export declare const getConnectionById: (connectionId: string) => Promise<any>;
5
5
  export declare const getConnectionByConvo: (context: ApiContext, convoId: string) => Promise<any>;
6
6
  export declare const removeConnection: (connectionId: string) => Promise<any>;
7
+ export interface WebSocketClientContext {
8
+ readonly requestContext?: {
9
+ readonly apiId: string;
10
+ readonly domainName: string;
11
+ readonly stage: string;
12
+ };
13
+ }
14
+ export declare class WebsocketClient {
15
+ client: any;
16
+ constructor(config?: any);
17
+ setupClient({ requestContext }: WebSocketClientContext): Promise<void>;
18
+ send(connection: any, payload: any): Promise<boolean>;
19
+ }
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,17 +14,10 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
  var websockets_exports = {};
29
19
  __export(websockets_exports, {
20
+ WebsocketClient: () => WebsocketClient,
30
21
  addConnection: () => addConnection,
31
22
  getConnectionByConvo: () => getConnectionByConvo,
32
23
  getConnectionById: () => getConnectionById,
@@ -34,28 +25,21 @@ __export(websockets_exports, {
34
25
  removeConnection: () => removeConnection
35
26
  });
36
27
  module.exports = __toCommonJS(websockets_exports);
28
+ var import_client_apigatewaymanagementapi = require("@aws-sdk/client-apigatewaymanagementapi");
37
29
  var import_utils = require("@nlabs/utils");
38
30
  var import_arangojs = require("arangojs");
39
- var import_aws_sdk = __toESM(require("aws-sdk"));
40
- var import_utils2 = require("../utils");
41
- const cognito = new import_aws_sdk.default.CognitoIdentityServiceProvider({
42
- apiVersion: "2016-04-18",
43
- region: "us-east-1"
44
- });
31
+ var import_users = require("./users");
32
+ var import_arangodbUtils = require("../utils/arangodbUtils");
33
+ var import_config = require("../config");
45
34
  const addConnection = async (connectionId, token) => {
46
35
  const formatConnId = (0, import_utils.parseString)(connectionId, 32);
47
36
  const formatToken = (0, import_utils.parseString)(token);
48
37
  try {
49
- const { UserAttributes: cognitoAttributes } = await cognito.getUser({ AccessToken: formatToken }).promise();
50
- const userAttributes = cognitoAttributes.reduce((userObj, attributes) => {
51
- const { Name: key, Value: value } = attributes;
52
- if (key !== void 0) {
53
- const formatKey = key.replace("custom:", "");
54
- userObj[formatKey] = value;
55
- }
56
- return userObj;
57
- }, {});
58
- const db = (0, import_utils2.useDb)(process.env.ARANGODB_DATABASE);
38
+ const database = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
39
+ const user = await (0, import_users.getUserByToken)({ database, session: null }, formatToken);
40
+ if (!user) {
41
+ throw new Error("Unauthorized");
42
+ }
59
43
  const update = {
60
44
  connectionId: formatConnId,
61
45
  modified: Date.now()
@@ -63,22 +47,22 @@ const addConnection = async (connectionId, token) => {
63
47
  const insert = {
64
48
  ...update,
65
49
  _key: (0, import_utils.createHash)(`connection-${formatConnId}`),
66
- sub: userAttributes.sub
50
+ userId: user.userId
67
51
  };
68
- const aqlQry = import_arangojs.aql`UPSERT {sub: ${insert.sub}}
52
+ const aqlQry = import_arangojs.aql`UPSERT {userId: ${user.userId}}
69
53
  INSERT ${insert}
70
54
  UPDATE ${update}
71
55
  IN connections RETURN NEW`;
72
- return db.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
56
+ return database.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
73
57
  throw error;
74
58
  });
75
59
  } catch (error) {
76
- throw new Error("Unauthorized Context");
60
+ throw new Error("Unauthorized");
77
61
  }
78
62
  };
79
63
  const getConnectionByUser = (userId) => {
80
64
  const formatUserId = (0, import_utils.parseId)(userId);
81
- const db = (0, import_utils2.useDb)(process.env.ARANGODB_DATABASE);
65
+ const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
82
66
  const aqlQry = import_arangojs.aql`FOR c IN connections
83
67
  FILTER c.userId == ${formatUserId}
84
68
  LIMIT 1
@@ -89,7 +73,7 @@ const getConnectionByUser = (userId) => {
89
73
  };
90
74
  const getConnectionById = (connectionId) => {
91
75
  const formatConnId = (0, import_utils.parseString)(connectionId, 32);
92
- const db = (0, import_utils2.useDb)(process.env.ARANGODB_DATABASE);
76
+ const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
93
77
  const aqlQry = import_arangojs.aql`FOR c IN connections
94
78
  FILTER c.connectionId == ${formatConnId}
95
79
  LET user = FIRST(
@@ -125,7 +109,7 @@ const getConnectionByConvo = (context, convoId) => {
125
109
  };
126
110
  const removeConnection = (connectionId) => {
127
111
  const formatConnId = (0, import_utils.parseString)(connectionId, 32);
128
- const db = (0, import_utils2.useDb)(process.env.ARANGODB_DATABASE);
112
+ const db = (0, import_arangodbUtils.useDb)(process.env.ARANGODB_DATABASE);
129
113
  const aqlQry = import_arangojs.aql`FOR c IN connections
130
114
  FILTER c.connectionId == ${formatConnId}
131
115
  LIMIT 1
@@ -135,12 +119,54 @@ const removeConnection = (connectionId) => {
135
119
  throw error;
136
120
  });
137
121
  };
122
+ class WebsocketClient {
123
+ client;
124
+ constructor(config) {
125
+ if (config) {
126
+ this.setupClient(config || {});
127
+ }
128
+ }
129
+ // Allow just passing a single event to setup the client for ease of use
130
+ async setupClient({ requestContext }) {
131
+ if (!this.client && requestContext) {
132
+ const { apiId, domainName, stage } = requestContext;
133
+ let updatedDomainName = domainName;
134
+ if (apiId) {
135
+ updatedDomainName = `${apiId}.execute-api.${process.env.API_REGION}.amazonaws.com`;
136
+ }
137
+ this.client = new import_client_apigatewaymanagementapi.ApiGatewayManagementApi({
138
+ credentials: import_config.Config.get("aws.credentials"),
139
+ endpoint: `https://${updatedDomainName}/${stage}`,
140
+ region: import_config.Config.get("aws.region")
141
+ });
142
+ }
143
+ }
144
+ async send(connection, payload) {
145
+ console.log(connection, payload);
146
+ let connectionId;
147
+ if (connection?.requestContext) {
148
+ await this.setupClient(connection);
149
+ const { connectionId: connId } = connection.requestContext;
150
+ connectionId = connId;
151
+ } else {
152
+ connectionId = connection;
153
+ }
154
+ await this.client.postToConnection({ ConnectionId: connectionId, Data: JSON.stringify(payload) }).promise().catch(async (postError) => {
155
+ console.log(JSON.stringify(postError));
156
+ if (postError.statusCode === 410) {
157
+ await removeConnection(connectionId);
158
+ }
159
+ });
160
+ return true;
161
+ }
162
+ }
138
163
  // Annotate the CommonJS export names for ESM import in node:
139
164
  0 && (module.exports = {
165
+ WebsocketClient,
140
166
  addConnection,
141
167
  getConnectionByConvo,
142
168
  getConnectionById,
143
169
  getConnectionByUser,
144
170
  removeConnection
145
171
  });
146
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7YXFsLCBEYXRhYmFzZX0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2N1cnNvcic7XG5pbXBvcnQgQVdTIGZyb20gJ2F3cy1zZGsnO1xuXG5pbXBvcnQge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBjb2duaXRvID0gbmV3IEFXUy5Db2duaXRvSWRlbnRpdHlTZXJ2aWNlUHJvdmlkZXIoe1xuICBhcGlWZXJzaW9uOiAnMjAxNi0wNC0xOCcsXG4gIHJlZ2lvbjogJ3VzLWVhc3QtMSdcbn0pO1xuXG5leHBvcnQgY29uc3QgYWRkQ29ubmVjdGlvbiA9IGFzeW5jIChjb25uZWN0aW9uSWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2RlbGV0ZSc7XG4gIGNvbnN0IGZvcm1hdENvbm5JZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG4gIGNvbnN0IGZvcm1hdFRva2VuOiBzdHJpbmcgPSBwYXJzZVN0cmluZyh0b2tlbik7XG5cbiAgLy8gR2V0IHVzZXIgaWQgZnJvbSB0b2tlblxuICB0cnkge1xuICAgIGNvbnN0IHtVc2VyQXR0cmlidXRlczogY29nbml0b0F0dHJpYnV0ZXN9ID0gYXdhaXQgY29nbml0by5nZXRVc2VyKHtBY2Nlc3NUb2tlbjogZm9ybWF0VG9rZW59KS5wcm9taXNlKCk7XG5cbiAgICAvLyB1c2VybmFtZSA9IGNvZ25pdG9Vc2VybmFtZTtcbiAgICBjb25zdCB1c2VyQXR0cmlidXRlczogYW55ID0gY29nbml0b0F0dHJpYnV0ZXMucmVkdWNlKCh1c2VyT2JqLCBhdHRyaWJ1dGVzOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IHtOYW1lOiBrZXksIFZhbHVlOiB2YWx1ZX0gPSBhdHRyaWJ1dGVzO1xuXG4gICAgICBpZihrZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBmb3JtYXRLZXk6IHN0cmluZyA9IGtleS5yZXBsYWNlKCdjdXN0b206JywgJycpO1xuICAgICAgICB1c2VyT2JqW2Zvcm1hdEtleV0gPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVzZXJPYmo7XG4gICAgfSwge30pO1xuXG4gICAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIocHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIGNvbm5lY3Rpb25JZDogZm9ybWF0Q29ubklkLFxuICAgICAgbW9kaWZpZWQ6IERhdGUubm93KClcbiAgICB9O1xuICAgIGNvbnN0IGluc2VydCA9IHtcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICAgIF9rZXk6IGNyZWF0ZUhhc2goYGNvbm5lY3Rpb24tJHtmb3JtYXRDb25uSWR9YCksXG4gICAgICBzdWI6IHVzZXJBdHRyaWJ1dGVzLnN1YlxuICAgIH07XG4gICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge3N1YjogJHtpbnNlcnQuc3VifX1cbiAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgIElOIGNvbm5lY3Rpb25zIFJFVFVSTiBORVdgO1xuXG4gICAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQgQ29udGV4dCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5VXNlciA9ICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5SWQgPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBmb3JtYXRDb25uSWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLmNvbm5lY3Rpb25JZCA9PSAke2Zvcm1hdENvbm5JZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnN1YiA9PSBjLnN1YlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSBkYXRhYmFzZTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIuc3ViID09IG4uc3ViXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVDb25uZWN0aW9uID0gKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZGVsZXRlJztcbiAgY29uc3QgZm9ybWF0Q29ubklkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIocHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICAgIEZJTFRFUiBjLmNvbm5lY3Rpb25JZCA9PSAke2Zvcm1hdENvbm5JZH1cbiAgICAgIExJTUlUIDFcbiAgICAgIFJFTU9WRSBjIElOIGNvbm5lY3Rpb25zXG4gICAgICBSRVRVUk4gT0xEYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBK0M7QUFDL0Msc0JBQTRCO0FBRzVCLHFCQUFnQjtBQUdoQixJQUFBQSxnQkFBb0I7QUFFcEIsTUFBTSxVQUFVLElBQUksZUFBQUMsUUFBSSwrQkFBK0I7QUFBQSxFQUNyRCxZQUFZO0FBQUEsRUFDWixRQUFRO0FBQ1YsQ0FBQztBQUVNLE1BQU0sZ0JBQWdCLE9BQU8sY0FBc0IsVUFBZ0M7QUFFeEYsUUFBTSxtQkFBdUIsMEJBQVksY0FBYyxFQUFFO0FBQ3pELFFBQU0sa0JBQXNCLDBCQUFZLEtBQUs7QUFHN0MsTUFBSTtBQUNGLFVBQU0sRUFBQyxnQkFBZ0Isa0JBQWlCLElBQUksTUFBTSxRQUFRLFFBQVEsRUFBQyxhQUFhLFlBQVcsQ0FBQyxFQUFFLFFBQVE7QUFHdEcsVUFBTSxpQkFBc0Isa0JBQWtCLE9BQU8sQ0FBQyxTQUFTLGVBQW9CO0FBQ2pGLFlBQU0sRUFBQyxNQUFNLEtBQUssT0FBTyxNQUFLLElBQUk7QUFFbEMsVUFBRyxRQUFRLFFBQVc7QUFDcEIsY0FBTSxZQUFvQixJQUFJLFFBQVEsV0FBVyxFQUFFO0FBQ25ELGdCQUFRLFNBQVMsSUFBSTtBQUFBLE1BQ3ZCO0FBRUEsYUFBTztBQUFBLElBQ1QsR0FBRyxDQUFDLENBQUM7QUFFTCxVQUFNLFNBQWUscUJBQU0sUUFBUSxJQUFJLGlCQUFpQjtBQUN4RCxVQUFNLFNBQVM7QUFBQSxNQUNiLGNBQWM7QUFBQSxNQUNkLFVBQVUsS0FBSyxJQUFJO0FBQUEsSUFDckI7QUFDQSxVQUFNLFNBQVM7QUFBQSxNQUNiLEdBQUc7QUFBQSxNQUNILFVBQU0seUJBQVcsY0FBYyxZQUFZLEVBQUU7QUFBQSxNQUM3QyxLQUFLLGVBQWU7QUFBQSxJQUN0QjtBQUNBLFVBQU0sU0FBbUIsbUNBQW1CLE9BQU8sR0FBRztBQUFBLGVBQzNDLE1BQU07QUFBQSxlQUNOLE1BQU07QUFBQTtBQUdqQixXQUFPLEdBQUcsTUFBTSxNQUFNLEVBQ25CLEtBQUssQ0FBQyxXQUFXLE9BQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixZQUFNO0FBQUEsSUFDUixDQUFDO0FBQUEsRUFDTCxTQUFRLE9BQU87QUFDYixVQUFNLElBQUksTUFBTSxzQkFBc0I7QUFBQSxFQUN4QztBQUNGO0FBRU8sTUFBTSxzQkFBc0IsQ0FBQyxXQUFpQztBQUNuRSxRQUFNLG1CQUF1QixzQkFBUSxNQUFNO0FBQzNDLFFBQU0sU0FBZSxxQkFBTSxRQUFRLElBQUksaUJBQWlCO0FBQ3hELFFBQU0sU0FBUztBQUFBLHlCQUNRLFlBQVk7QUFBQTtBQUFBO0FBSW5DLFNBQU8sR0FBRyxNQUFNLE1BQU0sRUFDbkIsS0FBSyxDQUFDLFdBQVcsT0FBTyxLQUFLLENBQUMsRUFDOUIsTUFBTSxDQUFDLFVBQWlCO0FBQ3ZCLFVBQU07QUFBQSxFQUNSLENBQUM7QUFDTDtBQUVPLE1BQU0sb0JBQW9CLENBQUMsaUJBQXVDO0FBQ3ZFLFFBQU0sbUJBQXVCLDBCQUFZLGNBQWMsRUFBRTtBQUN6RCxRQUFNLFNBQWUscUJBQU0sUUFBUSxJQUFJLGlCQUFpQjtBQUN4RCxRQUFNLFNBQVM7QUFBQSwrQkFDYyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVV6QyxTQUFPLEdBQUcsTUFBTSxNQUFNLEVBQ25CLEtBQUssQ0FBQyxXQUFXLE9BQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixVQUFNO0FBQUEsRUFDUixDQUFDO0FBQ0w7QUFFTyxNQUFNLHVCQUF1QixDQUFDLFNBQXFCLFlBQWtDO0FBQzFGLFFBQU0sRUFBQyxVQUFVLFNBQVMsRUFBQyxRQUFRLFVBQVMsRUFBQyxJQUFJO0FBQ2pELFFBQU0sZUFBdUIsYUFBUyxzQkFBUSxTQUFTLENBQUM7QUFDeEQsUUFBTSxhQUFxQixxQkFBaUIsc0JBQVEsT0FBTyxDQUFDO0FBQzVELFFBQU0sS0FBZTtBQUNyQixRQUFNLFNBQVMsZ0RBQWdDLFlBQVk7QUFBQSxvQkFDekMsVUFBVTtBQUFBO0FBQUE7QUFBQSx5Q0FHVyxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9qRCxTQUFPLEdBQUcsTUFBTSxNQUFNLEVBQ25CLEtBQUssQ0FBQyxXQUFXLE9BQU8sSUFBSSxDQUFDLEVBQzdCLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixVQUFNO0FBQUEsRUFDUixDQUFDO0FBQ0w7QUFFTyxNQUFNLG1CQUFtQixDQUFDLGlCQUF1QztBQUV0RSxRQUFNLG1CQUF1QiwwQkFBWSxjQUFjLEVBQUU7QUFDekQsUUFBTSxTQUFlLHFCQUFNLFFBQVEsSUFBSSxpQkFBaUI7QUFDeEQsUUFBTSxTQUFTO0FBQUEsaUNBQ2dCLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFLM0MsU0FBTyxHQUFHLE1BQU0sTUFBTSxFQUNuQixLQUFLLENBQUMsV0FBd0IsT0FBTyxLQUFLLENBQUMsRUFDM0MsTUFBTSxDQUFDLFVBQWlCO0FBQ3ZCLFVBQU07QUFBQSxFQUNSLENBQUM7QUFDTDsiLAogICJuYW1lcyI6IFsiaW1wb3J0X3V0aWxzIiwgIkFXUyJdCn0K
172
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvY3Vyc29yJztcblxuaW1wb3J0IHtnZXRVc2VyQnlUb2tlbn0gZnJvbSAnLi91c2Vycyc7XG5pbXBvcnQge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscyc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IGFkZENvbm5lY3Rpb24gPSBhc3luYyAoY29ubmVjdGlvbklkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRDb25uZWN0aW9uJztcbiAgY29uc3QgZm9ybWF0Q29ubklkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2RhdGFiYXNlLCBzZXNzaW9uOiBudWxsfSwgZm9ybWF0VG9rZW4pO1xuXG4gICAgaWYoIXVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hdXRob3JpemVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgY29ubmVjdGlvbklkOiBmb3JtYXRDb25uSWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgY29ubmVjdGlvbi0ke2Zvcm1hdENvbm5JZH1gKSxcbiAgICAgIHVzZXJJZDogdXNlci51c2VySWRcbiAgICB9O1xuICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt1c2VySWQ6ICR7dXNlci51c2VySWR9fVxuICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICAgVVBEQVRFICR7dXBkYXRlfVxuICAgICAgSU4gY29ubmVjdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5VXNlciA9ICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5SWQgPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBmb3JtYXRDb25uSWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLmNvbm5lY3Rpb25JZCA9PSAke2Zvcm1hdENvbm5JZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnN1YiA9PSBjLnN1YlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSBkYXRhYmFzZTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIuc3ViID09IG4uc3ViXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVDb25uZWN0aW9uID0gKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAncmVtb3ZlQ29ubmVjdGlvbic7XG4gIGNvbnN0IGZvcm1hdENvbm5JZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRDb25uSWR9XG4gICAgICBMSU1JVCAxXG4gICAgICBSRU1PVkUgYyBJTiBjb25uZWN0aW9uc1xuICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlNvY2tldENsaWVudENvbnRleHQge1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dD86IHtcbiAgICByZWFkb25seSBhcGlJZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNsYXNzIFdlYnNvY2tldENsaWVudCB7XG4gIGNsaWVudDtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc/KSB7XG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnNldHVwQ2xpZW50KGNvbmZpZyB8fCB7fSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsb3cganVzdCBwYXNzaW5nIGEgc2luZ2xlIGV2ZW50IHRvIHNldHVwIHRoZSBjbGllbnQgZm9yIGVhc2Ugb2YgdXNlXG4gIGFzeW5jIHNldHVwQ2xpZW50KHtyZXF1ZXN0Q29udGV4dH06IFdlYlNvY2tldENsaWVudENvbnRleHQpIHtcbiAgICBpZighdGhpcy5jbGllbnQgJiYgcmVxdWVzdENvbnRleHQpIHtcbiAgICAgIGNvbnN0IHthcGlJZCwgZG9tYWluTmFtZSwgc3RhZ2V9ID0gcmVxdWVzdENvbnRleHQ7XG4gICAgICBsZXQgdXBkYXRlZERvbWFpbk5hbWU6IHN0cmluZyA9IGRvbWFpbk5hbWU7XG5cbiAgICAgIGlmKGFwaUlkKSB7XG4gICAgICAgIHVwZGF0ZWREb21haW5OYW1lID0gYCR7YXBpSWR9LmV4ZWN1dGUtYXBpLiR7cHJvY2Vzcy5lbnYuQVBJX1JFR0lPTn0uYW1hem9uYXdzLmNvbWA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IEFwaUdhdGV3YXlNYW5hZ2VtZW50QXBpKHtcbiAgICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgICBlbmRwb2ludDogYGh0dHBzOi8vJHt1cGRhdGVkRG9tYWluTmFtZX0vJHtzdGFnZX1gLFxuICAgICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2VuZChjb25uZWN0aW9uLCBwYXlsb2FkKSB7XG4gICAgY29uc29sZS5sb2coY29ubmVjdGlvbiwgcGF5bG9hZCk7XG5cbiAgICAvLyBDaGVhdCBhbmQgYWxsb3cgZXZlbnQgdG8gYmUgcGFzc2VkIGluIHRoaXMgYWxzbyBsZXRzIHVzIGRlZmF1bHQgdG8gc2V0dXBDbGllbnQgdG9vXG4gICAgbGV0IGNvbm5lY3Rpb25JZDtcblxuICAgIGlmKGNvbm5lY3Rpb24/LnJlcXVlc3RDb250ZXh0KSB7XG4gICAgICBhd2FpdCB0aGlzLnNldHVwQ2xpZW50KGNvbm5lY3Rpb24pO1xuICAgICAgY29uc3Qge2Nvbm5lY3Rpb25JZDogY29ubklkfSA9IGNvbm5lY3Rpb24ucmVxdWVzdENvbnRleHQ7XG4gICAgICBjb25uZWN0aW9uSWQgPSBjb25uSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbm5lY3Rpb25JZCA9IGNvbm5lY3Rpb247XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5jbGllbnQucG9zdFRvQ29ubmVjdGlvbih7Q29ubmVjdGlvbklkOiBjb25uZWN0aW9uSWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBvc3RFcnJvcikpO1xuXG4gICAgICAgIGlmKHBvc3RFcnJvci5zdGF0dXNDb2RlID09PSA0MTApIHtcbiAgICAgICAgICAvLyBEaXNjb25uZWN0IGNsaWVudFxuICAgICAgICAgIGF3YWl0IHJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLDRDQUFzQztBQUN0QyxtQkFBK0M7QUFDL0Msc0JBQTRCO0FBSTVCLG1CQUE2QjtBQUU3QiwyQkFBb0I7QUFDcEIsb0JBQXFCO0FBRWQsTUFBTSxnQkFBZ0IsT0FBTyxjQUFzQixVQUFnQztBQUV4RixRQUFNLG1CQUF1QiwwQkFBWSxjQUFjLEVBQUU7QUFDekQsUUFBTSxrQkFBc0IsMEJBQVksS0FBSztBQUU3QyxNQUFJO0FBQ0YsVUFBTSxlQUFxQiw0QkFBTSxRQUFRLElBQUksaUJBQWlCO0FBQzlELFVBQU0sT0FBTyxVQUFNLDZCQUFlLEVBQUMsVUFBVSxTQUFTLEtBQUksR0FBRyxXQUFXO0FBRXhFLFFBQUcsQ0FBQyxNQUFNO0FBQ1IsWUFBTSxJQUFJLE1BQU0sY0FBYztBQUFBLElBQ2hDO0FBRUEsVUFBTSxTQUFTO0FBQUEsTUFDYixjQUFjO0FBQUEsTUFDZCxVQUFVLEtBQUssSUFBSTtBQUFBLElBQ3JCO0FBQ0EsVUFBTSxTQUFTO0FBQUEsTUFDYixHQUFHO0FBQUEsTUFDSCxVQUFNLHlCQUFXLGNBQWMsWUFBWSxFQUFFO0FBQUEsTUFDN0MsUUFBUSxLQUFLO0FBQUEsSUFDZjtBQUNBLFVBQU0sU0FBbUIsc0NBQXNCLEtBQUssTUFBTTtBQUFBLGVBQy9DLE1BQU07QUFBQSxlQUNOLE1BQU07QUFBQTtBQUdqQixXQUFPLFNBQVMsTUFBTSxNQUFNLEVBQ3pCLEtBQUssQ0FBQyxXQUFXLE9BQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixZQUFNO0FBQUEsSUFDUixDQUFDO0FBQUEsRUFDTCxTQUFRLE9BQU87QUFDYixVQUFNLElBQUksTUFBTSxjQUFjO0FBQUEsRUFDaEM7QUFDRjtBQUVPLE1BQU0sc0JBQXNCLENBQUMsV0FBaUM7QUFDbkUsUUFBTSxtQkFBdUIsc0JBQVEsTUFBTTtBQUMzQyxRQUFNLFNBQWUsNEJBQU0sUUFBUSxJQUFJLGlCQUFpQjtBQUN4RCxRQUFNLFNBQVM7QUFBQSx5QkFDUSxZQUFZO0FBQUE7QUFBQTtBQUluQyxTQUFPLEdBQUcsTUFBTSxNQUFNLEVBQ25CLEtBQUssQ0FBQyxXQUFXLE9BQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixVQUFNO0FBQUEsRUFDUixDQUFDO0FBQ0w7QUFFTyxNQUFNLG9CQUFvQixDQUFDLGlCQUF1QztBQUN2RSxRQUFNLG1CQUF1QiwwQkFBWSxjQUFjLEVBQUU7QUFDekQsUUFBTSxTQUFlLDRCQUFNLFFBQVEsSUFBSSxpQkFBaUI7QUFDeEQsUUFBTSxTQUFTO0FBQUEsK0JBQ2MsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVekMsU0FBTyxHQUFHLE1BQU0sTUFBTSxFQUNuQixLQUFLLENBQUMsV0FBVyxPQUFPLEtBQUssQ0FBQyxFQUM5QixNQUFNLENBQUMsVUFBaUI7QUFDdkIsVUFBTTtBQUFBLEVBQ1IsQ0FBQztBQUNMO0FBRU8sTUFBTSx1QkFBdUIsQ0FBQyxTQUFxQixZQUFrQztBQUMxRixRQUFNLEVBQUMsVUFBVSxTQUFTLEVBQUMsUUFBUSxVQUFTLEVBQUMsSUFBSTtBQUNqRCxRQUFNLGVBQXVCLGFBQVMsc0JBQVEsU0FBUyxDQUFDO0FBQ3hELFFBQU0sYUFBcUIscUJBQWlCLHNCQUFRLE9BQU8sQ0FBQztBQUM1RCxRQUFNLEtBQWU7QUFDckIsUUFBTSxTQUFTLGdEQUFnQyxZQUFZO0FBQUEsb0JBQ3pDLFVBQVU7QUFBQTtBQUFBO0FBQUEseUNBR1csVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPakQsU0FBTyxHQUFHLE1BQU0sTUFBTSxFQUNuQixLQUFLLENBQUMsV0FBVyxPQUFPLElBQUksQ0FBQyxFQUM3QixNQUFNLENBQUMsVUFBaUI7QUFDdkIsVUFBTTtBQUFBLEVBQ1IsQ0FBQztBQUNMO0FBRU8sTUFBTSxtQkFBbUIsQ0FBQyxpQkFBdUM7QUFFdEUsUUFBTSxtQkFBdUIsMEJBQVksY0FBYyxFQUFFO0FBQ3pELFFBQU0sU0FBZSw0QkFBTSxRQUFRLElBQUksaUJBQWlCO0FBQ3hELFFBQU0sU0FBUztBQUFBLGlDQUNnQixZQUFZO0FBQUE7QUFBQTtBQUFBO0FBSzNDLFNBQU8sR0FBRyxNQUFNLE1BQU0sRUFDbkIsS0FBSyxDQUFDLFdBQXdCLE9BQU8sS0FBSyxDQUFDLEVBQzNDLE1BQU0sQ0FBQyxVQUFpQjtBQUN2QixVQUFNO0FBQUEsRUFDUixDQUFDO0FBQ0w7QUFTTyxNQUFNLGdCQUFnQjtBQUFBLEVBQzNCO0FBQUEsRUFFQSxZQUFZLFFBQVM7QUFDbkIsUUFBRyxRQUFRO0FBQ1QsV0FBSyxZQUFZLFVBQVUsQ0FBQyxDQUFDO0FBQUEsSUFDL0I7QUFBQSxFQUNGO0FBQUE7QUFBQSxFQUdBLE1BQU0sWUFBWSxFQUFDLGVBQWMsR0FBMkI7QUFDMUQsUUFBRyxDQUFDLEtBQUssVUFBVSxnQkFBZ0I7QUFDakMsWUFBTSxFQUFDLE9BQU8sWUFBWSxNQUFLLElBQUk7QUFDbkMsVUFBSSxvQkFBNEI7QUFFaEMsVUFBRyxPQUFPO0FBQ1IsNEJBQW9CLEdBQUcsS0FBSyxnQkFBZ0IsUUFBUSxJQUFJLFVBQVU7QUFBQSxNQUNwRTtBQUVBLFdBQUssU0FBUyxJQUFJLDhEQUF3QjtBQUFBLFFBQ3hDLGFBQWEscUJBQU8sSUFBSSxpQkFBaUI7QUFBQSxRQUN6QyxVQUFVLFdBQVcsaUJBQWlCLElBQUksS0FBSztBQUFBLFFBQy9DLFFBQVEscUJBQU8sSUFBSSxZQUFZO0FBQUEsTUFDakMsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQUEsRUFFQSxNQUFNLEtBQUssWUFBWSxTQUFTO0FBQzlCLFlBQVEsSUFBSSxZQUFZLE9BQU87QUFHL0IsUUFBSTtBQUVKLFFBQUcsWUFBWSxnQkFBZ0I7QUFDN0IsWUFBTSxLQUFLLFlBQVksVUFBVTtBQUNqQyxZQUFNLEVBQUMsY0FBYyxPQUFNLElBQUksV0FBVztBQUMxQyxxQkFBZTtBQUFBLElBQ2pCLE9BQU87QUFDTCxxQkFBZTtBQUFBLElBQ2pCO0FBRUEsVUFBTSxLQUFLLE9BQU8saUJBQWlCLEVBQUMsY0FBYyxjQUFjLE1BQU0sS0FBSyxVQUFVLE9BQU8sRUFBQyxDQUFDLEVBQzNGLFFBQVEsRUFDUixNQUFNLE9BQU8sY0FBYztBQUMxQixjQUFRLElBQUksS0FBSyxVQUFVLFNBQVMsQ0FBQztBQUVyQyxVQUFHLFVBQVUsZUFBZSxLQUFLO0FBRS9CLGNBQU0saUJBQWlCLFlBQVk7QUFBQSxNQUNyQztBQUFBLElBQ0YsQ0FBQztBQUVILFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,2 @@
1
+ import { DocumentType } from '../types/arangodb';
2
+ export declare const parseDocument: (doc: DocumentType) => DocumentType;
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var arangoAdapter_exports = {};
19
+ __export(arangoAdapter_exports, {
20
+ parseDocument: () => parseDocument
21
+ });
22
+ module.exports = __toCommonJS(arangoAdapter_exports);
23
+ var import_utils = require("@nlabs/utils");
24
+ var import_adapterUtils = require("../utils/adapterUtils");
25
+ const parseDocument = (doc) => {
26
+ const {
27
+ _id,
28
+ _key,
29
+ added,
30
+ id,
31
+ modified
32
+ } = doc;
33
+ return (0, import_adapterUtils.removeEmptyKeys)({
34
+ ...doc,
35
+ _id: _id && (0, import_utils.parseArangoId)(_id),
36
+ _key: _key && (0, import_utils.parseId)(_key),
37
+ added: added && (0, import_utils.parseNum)(added, 13),
38
+ id: (0, import_utils.parseArangoId)(_id || id),
39
+ modified: modified && (0, import_utils.parseNum)(modified, 13)
40
+ });
41
+ };
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ parseDocument
45
+ });
46
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7RG9jdW1lbnRUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlRG9jdW1lbnQgPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkZWQsXG4gICAgaWQsXG4gICAgbW9kaWZpZWRcbiAgfSA9IGRvYztcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5kb2MsXG4gICAgX2lkOiBfaWQgJiYgcGFyc2VBcmFuZ29JZChfaWQpLFxuICAgIF9rZXk6IF9rZXkgJiYgcGFyc2VJZChfa2V5KSxcbiAgICBhZGRlZDogYWRkZWQgJiYgcGFyc2VOdW0oYWRkZWQsIDEzKSxcbiAgICBpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpLFxuICAgIG1vZGlmaWVkOiBtb2RpZmllZCAmJiBwYXJzZU51bShtb2RpZmllZCwgMTMpXG4gIH0pO1xufTsiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBK0M7QUFHL0MsMEJBQThCO0FBRXZCLE1BQU0sZ0JBQWdCLENBQUMsUUFBb0M7QUFDaEUsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosYUFBTyxxQ0FBZ0I7QUFBQSxJQUNyQixHQUFHO0FBQUEsSUFDSCxLQUFLLFdBQU8sNEJBQWMsR0FBRztBQUFBLElBQzdCLE1BQU0sWUFBUSxzQkFBUSxJQUFJO0FBQUEsSUFDMUIsT0FBTyxhQUFTLHVCQUFTLE9BQU8sRUFBRTtBQUFBLElBQ2xDLFFBQUksNEJBQWMsT0FBTyxFQUFFO0FBQUEsSUFDM0IsVUFBVSxnQkFBWSx1QkFBUyxVQUFVLEVBQUU7QUFBQSxFQUM3QyxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,3 @@
1
+ import { FileType } from '../types';
2
+ export declare const getFileType: (file: FileType) => string;
3
+ export declare const parseFile: (file: FileType) => FileType;
@@ -0,0 +1,76 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var fileAdapter_exports = {};
19
+ __export(fileAdapter_exports, {
20
+ getFileType: () => getFileType,
21
+ parseFile: () => parseFile
22
+ });
23
+ module.exports = __toCommonJS(fileAdapter_exports);
24
+ var import_utils = require("@nlabs/utils");
25
+ var import_arangoAdapter = require("./arangoAdapter");
26
+ var import_reaktorAdapter = require("./reaktorAdapter");
27
+ const getFileType = (file) => {
28
+ const { fileType, name } = file;
29
+ if (fileType) {
30
+ return (0, import_utils.parseString)(fileType, 16);
31
+ }
32
+ const nameArr = name?.split(".") || [];
33
+ const ext = nameArr.length && nameArr[nameArr.length - 1];
34
+ switch (ext) {
35
+ case "jpeg":
36
+ case "jpg":
37
+ return "image/jpeg";
38
+ case "png":
39
+ return "image/png";
40
+ case "zip":
41
+ return "application/zip";
42
+ default:
43
+ return void 0;
44
+ }
45
+ };
46
+ const parseFile = (file) => {
47
+ const {
48
+ _key,
49
+ description,
50
+ fileId,
51
+ fileSize,
52
+ itemId,
53
+ itemType,
54
+ name,
55
+ url,
56
+ userId
57
+ } = file;
58
+ return {
59
+ ...(0, import_arangoAdapter.parseDocument)(file),
60
+ description: (0, import_reaktorAdapter.parseReaktorContent)(description),
61
+ fileId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || fileId),
62
+ fileSize: fileSize ? (0, import_utils.parseNum)(fileSize) : void 0,
63
+ fileType: getFileType(file),
64
+ itemId: (0, import_reaktorAdapter.parseReaktorItemId)(itemId),
65
+ itemType: (0, import_reaktorAdapter.parseReaktorType)(itemType),
66
+ name: (0, import_reaktorAdapter.parseReaktorName)(name),
67
+ url: (0, import_reaktorAdapter.parseReaktorUrl)(url),
68
+ userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
69
+ };
70
+ };
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ getFileType,
74
+ parseFile
75
+ });
76
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtcbiAgcGFyc2VSZWFrdG9yQ29udGVudCxcbiAgcGFyc2VSZWFrdG9ySXRlbUlkLFxuICBwYXJzZVJlYWt0b3JOYW1lLFxuICBwYXJzZVJlYWt0b3JUeXBlLFxuICBwYXJzZVJlYWt0b3JVcmxcbn0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dDogc3RyaW5nID0gbmFtZUFyci5sZW5ndGggJiYgbmFtZUFycltuYW1lQXJyLmxlbmd0aCAtIDFdO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUZpbGUgPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfa2V5LFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGVJZCxcbiAgICBmaWxlU2l6ZSxcbiAgICBpdGVtSWQsXG4gICAgaXRlbVR5cGUsXG4gICAgbmFtZSxcbiAgICB1cmwsXG4gICAgdXNlcklkXG4gIH0gPSBmaWxlO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICBkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbiksXG4gICAgZmlsZUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoX2tleSB8fCBmaWxlSWQpLFxuICAgIGZpbGVTaXplOiBmaWxlU2l6ZSA/IHBhcnNlTnVtKGZpbGVTaXplKSA6IHVuZGVmaW5lZCxcbiAgICBmaWxlVHlwZTogZ2V0RmlsZVR5cGUoZmlsZSksXG4gICAgaXRlbUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaXRlbUlkKSxcbiAgICBpdGVtVHlwZTogcGFyc2VSZWFrdG9yVHlwZShpdGVtVHlwZSksXG4gICAgbmFtZTogcGFyc2VSZWFrdG9yTmFtZShuYW1lKSxcbiAgICB1cmw6IHBhcnNlUmVha3RvclVybCh1cmwpLFxuICAgIHVzZXJJZDogcGFyc2VSZWFrdG9ySXRlbUlkKHVzZXJJZClcbiAgfTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBb0M7QUFHcEMsMkJBQTRCO0FBQzVCLDRCQU1PO0FBRUEsTUFBTSxjQUFjLENBQUMsU0FBMkI7QUFDckQsUUFBTSxFQUFDLFVBQVUsS0FBSSxJQUFJO0FBRXpCLE1BQUcsVUFBVTtBQUNYLGVBQU8sMEJBQVksVUFBVSxFQUFFO0FBQUEsRUFDakM7QUFFQSxRQUFNLFVBQW9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQztBQUMvQyxRQUFNLE1BQWMsUUFBUSxVQUFVLFFBQVEsUUFBUSxTQUFTLENBQUM7QUFFaEUsVUFBTyxLQUFLO0FBQUEsSUFDVixLQUFLO0FBQUEsSUFDTCxLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1QsS0FBSztBQUNILGFBQU87QUFBQSxJQUNULEtBQUs7QUFDSCxhQUFPO0FBQUEsSUFDVDtBQUNFLGFBQU87QUFBQSxFQUNYO0FBQ0Y7QUFFTyxNQUFNLFlBQVksQ0FBQyxTQUE2QjtBQUNyRCxRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosU0FBTztBQUFBLElBQ0wsT0FBRyxvQ0FBYyxJQUFJO0FBQUEsSUFDckIsaUJBQWEsMkNBQW9CLFdBQVc7QUFBQSxJQUM1QyxZQUFRLDBDQUFtQixRQUFRLE1BQU07QUFBQSxJQUN6QyxVQUFVLGVBQVcsdUJBQVMsUUFBUSxJQUFJO0FBQUEsSUFDMUMsVUFBVSxZQUFZLElBQUk7QUFBQSxJQUMxQixZQUFRLDBDQUFtQixNQUFNO0FBQUEsSUFDakMsY0FBVSx3Q0FBaUIsUUFBUTtBQUFBLElBQ25DLFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixTQUFLLHVDQUFnQixHQUFHO0FBQUEsSUFDeEIsWUFBUSwwQ0FBbUIsTUFBTTtBQUFBLEVBQ25DO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,2 @@
1
+ import { PostType } from '../types';
2
+ export declare const parsePost: (post: PostType) => PostType;
@@ -0,0 +1,70 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var postAdapter_exports = {};
19
+ __export(postAdapter_exports, {
20
+ parsePost: () => parsePost
21
+ });
22
+ module.exports = __toCommonJS(postAdapter_exports);
23
+ var import_utils = require("@nlabs/utils");
24
+ var import_fileAdapter = require("./fileAdapter");
25
+ var import_tagAdapter = require("./tagAdapter");
26
+ var import_adapterUtils = require("../utils/adapterUtils");
27
+ var import_arangoAdapter = require("./arangoAdapter");
28
+ var import_reaktorAdapter = require("./reaktorAdapter");
29
+ const MAX_CONTENT_LENGTH = 1e5;
30
+ const parsePost = (post) => {
31
+ const {
32
+ _key,
33
+ content,
34
+ endDate,
35
+ files,
36
+ groupId,
37
+ latitude,
38
+ location,
39
+ longitude,
40
+ name,
41
+ parentId,
42
+ postId,
43
+ privacy,
44
+ tags,
45
+ type,
46
+ userId
47
+ } = post;
48
+ return (0, import_adapterUtils.removeEmptyKeys)({
49
+ ...(0, import_arangoAdapter.parseDocument)(post),
50
+ content: (0, import_reaktorAdapter.parseReaktorContent)(content, MAX_CONTENT_LENGTH),
51
+ endDate: (0, import_reaktorAdapter.parseReaktorDate)(endDate),
52
+ files: files?.length ? files?.map((file) => (0, import_fileAdapter.parseFile)(file)) : void 0,
53
+ groupId: (0, import_reaktorAdapter.parseReaktorItemId)(groupId),
54
+ postId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || postId),
55
+ latitude: latitude ? (0, import_utils.parseNum)(latitude, 15) : void 0,
56
+ location: location ? (0, import_utils.parseString)(location, 160) : void 0,
57
+ longitude: longitude ? (0, import_utils.parseNum)(longitude, 15) : void 0,
58
+ name: (0, import_reaktorAdapter.parseReaktorName)(name),
59
+ parentId: (0, import_reaktorAdapter.parseReaktorItemId)(parentId),
60
+ privacy: privacy ? (0, import_utils.parseVarChar)(privacy, 16) : void 0,
61
+ tags: tags?.length ? tags?.map((tag) => (0, import_tagAdapter.parseTag)(tag)) : void 0,
62
+ type: (0, import_reaktorAdapter.parseReaktorType)(type),
63
+ userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
64
+ });
65
+ };
66
+ // Annotate the CommonJS export names for ESM import in node:
67
+ 0 && (module.exports = {
68
+ parsePost
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge1Bvc3RUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi9maWxlQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuL3RhZ0FkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JJdGVtSWQsXG4gIHBhcnNlUmVha3Rvck5hbWUsXG4gIHBhcnNlUmVha3RvclR5cGVcbn0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmNvbnN0IE1BWF9DT05URU5UX0xFTkdUSDogbnVtYmVyID0gMTAwMDAwO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGVuZERhdGUsXG4gICAgZmlsZXMsXG4gICAgZ3JvdXBJZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbmFtZSxcbiAgICBwYXJlbnRJZCxcbiAgICBwb3N0SWQsXG4gICAgcHJpdmFjeSxcbiAgICB0YWdzLFxuICAgIHR5cGUsXG4gICAgdXNlcklkXG4gIH0gPSBwb3N0O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocG9zdCksXG4gICAgY29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpLFxuICAgIGVuZERhdGU6IHBhcnNlUmVha3RvckRhdGUoZW5kRGF0ZSksXG4gICAgZmlsZXM6IGZpbGVzPy5sZW5ndGggPyBmaWxlcz8ubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpIDogdW5kZWZpbmVkLFxuICAgIGdyb3VwSWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChncm91cElkKSxcbiAgICBwb3N0SWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChfa2V5IHx8IHBvc3RJZCksXG4gICAgbGF0aXR1ZGU6IGxhdGl0dWRlID8gcGFyc2VOdW0obGF0aXR1ZGUsIDE1KSA6IHVuZGVmaW5lZCxcbiAgICBsb2NhdGlvbjogbG9jYXRpb24gPyBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBsb25naXR1ZGU6IGxvbmdpdHVkZSA/IHBhcnNlTnVtKGxvbmdpdHVkZSwgMTUpIDogdW5kZWZpbmVkLFxuICAgIG5hbWU6IHBhcnNlUmVha3Rvck5hbWUobmFtZSksXG4gICAgcGFyZW50SWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChwYXJlbnRJZCksXG4gICAgcHJpdmFjeTogcHJpdmFjeSA/IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNikgOiB1bmRlZmluZWQsXG4gICAgdGFnczogdGFncz8ubGVuZ3RoID8gdGFncz8ubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpIDogdW5kZWZpbmVkLFxuICAgIHR5cGU6IHBhcnNlUmVha3RvclR5cGUodHlwZSksXG4gICAgdXNlcklkOiBwYXJzZVJlYWt0b3JJdGVtSWQodXNlcklkKVxuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQWtEO0FBR2xELHlCQUF3QjtBQUN4Qix3QkFBdUI7QUFDdkIsMEJBQThCO0FBQzlCLDJCQUE0QjtBQUM1Qiw0QkFNTztBQUVQLE1BQU0scUJBQTZCO0FBRTVCLE1BQU0sWUFBWSxDQUFDLFNBQTZCO0FBQ3JELFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsSUFBSTtBQUFBLElBQ3JCLGFBQVMsMkNBQW9CLFNBQVMsa0JBQWtCO0FBQUEsSUFDeEQsYUFBUyx3Q0FBaUIsT0FBTztBQUFBLElBQ2pDLE9BQU8sT0FBTyxTQUFTLE9BQU8sSUFBSSxDQUFDLGFBQVMsOEJBQVUsSUFBSSxDQUFDLElBQUk7QUFBQSxJQUMvRCxhQUFTLDBDQUFtQixPQUFPO0FBQUEsSUFDbkMsWUFBUSwwQ0FBbUIsUUFBUSxNQUFNO0FBQUEsSUFDekMsVUFBVSxlQUFXLHVCQUFTLFVBQVUsRUFBRSxJQUFJO0FBQUEsSUFDOUMsVUFBVSxlQUFXLDBCQUFZLFVBQVUsR0FBRyxJQUFJO0FBQUEsSUFDbEQsV0FBVyxnQkFBWSx1QkFBUyxXQUFXLEVBQUUsSUFBSTtBQUFBLElBQ2pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixjQUFVLDBDQUFtQixRQUFRO0FBQUEsSUFDckMsU0FBUyxjQUFVLDJCQUFhLFNBQVMsRUFBRSxJQUFJO0FBQUEsSUFDL0MsTUFBTSxNQUFNLFNBQVMsTUFBTSxJQUFJLENBQUMsWUFBUSw0QkFBUyxHQUFHLENBQUMsSUFBSTtBQUFBLElBQ3pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixZQUFRLDBDQUFtQixNQUFNO0FBQUEsRUFDbkMsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,6 @@
1
+ export declare const parseReaktorContent: (content?: string, length?: number) => string;
2
+ export declare const parseReaktorDate: (date?: number) => number;
3
+ export declare const parseReaktorItemId: (itemId?: string) => string;
4
+ export declare const parseReaktorName: (name?: string) => string;
5
+ export declare const parseReaktorType: (type?: string) => string;
6
+ export declare const parseReaktorUrl: (url?: string) => string;
@@ -0,0 +1,44 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var reaktorAdapter_exports = {};
19
+ __export(reaktorAdapter_exports, {
20
+ parseReaktorContent: () => parseReaktorContent,
21
+ parseReaktorDate: () => parseReaktorDate,
22
+ parseReaktorItemId: () => parseReaktorItemId,
23
+ parseReaktorName: () => parseReaktorName,
24
+ parseReaktorType: () => parseReaktorType,
25
+ parseReaktorUrl: () => parseReaktorUrl
26
+ });
27
+ module.exports = __toCommonJS(reaktorAdapter_exports);
28
+ var import_utils = require("@nlabs/utils");
29
+ const parseReaktorContent = (content, length = 500) => content ? (0, import_utils.parseString)(content, length) : void 0;
30
+ const parseReaktorDate = (date) => date ? (0, import_utils.parseNum)(date, 13) : void 0;
31
+ const parseReaktorItemId = (itemId) => itemId ? (0, import_utils.parseId)(itemId) : void 0;
32
+ const parseReaktorName = (name) => name ? (0, import_utils.parseString)(name, 160) : void 0;
33
+ const parseReaktorType = (type) => type ? (0, import_utils.parseVarChar)(type, 160) : void 0;
34
+ const parseReaktorUrl = (url) => url ? (0, import_utils.parseUrl)(url) : void 0;
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ parseReaktorContent,
38
+ parseReaktorDate,
39
+ parseReaktorItemId,
40
+ parseReaktorName,
41
+ parseReaktorType,
42
+ parseReaktorUrl
43
+ });
44
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmwsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApID0+XG4gIChjb250ZW50ID8gcGFyc2VTdHJpbmcoY29udGVudCwgbGVuZ3RoKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpID0+IChkYXRlID8gcGFyc2VOdW0oZGF0ZSwgMTMpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpID0+IChpdGVtSWQgPyBwYXJzZUlkKGl0ZW1JZCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PiAobmFtZSA/IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKSA9PiAodHlwZSA/IHBhcnNlVmFyQ2hhcih0eXBlLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpID0+ICh1cmwgPyBwYXJzZVVybCh1cmwpIDogdW5kZWZpbmVkKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBcUU7QUFFOUQsTUFBTSxzQkFBc0IsQ0FBQyxTQUFrQixTQUFpQixRQUNwRSxjQUFVLDBCQUFZLFNBQVMsTUFBTSxJQUFJO0FBRXJDLE1BQU0sbUJBQW1CLENBQUMsU0FBbUIsV0FBTyx1QkFBUyxNQUFNLEVBQUUsSUFBSTtBQUV6RSxNQUFNLHFCQUFxQixDQUFDLFdBQXFCLGFBQVMsc0JBQVEsTUFBTSxJQUFJO0FBRTVFLE1BQU0sbUJBQW1CLENBQUMsU0FBbUIsV0FBTywwQkFBWSxNQUFNLEdBQUcsSUFBSTtBQUU3RSxNQUFNLG1CQUFtQixDQUFDLFNBQW1CLFdBQU8sMkJBQWEsTUFBTSxHQUFHLElBQUk7QUFFOUUsTUFBTSxrQkFBa0IsQ0FBQyxRQUFrQixVQUFNLHVCQUFTLEdBQUcsSUFBSTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,2 @@
1
+ import { TagType } from '../types';
2
+ export declare const parseTag: (tag: TagType) => TagType;
@@ -0,0 +1,50 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var tagAdapter_exports = {};
19
+ __export(tagAdapter_exports, {
20
+ parseTag: () => parseTag
21
+ });
22
+ module.exports = __toCommonJS(tagAdapter_exports);
23
+ var import_arangoAdapter = require("./arangoAdapter");
24
+ var import_reaktorAdapter = require("./reaktorAdapter");
25
+ var import_adapterUtils = require("../utils/adapterUtils");
26
+ const parseTag = (tag) => {
27
+ const {
28
+ _key,
29
+ description,
30
+ category,
31
+ name,
32
+ tagBy,
33
+ tagId,
34
+ userId
35
+ } = tag;
36
+ return (0, import_adapterUtils.removeEmptyKeys)({
37
+ ...(0, import_arangoAdapter.parseDocument)(tag),
38
+ description: (0, import_reaktorAdapter.parseReaktorContent)(description),
39
+ category: (0, import_reaktorAdapter.parseReaktorType)(category),
40
+ name: (0, import_reaktorAdapter.parseReaktorName)(name),
41
+ tagBy: (0, import_reaktorAdapter.parseReaktorItemId)(tagBy),
42
+ tagId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || tagId),
43
+ userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
44
+ });
45
+ };
46
+ // Annotate the CommonJS export names for ESM import in node:
47
+ 0 && (module.exports = {
48
+ parseTag
49
+ });
50
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3RhZ0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7VGFnVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JJdGVtSWQsIHBhcnNlUmVha3Rvck5hbWUsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4vcmVha3RvckFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZyA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9rZXksXG4gICAgZGVzY3JpcHRpb24sXG4gICAgY2F0ZWdvcnksXG4gICAgbmFtZSxcbiAgICB0YWdCeSxcbiAgICB0YWdJZCxcbiAgICB1c2VySWRcbiAgfSA9IHRhZztcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHRhZyksXG4gICAgZGVzY3JpcHRpb246IHBhcnNlUmVha3RvckNvbnRlbnQoZGVzY3JpcHRpb24pLFxuICAgIGNhdGVnb3J5OiBwYXJzZVJlYWt0b3JUeXBlKGNhdGVnb3J5KSxcbiAgICBuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpLFxuICAgIHRhZ0J5OiBwYXJzZVJlYWt0b3JJdGVtSWQodGFnQnkpLFxuICAgIHRhZ0lkOiBwYXJzZVJlYWt0b3JJdGVtSWQoX2tleSB8fCB0YWdJZCksXG4gICAgdXNlcklkOiBwYXJzZVJlYWt0b3JJdGVtSWQodXNlcklkKVxuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0EsMkJBQTRCO0FBQzVCLDRCQUEwRjtBQUMxRiwwQkFBOEI7QUFFdkIsTUFBTSxXQUFXLENBQUMsUUFBMEI7QUFDakQsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsR0FBRztBQUFBLElBQ3BCLGlCQUFhLDJDQUFvQixXQUFXO0FBQUEsSUFDNUMsY0FBVSx3Q0FBaUIsUUFBUTtBQUFBLElBQ25DLFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixXQUFPLDBDQUFtQixLQUFLO0FBQUEsSUFDL0IsV0FBTywwQ0FBbUIsUUFBUSxLQUFLO0FBQUEsSUFDdkMsWUFBUSwwQ0FBbUIsTUFBTTtBQUFBLEVBQ25DLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,2 @@
1
+ import { UserType } from '../types';
2
+ export declare const parseUser: (user: UserType) => UserType;