diff --git a/CHANGELOG.md b/CHANGELOG.md
index 654d35c..0f8fb5a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,36 @@
# Changelog
+## 3.3.0 - 2024-04-04
+
+### Added
+- Add Simple Earn endpoints:
+ - `GET /sapi/v1/simple-earn/flexible/list` to query available Simple Earn flexible product list
+ - `GET /sapi/v1/simple-earn/locked/list` to query available Simple Earn locked product list
+ - `POST /sapi/v1/simple-earn/flexible/subscribe` to subscribe to a flexible product
+ - `POST /sapi/v1/simple-earn/locked/subscribe` to subscribe to a locked product
+ - `POST /sapi/v1/simple-earn/flexible/redeem` to redeem a flexible product
+ - `POST /sapi/v1/simple-earn/locked/redeem` to redeem a locked product
+ - `GET /sapi/v1/simple-earn/flexible/position` to get a flexible product position
+ - `GET /sapi/v1/simple-earn/locked/position` to get a locked product position
+ - `GET /sapi/v1/simple-earn/account ` to get a simple account balances
+ - `GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord` to get flexible subscription records
+ - `GET /sapi/v1/simple-earn/locked/history/subscriptionRecord ` to get locked subscription records
+ - `GET /sapi/v1/simple-earn/flexible/history/redemptionRecord ` to retrieve flexible redemption records
+ - `GET /sapi/v1/simple-earn/locked/history/redemptionRecord ` to retrieve locked redemption records
+ - `GET /sapi/v1/simple-earn/flexible/history/rewardsRecord ` to get flexible rewards history
+ - `GET /sapi/v1/simple-earn/locked/history/rewardsRecord ` to get locked rewards history
+ - `POST /sapi/v1/simple-earn/flexible/setAutoSubscribe` to set an auto-subscription to a flexible product
+ - `POST /sapi/v1/simple-earn/locked/setAutoSubscribe` to set an auto-subscription to a locked product
+ - `GET /sapi/v1/simple-earn/flexible/personalLeftQuota` to get flexible personal left quota
+ - `GET /sapi/v1/simple-earn/locked/personalLeftQuota` to get locked personal left quota
+ - `GET /sapi/v1/simple-earn/flexible/subscriptionPreview` to get flexible subscription preview
+ - `GET /sapi/v1/simple-earn/locked/subscriptionPreview` to get locked subscription previews
+ - `GET /sapi/v1/simple-earn/flexible/history/rateHistory` to get a rate history
+ - `GET /sapi/v1/simple-earn/flexible/history/collateralRecord` to get collateral records
+
+### Changed
+- Update dependencies
+
## 3.2.0 - 2024-01-23
### Changed
diff --git a/__tests__/spot/simple_earn/getCollateralRecord.test.js b/__tests__/spot/simple_earn/getCollateralRecord.test.js
new file mode 100644
index 0000000..5b103c0
--- /dev/null
+++ b/__tests__/spot/simple_earn/getCollateralRecord.test.js
@@ -0,0 +1,25 @@
+/* global describe, it, expect */
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getCollateralRecord', () => {
+ it('should return collateral records', () => {
+ nockMock('/sapi/v1/simple-earn/flexible/history/collateralRecord')(mockResponse)
+
+ return SpotClient.getCollateralRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+ it('should return collateral records with params', () => {
+ const parameters = {
+ productId: '1'
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/history/collateralRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getCollateralRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexiblePersonalLeftQuota.test.js b/__tests__/spot/simple_earn/getFlexiblePersonalLeftQuota.test.js
new file mode 100644
index 0000000..123a71d
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexiblePersonalLeftQuota.test.js
@@ -0,0 +1,28 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+
+describe('#getFlexiblePersonalLeftQuota', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.getFlexiblePersonalLeftQuota('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should return flexible personal left quota', () => {
+ const parameters = {
+ productId
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/personalLeftQuota?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.getFlexiblePersonalLeftQuota(productId).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleProductList.test.js b/__tests__/spot/simple_earn/getFlexibleProductList.test.js
new file mode 100644
index 0000000..c340033
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleProductList.test.js
@@ -0,0 +1,28 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getFlexibleProductList', () => {
+ it('should return flexible product list', () => {
+ nockMock('/sapi/v1/simple-earn/flexible/list')(mockResponse)
+
+ return SpotClient.getFlexibleProductList().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return flexible product list with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/list?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getFlexibleProductList(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleProductPosition.test.js b/__tests__/spot/simple_earn/getFlexibleProductPosition.test.js
new file mode 100644
index 0000000..2e78696
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleProductPosition.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getFlexibleProductPosition', () => {
+ it('should return flexible product position', () => {
+ nockMock('/sapi/v1/simple-earn/flexible/position')(mockResponse)
+
+ return SpotClient.getFlexibleProductPosition().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return flexible product position with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ productId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/position?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getFlexibleProductPosition(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleRedemptionRecord.test.js b/__tests__/spot/simple_earn/getFlexibleRedemptionRecord.test.js
new file mode 100644
index 0000000..a064a29
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleRedemptionRecord.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getFlexibleRedemptionRecord', () => {
+ it('should return flexible redemption records', () => {
+ nockMock('/sapi/v1/simple-earn/flexible/history/redemptionRecord')(mockResponse)
+
+ return SpotClient.getFlexibleRedemptionRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return flexible redemption records with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ productId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/history/redemptionRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getFlexibleRedemptionRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleRewardsRecord.test.js b/__tests__/spot/simple_earn/getFlexibleRewardsRecord.test.js
new file mode 100644
index 0000000..c124c96
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleRewardsRecord.test.js
@@ -0,0 +1,30 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const type = 'REALTIME'
+
+describe('#getFlexibleRewardsRecord', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.getFlexibleRewardsRecord('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+
+ it('should return flexible reward records', () => {
+ const parameters = {
+ type,
+ productId: '1',
+ asset: 'USDT'
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/history/rewardsRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getFlexibleRewardsRecord(type, parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleSubscriptionPreview.test.js b/__tests__/spot/simple_earn/getFlexibleSubscriptionPreview.test.js
new file mode 100644
index 0000000..cbf9b32
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleSubscriptionPreview.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+const amount = 10
+
+describe('#getFlexibleSubscriptionPreview', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.getFlexibleSubscriptionPreview('', amount)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing amount', () => {
+ expect(() => {
+ SpotClient.getFlexibleSubscriptionPreview(productId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should return flexible subscription previews', () => {
+ const parameters = {
+ productId,
+ amount
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/subscriptionPreview?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.getFlexibleSubscriptionPreview(productId, amount).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getFlexibleSubscriptionRecord.test.js b/__tests__/spot/simple_earn/getFlexibleSubscriptionRecord.test.js
new file mode 100644
index 0000000..1edbac7
--- /dev/null
+++ b/__tests__/spot/simple_earn/getFlexibleSubscriptionRecord.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getFlexibleSubscriptionRecord', () => {
+ it('should return flexible subscription records', () => {
+ nockMock('/sapi/v1/simple-earn/flexible/history/subscriptionRecord')(mockResponse)
+
+ return SpotClient.getFlexibleSubscriptionRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return flexible subscription records with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ purchaseId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/history/subscriptionRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getFlexibleSubscriptionRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedPersonalLeftQuota.test.js b/__tests__/spot/simple_earn/getLockedPersonalLeftQuota.test.js
new file mode 100644
index 0000000..3375369
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedPersonalLeftQuota.test.js
@@ -0,0 +1,27 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const projectId = '1'
+
+describe('#getLockedPersonalLeftQuota', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing projectId', () => {
+ expect(() => {
+ SpotClient.getLockedPersonalLeftQuota('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should return locked personal left quota', () => {
+ const parameters = {
+ projectId
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/personalLeftQuota?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.getLockedPersonalLeftQuota(projectId).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedProductList.test.js b/__tests__/spot/simple_earn/getLockedProductList.test.js
new file mode 100644
index 0000000..4251382
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedProductList.test.js
@@ -0,0 +1,28 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getLockedProductList', () => {
+ it('should return locked product list', () => {
+ nockMock('/sapi/v1/simple-earn/locked/list')(mockResponse)
+
+ return SpotClient.getLockedProductList().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return locked product list with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/list?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getLockedProductList(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedProductPosition.test.js b/__tests__/spot/simple_earn/getLockedProductPosition.test.js
new file mode 100644
index 0000000..535eeb7
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedProductPosition.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getLockedProductPosition', () => {
+ it('should return locked product position', () => {
+ nockMock('/sapi/v1/simple-earn/locked/position')(mockResponse)
+
+ return SpotClient.getLockedProductPosition().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return locked product position with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ positionId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/position?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getLockedProductPosition(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedRedemptionRecord.test.js b/__tests__/spot/simple_earn/getLockedRedemptionRecord.test.js
new file mode 100644
index 0000000..874df69
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedRedemptionRecord.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getLockedRedemptionRecord', () => {
+ it('should return locked redemption records', () => {
+ nockMock('/sapi/v1/simple-earn/locked/history/redemptionRecord')(mockResponse)
+
+ return SpotClient.getLockedRedemptionRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return locked redemption records with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ positionId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/history/redemptionRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getLockedRedemptionRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedRewardsRecord.test.js b/__tests__/spot/simple_earn/getLockedRewardsRecord.test.js
new file mode 100644
index 0000000..30dff36
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedRewardsRecord.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getLockedRewardsRecord', () => {
+ it('should return locked records history', () => {
+ nockMock('/sapi/v1/simple-earn/locked/history/rewardsRecord')(mockResponse)
+
+ return SpotClient.getLockedRewardsRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return locked records history with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ positionId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/history/rewardsRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getLockedRewardsRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedSubscriptionPreview.test.js b/__tests__/spot/simple_earn/getLockedSubscriptionPreview.test.js
new file mode 100644
index 0000000..5748034
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedSubscriptionPreview.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const projectId = '1'
+const amount = 10
+
+describe('#getLockedSubscriptionPreview', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing projectId', () => {
+ expect(() => {
+ SpotClient.getLockedSubscriptionPreview('', amount)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing amount', () => {
+ expect(() => {
+ SpotClient.getLockedSubscriptionPreview(projectId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should return locked subscription preview', () => {
+ const parameters = {
+ projectId,
+ amount
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/subscriptionPreview?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.getLockedSubscriptionPreview(projectId, amount).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getLockedSubscriptionRecord.test.js b/__tests__/spot/simple_earn/getLockedSubscriptionRecord.test.js
new file mode 100644
index 0000000..85537d3
--- /dev/null
+++ b/__tests__/spot/simple_earn/getLockedSubscriptionRecord.test.js
@@ -0,0 +1,29 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getLockedSubscriptionRecord', () => {
+ it('should return locked subscription records', () => {
+ nockMock('/sapi/v1/simple-earn/locked/history/subscriptionRecord')(mockResponse)
+
+ return SpotClient.getLockedSubscriptionRecord().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return locked subscription records with params', () => {
+ const parameters = {
+ asset: 'USDT',
+ purchaseId: '1',
+ current: 5,
+ size: 10
+ }
+ nockMock(`/sapi/v1/simple-earn/locked/history/subscriptionRecord?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getLockedSubscriptionRecord(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getRateHistory.test.js b/__tests__/spot/simple_earn/getRateHistory.test.js
new file mode 100644
index 0000000..ba26e66
--- /dev/null
+++ b/__tests__/spot/simple_earn/getRateHistory.test.js
@@ -0,0 +1,27 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+
+describe('#getRateHistory', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.getRateHistory('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should return rate history', () => {
+ const parameters = {
+ productId
+ }
+ nockMock(`/sapi/v1/simple-earn/flexible/history/rateHistory?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getRateHistory(productId).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/getSimpleAccount.test.js b/__tests__/spot/simple_earn/getSimpleAccount.test.js
new file mode 100644
index 0000000..f4f093e
--- /dev/null
+++ b/__tests__/spot/simple_earn/getSimpleAccount.test.js
@@ -0,0 +1,26 @@
+/* global describe, it, expect */
+const { nockMock, SpotClient, buildQueryString } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+describe('#getSimpleAccount', () => {
+ it('should return simple account details', () => {
+ nockMock('/sapi/v1/simple-earn/account')(mockResponse)
+
+ return SpotClient.getSimpleAccount().then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+
+ it('should return simple account details with params', () => {
+ const parameters = {
+ recvWindow: 1000
+ }
+ nockMock(`/sapi/v1/simple-earn/account?${buildQueryString(parameters)}`)(mockResponse)
+
+ return SpotClient.getSimpleAccount(parameters).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/redeemFlexibleProduct.test.js b/__tests__/spot/simple_earn/redeemFlexibleProduct.test.js
new file mode 100644
index 0000000..b4d1c75
--- /dev/null
+++ b/__tests__/spot/simple_earn/redeemFlexibleProduct.test.js
@@ -0,0 +1,27 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+
+describe('#redeemFlexibleProduct', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.redeemFlexibleProduct('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should redeem flexible product', () => {
+ const parameters = {
+ productId
+ }
+ nockPostMock(`/sapi/v1/simple-earn/flexible/redeem?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.redeemFlexibleProduct(productId).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/redeemLockedProduct.test.js b/__tests__/spot/simple_earn/redeemLockedProduct.test.js
new file mode 100644
index 0000000..f9413f9
--- /dev/null
+++ b/__tests__/spot/simple_earn/redeemLockedProduct.test.js
@@ -0,0 +1,27 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const positionId = '1'
+
+describe('#redeemLockedProduct', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing positionId', () => {
+ expect(() => {
+ SpotClient.redeemLockedProduct('')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should redeem locked product', () => {
+ const parameters = {
+ positionId
+ }
+ nockPostMock(`/sapi/v1/simple-earn/locked/redeem?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.redeemLockedProduct(positionId).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/setFlexibleAutoSubscribe.test.js b/__tests__/spot/simple_earn/setFlexibleAutoSubscribe.test.js
new file mode 100644
index 0000000..d7110e8
--- /dev/null
+++ b/__tests__/spot/simple_earn/setFlexibleAutoSubscribe.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+const autoSubscribe = true
+
+describe('#setFlexibleAutoSubscribe', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.setFlexibleAutoSubscribe('', autoSubscribe)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing autoSubscribe', () => {
+ expect(() => {
+ SpotClient.setFlexibleAutoSubscribe(productId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should suscribe flexible product', () => {
+ const parameters = {
+ productId,
+ autoSubscribe
+ }
+ nockPostMock(`/sapi/v1/simple-earn/flexible/setAutoSubscribe?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.setFlexibleAutoSubscribe(productId, autoSubscribe).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/setLockedAutoSubscribe.test.js b/__tests__/spot/simple_earn/setLockedAutoSubscribe.test.js
new file mode 100644
index 0000000..81b40cf
--- /dev/null
+++ b/__tests__/spot/simple_earn/setLockedAutoSubscribe.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const positionId = '1'
+const autoSubscribe = true
+
+describe('#setLockedAutoSubscribe', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing positionId', () => {
+ expect(() => {
+ SpotClient.setLockedAutoSubscribe('', autoSubscribe)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing autoSubscribe', () => {
+ expect(() => {
+ SpotClient.setLockedAutoSubscribe(positionId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should suscribe locked product', () => {
+ const parameters = {
+ positionId,
+ autoSubscribe
+ }
+ nockPostMock(`/sapi/v1/simple-earn/locked/setAutoSubscribe?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.setLockedAutoSubscribe(positionId, autoSubscribe).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/subscribeFlexibleProduct.test.js b/__tests__/spot/simple_earn/subscribeFlexibleProduct.test.js
new file mode 100644
index 0000000..73cacd4
--- /dev/null
+++ b/__tests__/spot/simple_earn/subscribeFlexibleProduct.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const productId = '1'
+const amount = 10
+
+describe('#subscribeFlexibleProduct', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing productId', () => {
+ expect(() => {
+ SpotClient.subscribeFlexibleProduct('', amount)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing amount', () => {
+ expect(() => {
+ SpotClient.subscribeFlexibleProduct(productId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should subscribe flexible product', () => {
+ const parameters = {
+ productId,
+ amount
+ }
+ nockPostMock(`/sapi/v1/simple-earn/flexible/subscribe?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.subscribeFlexibleProduct(productId, amount).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/__tests__/spot/simple_earn/subscribeLockedProduct.test.js b/__tests__/spot/simple_earn/subscribeLockedProduct.test.js
new file mode 100644
index 0000000..0ec5fed
--- /dev/null
+++ b/__tests__/spot/simple_earn/subscribeLockedProduct.test.js
@@ -0,0 +1,35 @@
+/* global describe, it, expect */
+const MissingParameterError = require('../../../src/error/missingParameterError')
+const { nockPostMock, buildQueryString, SpotClient } = require('../../testUtils/testSetup')
+const { mockResponse } = require('../../testUtils/mockData')
+
+const projectId = '1'
+const amount = 10
+
+describe('#subscribeLockedProduct', () => {
+ describe('throw MissingParameterError', () => {
+ it('missing projectId', () => {
+ expect(() => {
+ SpotClient.subscribeLockedProduct('', amount)
+ }).toThrow(MissingParameterError)
+ })
+
+ it('missing amount', () => {
+ expect(() => {
+ SpotClient.subscribeLockedProduct(projectId, '')
+ }).toThrow(MissingParameterError)
+ })
+ })
+ it('should subscribe locked product', () => {
+ const parameters = {
+ projectId,
+ amount
+ }
+ nockPostMock(`/sapi/v1/simple-earn/locked/subscribe?${buildQueryString({ ...parameters })}`)(mockResponse)
+
+ return SpotClient.subscribeLockedProduct(projectId, amount).then(response => {
+ expect(response).toBeDefined()
+ expect(response.data).toEqual(mockResponse)
+ })
+ })
+})
diff --git a/examples/spot/simple_earn/getCollateralRecord.js b/examples/spot/simple_earn/getCollateralRecord.js
new file mode 100644
index 0000000..524d81b
--- /dev/null
+++ b/examples/spot/simple_earn/getCollateralRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getCollateralRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexiblePersonalLeftQuota.js b/examples/spot/simple_earn/getFlexiblePersonalLeftQuota.js
new file mode 100644
index 0000000..a836a2f
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexiblePersonalLeftQuota.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexiblePersonalLeftQuota('BTC001')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleProductList.js b/examples/spot/simple_earn/getFlexibleProductList.js
new file mode 100644
index 0000000..12ad9c3
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleProductList.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleProductList()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleProductPosition.js b/examples/spot/simple_earn/getFlexibleProductPosition.js
new file mode 100644
index 0000000..01321a0
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleProductPosition.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleProductPosition()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleRedemptionRecord.js b/examples/spot/simple_earn/getFlexibleRedemptionRecord.js
new file mode 100644
index 0000000..30fd3e8
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleRedemptionRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleRedemptionRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleRewardsRecord.js b/examples/spot/simple_earn/getFlexibleRewardsRecord.js
new file mode 100644
index 0000000..7e22335
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleRewardsRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleRewardsRecord('REALTIME')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleSubscriptionPreview.js b/examples/spot/simple_earn/getFlexibleSubscriptionPreview.js
new file mode 100644
index 0000000..c1b031b
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleSubscriptionPreview.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleSubscriptionPreview('BTC001', 1.0)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getFlexibleSubscriptionRecord.js b/examples/spot/simple_earn/getFlexibleSubscriptionRecord.js
new file mode 100644
index 0000000..4a50351
--- /dev/null
+++ b/examples/spot/simple_earn/getFlexibleSubscriptionRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getFlexibleSubscriptionRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedPersonalLeftQuota.js b/examples/spot/simple_earn/getLockedPersonalLeftQuota.js
new file mode 100644
index 0000000..424da8e
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedPersonalLeftQuota.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedPersonalLeftQuota('Bnb*120')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedProductList.js b/examples/spot/simple_earn/getLockedProductList.js
new file mode 100644
index 0000000..beef1dd
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedProductList.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedProductList()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedProductPosition.js b/examples/spot/simple_earn/getLockedProductPosition.js
new file mode 100644
index 0000000..48738aa
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedProductPosition.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedProductPosition()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedRedemptionRecord.js b/examples/spot/simple_earn/getLockedRedemptionRecord.js
new file mode 100644
index 0000000..deecaa0
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedRedemptionRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedRedemptionRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedRewardsRecord.js b/examples/spot/simple_earn/getLockedRewardsRecord.js
new file mode 100644
index 0000000..97b106e
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedRewardsRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedRewardsRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedSubscriptionPreview.js b/examples/spot/simple_earn/getLockedSubscriptionPreview.js
new file mode 100644
index 0000000..3f698e2
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedSubscriptionPreview.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedSubscriptionPreview('Bnb*120', 1.0)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getLockedSubscriptionRecord.js b/examples/spot/simple_earn/getLockedSubscriptionRecord.js
new file mode 100644
index 0000000..904ed21
--- /dev/null
+++ b/examples/spot/simple_earn/getLockedSubscriptionRecord.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getLockedSubscriptionRecord()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getRateHistory.js b/examples/spot/simple_earn/getRateHistory.js
new file mode 100644
index 0000000..43dd896
--- /dev/null
+++ b/examples/spot/simple_earn/getRateHistory.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getRateHistory('BTC001')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/getSimpleAccount.js b/examples/spot/simple_earn/getSimpleAccount.js
new file mode 100644
index 0000000..54cc775
--- /dev/null
+++ b/examples/spot/simple_earn/getSimpleAccount.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.getSimpleAccount()
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/redeemFlexibleProduct.js b/examples/spot/simple_earn/redeemFlexibleProduct.js
new file mode 100644
index 0000000..796d9c5
--- /dev/null
+++ b/examples/spot/simple_earn/redeemFlexibleProduct.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.redeemFlexibleProduct('BTC001')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/redeemLockedProduct.js b/examples/spot/simple_earn/redeemLockedProduct.js
new file mode 100644
index 0000000..817f7f7
--- /dev/null
+++ b/examples/spot/simple_earn/redeemLockedProduct.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.redeemLockedProduct('1234')
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/setFlexibleAutoSubscribe.js b/examples/spot/simple_earn/setFlexibleAutoSubscribe.js
new file mode 100644
index 0000000..f6855e8
--- /dev/null
+++ b/examples/spot/simple_earn/setFlexibleAutoSubscribe.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.setFlexibleAutoSubscribe('1234', true)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/setLockedAutoSubscribe.js b/examples/spot/simple_earn/setLockedAutoSubscribe.js
new file mode 100644
index 0000000..2032d1b
--- /dev/null
+++ b/examples/spot/simple_earn/setLockedAutoSubscribe.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.setLockedAutoSubscribe('1234', true)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/subscribeFlexibleProduct.js b/examples/spot/simple_earn/subscribeFlexibleProduct.js
new file mode 100644
index 0000000..22021ce
--- /dev/null
+++ b/examples/spot/simple_earn/subscribeFlexibleProduct.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.subscribeFlexibleProduct('BTC001', 0.01)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/examples/spot/simple_earn/subscribeLockedProduct.js b/examples/spot/simple_earn/subscribeLockedProduct.js
new file mode 100644
index 0000000..e394652
--- /dev/null
+++ b/examples/spot/simple_earn/subscribeLockedProduct.js
@@ -0,0 +1,9 @@
+const Spot = require('../../../src/spot')
+
+const apiKey = ''
+const apiSecret = ''
+const client = new Spot(apiKey, apiSecret)
+
+client.subscribeLockedProduct('Bnb*120', 1.0)
+ .then(response => client.logger.log(response.data))
+ .catch(error => client.logger.error(error))
diff --git a/package-lock.json b/package-lock.json
index 73a9435..f631983 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@binance/connector",
- "version": "3.2.0",
+ "version": "3.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@binance/connector",
- "version": "3.2.0",
+ "version": "3.3.0",
"license": "MIT",
"dependencies": {
"axios": "^1.6",
@@ -36,127 +36,56 @@
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dev": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
- "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+ "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
"dev": true,
"dependencies": {
- "@babel/highlight": "^7.23.4",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/code-frame/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/code-frame/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/compat-data": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
- "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz",
+ "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
- "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz",
+ "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==",
"dev": true,
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.23.5",
- "@babel/generator": "^7.23.5",
- "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.4",
+ "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helpers": "^7.23.5",
- "@babel/parser": "^7.23.5",
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.5",
- "@babel/types": "^7.23.5",
+ "@babel/helpers": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.1",
+ "@babel/types": "^7.24.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -172,14 +101,14 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
- "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz",
+ "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.23.5",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
+ "@babel/types": "^7.24.0",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^2.5.1"
},
"engines": {
@@ -187,14 +116,14 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
- "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.22.9",
- "@babel/helper-validator-option": "^7.22.15",
- "browserslist": "^4.21.9",
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -237,12 +166,12 @@
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
- "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "version": "7.24.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
+ "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.22.15"
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -268,9 +197,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+ "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -301,9 +230,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
- "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
+ "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
"dev": true,
"engines": {
"node": ">=6.9.0"
@@ -328,28 +257,29 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
- "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz",
+ "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==",
"dev": true,
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.5",
- "@babel/types": "^7.23.5"
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.1",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
- "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
+ "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
"dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
@@ -427,9 +357,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
- "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
+ "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -499,12 +429,12 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
- "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
+ "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -601,12 +531,12 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
- "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz",
+ "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -616,34 +546,34 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
- "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz",
+ "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
"dev": true,
"dependencies": {
- "@babel/code-frame": "^7.23.5",
- "@babel/generator": "^7.23.5",
+ "@babel/code-frame": "^7.24.1",
+ "@babel/generator": "^7.24.1",
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.5",
- "@babel/types": "^7.23.5",
- "debug": "^4.1.0",
+ "@babel/parser": "^7.24.1",
+ "@babel/types": "^7.24.0",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@@ -651,9 +581,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
- "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+ "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"dev": true,
"dependencies": {
"@babel/helper-string-parser": "^7.23.4",
@@ -695,9 +625,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
- "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
@@ -724,9 +654,9 @@
"dev": true
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.23.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
- "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -763,22 +693,22 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz",
- "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.13",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
- "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.1",
- "debug": "^4.1.1",
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
"minimatch": "^3.0.5"
},
"engines": {
@@ -799,9 +729,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
- "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"dev": true
},
"node_modules/@istanbuljs/load-nyc-config": {
@@ -1108,45 +1038,45 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"dependencies": {
- "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
@@ -1156,9 +1086,9 @@
"dev": true
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
- "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
@@ -1166,9 +1096,9 @@
}
},
"node_modules/@jsdoc/salty": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.6.tgz",
- "integrity": "sha512-aA+awb5yoml8TQ3CzI5Ue7sM3VMRC4l1zJJW4fgZ8OCL1wshJZhNzaf0PL85DSnOUw6QuFgeHGD/eq/xwwAF2g==",
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz",
+ "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==",
"dev": true,
"dependencies": {
"lodash": "^4.17.21"
@@ -1219,9 +1149,9 @@
"dev": true
},
"node_modules/@sinonjs/commons": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
- "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
"dependencies": {
"type-detect": "4.0.8"
@@ -1250,9 +1180,9 @@
}
},
"node_modules/@types/babel__generator": {
- "version": "7.6.7",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz",
- "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==",
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
"dev": true,
"dependencies": {
"@babel/types": "^7.0.0"
@@ -1269,9 +1199,9 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.20.4",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
- "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
+ "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
"dev": true,
"dependencies": {
"@babel/types": "^7.20.7"
@@ -1339,9 +1269,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.10.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz",
- "integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==",
+ "version": "20.12.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.4.tgz",
+ "integrity": "sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -1375,9 +1305,9 @@
"dev": true
},
"node_modules/acorn": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
- "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -1473,28 +1403,32 @@
}
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/array-includes": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
- "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
"is-string": "^1.0.7"
},
"engines": {
@@ -1504,17 +1438,38 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/array.prototype.findlast": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+ "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/array.prototype.findlastindex": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
- "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
+ "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -1559,31 +1514,44 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.tosorted": {
+ "node_modules/array.prototype.toreversed": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz",
- "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==",
+ "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
+ "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "es-shim-unscopables": "^1.0.0"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
+ "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.1.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
"node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dev": true,
"dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
"is-shared-array-buffer": "^1.0.2"
},
"engines": {
@@ -1593,25 +1561,19 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/asynciterator.prototype": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
- "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
- "dev": true,
- "dependencies": {
- "has-symbols": "^1.0.3"
- }
- },
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -1620,11 +1582,11 @@
}
},
"node_modules/axios": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
- "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
+ "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dependencies": {
- "follow-redirects": "^1.15.4",
+ "follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -1771,9 +1733,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.22.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
- "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
"dev": true,
"funding": [
{
@@ -1790,9 +1752,9 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001541",
- "electron-to-chromium": "^1.4.535",
- "node-releases": "^2.0.13",
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.13"
},
"bin": {
@@ -1839,9 +1801,9 @@
}
},
"node_modules/builtins/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -1860,14 +1822,19 @@
"dev": true
},
"node_modules/call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dev": true,
"dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -1902,9 +1869,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001565",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz",
- "integrity": "sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==",
+ "version": "1.0.30001605",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz",
+ "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==",
"dev": true,
"funding": [
{
@@ -1980,9 +1947,9 @@
"dev": true
},
"node_modules/clean-css": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz",
- "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
+ "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
"dev": true,
"dependencies": {
"source-map": "~0.6.0"
@@ -1992,9 +1959,9 @@
}
},
"node_modules/clean-jsdoc-theme": {
- "version": "4.2.17",
- "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.2.17.tgz",
- "integrity": "sha512-5SbJNXcQHUXd7N13g+3OpGFiBQdxz36xwEP3p1r1vbo/apLcDRtugaFdUZ56H6Rvlb68Q33EChoBkajSlnD11w==",
+ "version": "4.2.18",
+ "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-4.2.18.tgz",
+ "integrity": "sha512-iPz34GEhTZGW33Oi25IUgW1suGFuQZoDoCjn82BEI7Ck83CvJisrrxYv3WLjHA/wz8g82wy8WsUyRiTGajUZdw==",
"dev": true,
"dependencies": {
"@jsdoc/salty": "^0.2.4",
@@ -2123,6 +2090,57 @@
"node": ">= 8"
}
},
+ "node_modules/data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -2170,17 +2188,20 @@
}
},
"node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-properties": {
@@ -2249,9 +2270,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.597",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.597.tgz",
- "integrity": "sha512-0XOQNqHhg2YgRVRUrS4M4vWjFCFIP2ETXcXe/0KIQBjXE9Cpy+tgzzYfuq6HGai3hWq0YywtG+5XK8fyG08EjA==",
+ "version": "1.4.726",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.726.tgz",
+ "integrity": "sha512-xtjfBXn53RORwkbyKvDfTajtnTp0OJoPOIBzXvkNbb7+YYvCHJflba3L7Txyx/6Fov3ov2bGPr/n5MTixmPhdQ==",
"dev": true
},
"node_modules/emittery": {
@@ -2294,50 +2315,57 @@
}
},
"node_modules/es-abstract": {
- "version": "1.22.3",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
- "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
- "dev": true,
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "arraybuffer.prototype.slice": "^1.0.2",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.5",
- "es-set-tostringtag": "^2.0.1",
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "data-view-buffer": "^1.0.1",
+ "data-view-byte-length": "^1.0.1",
+ "data-view-byte-offset": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-set-tostringtag": "^2.0.3",
"es-to-primitive": "^1.2.1",
"function.prototype.name": "^1.1.6",
- "get-intrinsic": "^1.2.2",
- "get-symbol-description": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "hasown": "^2.0.0",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-data-view": "^1.0.1",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "is-shared-array-buffer": "^1.0.3",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.12",
+ "is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
"object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.1",
- "safe-array-concat": "^1.0.1",
- "safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.8",
- "string.prototype.trimend": "^1.0.7",
- "string.prototype.trimstart": "^1.0.7",
- "typed-array-buffer": "^1.0.0",
- "typed-array-byte-length": "^1.0.0",
- "typed-array-byte-offset": "^1.0.0",
- "typed-array-length": "^1.0.4",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.2",
+ "safe-regex-test": "^1.0.3",
+ "string.prototype.trim": "^1.2.9",
+ "string.prototype.trimend": "^1.0.8",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.6",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.13"
+ "which-typed-array": "^1.1.15"
},
"engines": {
"node": ">= 0.4"
@@ -2346,37 +2374,73 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-iterator-helpers": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
- "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "version": "1.0.18",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz",
+ "integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==",
"dev": true,
"dependencies": {
- "asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.1",
- "es-set-tostringtag": "^2.0.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
+ "internal-slot": "^1.0.7",
"iterator.prototype": "^1.1.2",
- "safe-array-concat": "^1.0.1"
+ "safe-array-concat": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/es-set-tostringtag": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
- "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.2",
- "has-tostringtag": "^1.0.0",
- "hasown": "^2.0.0"
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -2409,9 +2473,9 @@
}
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"dev": true,
"engines": {
"node": ">=6"
@@ -2427,16 +2491,16 @@
}
},
"node_modules/eslint": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz",
- "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.3",
- "@eslint/js": "8.54.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -2555,9 +2619,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"dependencies": {
"debug": "^3.2.7"
@@ -2624,9 +2688,9 @@
}
},
"node_modules/eslint-plugin-import": {
- "version": "2.29.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz",
- "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==",
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
+ "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
"dev": true,
"dependencies": {
"array-includes": "^3.1.7",
@@ -2645,7 +2709,7 @@
"object.groupby": "^1.0.1",
"object.values": "^1.1.7",
"semver": "^6.3.1",
- "tsconfig-paths": "^3.14.2"
+ "tsconfig-paths": "^3.15.0"
},
"engines": {
"node": ">=4"
@@ -2713,9 +2777,9 @@
}
},
"node_modules/eslint-plugin-n/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -2746,27 +2810,29 @@
}
},
"node_modules/eslint-plugin-react": {
- "version": "7.33.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
- "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
+ "version": "7.34.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz",
+ "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==",
"dev": true,
"dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlast": "^1.2.4",
+ "array.prototype.flatmap": "^1.3.2",
+ "array.prototype.toreversed": "^1.1.2",
+ "array.prototype.tosorted": "^1.1.3",
"doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.12",
+ "es-iterator-helpers": "^1.0.17",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7",
+ "object.hasown": "^1.1.3",
+ "object.values": "^1.1.7",
"prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
+ "resolve": "^2.0.0-next.5",
"semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.8"
+ "string.prototype.matchall": "^4.0.10"
},
"engines": {
"node": ">=4"
@@ -2894,9 +2960,9 @@
}
},
"node_modules/eslint/node_modules/globals": {
- "version": "13.23.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
- "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -3101,9 +3167,9 @@
"dev": true
},
"node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@@ -3170,15 +3236,15 @@
}
},
"node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"node_modules/follow-redirects": {
- "version": "1.15.5",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
- "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -3305,16 +3371,20 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dev": true,
"dependencies": {
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -3353,13 +3423,14 @@
}
},
"node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
@@ -3467,21 +3538,21 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -3503,12 +3574,12 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -3518,9 +3589,9 @@
}
},
"node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
"dependencies": {
"function-bind": "^1.1.2"
@@ -3578,9 +3649,9 @@
}
},
"node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -3656,12 +3727,12 @@
"dev": true
},
"node_modules/internal-slot": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
- "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
"dependencies": {
- "get-intrinsic": "^1.2.2",
+ "es-errors": "^1.3.0",
"hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
@@ -3670,14 +3741,16 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3756,6 +3829,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-data-view": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
+ "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
+ "dev": true,
+ "dependencies": {
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-date-object": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
@@ -3838,18 +3926,21 @@
}
},
"node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
"engines": {
"node": ">= 0.4"
@@ -3908,21 +3999,27 @@
}
},
"node_modules/is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3971,12 +4068,12 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
"dependencies": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -3986,10 +4083,13 @@
}
},
"node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4007,13 +4107,16 @@
}
},
"node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4041,14 +4144,14 @@
}
},
"node_modules/istanbul-lib-instrument": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
- "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz",
+ "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
+ "@babel/core": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@istanbuljs/schema": "^0.1.3",
"istanbul-lib-coverage": "^3.2.0",
"semver": "^7.5.4"
},
@@ -4069,9 +4172,9 @@
}
},
"node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -4118,9 +4221,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
- "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
"dependencies": {
"html-escaper": "^2.0.0",
@@ -4616,9 +4719,9 @@
}
},
"node_modules/jest-snapshot/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -5077,9 +5180,9 @@
}
},
"node_modules/make-dir/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -5268,9 +5371,9 @@
}
},
"node_modules/nock": {
- "version": "13.4.0",
- "resolved": "https://registry.npmjs.org/nock/-/nock-13.4.0.tgz",
- "integrity": "sha512-W8NVHjO/LCTNA64yxAPHV/K47LpGYcVzgKd3Q0n6owhwvD0Dgoterc25R4rnZbckJEb6Loxz1f5QMuJpJnbSyQ==",
+ "version": "13.5.4",
+ "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.4.tgz",
+ "integrity": "sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==",
"dev": true,
"dependencies": {
"debug": "^4.1.0",
@@ -5288,9 +5391,9 @@
"dev": true
},
"node_modules/node-releases": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
- "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
"dev": true
},
"node_modules/normalize-path": {
@@ -5342,13 +5445,13 @@
}
},
"node_modules/object.assign": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
- "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
"has-symbols": "^1.0.3",
"object-keys": "^1.1.1"
},
@@ -5360,28 +5463,29 @@
}
},
"node_modules/object.entries": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz",
- "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==",
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
+ "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/object.fromentries": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz",
- "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -5391,39 +5495,45 @@
}
},
"node_modules/object.groupby": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
- "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
+ "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/object.hasown": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
- "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz",
+ "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==",
"dev": true,
"dependencies": {
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/object.values": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz",
- "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
+ "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -5729,6 +5839,15 @@
"node": ">=8"
}
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -5818,9 +5937,9 @@
}
},
"node_modules/pure-rand": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz",
- "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+ "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
"dev": true,
"funding": [
{
@@ -5860,15 +5979,16 @@
"dev": true
},
"node_modules/reflect.getprototypeof": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
- "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
+ "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.1",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
},
@@ -5880,14 +6000,15 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -6031,13 +6152,13 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
- "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
},
@@ -6049,15 +6170,18 @@
}
},
"node_modules/safe-regex-test": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz",
- "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.3",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -6072,29 +6196,32 @@
}
},
"node_modules/set-function-length": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
- "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dev": true,
"dependencies": {
- "define-data-property": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dev": true,
"dependencies": {
- "define-data-property": "^1.0.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -6147,14 +6274,18 @@
}
},
"node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6312,34 +6443,41 @@
}
},
"node_modules/string.prototype.matchall": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
- "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==",
+ "version": "4.0.11",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz",
+ "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
- "regexp.prototype.flags": "^1.5.0",
- "set-function-name": "^2.0.0",
- "side-channel": "^1.0.4"
+ "internal-slot": "^1.0.7",
+ "regexp.prototype.flags": "^1.5.2",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trim": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
- "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
+ "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.0",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -6349,28 +6487,31 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
- "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
+ "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
- "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6443,9 +6584,9 @@
}
},
"node_modules/terser": {
- "version": "5.24.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz",
- "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
+ "version": "5.30.3",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.3.tgz",
+ "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==",
"dev": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -6524,9 +6665,9 @@
}
},
"node_modules/tsconfig-paths": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
- "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
+ "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
"dependencies": {
"@types/json5": "^0.0.29",
@@ -6596,29 +6737,30 @@
}
},
"node_modules/typed-array-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
- "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
- "is-typed-array": "^1.1.10"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/typed-array-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
- "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@@ -6628,16 +6770,17 @@
}
},
"node_modules/typed-array-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
- "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@@ -6647,14 +6790,20 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -6831,31 +6980,34 @@
}
},
"node_modules/which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -6901,9 +7053,9 @@
}
},
"node_modules/ws": {
- "version": "8.14.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
- "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+ "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
"engines": {
"node": ">=10.0.0"
},
diff --git a/package.json b/package.json
index 817fe6a..3faeeea 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@binance/connector",
- "version": "3.2.0",
+ "version": "3.3.0",
"description": "This is a lightweight library that works as a connector to the Binance public API.",
"main": "src/index.js",
"scripts": {
diff --git a/src/modules/restful/index.js b/src/modules/restful/index.js
index aa17535..64de468 100644
--- a/src/modules/restful/index.js
+++ b/src/modules/restful/index.js
@@ -19,3 +19,4 @@ module.exports.Rebate = require('./rebate')
module.exports.NFT = require('./nft')
module.exports.GiftCard = require('./giftCard')
module.exports.PortfolioMargin = require('./portfolioMargin')
+module.exports.SimpleEarn = require('./simpleEarn')
diff --git a/src/modules/restful/simpleEarn.js b/src/modules/restful/simpleEarn.js
new file mode 100644
index 0000000..454ed1f
--- /dev/null
+++ b/src/modules/restful/simpleEarn.js
@@ -0,0 +1,550 @@
+'use strict'
+
+const { validateRequiredParameters } = require('../../helpers/validation')
+
+/**
+ * API Simple Earn endpoints
+ * @module SimpleEarn
+ * @param {*} superclass
+ */
+const SimpleEarn = superclass => class extends superclass {
+ /**
+ * Get Simple Earn Flexible Product List (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/list
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-flexible-product-list-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.asset]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleProductList (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/list',
+ options
+ )
+ }
+
+ /**
+ * Get Simple Earn Locked Product List (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/list
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-simple-earn-locked-product-list-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.asset]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedProductList (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/list',
+ options
+ )
+ }
+
+ /**
+ * Subscribe Flexible Product (TRADE)
+ *
+ * POST /sapi/v1/simple-earn/flexible/subscribe
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#subscribe-flexible-product-trade}
+ *
+ * @param {string} productId
+ * @param {number} amount
+ * @param {object} [options]
+ * @param {boolean} [options.autoSubscribe]
+ * @param {string} [options.sourceAccount]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ subscribeFlexibleProduct (productId, amount, options = {}) {
+ validateRequiredParameters({ productId, amount })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/flexible/subscribe',
+ Object.assign(options, { productId, amount })
+ )
+ }
+
+ /**
+ * Subscribe Locked Product (TRADE)
+ *
+ * POST /sapi/v1/simple-earn/locked/subscribe
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#subscribe-locked-product-trade}
+ *
+ * @param {string} projectId
+ * @param {number} amount
+ * @param {object} [options]
+ * @param {boolean} [options.autoSubscribe]
+ * @param {string} [options.sourceAccount]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ subscribeLockedProduct (projectId, amount, options = {}) {
+ validateRequiredParameters({ projectId, amount })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/locked/subscribe',
+ Object.assign(options, { projectId, amount })
+ )
+ }
+
+ /**
+ * Redeem Flexible Product (TRADE)
+ *
+ * POST /sapi/v1/simple-earn/flexible/redeem
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#redeem-flexible-product-trade}
+ *
+ * @param {string} productId
+ * @param {object} [options]
+ * @param {boolean} [options.redeemAll] // true or false, default to false
+ * @param {number} [options.amount] // if redeemAll is false, amount is mandatory
+ * @param {string} [options.destAccount]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ redeemFlexibleProduct (productId, options = {}) {
+ validateRequiredParameters({ productId })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/flexible/redeem',
+ Object.assign(options, { productId })
+ )
+ }
+
+ /**
+ * Redeem Locked Product (TRADE)
+ *
+ * POST /sapi/v1/simple-earn/locked/redeem
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#redeem-locked-product-trade}
+ *
+ * @param {string} positionId
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ redeemLockedProduct (positionId, options = {}) {
+ validateRequiredParameters({ positionId })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/locked/redeem',
+ Object.assign(options, { positionId })
+ )
+ }
+
+ /**
+ * Get Flexible Product Position (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/position
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-product-position-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.asset]
+ * @param {string} [options.productId]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleProductPosition (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/position',
+ options
+ )
+ }
+
+ /**
+ * Get Locked Product Position (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/position
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-product-position-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.asset]
+ * @param {string} [options.positionId]
+ * @param {string} [options.projectId]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedProductPosition (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/position',
+ options
+ )
+ }
+
+ /**
+ * Get Simple Account (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/account
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#simple-account-user_data}
+ *
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getSimpleAccount (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/account',
+ options
+ )
+ }
+
+ /**
+ * Get Flexible Subscription Record (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/history/subscriptionRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-subscription-record-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.productId]
+ * @param {string} [options.purchaseId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleSubscriptionRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/history/subscriptionRecord',
+ options
+ )
+ }
+
+ /**
+ * Get Locked Subscription Record (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/history/subscriptionRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-subscription-record-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.purchaseId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedSubscriptionRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/history/subscriptionRecord',
+ options
+ )
+ }
+
+ /**
+ * Get Flexible Redemption Record (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/history/redemptionRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-redemption-record-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.productId]
+ * @param {string} [options.redeemId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleRedemptionRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/history/redemptionRecord',
+ options
+ )
+ }
+
+ /**
+ * Get Locked Redemption Record (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/history/redemptionRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-redemption-record-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.positionId]
+ * @param {string} [options.redeemId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedRedemptionRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/history/redemptionRecord',
+ options
+ )
+ }
+
+ /**
+ * Get Flexible Rewards History (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/history/rewardsRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-rewards-history-user_data}
+ *
+ * @param {string} type
+ * @param {object} [options]
+ * @param {string} [options.productId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleRewardsRecord (type, options = {}) {
+ validateRequiredParameters({ type })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/history/rewardsRecord',
+ Object.assign(options, { type })
+ )
+ }
+
+ /**
+ * Get Locked Rewards History (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/history/rewardsRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-rewards-history-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.positionId]
+ * @param {string} [options.asset]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedRewardsRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/history/rewardsRecord',
+ options
+ )
+ }
+
+ /**
+ * Set Flexible Auto Subscribe (USER_DATA)
+ *
+ * POST /sapi/v1/simple-earn/flexible/setAutoSubscribe
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#set-flexible-auto-subscribe-user_data}
+ *
+ * @param {string} productId
+ * @param {boolean} autoSubscribe
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ setFlexibleAutoSubscribe (productId, autoSubscribe, options = {}) {
+ validateRequiredParameters({ productId, autoSubscribe })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/flexible/setAutoSubscribe',
+ Object.assign(options, { productId, autoSubscribe })
+ )
+ }
+
+ /**
+ * Set Locked Auto Subscribe (USER_DATA)
+ *
+ * POST /sapi/v1/simple-earn/locked/setAutoSubscribe
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#set-locked-auto-subscribe-user_data}
+ *
+ * @param {string} positionId
+ * @param {boolean} autoSubscribe
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ setLockedAutoSubscribe (positionId, autoSubscribe, options = {}) {
+ validateRequiredParameters({ positionId, autoSubscribe })
+ return this.signRequest(
+ 'POST',
+ '/sapi/v1/simple-earn/locked/setAutoSubscribe',
+ Object.assign(options, { positionId, autoSubscribe })
+ )
+ }
+
+ /**
+ * Get Flexible Personal Left Quota (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/personalLeftQuota
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-personal-left-quota-user_data}
+ *
+ * @param {string} productId
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexiblePersonalLeftQuota (productId, options = {}) {
+ validateRequiredParameters({ productId })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/personalLeftQuota',
+ Object.assign(options, { productId })
+ )
+ }
+
+ /**
+ * Get Locked Personal Left Quota (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/personalLeftQuota
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-personal-left-quota-user_data}
+ *
+ * @param {string} projectId
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedPersonalLeftQuota (projectId, options = {}) {
+ validateRequiredParameters({ projectId })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/personalLeftQuota',
+ Object.assign(options, { projectId })
+ )
+ }
+
+ /**
+ * Get Flexible Subscription Preview (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/subscriptionPreview
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-flexible-subscription-preview-user_data}
+ *
+ * @param {string} productId
+ * @param {number} amount
+ * @param {object} [options]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getFlexibleSubscriptionPreview (productId, amount, options = {}) {
+ validateRequiredParameters({ productId, amount })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/subscriptionPreview',
+ Object.assign(options, { productId, amount })
+ )
+ }
+
+ /**
+ * Get Locked Subscription Preview (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/locked/subscriptionPreview
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-locked-subscription-preview-user_data}
+ *
+ * @param {string} projectId
+ * @param {number} amount
+ * @param {object} [options]
+ * @param {boolean} [options.autoSubscribe]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getLockedSubscriptionPreview (projectId, amount, options = {}) {
+ validateRequiredParameters({ projectId, amount })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/locked/subscriptionPreview',
+ Object.assign(options, { projectId, amount })
+ )
+ }
+
+ /**
+ * Get Rate History (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/history/rateHistory
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-rate-history-user_data}
+ *
+ * @param {string} productId
+ * @param {object} [options]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getRateHistory (productId, options = {}) {
+ validateRequiredParameters({ productId })
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/history/rateHistory',
+ Object.assign(options, { productId })
+ )
+ }
+
+ /**
+ * Get Collateral Record (USER_DATA)
+ *
+ * GET /sapi/v1/simple-earn/flexible/history/collateralRecord
+ *
+ * {@link https://binance-docs.github.io/apidocs/spot/en/#get-collateral-record-user_data}
+ *
+ * @param {object} [options]
+ * @param {string} [options.productId]
+ * @param {number} [options.startTime]
+ * @param {number} [options.endTime]
+ * @param {number} [options.current]
+ * @param {number} [options.size]
+ * @param {number} [options.recvWindow]
+ *
+ */
+ getCollateralRecord (options = {}) {
+ return this.signRequest(
+ 'GET',
+ '/sapi/v1/simple-earn/flexible/history/collateralRecord',
+ options
+ )
+ }
+}
+
+module.exports = SimpleEarn