amo-controller 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +69 -0
  3. package/classes/Amo.d.ts +50 -0
  4. package/classes/Amo.js +61 -0
  5. package/classes/Companies.d.ts +8 -0
  6. package/classes/Companies.js +8 -0
  7. package/classes/Contacts.d.ts +8 -0
  8. package/classes/Contacts.js +8 -0
  9. package/classes/Events.d.ts +8 -0
  10. package/classes/Events.js +8 -0
  11. package/classes/Leads.d.ts +8 -0
  12. package/classes/Leads.js +8 -0
  13. package/classes/LossReasons.d.ts +8 -0
  14. package/classes/LossReasons.js +8 -0
  15. package/classes/Notes.d.ts +12 -0
  16. package/classes/Notes.js +34 -0
  17. package/classes/Pipelines.d.ts +8 -0
  18. package/classes/Pipelines.js +8 -0
  19. package/classes/Tags.d.ts +10 -0
  20. package/classes/Tags.js +10 -0
  21. package/classes/Tasks.d.ts +8 -0
  22. package/classes/Tasks.js +8 -0
  23. package/classes/Users.d.ts +10 -0
  24. package/classes/Users.js +20 -0
  25. package/classes/base/Entity.d.ts +20 -0
  26. package/classes/base/Entity.js +137 -0
  27. package/classes/base/EntityGetOnly.d.ts +14 -0
  28. package/classes/base/EntityGetOnly.js +71 -0
  29. package/classes/base/EntityWithCodeFields.d.ts +13 -0
  30. package/classes/base/EntityWithCodeFields.js +53 -0
  31. package/index.d.ts +2 -0
  32. package/index.js +2 -0
  33. package/package.json +34 -0
  34. package/tsconfig.tsbuildinfo +1 -0
  35. package/types/company.d.ts +28 -0
  36. package/types/company.js +1 -0
  37. package/types/contact.d.ts +30 -0
  38. package/types/contact.js +1 -0
  39. package/types/custom_fields.d.ts +9 -0
  40. package/types/custom_fields.js +1 -0
  41. package/types/entity.d.ts +44 -0
  42. package/types/entity.js +1 -0
  43. package/types/entity_get_only.d.ts +10 -0
  44. package/types/entity_get_only.js +1 -0
  45. package/types/events.d.ts +18 -0
  46. package/types/events.js +1 -0
  47. package/types/interfaces.d.ts +6 -0
  48. package/types/interfaces.js +1 -0
  49. package/types/lead.d.ts +35 -0
  50. package/types/lead.js +1 -0
  51. package/types/logs.d.ts +3 -0
  52. package/types/logs.js +1 -0
  53. package/types/loss_reason.d.ts +7 -0
  54. package/types/loss_reason.js +1 -0
  55. package/types/note.d.ts +15 -0
  56. package/types/note.js +1 -0
  57. package/types/pipeline.d.ts +22 -0
  58. package/types/pipeline.js +1 -0
  59. package/types/query_params.d.ts +88 -0
  60. package/types/query_params.js +1 -0
  61. package/types/responses.d.ts +21 -0
  62. package/types/responses.js +1 -0
  63. package/types/tag.d.ts +5 -0
  64. package/types/tag.js +1 -0
  65. package/types/task.d.ts +20 -0
  66. package/types/task.js +1 -0
  67. package/types/user.d.ts +64 -0
  68. package/types/user.js +1 -0
  69. package/utils/error.d.ts +2 -0
  70. package/utils/error.js +27 -0
  71. package/utils/logger.d.ts +1 -0
  72. package/utils/logger.js +1 -0
@@ -0,0 +1,71 @@
1
+ import logError from '../../utils/error';
2
+ import { AxiosError } from 'axios';
3
+ export default class EntityGetOnly {
4
+ amo;
5
+ type;
6
+ constructor(amo, type) {
7
+ this.amo = amo;
8
+ this.type = type;
9
+ this.url = 'api/v4/' + type;
10
+ this.limit = 100;
11
+ if (/\//.test(type)) {
12
+ const segments = type.split('/');
13
+ this.type = segments[segments.length - 1];
14
+ }
15
+ }
16
+ url;
17
+ limit;
18
+ async get(params = {}, page = 1, acc = []) {
19
+ try {
20
+ const response = await this.amo.instance.get(this.url, {
21
+ params: {
22
+ ...params,
23
+ page,
24
+ limit: this.limit,
25
+ },
26
+ });
27
+ const entity = response.data._embedded?.[this.type];
28
+ if (!entity)
29
+ return acc;
30
+ const result = acc.concat(entity);
31
+ if (entity.length === this.limit) {
32
+ return this.get(params, ++page, result);
33
+ }
34
+ return result;
35
+ }
36
+ catch (error) {
37
+ logError(`get ${this.type} error`, error, error instanceof AxiosError ? error.response?.data : null, this.amo.options?.logs?.customLogger);
38
+ if (this.amo.options?.logs?.throwErrors)
39
+ throw error;
40
+ return null;
41
+ }
42
+ }
43
+ getNewest(entities, by) {
44
+ let newest = entities[0];
45
+ for (const entity of entities) {
46
+ if (!newest[by]) {
47
+ newest = entity;
48
+ continue;
49
+ }
50
+ if (!entity[by])
51
+ continue;
52
+ if (entity[by] > newest[by])
53
+ newest = entity;
54
+ }
55
+ return newest;
56
+ }
57
+ getOldest(entities, by) {
58
+ let oldest = entities[0];
59
+ for (const entity of entities) {
60
+ if (!oldest[by]) {
61
+ oldest = entity;
62
+ continue;
63
+ }
64
+ if (!entity[by])
65
+ continue;
66
+ if (entity[by] < oldest[by])
67
+ oldest = entity;
68
+ }
69
+ return oldest;
70
+ }
71
+ }
@@ -0,0 +1,13 @@
1
+ import { CustomField } from '../../types/custom_fields';
2
+ import { EntitiesFields, EntitiesType } from '../../types/entity';
3
+ import { QueryParams } from '../../types/query_params';
4
+ import Amo from '../Amo';
5
+ import Entity from './Entity';
6
+ export default class EntityWithCodeFields<N extends EntitiesType, E extends EntitiesFields, Q extends QueryParams> extends Entity<N, E, Q> {
7
+ protected amo: Amo;
8
+ constructor(amo: Amo, name: N);
9
+ getByCode(query: string, code: 'PHONE' | 'EMAIL', params?: Q): Promise<E[] | null>;
10
+ getCustomFieldByCode(entity: E, code: 'PHONE' | 'EMAIL'): CustomField | null;
11
+ chorePhone(phone: string): string;
12
+ choreEmail(email: string): string;
13
+ }
@@ -0,0 +1,53 @@
1
+ import Entity from './Entity';
2
+ export default class EntityWithCodeFields extends Entity {
3
+ amo;
4
+ constructor(amo, name) {
5
+ super(amo, name);
6
+ this.amo = amo;
7
+ }
8
+ async getByCode(query, code, params = {}) {
9
+ if (!query)
10
+ return null;
11
+ if (code === 'PHONE')
12
+ query = this.chorePhone(query);
13
+ if (code === 'EMAIL')
14
+ query = this.choreEmail(query);
15
+ const result = [];
16
+ const entities = await this.get({ ...params, query });
17
+ if (!entities)
18
+ return null;
19
+ for (const entity of entities) {
20
+ const field = this.getCustomFieldByCode(entity, code);
21
+ if (field && field.values) {
22
+ const values = field.values.map((value) => value.value);
23
+ const test = values.some((value) => {
24
+ const str = typeof value === 'string' ? value : String(value ?? '');
25
+ if (code === 'PHONE')
26
+ return query === this.chorePhone(str);
27
+ if (code === 'EMAIL')
28
+ return query === this.choreEmail(str);
29
+ return false;
30
+ });
31
+ if (test) {
32
+ result.push(entity);
33
+ }
34
+ }
35
+ }
36
+ return result.length ? result : null;
37
+ }
38
+ getCustomFieldByCode(entity, code) {
39
+ return (entity.custom_fields_values?.find((field) => {
40
+ if (field.field_code && field.field_code === code)
41
+ return field;
42
+ }) || null);
43
+ }
44
+ chorePhone(phone) {
45
+ phone = phone.replace(/\D/g, '');
46
+ if (phone.length === 11 && (phone.startsWith('8') || phone.startsWith('7')))
47
+ phone = phone.substring(1);
48
+ return phone;
49
+ }
50
+ choreEmail(email) {
51
+ return email.trim().toLowerCase();
52
+ }
53
+ }
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import Amo from './classes/Amo';
2
+ export default Amo;
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import Amo from './classes/Amo';
2
+ export default Amo;
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "amo-controller",
3
+ "version": "1.0.1",
4
+ "main": "index.js",
5
+ "types": "index.d.ts",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "format": "prettier . --write",
9
+ "lint": "eslint .",
10
+ "lint:fix": "eslint . --fix",
11
+ "test": "tsx index.test.ts"
12
+ },
13
+ "author": "Tulev Andrey",
14
+ "license": "MIT",
15
+ "description": "",
16
+ "dependencies": {
17
+ "axios": "^1.9.0",
18
+ "bottleneck": "^2.19.5",
19
+ "qs": "^6.14.1"
20
+ },
21
+ "devDependencies": {
22
+ "@eslint/js": "^10.0.1",
23
+ "@types/node": "^22.15.21",
24
+ "@types/qs": "^6.14.0",
25
+ "dotenv": "^17.2.3",
26
+ "eslint": "^10.3.0",
27
+ "globals": "^17.6.0",
28
+ "prettier": "^3.5.3",
29
+ "ts-node": "^10.9.2",
30
+ "tsx": "^4.22.0",
31
+ "typescript": "^5.8.3",
32
+ "typescript-eslint": "^8.59.3"
33
+ }
34
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2022.full.d.ts","../node_modules/axios/index.d.ts","../node_modules/bottleneck/bottleneck.d.ts","../types/custom_fields.ts","../types/tag.ts","../types/lead.ts","../types/query_params.ts","../types/contact.ts","../types/company.ts","../types/entity.ts","../types/entity_get_only.ts","../types/responses.ts","../types/logs.ts","../utils/logger.ts","../utils/error.ts","../classes/base/Entity.ts","../classes/Leads.ts","../classes/base/EntityWithCodeFields.ts","../classes/Companies.ts","../classes/Contacts.ts","../classes/base/EntityGetOnly.ts","../types/user.ts","../classes/Users.ts","../types/pipeline.ts","../classes/Pipelines.ts","../types/loss_reason.ts","../classes/LossReasons.ts","../types/note.ts","../classes/Notes.ts","../classes/Tags.ts","../types/events.ts","../classes/Events.ts","../types/task.ts","../classes/Tasks.ts","../node_modules/@types/qs/index.d.ts","../classes/Amo.ts","../index.ts","../types/interfaces.ts","../node_modules/@types/esrecurse/index.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/sqlite.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts"],"fileIdsList":[[64,65,75,79,81,82,85,87,89,91,92,94,96,97,109,151],[69,71,80,98,109,151],[69,70,80,98,109,151],[69,83,93,98,109,151],[68,69,78,98,109,151],[69,83,88,98,109,151],[64,69,72,77,78,90,98,109,151],[69,83,86,98,109,151],[67,69,72,83,98,109,151],[69,78,95,98,109,151],[69,83,84,98,109,151],[64,66,69,72,74,77,98,109,151],[64,69,72,73,74,77,98,109,151],[66,69,72,78,98,109,151],[98,109,151],[109,151],[109,148,151],[109,150,151],[151],[109,151,156,186],[109,151,152,157,163,164,171,183,194],[109,151,152,153,163,171],[104,105,106,109,151],[109,151,154,195],[109,151,155,156,164,172],[109,151,156,183,191],[109,151,157,159,163,171],[109,150,151,158],[109,151,159,160],[109,151,163],[109,151,161,163],[109,150,151,163],[109,151,163,164,165,183,194],[109,151,163,164,165,178,183,186],[109,146,151,199],[109,146,151,159,163,166,171,183,194],[109,151,163,164,166,167,171,183,191,194],[109,151,166,168,183,191,194],[107,108,109,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[109,151,163,169],[109,151,170,194],[109,151,159,163,171,183],[109,151,172],[109,151,173],[109,150,151,174],[109,148,149,150,151,152,153,154,155,156,157,158,159,160,161,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200],[109,151,176],[109,151,177],[109,151,163,178,179],[109,151,178,180,195,197],[109,151,163,183,184,186],[109,151,185,186],[109,151,183,184],[109,151,186],[109,151,187],[109,148,151,183],[109,151,163,189,190],[109,151,189,190],[109,151,156,171,183,191],[109,151,192],[109,151,171,193],[109,151,166,177,194],[109,151,156,195],[109,151,183,196],[109,151,170,197],[109,151,198],[109,151,156,163,165,174,183,194,197,199],[109,151,183,200],[109,118,122,151,194],[109,118,151,183,194],[109,113,151],[109,115,118,151,191,194],[109,151,171,191],[109,151,201],[109,113,151,201],[109,115,118,151,171,194],[109,110,111,114,117,151,163,183,194],[109,118,125,151],[109,110,116,151],[109,118,139,140,151],[109,114,118,151,186,194,201],[109,139,151,201],[109,112,113,151,201],[109,118,151],[109,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,140,141,142,143,144,145,151],[109,118,133,151],[109,118,125,126,151],[109,116,118,126,127,151],[109,117,151],[109,110,113,118,151],[109,118,122,126,127,151],[109,122,151],[109,116,118,121,151,194],[109,110,115,118,125,151],[109,151,183],[109,113,118,139,151,199,201],[66,67,109,151],[66,68,69,70,71,74,109,151],[69,72,109,151],[69,109,151],[72,73,109,151],[64,75,76,109,151]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"1c9800fbae1b443d77672e6d3e715df7280479b7c41f08cb790e750f01b50d90","impliedFormat":99},{"version":"5f808ff2bf2dcbd57cc17074ee1da5d958704be942b0a7ac126aae49aa453c14","impliedFormat":1},{"version":"d332a748669a84a081255b12170f18ccd6e8cd3ede35a914b27171e9d516af2b","signature":"39f0d98769b4974e82d84c32af585d8edf61ee4e117ba818d8fcda38d321e98d"},{"version":"cf5f779e27376b22431a0bd89f1822e483194948634c09d8b701c66861ed5bc9","signature":"58005d52ddad6ef802bd9f5ea6b6b4d9d979e2a1034a1ed7e0ccb17da6e566bc"},{"version":"b81a8ff2261ad8e2ebea018e8b2bd0927c34ebe27094f6bd0faefef095eab49f","signature":"ab5b1a4489c4e4095cb72503855e22d0984781709345be5db71e95a0d7c1787b"},{"version":"55dd50c4a3d3cfe3d3b0e7f8f04b7aa79333aed29f34cbbe4af2ea3b1ebe4cc9","signature":"f02b42dea6b865ea00061cb3bc908685e9bedf10f8a6fb5b374eb0d93aae943a"},{"version":"f8d1339d30dae7512f2e502174b65ce064cc2d421af6543d742d885697fe9969","signature":"b0e689794d3db562f6928c724c58de78c8231effc6777a57d15aa606f46c0b22"},{"version":"167afa9e4e24ea007ac130b90196796fd50f501ce596b15239d7369cea5938a7","signature":"3460d1d015d0e571577fa634cf0e6b15b6ded82550096b360f5c1492a7e3ac1b"},{"version":"3feb5b251d107107ddf0f096d4f773979a60562164a6867f9f5b55f5213be855","signature":"1e6c37e0a6be9e79bec51128d6d4a2b9011841316843f5f54c5ff34faa74576a"},{"version":"05691a62c4b804c9e2095de8b6df33a6c26064976245a1a779eb873c8518cbed","signature":"c36d1e0c0a619ada6a90c30a4f067f473e179a3b4bffc4a3f336e54b2f4abc2c"},{"version":"d159cc1088a8ef40d2e0a24400a35bb2405898128063298ac54fedecca7a7806","signature":"50ed2c17cb329698e659cd5d05d1fc2d49d37c936f260d3f040ec79301a47d2b"},{"version":"8d7cf9d7353dd4f91a895314723753dc3f598300a3e5a1d940738e73de61f65f","signature":"c4e9f0856f573bbdaae4432fdbe3347321f460e305527e859663d07515ebb66b"},{"version":"adf099d5d87c2d0df78563383af006da26a4ca8ae4d4d9d67d72a6d3bddd9669","signature":"72a71e769c2733c0e3e11afdf5f4ca353e5dd232f7ef3dfc9d8456715e6d433d"},{"version":"fd85d28ae64403b7c942586bdfed1c4967545557e9711997ab4d062dfe17ba6e","signature":"2ccdb7e71d7e581da195401fed8b3ebdc2e26433ae91f5a69075f5afaf0f2275"},{"version":"c4ea33372a87544f53cce265e9c81fbb9db4fe92b9252e5209afb04c13fb7497","signature":"43e010276b02c5fcdb0af80ca9296d73ac0121df12a888033a714a0800440b94"},{"version":"228317f245b577aa01c96680a3cc554599865d0eab2c6c96aebef2aeb144a0af","signature":"c87ebb5cadfdc5ff98eae55563ce147bf9794beb05eda19488f783a7f6c80147"},{"version":"afac56bcbf7fca74ffe5072097ebe89943a12f22f9a88bd708eb4c459f2df426","signature":"ac7f6b48757e3b57b0b91645323aa685786450c7435110719d680cd02ecec949"},{"version":"5dea820d59f2f91f368703a707459c5556ebbb0848f7fbacb10352c9bbf4856f","signature":"eee6ad3f4ae4f6bfac34cb569af68ebe3160fdebcefdab395b2d2692d78fc66e"},{"version":"3ddef95faed88663090f9618ca541d0dfd0b479e0834ba99e93ae074bb990fff","signature":"aa1c9bd0f82ce1dd23018bfe8aac49c615e2c5f095deeab33eb7cf13957e8412"},{"version":"1b3862f1a929e35cf605d8aaa2c79021be6d5269f3f72f6f3b7520f68635c5b8","signature":"6684d0d5bc2f8211964990081f473d7c1474694810f8924a08abcb56f134cb2e"},{"version":"9f056bb7c7f69ee98f570f76724ae7c9b9ff8e5fb8bba678f7eb1545e8fb6202","signature":"6bcfaac194068340db6cd87fcc6da3b8c181d3c7cbcf9420b1572e4cd362d4d3"},{"version":"50f01f7e65bcb5eacebc4e95eb8186042b80cf12c90d1288575a38668d23877c","signature":"4b166a25d6bbf9103b0416882489744bda38b58b56c20282afe2ec64647f05f1"},{"version":"cb8f18ef0ff3af3f35b44220aa31a24ee72ad31aa8ecc58c64d9dffca6ab90b1","signature":"7cbea048e18baf7df46d95a171b23d73ce44f6b6110391daedc4bdd5ca8cfa99"},{"version":"f60feba4174478a6c2ac0218324e93837b652d8cbe034114bf3b8ad44f9dd3b6","signature":"42b22a6052c49d56b8ab4621ac5f5809ee2248874f96f0b4e61508ab57bd8ca9"},{"version":"56152f4e0e67d433af442f42c518712bfd1b2f1b4caa7d847b72e9d8c846c59c","signature":"248a29376252664ba35fb991171e137451778dab0ff7ccf8a6d3adba9ade32eb"},{"version":"4b1b8ea0108ab81bf027725ca04a7f22c684434d988fbb8bb3d149897bfe9882","signature":"1151484bfce4a2287ff715d4ef930e95d443657258b31d526f9c2a8208b9ca31"},{"version":"0effd5ef0fe0c485f3b8f5d45d7584a6fc1b14ba94e7136fd44264bd9443d352","signature":"cc3be32dd50a7d03130585b1e28b1ed468ad272c1b15fd7f817ec39b2a3710d8"},{"version":"0c5b82aa61a9a3c84bc3ea8be57188665db71700ceb4103f376946e6a788d39b","signature":"d6cf442a8ca830b138cdc0158108d1f34ff55b6df77c214183b6b088ce977848"},{"version":"f15a11f5aee4cabb816a9a92461118e72d83284b1288cca6bb7446eb22c7eb4b","signature":"2969ed1ab33322b432051c65247fd1e4b48d4f27cc86ab264366ddb2ae23c886"},{"version":"46759902ff0604bf3c348bcb56f4f58627d0a64d709b45e41362b0b78e12115f","signature":"194115be943bd1a3239ee0777d1e97e403a4fc087523ffdc80fa34094f0ceb11"},{"version":"36478dce5a646430fc08b40cf8e3c7117acc9f171c7e1ea76f08018236e3a968","signature":"68319e74aa12507bae383431799405bd058572c46fba4572357a04e34d9ffecb"},{"version":"f435d776dfc85d93e04e35a1d0b3eb5961839d1a0c0a3b072c96fb1016be8db3","signature":"0951c3c390cb383de028f6c1d1335180bd9ff2c2c1e742303367e3f2327aafb4"},{"version":"b04b691ef50dd32e065fb27107ec1d243397e8a744f617ee9156e689e849210c","signature":"d81741710ecb3c3dce07a3eda20e16374bdf01f3e2c002b182fad0e21ab4a447"},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"40883d501acaafac9b0172266bc04763b938763e39eeee705d21cc5fe121efbb","signature":"b6f7937b1e645e7a121f01368a0d92cf1af28d32de681c9b5a78cf5c07b0f3d9"},{"version":"ff44cf5d2f3713a8c767923b80d8dae83eb06cb29ea128000c5db4eb2b7f3fb5","signature":"6df672ab4b1713723194ba3cd39457d9b125e0f08bd6f15ac978056f58804882"},{"version":"22da938bcf22e512a71878896badc0df227cfe00909fbd1e1f2c30d8bc61f9fc","signature":"b83a608646275a24979fdbe2fb847b189fa3ee006d154adeeef4808c76a46ae6"},{"version":"d5799bcf7fe4e6de3063abf4e321c14b051706f03cf5716d8a19f22fe1f69519","impliedFormat":1},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"88d9a77d2abc23a7d26625dd6dae5b57199a8693b85c9819355651c9d9bab90f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"b200675fd112ffef97c166d0341fb33f6e29e9f27660adde7868e95c5bc98beb","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"3f3edb8e44e3b9df3b7ca3219ab539710b6a7f4fe16bd884d441af207e03cd57","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"8cf7e92bdb2862c2d28ba4535c43dc599cfbc0025db5ed9973d9b708dcbe3d98","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"12e8ce658dd17662d82fb0509d2057afc5e6ee30369a2e9e0957eff725b1f11d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"858f999b3e4a45a4e74766d43030941466460bf8768361d254234d5870480a53","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[[66,96],[98,100]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./","removeComments":true,"rootDir":"..","skipLibCheck":true,"sourceMap":false,"strict":true,"target":9},"referencedMap":[[98,1],[81,2],[82,3],[94,4],[79,5],[89,6],[91,7],[87,8],[92,9],[96,10],[85,11],[78,12],[83,13],[80,14],[99,15],[101,16],[102,16],[103,16],[148,17],[149,17],[150,18],[109,19],[151,20],[152,21],[153,22],[104,16],[107,23],[105,16],[106,16],[154,24],[155,25],[156,26],[157,27],[158,28],[159,29],[160,29],[162,30],[161,31],[163,32],[164,33],[165,34],[147,35],[108,16],[166,36],[167,37],[168,38],[201,39],[169,40],[170,41],[171,42],[172,43],[173,44],[174,45],[175,46],[176,47],[177,48],[178,49],[179,49],[180,50],[181,16],[182,16],[183,51],[185,52],[184,53],[186,54],[187,55],[188,56],[189,57],[190,58],[191,59],[192,60],[193,61],[194,62],[195,63],[196,64],[197,65],[198,66],[199,67],[200,68],[97,16],[64,16],[65,16],[61,16],[62,16],[12,16],[10,16],[11,16],[16,16],[15,16],[2,16],[17,16],[18,16],[19,16],[20,16],[21,16],[22,16],[23,16],[24,16],[3,16],[25,16],[26,16],[4,16],[27,16],[31,16],[28,16],[29,16],[30,16],[32,16],[33,16],[34,16],[5,16],[35,16],[36,16],[37,16],[38,16],[6,16],[42,16],[39,16],[40,16],[41,16],[43,16],[7,16],[44,16],[49,16],[50,16],[45,16],[46,16],[47,16],[48,16],[8,16],[54,16],[51,16],[52,16],[53,16],[55,16],[9,16],[56,16],[63,16],[57,16],[58,16],[60,16],[59,16],[1,16],[14,16],[13,16],[125,69],[135,70],[124,69],[145,71],[116,72],[115,73],[144,74],[138,75],[143,76],[118,77],[132,78],[117,79],[141,80],[113,81],[112,74],[142,82],[114,83],[119,84],[120,16],[123,84],[110,16],[146,85],[136,86],[127,87],[128,88],[130,89],[126,90],[129,91],[139,74],[121,92],[122,93],[131,94],[111,95],[134,86],[133,84],[137,16],[140,96],[71,97],[70,97],[66,16],[72,98],[73,99],[93,16],[100,100],[68,97],[75,16],[88,16],[90,16],[86,16],[69,16],[74,101],[67,16],[95,16],[84,16],[77,102],[76,16]],"version":"5.8.3"}
@@ -0,0 +1,28 @@
1
+ import { CustomField } from './custom_fields';
2
+ import { Tag } from './tag';
3
+ export interface Company {
4
+ id: number;
5
+ name: string;
6
+ responsible_user_id: number;
7
+ group_id: number;
8
+ created_by: number;
9
+ updated_by: number;
10
+ created_at: number;
11
+ updated_at: number;
12
+ closest_task_at: number | null;
13
+ is_deleted: boolean;
14
+ custom_fields_values: CustomField[] | null;
15
+ account_id: number;
16
+ _embedded: CompanyEmbedded;
17
+ }
18
+ export interface CompanyEmbedded {
19
+ leads?: EmbeddedLead[];
20
+ contacts?: EmbeddedContact[];
21
+ tags?: Tag[];
22
+ }
23
+ export interface EmbeddedLead {
24
+ id: number;
25
+ }
26
+ export interface EmbeddedContact {
27
+ id: number;
28
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { CustomField } from './custom_fields';
2
+ import { Tag } from './tag';
3
+ export interface Contact {
4
+ id: number;
5
+ name: string;
6
+ first_name: string;
7
+ last_name: string;
8
+ responsible_user_id: number;
9
+ group_id: number;
10
+ created_by: number;
11
+ updated_by: number;
12
+ created_at: number;
13
+ updated_at: number;
14
+ closest_task_at: number | null;
15
+ is_deleted: boolean;
16
+ custom_fields_values: CustomField[] | null;
17
+ account_id: number;
18
+ _embedded: ContactEmbedded;
19
+ }
20
+ export interface ContactEmbedded {
21
+ leads?: EmbeddedLead[];
22
+ companies?: EmbeddedCompany[];
23
+ tags?: Tag[];
24
+ }
25
+ export interface EmbeddedLead {
26
+ id: number;
27
+ }
28
+ export interface EmbeddedCompany {
29
+ id: number;
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface CustomField {
2
+ field_id?: number;
3
+ field_code?: 'PHONE' | 'EMAIL';
4
+ values: {
5
+ value?: unknown;
6
+ enum_id?: number;
7
+ enum_code?: string;
8
+ }[] | null;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import { QueryParams } from './query_params';
2
+ import { CustomField } from './custom_fields';
3
+ import { CreateResponse, UpdateResponse } from './responses';
4
+ import { Lead } from './lead';
5
+ import { Contact } from './contact';
6
+ import { Company } from './company';
7
+ export type EntitiesType = 'leads' | 'contacts' | 'companies' | 'notes' | 'tasks' | 'leads/notes' | 'contacts/notes' | 'companies/notes';
8
+ export type SecondEntityType = 'leads' | 'contacts' | 'companies';
9
+ export interface EntityClass<E extends EntitiesFields, Q extends QueryParams> {
10
+ url: string;
11
+ limit: number;
12
+ get(params: Q, page: number, acc: E[]): Promise<E[] | null>;
13
+ create(entities: Partial<E>[]): Promise<CreateResponse[] | null>;
14
+ update(entities: PartialExcept<E, 'id'>[]): Promise<UpdateResponse[] | null>;
15
+ unlink(entity: SecondEntityType, id: number, linkIds: number[]): Promise<void>;
16
+ getCustomFieldById(entity: E, id: number): CustomField | null;
17
+ getNewest(entities: E[], by: 'created_at' | 'updated_at'): E;
18
+ getOldest(entities: E[], by: 'created_at' | 'updated_at'): E;
19
+ }
20
+ export interface EntitiesFields {
21
+ id?: number | string;
22
+ created_at?: number;
23
+ updated_at?: number;
24
+ closed_at?: number;
25
+ custom_fields_values?: CustomField[] | null;
26
+ }
27
+ export type ExtendableEntitiesForUpdate = Lead | Contact | Company;
28
+ export interface ToUpdate {
29
+ tags_to_add?: {
30
+ id?: number;
31
+ name?: string;
32
+ }[];
33
+ tags_to_delete?: {
34
+ id?: number;
35
+ name?: string;
36
+ }[];
37
+ }
38
+ export type PartialExcept<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
39
+ export interface LinkData {
40
+ entity_id: number;
41
+ to_entity_id: number;
42
+ to_entity_type: SecondEntityType;
43
+ }
44
+ export type UnlinkData = LinkData;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { EntitiesFields } from './entity';
2
+ import { GetOnlyParams } from './query_params';
3
+ export type EntitiesGetOnlyType = 'pipelines' | 'leads/pipelines' | 'users' | 'loss_reasons' | 'leads/loss_reasons' | 'tags' | 'leads/tags' | 'contacts/tags' | 'companies/tags' | 'events';
4
+ export interface EntityGetOnlyClass<E extends EntitiesFields, Q extends GetOnlyParams> {
5
+ url: string;
6
+ limit: number;
7
+ get(params: Q, page: number, acc: E[]): Promise<E[] | null>;
8
+ getNewest(entities: E[], by: 'created_at' | 'updated_at'): E;
9
+ getOldest(entities: E[], by: 'created_at' | 'updated_at'): E;
10
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface Event {
2
+ id: string;
3
+ type: string;
4
+ entity_id: number;
5
+ entity_type: 'lead' | 'contact' | 'company';
6
+ created_by: number;
7
+ created_at: number;
8
+ value_after?: unknown[];
9
+ value_before?: unknown[];
10
+ account_id: number;
11
+ _embedded: EventEmbedded;
12
+ }
13
+ export interface EventEmbedded {
14
+ entity: EmbeddedEntity;
15
+ }
16
+ export interface EmbeddedEntity {
17
+ id: number;
18
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { DefaultQueryParams } from './query_params';
2
+ export interface EntityClass<E> {
3
+ url: string;
4
+ limit: number;
5
+ get(params: DefaultQueryParams, page: number, acc: E[]): Promise<E[] | null>;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ import { CustomField } from './custom_fields';
2
+ import { Tag } from './tag';
3
+ export interface Lead {
4
+ id: number;
5
+ name: string;
6
+ price: number;
7
+ responsible_user_id: number;
8
+ group_id: number;
9
+ status_id: number;
10
+ pipeline_id: number;
11
+ loss_reason_id: number;
12
+ source_id: number;
13
+ created_by: number;
14
+ updated_by: number;
15
+ closed_at: number;
16
+ created_at: number;
17
+ updated_at: number;
18
+ closest_task_at: number;
19
+ is_deleted: boolean;
20
+ account_id: number;
21
+ custom_fields_values: CustomField[] | null;
22
+ _embedded: LeadEmbedded;
23
+ }
24
+ export interface LeadEmbedded {
25
+ contacts?: EmbeddedContact[];
26
+ companies?: EmbeddedCompany[];
27
+ tags?: Tag[];
28
+ }
29
+ export interface EmbeddedContact {
30
+ id: number;
31
+ is_main: boolean;
32
+ }
33
+ export interface EmbeddedCompany {
34
+ id: number;
35
+ }
package/types/lead.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface Logger {
2
+ error: (...e: unknown[]) => void;
3
+ }
package/types/logs.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface LossReason {
2
+ id: number;
3
+ name: string;
4
+ sort: number;
5
+ created_at: number;
6
+ updated_at: number;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ export interface Note {
2
+ id: number;
3
+ entity_id: number;
4
+ created_by: number;
5
+ updated_by: number;
6
+ created_at: number;
7
+ updated_at: number;
8
+ responsible_user_id: number;
9
+ group_id: number;
10
+ note_type: string;
11
+ params: {
12
+ text: string;
13
+ };
14
+ account_id: number;
15
+ }
package/types/note.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ export interface Pipeline {
2
+ id: number;
3
+ name: string;
4
+ sort: number;
5
+ is_main: boolean;
6
+ is_unsorted_on: boolean;
7
+ is_archive: boolean;
8
+ account_id: number;
9
+ _embedded: {
10
+ statuses: Status[];
11
+ };
12
+ }
13
+ export interface Status {
14
+ id: number;
15
+ name: string;
16
+ sort: number;
17
+ is_editable: boolean;
18
+ pipeline_id: number;
19
+ color: string;
20
+ type: number;
21
+ account_id: number;
22
+ }
@@ -0,0 +1 @@
1
+ export {};