modern-treasury 0.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.
- package/.eslintrc.js +10 -0
- package/.prettierrc +6 -0
- package/LICENSE +7 -0
- package/README.md +198 -0
- package/build +10 -0
- package/core.ts +746 -0
- package/dist/cjs/core.d.ts +215 -0
- package/dist/cjs/core.js +815 -0
- package/dist/cjs/core.js.map +1 -0
- package/dist/cjs/index.d.ts +118 -0
- package/dist/cjs/index.js +128 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/pagination.d.ts +14 -0
- package/dist/cjs/pagination.js +22 -0
- package/dist/cjs/pagination.js.map +1 -0
- package/dist/cjs/resource.d.ts +11 -0
- package/dist/cjs/resource.js +16 -0
- package/dist/cjs/resource.js.map +1 -0
- package/dist/cjs/resources/counterparties.d.ts +500 -0
- package/dist/cjs/resources/counterparties.js +57 -0
- package/dist/cjs/resources/counterparties.js.map +1 -0
- package/dist/cjs/resources/documents.d.ts +66 -0
- package/dist/cjs/resources/documents.js +23 -0
- package/dist/cjs/resources/documents.js.map +1 -0
- package/dist/cjs/resources/events.d.ts +53 -0
- package/dist/cjs/resources/events.js +22 -0
- package/dist/cjs/resources/events.js.map +1 -0
- package/dist/cjs/resources/expected-payments.d.ts +928 -0
- package/dist/cjs/resources/expected-payments.js +31 -0
- package/dist/cjs/resources/expected-payments.js.map +1 -0
- package/dist/cjs/resources/external-accounts.d.ts +597 -0
- package/dist/cjs/resources/external-accounts.js +51 -0
- package/dist/cjs/resources/external-accounts.js.map +1 -0
- package/dist/cjs/resources/incoming-payment-details.d.ts +487 -0
- package/dist/cjs/resources/incoming-payment-details.js +35 -0
- package/dist/cjs/resources/incoming-payment-details.js.map +1 -0
- package/dist/cjs/resources/index.d.ts +15 -0
- package/dist/cjs/resources/index.js +46 -0
- package/dist/cjs/resources/index.js.map +1 -0
- package/dist/cjs/resources/internal-accounts.d.ts +666 -0
- package/dist/cjs/resources/internal-accounts.js +31 -0
- package/dist/cjs/resources/internal-accounts.js.map +1 -0
- package/dist/cjs/resources/line-items.d.ts +90 -0
- package/dist/cjs/resources/line-items.js +38 -0
- package/dist/cjs/resources/line-items.js.map +1 -0
- package/dist/cjs/resources/paper-items.d.ts +279 -0
- package/dist/cjs/resources/paper-items.js +25 -0
- package/dist/cjs/resources/paper-items.js.map +1 -0
- package/dist/cjs/resources/payment-orders/index.d.ts +2 -0
- package/dist/cjs/resources/payment-orders/index.js +33 -0
- package/dist/cjs/resources/payment-orders/index.js.map +1 -0
- package/dist/cjs/resources/payment-orders/payment-orders.d.ts +2180 -0
- package/dist/cjs/resources/payment-orders/payment-orders.js +56 -0
- package/dist/cjs/resources/payment-orders/payment-orders.js.map +1 -0
- package/dist/cjs/resources/payment-orders/reversals.d.ts +46 -0
- package/dist/cjs/resources/payment-orders/reversals.js +23 -0
- package/dist/cjs/resources/payment-orders/reversals.js.map +1 -0
- package/dist/cjs/resources/returns.d.ts +487 -0
- package/dist/cjs/resources/returns.js +31 -0
- package/dist/cjs/resources/returns.js.map +1 -0
- package/dist/cjs/resources/top-level.d.ts +3 -0
- package/dist/cjs/resources/top-level.js +4 -0
- package/dist/cjs/resources/top-level.js.map +1 -0
- package/dist/cjs/resources/transactions.d.ts +377 -0
- package/dist/cjs/resources/transactions.js +31 -0
- package/dist/cjs/resources/transactions.js.map +1 -0
- package/dist/cjs/resources/validations.d.ts +97 -0
- package/dist/cjs/resources/validations.js +16 -0
- package/dist/cjs/resources/validations.js.map +1 -0
- package/dist/cjs/resources/webhooks.d.ts +31 -0
- package/dist/cjs/resources/webhooks.js +44 -0
- package/dist/cjs/resources/webhooks.js.map +1 -0
- package/dist/cjs/tests/api-resources/counterparties.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/counterparties.test.js +275 -0
- package/dist/cjs/tests/api-resources/counterparties.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/documents.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/documents.test.js +78 -0
- package/dist/cjs/tests/api-resources/documents.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/events.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/events.test.js +100 -0
- package/dist/cjs/tests/api-resources/events.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/expected-payments.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/expected-payments.test.js +176 -0
- package/dist/cjs/tests/api-resources/expected-payments.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/external-accounts.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/external-accounts.test.js +248 -0
- package/dist/cjs/tests/api-resources/external-accounts.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/incoming-payment-details.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/incoming-payment-details.test.js +130 -0
- package/dist/cjs/tests/api-resources/incoming-payment-details.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/internal-accounts.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/internal-accounts.test.js +144 -0
- package/dist/cjs/tests/api-resources/internal-accounts.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/line-items.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/line-items.test.js +123 -0
- package/dist/cjs/tests/api-resources/line-items.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/paper-items.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/paper-items.test.js +96 -0
- package/dist/cjs/tests/api-resources/paper-items.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/payment-orders/payment-orders.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/payment-orders/payment-orders.test.js +77 -0
- package/dist/cjs/tests/api-resources/payment-orders/payment-orders.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/returns.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/returns.test.js +116 -0
- package/dist/cjs/tests/api-resources/returns.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/top-level.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/top-level.test.js +59 -0
- package/dist/cjs/tests/api-resources/top-level.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/transactions.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/transactions.test.js +134 -0
- package/dist/cjs/tests/api-resources/transactions.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/validations.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/validations.test.js +62 -0
- package/dist/cjs/tests/api-resources/validations.test.js.map +1 -0
- package/dist/cjs/tests/api-resources/webhooks.test.d.ts +1 -0
- package/dist/cjs/tests/api-resources/webhooks.test.js +100 -0
- package/dist/cjs/tests/api-resources/webhooks.test.js.map +1 -0
- package/dist/cjs/tests/form.test.d.ts +1 -0
- package/dist/cjs/tests/form.test.js +61 -0
- package/dist/cjs/tests/form.test.js.map +1 -0
- package/dist/cjs/tests/index.test.d.ts +1 -0
- package/dist/cjs/tests/index.test.js +57 -0
- package/dist/cjs/tests/index.test.js.map +1 -0
- package/dist/cjs/tests/responses.test.d.ts +1 -0
- package/dist/cjs/tests/responses.test.js +60 -0
- package/dist/cjs/tests/responses.test.js.map +1 -0
- package/index.ts +175 -0
- package/jest.config.js +8 -0
- package/package.json +47 -0
- package/pagination.ts +36 -0
- package/resource.ts +22 -0
- package/resources/counterparties.ts +666 -0
- package/resources/documents.ts +97 -0
- package/resources/events.ts +86 -0
- package/resources/expected-payments.ts +1016 -0
- package/resources/external-accounts.ts +762 -0
- package/resources/incoming-payment-details.ts +592 -0
- package/resources/index.ts +16 -0
- package/resources/internal-accounts.ts +774 -0
- package/resources/line-items.ts +138 -0
- package/resources/paper-items.ts +317 -0
- package/resources/payment-orders/index.ts +3 -0
- package/resources/payment-orders/payment-orders.ts +2486 -0
- package/resources/payment-orders/reversals.ts +72 -0
- package/resources/returns.ts +545 -0
- package/resources/top-level.ts +5 -0
- package/resources/transactions.ts +441 -0
- package/resources/validations.ts +115 -0
- package/resources/webhooks.ts +48 -0
- package/tests/api-resources/counterparties.test.ts +237 -0
- package/tests/api-resources/documents.test.ts +40 -0
- package/tests/api-resources/events.test.ts +62 -0
- package/tests/api-resources/expected-payments.test.ts +138 -0
- package/tests/api-resources/external-accounts.test.ts +210 -0
- package/tests/api-resources/incoming-payment-details.test.ts +92 -0
- package/tests/api-resources/internal-accounts.test.ts +103 -0
- package/tests/api-resources/line-items.test.ts +85 -0
- package/tests/api-resources/paper-items.test.ts +58 -0
- package/tests/api-resources/payment-orders/payment-orders.test.ts +39 -0
- package/tests/api-resources/returns.test.ts +78 -0
- package/tests/api-resources/top-level.test.ts +21 -0
- package/tests/api-resources/transactions.test.ts +96 -0
- package/tests/api-resources/validations.test.ts +24 -0
- package/tests/api-resources/webhooks.test.ts +102 -0
- package/tests/form.test.ts +27 -0
- package/tests/index.test.ts +62 -0
- package/tests/responses.test.ts +25 -0
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.json +36 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless.
|
|
2
|
+
|
|
3
|
+
import ModernTreasury from '~/index';
|
|
4
|
+
const modernTreasury = new ModernTreasury({
|
|
5
|
+
apiKey: 'something1234',
|
|
6
|
+
baseURL: 'http://127.0.0.1:4010',
|
|
7
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
describe('resource webhooks', () => {
|
|
11
|
+
it.each([
|
|
12
|
+
['foo', '08ba357e274f528065766c770a639abf6809b39ccfd37c2a3157c7f51954da0a'],
|
|
13
|
+
['{"foo":"bar"}', '57e14f6f354543f0101fb06ea24df7731d90087b76651e3497345e22a3622940'],
|
|
14
|
+
[
|
|
15
|
+
'{"foo":"bar","bar":"baz","a": true}',
|
|
16
|
+
'ec1c86d16075e6937fc26d55b7dc60bac9b1178a2f714312f7c5cb13a319b0ac',
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
'{"a":{"b":{"c":{"d":[null,1,true,false,["foo",{"bar":[true, false]}]]}}}}',
|
|
20
|
+
'39b6fc0f5b02a5aefbdd7fb337245b4209036334e837d8c5b6a4092965ebc0a5',
|
|
21
|
+
],
|
|
22
|
+
])('getSignature', (payload, expected) => {
|
|
23
|
+
const signature = modernTreasury.webhooks.getSignature(payload, { key: 'foo' });
|
|
24
|
+
expect(signature).toEqual(expected);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('getSignature: Throws an error when the key has not been set', () => {
|
|
28
|
+
const client = new ModernTreasury({
|
|
29
|
+
apiKey: 'something1234',
|
|
30
|
+
baseURL: 'http://127.0.0.1:4010',
|
|
31
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
32
|
+
});
|
|
33
|
+
expect(() => client.webhooks.getSignature('bar')).toThrowError(/webhook key/);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
it('getSignature: Uses the webhook key set at the client level', () => {
|
|
37
|
+
const client = new ModernTreasury({
|
|
38
|
+
apiKey: 'something1234',
|
|
39
|
+
baseURL: 'http://127.0.0.1:4010',
|
|
40
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
41
|
+
webhookKey: 'hello, world',
|
|
42
|
+
});
|
|
43
|
+
const payload = '{"foo":"bar"}';
|
|
44
|
+
const signature = client.webhooks.getSignature(payload);
|
|
45
|
+
expect(signature).toEqual('07e118b4a9818c9242baf9009e76a78c29aeb015da93f600d514b77185247069');
|
|
46
|
+
|
|
47
|
+
const otherSignature = modernTreasury.webhooks.getSignature(payload, { key: 'foo' });
|
|
48
|
+
expect(otherSignature).not.toEqual(signature);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('validateSignature: Throws an error when the X-Signature header is not present', () => {
|
|
52
|
+
expect(() =>
|
|
53
|
+
modernTreasury.webhooks.validateSignature('bar', /* headers */ {}, { key: 'foo' }),
|
|
54
|
+
).toThrowError('Could not find an X-Signature header');
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('validateSignature: Correctly verifies against the expected signature', () => {
|
|
58
|
+
const payload = '{"foo":"bar"}';
|
|
59
|
+
expect(
|
|
60
|
+
modernTreasury.webhooks.validateSignature(
|
|
61
|
+
payload,
|
|
62
|
+
/* headers */ { 'X-Signature': '57e14f6f354543f0101fb06ea24df7731d90087b76651e3497345e22a3622940' },
|
|
63
|
+
{
|
|
64
|
+
key: 'foo',
|
|
65
|
+
},
|
|
66
|
+
),
|
|
67
|
+
).toBe(true);
|
|
68
|
+
|
|
69
|
+
// lowercased header
|
|
70
|
+
expect(
|
|
71
|
+
modernTreasury.webhooks.validateSignature(
|
|
72
|
+
payload,
|
|
73
|
+
/* headers */ { 'x-signature': '57e14f6f354543f0101fb06ea24df7731d90087b76651e3497345e22a3622940' },
|
|
74
|
+
{
|
|
75
|
+
key: 'foo',
|
|
76
|
+
},
|
|
77
|
+
),
|
|
78
|
+
).toBe(true);
|
|
79
|
+
|
|
80
|
+
// modified payload
|
|
81
|
+
expect(
|
|
82
|
+
modernTreasury.webhooks.validateSignature(
|
|
83
|
+
payload + 'foo',
|
|
84
|
+
/* headers */ { 'X-Signature': '57e14f6f354543f0101fb06ea24df7731d90087b76651e3497345e22a3622940' },
|
|
85
|
+
{
|
|
86
|
+
key: 'foo',
|
|
87
|
+
},
|
|
88
|
+
),
|
|
89
|
+
).toBe(false);
|
|
90
|
+
|
|
91
|
+
// modified signature
|
|
92
|
+
expect(
|
|
93
|
+
modernTreasury.webhooks.validateSignature(
|
|
94
|
+
payload,
|
|
95
|
+
/* headers */ { 'X-Signature': 'hello' },
|
|
96
|
+
{
|
|
97
|
+
key: 'foo',
|
|
98
|
+
},
|
|
99
|
+
),
|
|
100
|
+
).toBe(false);
|
|
101
|
+
});
|
|
102
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { multipartFormRequestOptions } from '~/core';
|
|
2
|
+
import { Blob } from 'formdata-node';
|
|
3
|
+
import { fileFromPath } from 'formdata-node/file-from-path';
|
|
4
|
+
|
|
5
|
+
describe('form data validation', () => {
|
|
6
|
+
test('valid values do not error', async () => {
|
|
7
|
+
multipartFormRequestOptions({
|
|
8
|
+
body: {
|
|
9
|
+
foo: 'foo',
|
|
10
|
+
string: 1,
|
|
11
|
+
bool: true,
|
|
12
|
+
file: await fileFromPath('README.md'),
|
|
13
|
+
blob: new Blob(['Some content'], { type: 'text/plain' }),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test('null', async () => {
|
|
19
|
+
expect(() =>
|
|
20
|
+
multipartFormRequestOptions({
|
|
21
|
+
body: {
|
|
22
|
+
null: null,
|
|
23
|
+
},
|
|
24
|
+
}),
|
|
25
|
+
).toThrow(TypeError);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless.
|
|
2
|
+
|
|
3
|
+
import ModernTreasury from '../index';
|
|
4
|
+
|
|
5
|
+
describe('instantiate client', () => {
|
|
6
|
+
const env = process.env;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
jest.resetModules();
|
|
10
|
+
process.env = { ...env };
|
|
11
|
+
|
|
12
|
+
console.warn = jest.fn();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
afterEach(() => {
|
|
16
|
+
process.env = env;
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
test('with minimal arguments', () => {
|
|
20
|
+
// fails if no api key provided
|
|
21
|
+
expect(() => {
|
|
22
|
+
new ModernTreasury({ organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa' });
|
|
23
|
+
}).toThrow();
|
|
24
|
+
|
|
25
|
+
// set api key via env var
|
|
26
|
+
process.env['MODERN_TREASURY_API_KEY'] = 'env var api key';
|
|
27
|
+
const client = new ModernTreasury({ organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa' });
|
|
28
|
+
expect(client.apiKey).toBe('env var api key');
|
|
29
|
+
expect(client.organizationId).toBe('c40c0b40-11d3-42ee-8f2e-18ee8b8239aa');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('with apiKey argument', () => {
|
|
33
|
+
process.env['MODERN_TREASURY_API_KEY'] = 'env var api key';
|
|
34
|
+
|
|
35
|
+
const client = new ModernTreasury({
|
|
36
|
+
apiKey: 'another api key',
|
|
37
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
38
|
+
});
|
|
39
|
+
expect(client.apiKey).toBe('another api key');
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
test('with options argument', () => {
|
|
43
|
+
process.env['MODERN_TREASURY_API_KEY'] = 'env var api key';
|
|
44
|
+
|
|
45
|
+
// apiKey and custom options
|
|
46
|
+
const client = new ModernTreasury({
|
|
47
|
+
apiKey: 'my api key',
|
|
48
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
49
|
+
});
|
|
50
|
+
expect(client.apiKey).toBe('my api key');
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
test('with disabled authentication', () => {
|
|
54
|
+
process.env['MODERN_TREASURY_API_KEY'] = 'env var api key';
|
|
55
|
+
|
|
56
|
+
const client = new ModernTreasury({
|
|
57
|
+
apiKey: null,
|
|
58
|
+
organizationId: 'c40c0b40-11d3-42ee-8f2e-18ee8b8239aa',
|
|
59
|
+
});
|
|
60
|
+
expect(client.apiKey).toBeNull();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createResponseHeaders } from '~/core';
|
|
2
|
+
import { Headers } from 'node-fetch';
|
|
3
|
+
|
|
4
|
+
describe('response parsing', () => {
|
|
5
|
+
// TODO: test unicode characters
|
|
6
|
+
test('headers are case agnostic', async () => {
|
|
7
|
+
const headers = createResponseHeaders(new Headers({ 'Content-Type': 'foo', Accept: 'text/plain' }));
|
|
8
|
+
expect(headers['content-type']).toEqual('foo');
|
|
9
|
+
expect(headers['Content-type']).toEqual('foo');
|
|
10
|
+
expect(headers['Content-Type']).toEqual('foo');
|
|
11
|
+
expect(headers['accept']).toEqual('text/plain');
|
|
12
|
+
expect(headers['Accept']).toEqual('text/plain');
|
|
13
|
+
expect(headers['Hello-World']).toBeUndefined();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('duplicate headers are concatenated', () => {
|
|
17
|
+
const headers = createResponseHeaders(
|
|
18
|
+
new Headers([
|
|
19
|
+
['Content-Type', 'text/xml'],
|
|
20
|
+
['Content-Type', 'application/json'],
|
|
21
|
+
]),
|
|
22
|
+
);
|
|
23
|
+
expect(headers['content-type']).toBe('text/xml, application/json');
|
|
24
|
+
});
|
|
25
|
+
});
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2019",
|
|
4
|
+
"lib": ["es2020"],
|
|
5
|
+
"module": "commonjs",
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"rootDir": "./",
|
|
9
|
+
"baseUrl": "./",
|
|
10
|
+
"paths": {
|
|
11
|
+
"~/*": ["*"]
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
"declaration": true,
|
|
15
|
+
"outDir": "dist",
|
|
16
|
+
"pretty": true,
|
|
17
|
+
"sourceMap": true,
|
|
18
|
+
|
|
19
|
+
"forceConsistentCasingInFileNames": true,
|
|
20
|
+
|
|
21
|
+
"strict": true,
|
|
22
|
+
"noImplicitAny": true,
|
|
23
|
+
"strictNullChecks": true,
|
|
24
|
+
"strictFunctionTypes": true,
|
|
25
|
+
"strictBindCallApply": true,
|
|
26
|
+
"strictPropertyInitialization": true,
|
|
27
|
+
"noImplicitThis": true,
|
|
28
|
+
"alwaysStrict": true,
|
|
29
|
+
"exactOptionalPropertyTypes": true,
|
|
30
|
+
"noUncheckedIndexedAccess": true,
|
|
31
|
+
"noImplicitOverride": true,
|
|
32
|
+
"noPropertyAccessFromIndexSignature": true,
|
|
33
|
+
|
|
34
|
+
"skipLibCheck": true
|
|
35
|
+
}
|
|
36
|
+
}
|