@chift/chift-nodejs 1.0.16 → 1.0.17

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 (90) hide show
  1. package/.github/workflows/ci.yml +10 -10
  2. package/CHANGELOG.md +12 -2
  3. package/README.md +3 -3
  4. package/dist/src/modules/accounting.d.ts +3 -3
  5. package/dist/src/modules/api.d.ts +4322 -2766
  6. package/dist/src/modules/consumer.d.ts +821 -512
  7. package/dist/src/modules/consumer.js +3 -0
  8. package/dist/src/modules/consumers.d.ts +4349 -2796
  9. package/dist/src/modules/datastores.d.ts +2 -2
  10. package/dist/src/modules/ecommerce.d.ts +2 -2
  11. package/dist/src/modules/integrations.d.ts +6 -6
  12. package/dist/src/modules/invoicing.d.ts +3 -3
  13. package/dist/src/modules/payment.d.ts +14 -0
  14. package/dist/src/modules/payment.js +41 -0
  15. package/dist/src/modules/sync.d.ts +3471 -2231
  16. package/dist/src/modules/sync.js +1 -1
  17. package/dist/src/modules/webhooks.d.ts +4 -1
  18. package/dist/src/types/sync.d.ts +22 -5
  19. package/dist/test/modules/accounting.test.js +58 -50
  20. package/dist/test/modules/consumer.test.js +4 -4
  21. package/dist/test/modules/consumers.test.js +4 -4
  22. package/dist/test/modules/ecommerce.test.js +23 -19
  23. package/dist/test/modules/integrations.test.js +4 -4
  24. package/dist/test/modules/invoicing.test.js +16 -9
  25. package/dist/test/modules/payment.test.d.ts +1 -0
  26. package/dist/test/modules/payment.test.js +88 -0
  27. package/dist/test/modules/pms.test.d.ts +1 -0
  28. package/dist/test/modules/pms.test.js +90 -0
  29. package/dist/test/modules/pos.test.js +31 -34
  30. package/dist/test/modules/sync.test.js +31 -19
  31. package/dist/test/modules/syncs.test.js +4 -4
  32. package/dist/test/modules/webhooks.test.js +4 -4
  33. package/package.json +1 -1
  34. package/src/modules/accounting.ts +3 -3
  35. package/src/modules/consumer.ts +4 -1
  36. package/src/modules/ecommerce.ts +4 -2
  37. package/src/modules/invoicing.ts +7 -3
  38. package/src/modules/payment.ts +59 -0
  39. package/src/modules/sync.ts +1 -1
  40. package/src/types/public-api/schema.d.ts +4071 -850
  41. package/src/types/sync.ts +20 -5
  42. package/test/modules/accounting.test.ts +69 -50
  43. package/test/modules/consumer.test.ts +5 -5
  44. package/test/modules/consumers.test.ts +4 -4
  45. package/test/modules/ecommerce.test.ts +25 -20
  46. package/test/modules/integrations.test.ts +4 -4
  47. package/test/modules/invoicing.test.ts +20 -10
  48. package/test/modules/payment.test.ts +65 -0
  49. package/test/modules/pms.test.ts +69 -0
  50. package/test/modules/pos.test.ts +32 -34
  51. package/test/modules/sync.test.ts +33 -19
  52. package/test/modules/syncs.test.ts +4 -4
  53. package/test/modules/webhooks.test.ts +4 -4
  54. package/.eslintcache +0 -1
  55. package/coverage/clover.xml +0 -1645
  56. package/coverage/coverage-final.json +0 -19
  57. package/coverage/lcov-report/base.css +0 -224
  58. package/coverage/lcov-report/block-navigation.js +0 -87
  59. package/coverage/lcov-report/favicon.png +0 -0
  60. package/coverage/lcov-report/index.html +0 -146
  61. package/coverage/lcov-report/prettify.css +0 -1
  62. package/coverage/lcov-report/prettify.js +0 -2
  63. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  64. package/coverage/lcov-report/sorter.js +0 -196
  65. package/coverage/lcov-report/src/helpers/index.html +0 -131
  66. package/coverage/lcov-report/src/helpers/openapi.ts.html +0 -151
  67. package/coverage/lcov-report/src/helpers/settings.ts.html +0 -94
  68. package/coverage/lcov-report/src/index.html +0 -116
  69. package/coverage/lcov-report/src/index.ts.html +0 -88
  70. package/coverage/lcov-report/src/modules/accounting.ts.html +0 -1156
  71. package/coverage/lcov-report/src/modules/api.ts.html +0 -190
  72. package/coverage/lcov-report/src/modules/consumer.ts.html +0 -616
  73. package/coverage/lcov-report/src/modules/consumers.ts.html +0 -331
  74. package/coverage/lcov-report/src/modules/custom.ts.html +0 -193
  75. package/coverage/lcov-report/src/modules/datastores.ts.html +0 -142
  76. package/coverage/lcov-report/src/modules/ecommerce.ts.html +0 -331
  77. package/coverage/lcov-report/src/modules/flow.ts.html +0 -589
  78. package/coverage/lcov-report/src/modules/index.html +0 -326
  79. package/coverage/lcov-report/src/modules/integrations.ts.html +0 -151
  80. package/coverage/lcov-report/src/modules/internalApi.ts.html +0 -586
  81. package/coverage/lcov-report/src/modules/invoicing.ts.html +0 -391
  82. package/coverage/lcov-report/src/modules/pos.ts.html +0 -421
  83. package/coverage/lcov-report/src/modules/sync.ts.html +0 -316
  84. package/coverage/lcov-report/src/modules/syncs.ts.html +0 -169
  85. package/coverage/lcov-report/src/modules/webhooks.ts.html +0 -343
  86. package/coverage/lcov.info +0 -1976
  87. package/dist/src/types/public-api/schema.d.ts +0 -12003
  88. package/dist/src/types/public-api/schema.js +0 -6
  89. package/src/types/public-api/schema.ts +0 -12073
  90. package/test/set_envs.sh +0 -14
@@ -5,28 +5,22 @@ import { components } from '../../src/types/public-api/schema';
5
5
  dotenv.config();
6
6
 
7
7
  const client = new chift.API({
8
- baseUrl: process.env.CHIFT_BASE_URL,
9
- clientId: process.env.CHIFT_CLIENT_ID as string,
10
- clientSecret: process.env.CHIFT_CLIENT_SECRET as string,
11
- accountId: process.env.CHIFT_ACCOUNT_ID as string,
8
+ baseUrl: process.env.CHIFT_BACKBONE_API,
9
+ clientId: process.env.CHIFT_TESTING_CLIENTID as string,
10
+ clientSecret: process.env.CHIFT_TESTING_CLIENTSECRET as string,
11
+ accountId: process.env.CHIFT_TESTING_ACCOUNTID as string,
12
12
  });
13
13
 
14
14
  // Split testing between two APIs to support all endpoints
15
- const cashpadConsumerId = process.env.CHIFT_CASHPAD_CONSUMER_ID as string;
16
- const lightspeedConsumerId = process.env.CHIFT_LIGHTSPEED_CONSUMER_ID as string;
17
- const popinaConsumerId = process.env.CHIFT_POPINA_CONSUMER_ID as string;
15
+ const consumerId = process.env.CHIFT_POS_CONSUMER_ID as string;
18
16
 
19
- let cashpadConsumer: any;
20
- let lightspeedConsumer: any;
21
- let popinaConsumer: any;
17
+ let consumer: any;
22
18
  beforeAll(async () => {
23
- cashpadConsumer = await client.Consumers.getConsumerById(cashpadConsumerId);
24
- lightspeedConsumer = await client.Consumers.getConsumerById(lightspeedConsumerId);
25
- popinaConsumer = await client.Consumers.getConsumerById(popinaConsumerId);
19
+ consumer = await client.Consumers.getConsumerById(consumerId);
26
20
  });
27
21
 
28
22
  test('getLocations', async () => {
29
- const locations = await lightspeedConsumer.pos.getLocations();
23
+ const locations = await consumer.pos.getLocations();
30
24
  expect(locations).toBeInstanceOf(Array);
31
25
  expect(locations.length).toBeGreaterThan(0);
32
26
  expect(locations[0]).toHaveProperty('id', expect.any(String));
@@ -34,10 +28,10 @@ test('getLocations', async () => {
34
28
  });
35
29
 
36
30
  let orders: components['schemas']['POSOrderItem'][];
37
- test('getOrders', async () => {
38
- orders = await lightspeedConsumer.pos.getOrders({
39
- date_from: '2023-01-11',
40
- date_to: '2023-02-28',
31
+ test.skip('getOrders', async () => {
32
+ orders = await consumer.pos.getOrders({
33
+ date_from: '2023-01-08',
34
+ date_to: '2023-01-01',
41
35
  });
42
36
  expect(orders).toBeInstanceOf(Array);
43
37
  expect(orders.length).toBeGreaterThan(0);
@@ -51,7 +45,7 @@ test.skip('createCustomer', async () => {
51
45
  last_name: 'Doe',
52
46
  email: 'test@test.com',
53
47
  };
54
- const customer = await cashpadConsumer.pos.createCustomer(body);
48
+ const customer = await consumer.pos.createCustomer(body);
55
49
  expect(customer).toBeTruthy();
56
50
  expect(customer).toHaveProperty('id', expect.any(String));
57
51
  expect(customer).toHaveProperty('name');
@@ -60,7 +54,7 @@ test.skip('createCustomer', async () => {
60
54
  // TODO: Fix timeout error
61
55
  let customers: any[] = [];
62
56
  test.skip('getCustomers', async () => {
63
- customers = await cashpadConsumer.pos.getCustomers();
57
+ customers = await consumer.pos.getCustomers();
64
58
  expect(customers).toBeInstanceOf(Array);
65
59
  expect(customers.length).toBeGreaterThan(0);
66
60
  expect(customers[0]).toHaveProperty('id', expect.any(String));
@@ -68,7 +62,11 @@ test.skip('getCustomers', async () => {
68
62
 
69
63
  // TODO: Fix The day parameter is missing error
70
64
  test.skip('getOrder', async () => {
71
- const order = await lightspeedConsumer.pos.getOrder(orders[0].id);
65
+ if (!orders.length) {
66
+ throw new Error('No orders found to test getOrder');
67
+ }
68
+
69
+ const order = await consumer.pos.getOrder(orders[0].id);
72
70
  expect(order).toBeTruthy();
73
71
  expect(order).toHaveProperty('id', expect.any(String));
74
72
  expect(order).toHaveProperty('order_number');
@@ -92,14 +90,14 @@ test.skip('getOrder', async () => {
92
90
 
93
91
  // TODO: Fix getCustomers first
94
92
  test.skip('getCustomer', async () => {
95
- const customer = await cashpadConsumer.pos.getCustomer(customers[0].id);
93
+ const customer = await consumer.pos.getCustomer(customers[0].id);
96
94
  expect(customer).toBeTruthy();
97
95
  expect(customer).toHaveProperty('id', expect.any(String));
98
96
  expect(customer).toHaveProperty('name');
99
97
  });
100
98
 
101
99
  test('getPaymentMethods', async () => {
102
- const paymentMethods = await lightspeedConsumer.pos.getPaymentMethods();
100
+ const paymentMethods = await consumer.pos.getPaymentMethods();
103
101
  expect(paymentMethods).toBeInstanceOf(Array);
104
102
  expect(paymentMethods.length).toBeGreaterThan(0);
105
103
  expect(paymentMethods[0]).toHaveProperty('id', expect.any(String));
@@ -108,7 +106,7 @@ test('getPaymentMethods', async () => {
108
106
  });
109
107
 
110
108
  test('getSales', async () => {
111
- const sales = await lightspeedConsumer.pos.getSales({
109
+ const sales = await consumer.pos.getSales({
112
110
  date_from: '2022-08-11',
113
111
  date_to: '2022-08-12',
114
112
  });
@@ -118,15 +116,15 @@ test('getSales', async () => {
118
116
  });
119
117
 
120
118
  test('getClosure', async () => {
121
- const closure = await lightspeedConsumer.pos.getClosure('2022-08-11');
119
+ const closure = await consumer.pos.getClosure('2022-08-11');
122
120
  expect(closure).toHaveProperty('date', expect.any(String));
123
121
  expect(closure).toHaveProperty('status');
124
122
  });
125
123
 
126
- test('getPayments', async () => {
127
- const payments = await lightspeedConsumer.pos.getPayments({
128
- date_from: '2023-01-11',
129
- date_to: '2023-02-28',
124
+ test.skip('getPayments', async () => {
125
+ const payments = await consumer.pos.getPayments({
126
+ date_from: '2023-01-08',
127
+ date_to: '2023-01-01',
130
128
  });
131
129
  expect(payments).toBeInstanceOf(Array);
132
130
  expect(payments.length).toBeGreaterThan(0);
@@ -142,25 +140,25 @@ test('getPayments', async () => {
142
140
 
143
141
  // TODO: Fix API Resource does not exist
144
142
  test.skip('updateOrder', async () => {
145
- const order = await lightspeedConsumer.pos.updateOrder(orders[0].id, {});
143
+ const order = await consumer.pos.updateOrder(orders[0].id, {});
146
144
  expect(order).toBeTruthy();
147
145
  expect(order).toHaveProperty('id', expect.any(String));
148
146
  });
149
147
 
150
- test('getProducts', async () => {
151
- const products = await popinaConsumer.pos.getProducts();
148
+ test.skip('getProducts', async () => {
149
+ const products = await consumer.pos.getProducts();
152
150
  expect(products).toBeInstanceOf(Array);
153
151
  expect(products.length).toBeGreaterThan(0);
154
152
  });
155
153
 
156
154
  test('getProductCategories', async () => {
157
- const productCategories = await popinaConsumer.pos.getProductCategories();
155
+ const productCategories = await consumer.pos.getProductCategories();
158
156
  expect(productCategories).toBeInstanceOf(Array);
159
157
  expect(productCategories.length).toBeGreaterThan(0);
160
158
  });
161
159
 
162
160
  test('getAccountingCategories', async () => {
163
- const accountingCategories = await popinaConsumer.pos.getAccountingCategories();
161
+ const accountingCategories = await consumer.pos.getAccountingCategories();
164
162
  expect(accountingCategories).toBeInstanceOf(Array);
165
163
  expect(accountingCategories.length).toBeGreaterThan(0);
166
164
  });
@@ -5,16 +5,15 @@ import * as dotenv from 'dotenv';
5
5
  dotenv.config();
6
6
 
7
7
  const client = new chift.API({
8
- baseUrl: process.env.CHIFT_BASE_URL,
9
- clientId: process.env.CHIFT_CLIENT_ID as string,
10
- clientSecret: process.env.CHIFT_CLIENT_SECRET as string,
11
- accountId: process.env.CHIFT_ACCOUNT_ID as string,
8
+ baseUrl: process.env.CHIFT_BACKBONE_API,
9
+ clientId: process.env.CHIFT_TESTING_CLIENTID as string,
10
+ clientSecret: process.env.CHIFT_TESTING_CLIENTSECRET as string,
11
+ accountId: process.env.CHIFT_TESTING_ACCOUNTID as string,
12
12
  });
13
13
 
14
- const flowName = 'Je suis un flux de test';
14
+ const flowName = 'CI GENERATED';
15
15
 
16
16
  let sync: any;
17
- let flow: any;
18
17
 
19
18
  beforeAll(async () => {
20
19
  const syncId = process.env.CHIFT_TEST_SYNC_ID as string;
@@ -22,21 +21,27 @@ beforeAll(async () => {
22
21
  });
23
22
 
24
23
  test('createFlow', async () => {
25
- flow = await sync.createFlow(
24
+ const flow = await sync.createFlow(
26
25
  {
27
26
  name: flowName,
28
- description: 'Flux de test',
27
+ description: 'Generated by Chift Node.js sdk',
29
28
  execution: {
30
- type: 'code',
31
- },
32
- trigger: {
33
- type: 'event',
29
+ type: 'module',
30
+ data: {
31
+ name: 'POS to accounting',
32
+ },
34
33
  },
34
+ triggers: [
35
+ {
36
+ id: 'trigger1',
37
+ type: 'event',
38
+ },
39
+ ],
35
40
  config: {},
36
41
  },
37
42
  async (consumer: any, flowContext: any) => {
38
- console.log(`Mon flow_id : ${flowContext.flow_id}`);
39
- console.log(`Bonjour, ceci est un test, on exécute le flux pour consumer: ${consumer}`);
43
+ console.log(`consumer: ${consumer}`);
44
+ console.log(`flow_id : ${flowContext.flow_id}`);
40
45
  }
41
46
  );
42
47
 
@@ -44,17 +49,26 @@ test('createFlow', async () => {
44
49
  expect(flow).toHaveProperty('name', flowName);
45
50
  });
46
51
 
52
+ let flows: any = [];
47
53
  test('getFlows', async () => {
48
- const flows = await sync.getFlows();
54
+ flows = await sync.getFlows();
49
55
  expect(flows).toBeInstanceOf(Array);
50
56
  });
51
57
 
52
58
  test('getFlowByName', async () => {
53
- const flowWithName = await sync.getFlowByName(flow.name);
54
- expect(flowWithName).toHaveProperty('name', flow.name);
59
+ if (!flows.length) {
60
+ throw new Error('No flows found to test getFlowByName');
61
+ }
62
+
63
+ const flowWithName = await sync.getFlowByName(flows[0].name);
64
+ expect(flowWithName).toHaveProperty('name', flows[0].name);
55
65
  });
56
66
 
57
67
  test('getFlowById', async () => {
58
- const flowWithId = await sync.getFlowById(flow.flowId);
59
- expect(flowWithId).toHaveProperty('flowId', flow.flowId);
68
+ if (!flows.length) {
69
+ throw new Error('No flows found to test getFlowById');
70
+ }
71
+
72
+ const flowWithId = await sync.getFlowById(flows[0].flowId);
73
+ expect(flowWithId).toHaveProperty('flowId', flows[0].flowId);
60
74
  });
@@ -5,10 +5,10 @@ import * as dotenv from 'dotenv';
5
5
  dotenv.config();
6
6
 
7
7
  const client = new chift.API({
8
- baseUrl: process.env.CHIFT_BASE_URL,
9
- clientId: process.env.CHIFT_CLIENT_ID as string,
10
- clientSecret: process.env.CHIFT_CLIENT_SECRET as string,
11
- accountId: process.env.CHIFT_ACCOUNT_ID as string,
8
+ baseUrl: process.env.CHIFT_BACKBONE_API,
9
+ clientId: process.env.CHIFT_TESTING_CLIENTID as string,
10
+ clientSecret: process.env.CHIFT_TESTING_CLIENTSECRET as string,
11
+ accountId: process.env.CHIFT_TESTING_ACCOUNTID as string,
12
12
  });
13
13
 
14
14
  test('getSyncs', async () => {
@@ -5,10 +5,10 @@ import axios from 'axios';
5
5
  dotenv.config();
6
6
 
7
7
  const client = new chift.API({
8
- baseUrl: process.env.CHIFT_BASE_URL,
9
- clientId: process.env.CHIFT_CLIENT_ID as string,
10
- clientSecret: process.env.CHIFT_CLIENT_SECRET as string,
11
- accountId: process.env.CHIFT_ACCOUNT_ID as string,
8
+ baseUrl: process.env.CHIFT_BACKBONE_API,
9
+ clientId: process.env.CHIFT_TESTING_CLIENTID as string,
10
+ clientSecret: process.env.CHIFT_TESTING_CLIENTSECRET as string,
11
+ accountId: process.env.CHIFT_TESTING_ACCOUNTID as string,
12
12
  });
13
13
 
14
14
  let webhook: any;
package/.eslintcache DELETED
@@ -1 +0,0 @@
1
- [{"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/package.json":"1","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/accounting.ts":"2","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/consumer.ts":"3","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/ecommerce.ts":"4","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/flow.ts":"5","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/sync.ts":"6","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/invoicing.ts":"7","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/sync.ts":"8","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/internalApi.ts":"9","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/consumers.ts":"10","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/helpers/openapi.ts":"11","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/api.ts":"12","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/consumers.ts":"13","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/integrations.ts":"14","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/syncs.ts":"15","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/webhooks.ts":"16","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/datastores.ts":"17","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/package-lock.json":"18","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/consumer.test.ts":"19","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/invoicing.test.ts":"20","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/accounting.test.ts":"21","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/ecommerce.test.ts":"22","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/sync.test.ts":"23","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/pos.test.ts":"24","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/pos.ts":"25","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/jest.config.ts":"26","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/public-api/schema.ts":"27","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/pms.ts":"28","/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/public-api/schema.d.ts":"29"},{"size":1603,"mtime":1717144866184,"results":"30","hashOfConfig":"31"},{"size":13616,"mtime":1695288852169,"results":"32","hashOfConfig":"31"},{"size":7574,"mtime":1717144929867,"results":"33","hashOfConfig":"31"},{"size":3389,"mtime":1681414203195,"results":"34","hashOfConfig":"31"},{"size":7292,"mtime":1694531695114,"results":"35","hashOfConfig":"31"},{"size":410,"mtime":1694527496802,"results":"36","hashOfConfig":"31"},{"size":3628,"mtime":1694607757583,"results":"37","hashOfConfig":"31"},{"size":2525,"mtime":1700821185376,"results":"38","hashOfConfig":"31"},{"size":6237,"mtime":1698319520781,"results":"39","hashOfConfig":"31"},{"size":140,"mtime":1682346605856,"results":"40","hashOfConfig":"31"},{"size":827,"mtime":1688504577670,"results":"41","hashOfConfig":"31"},{"size":1066,"mtime":1694531695110,"results":"42","hashOfConfig":"31"},{"size":2891,"mtime":1694531695113,"results":"43","hashOfConfig":"31"},{"size":632,"mtime":1694531695117,"results":"44","hashOfConfig":"31"},{"size":790,"mtime":1700821181258,"results":"45","hashOfConfig":"31"},{"size":2829,"mtime":1694531695119,"results":"46","hashOfConfig":"31"},{"size":483,"mtime":1694531695113,"results":"47","hashOfConfig":"31"},{"size":585883,"mtime":1694693069498,"results":"48","hashOfConfig":"31"},{"size":2179,"mtime":1700821159491,"results":"49","hashOfConfig":"31"},{"size":3282,"mtime":1694608127373,"results":"50","hashOfConfig":"31"},{"size":19093,"mtime":1695288994022,"results":"51","hashOfConfig":"31"},{"size":6535,"mtime":1694608857026,"results":"52","hashOfConfig":"31"},{"size":1713,"mtime":1694610668711,"results":"53","hashOfConfig":"31"},{"size":6678,"mtime":1716416507756,"results":"54","hashOfConfig":"31"},{"size":4669,"mtime":1716416396789,"results":"55","hashOfConfig":"31"},{"size":6773,"mtime":1700831209553,"results":"56","hashOfConfig":"31"},{"size":391070,"mtime":1717144930520,"results":"57","hashOfConfig":"31"},{"size":2211,"mtime":1716416396788,"results":"58","hashOfConfig":"31"},{"size":391070,"mtime":1717144930262,"results":"59","hashOfConfig":"31"},{"filePath":"60","messages":"61","suppressedMessages":"62","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"q07fwj",{"filePath":"63","messages":"64","suppressedMessages":"65","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"66","messages":"67","suppressedMessages":"68","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","suppressedMessages":"71","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"72","messages":"73","suppressedMessages":"74","errorCount":0,"fatalErrorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"75","messages":"76","suppressedMessages":"77","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"78","messages":"79","suppressedMessages":"80","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"81","messages":"82","suppressedMessages":"83","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"84","messages":"85","suppressedMessages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"87","messages":"88","suppressedMessages":"89","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"90","messages":"91","suppressedMessages":"92","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"93","messages":"94","suppressedMessages":"95","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"96","messages":"97","suppressedMessages":"98","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"99","messages":"100","suppressedMessages":"101","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"102","messages":"103","suppressedMessages":"104","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"105","messages":"106","suppressedMessages":"107","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"108","messages":"109","suppressedMessages":"110","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"111","messages":"112","suppressedMessages":"113","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"114","messages":"115","suppressedMessages":"116","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"117","messages":"118","suppressedMessages":"119","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"120","messages":"121","suppressedMessages":"122","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"123","messages":"124","suppressedMessages":"125","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"126","messages":"127","suppressedMessages":"128","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"129","messages":"130","suppressedMessages":"131","errorCount":0,"fatalErrorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"132","messages":"133","suppressedMessages":"134","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"135","messages":"136","suppressedMessages":"137","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"138","messages":"139","suppressedMessages":"140","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"141","messages":"142","suppressedMessages":"143","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"144","messages":"145","suppressedMessages":"146","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/package.json",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/accounting.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/consumer.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/ecommerce.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/flow.ts",["147","148","149","150","151","152","153","154","155","156","157","158"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/sync.ts",["159","160","161","162"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/invoicing.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/sync.ts",["163","164"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/internalApi.ts",["165","166","167"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/consumers.ts",["168"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/helpers/openapi.ts",["169","170"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/api.ts",["171"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/consumers.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/integrations.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/syncs.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/webhooks.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/datastores.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/package-lock.json",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/consumer.test.ts",["172","173","174"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/invoicing.test.ts",["175"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/accounting.test.ts",["176"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/ecommerce.test.ts",["177"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/sync.test.ts",["178","179","180","181"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/test/modules/pos.test.ts",["182","183","184","185"],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/pos.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/jest.config.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/public-api/schema.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/modules/pms.ts",[],[],"/Users/henry/Documents/Development/chift/sdk/chift-nodejs-sdk/src/types/public-api/schema.d.ts",[],[],{"ruleId":"186","severity":1,"message":"187","line":8,"column":18,"nodeType":"188","messageId":"189","endLine":8,"endColumn":21,"suggestions":"190"},{"ruleId":"186","severity":1,"message":"187","line":12,"column":26,"nodeType":"188","messageId":"189","endLine":12,"endColumn":29,"suggestions":"191"},{"ruleId":"186","severity":1,"message":"187","line":12,"column":40,"nodeType":"188","messageId":"189","endLine":12,"endColumn":43,"suggestions":"192"},{"ruleId":"186","severity":1,"message":"187","line":12,"column":48,"nodeType":"188","messageId":"189","endLine":12,"endColumn":51,"suggestions":"193"},{"ruleId":"186","severity":1,"message":"187","line":35,"column":61,"nodeType":"188","messageId":"189","endLine":35,"endColumn":64,"suggestions":"194"},{"ruleId":"186","severity":1,"message":"187","line":58,"column":55,"nodeType":"188","messageId":"189","endLine":58,"endColumn":58,"suggestions":"195"},{"ruleId":"186","severity":1,"message":"187","line":58,"column":69,"nodeType":"188","messageId":"189","endLine":58,"endColumn":72,"suggestions":"196"},{"ruleId":"186","severity":1,"message":"187","line":58,"column":77,"nodeType":"188","messageId":"189","endLine":58,"endColumn":80,"suggestions":"197"},{"ruleId":"186","severity":1,"message":"187","line":98,"column":55,"nodeType":"188","messageId":"189","endLine":98,"endColumn":58,"suggestions":"198"},{"ruleId":"186","severity":1,"message":"187","line":98,"column":63,"nodeType":"188","messageId":"189","endLine":98,"endColumn":66,"suggestions":"199"},{"ruleId":"186","severity":1,"message":"187","line":117,"column":31,"nodeType":"188","messageId":"189","endLine":117,"endColumn":34,"suggestions":"200"},{"ruleId":"186","severity":1,"message":"187","line":148,"column":27,"nodeType":"188","messageId":"189","endLine":148,"endColumn":30,"suggestions":"201"},{"ruleId":"186","severity":1,"message":"187","line":3,"column":12,"nodeType":"188","messageId":"189","endLine":3,"endColumn":15,"suggestions":"202"},{"ruleId":"186","severity":1,"message":"187","line":8,"column":12,"nodeType":"188","messageId":"189","endLine":8,"endColumn":15,"suggestions":"203"},{"ruleId":"186","severity":1,"message":"187","line":16,"column":14,"nodeType":"188","messageId":"189","endLine":16,"endColumn":17,"suggestions":"204"},{"ruleId":"186","severity":1,"message":"187","line":22,"column":12,"nodeType":"188","messageId":"189","endLine":22,"endColumn":15,"suggestions":"205"},{"ruleId":"186","severity":1,"message":"187","line":42,"column":56,"nodeType":"188","messageId":"189","endLine":42,"endColumn":59,"suggestions":"206"},{"ruleId":"186","severity":1,"message":"187","line":42,"column":64,"nodeType":"188","messageId":"189","endLine":42,"endColumn":67,"suggestions":"207"},{"ruleId":"186","severity":1,"message":"187","line":84,"column":23,"nodeType":"188","messageId":"189","endLine":84,"endColumn":26,"suggestions":"208"},{"ruleId":"186","severity":1,"message":"187","line":114,"column":24,"nodeType":"188","messageId":"189","endLine":114,"endColumn":27,"suggestions":"209"},{"ruleId":"186","severity":1,"message":"187","line":152,"column":21,"nodeType":"188","messageId":"189","endLine":152,"endColumn":24,"suggestions":"210"},{"ruleId":"186","severity":1,"message":"187","line":8,"column":14,"nodeType":"188","messageId":"189","endLine":8,"endColumn":17,"suggestions":"211"},{"ruleId":"186","severity":1,"message":"187","line":11,"column":21,"nodeType":"188","messageId":"189","endLine":11,"endColumn":24,"suggestions":"212"},{"ruleId":"186","severity":1,"message":"187","line":12,"column":30,"nodeType":"188","messageId":"189","endLine":12,"endColumn":33,"suggestions":"213"},{"ruleId":"186","severity":1,"message":"187","line":12,"column":19,"nodeType":"188","messageId":"189","endLine":12,"endColumn":22,"suggestions":"214"},{"ruleId":"186","severity":1,"message":"187","line":18,"column":19,"nodeType":"188","messageId":"189","endLine":18,"endColumn":22,"suggestions":"215"},{"ruleId":"186","severity":1,"message":"187","line":19,"column":15,"nodeType":"188","messageId":"189","endLine":19,"endColumn":18,"suggestions":"216"},{"ruleId":"186","severity":1,"message":"187","line":20,"column":17,"nodeType":"188","messageId":"189","endLine":20,"endColumn":20,"suggestions":"217"},{"ruleId":"186","severity":1,"message":"187","line":16,"column":15,"nodeType":"188","messageId":"189","endLine":16,"endColumn":18,"suggestions":"218"},{"ruleId":"186","severity":1,"message":"187","line":18,"column":15,"nodeType":"188","messageId":"189","endLine":18,"endColumn":18,"suggestions":"219"},{"ruleId":"186","severity":1,"message":"187","line":16,"column":15,"nodeType":"188","messageId":"189","endLine":16,"endColumn":18,"suggestions":"220"},{"ruleId":"186","severity":1,"message":"187","line":16,"column":11,"nodeType":"188","messageId":"189","endLine":16,"endColumn":14,"suggestions":"221"},{"ruleId":"186","severity":1,"message":"187","line":17,"column":11,"nodeType":"188","messageId":"189","endLine":17,"endColumn":14,"suggestions":"222"},{"ruleId":"186","severity":1,"message":"187","line":37,"column":26,"nodeType":"188","messageId":"189","endLine":37,"endColumn":29,"suggestions":"223"},{"ruleId":"186","severity":1,"message":"187","line":37,"column":44,"nodeType":"188","messageId":"189","endLine":37,"endColumn":47,"suggestions":"224"},{"ruleId":"186","severity":1,"message":"187","line":19,"column":22,"nodeType":"188","messageId":"189","endLine":19,"endColumn":25,"suggestions":"225"},{"ruleId":"186","severity":1,"message":"187","line":20,"column":25,"nodeType":"188","messageId":"189","endLine":20,"endColumn":28,"suggestions":"226"},{"ruleId":"186","severity":1,"message":"187","line":21,"column":21,"nodeType":"188","messageId":"189","endLine":21,"endColumn":24,"suggestions":"227"},{"ruleId":"186","severity":1,"message":"187","line":61,"column":16,"nodeType":"188","messageId":"189","endLine":61,"endColumn":19,"suggestions":"228"},"@typescript-eslint/no-explicit-any","Unexpected any. Specify a different type.","TSAnyKeyword","unexpectedAny",["229","230"],["231","232"],["233","234"],["235","236"],["237","238"],["239","240"],["241","242"],["243","244"],["245","246"],["247","248"],["249","250"],["251","252"],["253","254"],["255","256"],["257","258"],["259","260"],["261","262"],["263","264"],["265","266"],["267","268"],["269","270"],["271","272"],["273","274"],["275","276"],["277","278"],["279","280"],["281","282"],["283","284"],["285","286"],["287","288"],["289","290"],["291","292"],["293","294"],["295","296"],["297","298"],["299","300"],["301","302"],["303","304"],["305","306"],{"messageId":"307","fix":"308","desc":"309"},{"messageId":"310","fix":"311","desc":"312"},{"messageId":"307","fix":"313","desc":"309"},{"messageId":"310","fix":"314","desc":"312"},{"messageId":"307","fix":"315","desc":"309"},{"messageId":"310","fix":"316","desc":"312"},{"messageId":"307","fix":"317","desc":"309"},{"messageId":"310","fix":"318","desc":"312"},{"messageId":"307","fix":"319","desc":"309"},{"messageId":"310","fix":"320","desc":"312"},{"messageId":"307","fix":"321","desc":"309"},{"messageId":"310","fix":"322","desc":"312"},{"messageId":"307","fix":"323","desc":"309"},{"messageId":"310","fix":"324","desc":"312"},{"messageId":"307","fix":"325","desc":"309"},{"messageId":"310","fix":"326","desc":"312"},{"messageId":"307","fix":"327","desc":"309"},{"messageId":"310","fix":"328","desc":"312"},{"messageId":"307","fix":"329","desc":"309"},{"messageId":"310","fix":"330","desc":"312"},{"messageId":"307","fix":"331","desc":"309"},{"messageId":"310","fix":"332","desc":"312"},{"messageId":"307","fix":"333","desc":"309"},{"messageId":"310","fix":"334","desc":"312"},{"messageId":"307","fix":"335","desc":"309"},{"messageId":"310","fix":"336","desc":"312"},{"messageId":"307","fix":"337","desc":"309"},{"messageId":"310","fix":"338","desc":"312"},{"messageId":"307","fix":"339","desc":"309"},{"messageId":"310","fix":"340","desc":"312"},{"messageId":"307","fix":"341","desc":"309"},{"messageId":"310","fix":"342","desc":"312"},{"messageId":"307","fix":"343","desc":"309"},{"messageId":"310","fix":"344","desc":"312"},{"messageId":"307","fix":"345","desc":"309"},{"messageId":"310","fix":"346","desc":"312"},{"messageId":"307","fix":"347","desc":"309"},{"messageId":"310","fix":"348","desc":"312"},{"messageId":"307","fix":"349","desc":"309"},{"messageId":"310","fix":"350","desc":"312"},{"messageId":"307","fix":"351","desc":"309"},{"messageId":"310","fix":"352","desc":"312"},{"messageId":"307","fix":"353","desc":"309"},{"messageId":"310","fix":"354","desc":"312"},{"messageId":"307","fix":"355","desc":"309"},{"messageId":"310","fix":"356","desc":"312"},{"messageId":"307","fix":"357","desc":"309"},{"messageId":"310","fix":"358","desc":"312"},{"messageId":"307","fix":"359","desc":"309"},{"messageId":"310","fix":"360","desc":"312"},{"messageId":"307","fix":"361","desc":"309"},{"messageId":"310","fix":"362","desc":"312"},{"messageId":"307","fix":"363","desc":"309"},{"messageId":"310","fix":"364","desc":"312"},{"messageId":"307","fix":"365","desc":"309"},{"messageId":"310","fix":"366","desc":"312"},{"messageId":"307","fix":"367","desc":"309"},{"messageId":"310","fix":"368","desc":"312"},{"messageId":"307","fix":"369","desc":"309"},{"messageId":"310","fix":"370","desc":"312"},{"messageId":"307","fix":"371","desc":"309"},{"messageId":"310","fix":"372","desc":"312"},{"messageId":"307","fix":"373","desc":"309"},{"messageId":"310","fix":"374","desc":"312"},{"messageId":"307","fix":"375","desc":"309"},{"messageId":"310","fix":"376","desc":"312"},{"messageId":"307","fix":"377","desc":"309"},{"messageId":"310","fix":"378","desc":"312"},{"messageId":"307","fix":"379","desc":"309"},{"messageId":"310","fix":"380","desc":"312"},{"messageId":"307","fix":"381","desc":"309"},{"messageId":"310","fix":"382","desc":"312"},{"messageId":"307","fix":"383","desc":"309"},{"messageId":"310","fix":"384","desc":"312"},{"messageId":"307","fix":"385","desc":"309"},{"messageId":"310","fix":"386","desc":"312"},{"messageId":"307","fix":"387","desc":"309"},{"messageId":"310","fix":"388","desc":"312"},"suggestUnknown",{"range":"389","text":"390"},"Use `unknown` instead, this will force you to explicitly, and safely assert the type is correct.","suggestNever",{"range":"389","text":"391"},"Use `never` instead, this is useful when instantiating generic type parameters that you don't need to know the type of.",{"range":"392","text":"390"},{"range":"392","text":"391"},{"range":"393","text":"390"},{"range":"393","text":"391"},{"range":"394","text":"390"},{"range":"394","text":"391"},{"range":"395","text":"390"},{"range":"395","text":"391"},{"range":"396","text":"390"},{"range":"396","text":"391"},{"range":"397","text":"390"},{"range":"397","text":"391"},{"range":"398","text":"390"},{"range":"398","text":"391"},{"range":"399","text":"390"},{"range":"399","text":"391"},{"range":"400","text":"390"},{"range":"400","text":"391"},{"range":"401","text":"390"},{"range":"401","text":"391"},{"range":"402","text":"390"},{"range":"402","text":"391"},{"range":"403","text":"390"},{"range":"403","text":"391"},{"range":"404","text":"390"},{"range":"404","text":"391"},{"range":"405","text":"390"},{"range":"405","text":"391"},{"range":"406","text":"390"},{"range":"406","text":"391"},{"range":"407","text":"390"},{"range":"407","text":"391"},{"range":"408","text":"390"},{"range":"408","text":"391"},{"range":"409","text":"390"},{"range":"409","text":"391"},{"range":"410","text":"390"},{"range":"410","text":"391"},{"range":"411","text":"390"},{"range":"411","text":"391"},{"range":"412","text":"390"},{"range":"412","text":"391"},{"range":"413","text":"390"},{"range":"413","text":"391"},{"range":"414","text":"390"},{"range":"414","text":"391"},{"range":"415","text":"390"},{"range":"415","text":"391"},{"range":"416","text":"390"},{"range":"416","text":"391"},{"range":"417","text":"390"},{"range":"417","text":"391"},{"range":"418","text":"390"},{"range":"418","text":"391"},{"range":"419","text":"390"},{"range":"419","text":"391"},{"range":"420","text":"390"},{"range":"420","text":"391"},{"range":"421","text":"390"},{"range":"421","text":"391"},{"range":"422","text":"390"},{"range":"422","text":"391"},{"range":"423","text":"390"},{"range":"423","text":"391"},{"range":"424","text":"390"},{"range":"424","text":"391"},{"range":"425","text":"390"},{"range":"425","text":"391"},{"range":"426","text":"390"},{"range":"426","text":"391"},{"range":"427","text":"390"},{"range":"427","text":"391"},{"range":"428","text":"390"},{"range":"428","text":"391"},{"range":"429","text":"390"},{"range":"429","text":"391"},[268,271],"unknown","never",[392,395],[406,409],[414,417],[1397,1400],[2371,2374],[2385,2388],[2393,2396],[4229,4232],[4237,4240],[5120,5123],[6724,6727],[71,74],[152,155],[304,307],[403,406],[1404,1407],[1412,1415],[3114,3117],[4076,4079],[5625,5628],[133,136],[331,334],[377,380],[367,370],[595,598],[614,617],[635,638],[544,547],[563,566],[548,551],[453,456],[468,471],[960,963],[978,981],[771,774],[800,803],[825,828],[2262,2265]]