@lidofinance/lsv-cli 1.0.0-alpha.55 → 1.0.0-alpha.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/vault-operations/vault-overview.js +42 -10
- package/dist/features/vault-operations/vault-overview.js.map +1 -1
- package/dist/utils/calculate-overview-v2.d.ts +2 -6
- package/dist/utils/calculate-overview-v2.js +22 -18
- package/dist/utils/calculate-overview-v2.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/report/report.js +3 -2
- package/dist/utils/report/report.js.map +1 -1
- package/dist/utils/snake-to-camel.d.ts +6 -0
- package/dist/utils/snake-to-camel.js +9 -0
- package/dist/utils/snake-to-camel.js.map +1 -0
- package/dist/version/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { formatEther } from 'viem';
|
|
2
|
-
import { getStethContract, getVaultHubContract, } from '../../contracts/index.js';
|
|
2
|
+
import { getOperatorGridContract, getStethContract, getVaultHubContract, } from '../../contracts/index.js';
|
|
3
3
|
import { getPublicClient } from '../../providers/index.js';
|
|
4
4
|
import { fetchAndCalculateVaultHealth, formatBP, formatRatio, showSpinner, logInfo, logTable, logResult, logLiabilityBar, logVaultHealthBar, printError, calculateOverviewV2, callReadMethodSilent, } from '../../utils/index.js';
|
|
5
5
|
export const getVaultOverviewByDashboard = async (contract) => {
|
|
@@ -7,7 +7,8 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
7
7
|
const publicClient = getPublicClient();
|
|
8
8
|
try {
|
|
9
9
|
const health = await fetchAndCalculateVaultHealth(contract);
|
|
10
|
-
const
|
|
10
|
+
const operatorGridContract = await getOperatorGridContract();
|
|
11
|
+
const [vault, nodeOperatorFeeRate, reserveRatioBP, totalMintingCapacityShares, withdrawableValue, nodeOperatorDisbursableFee, totalValue, locked, shareLimit, remainingMintingCapacityShares,] = await Promise.all([
|
|
11
12
|
contract.read.stakingVault(),
|
|
12
13
|
contract.read.nodeOperatorFeeRate(),
|
|
13
14
|
contract.read.reserveRatioBP(),
|
|
@@ -16,6 +17,8 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
16
17
|
contract.read.nodeOperatorDisbursableFee(),
|
|
17
18
|
contract.read.totalValue(),
|
|
18
19
|
contract.read.locked(),
|
|
20
|
+
contract.read.shareLimit(),
|
|
21
|
+
contract.read.remainingMintingCapacityShares([0n]),
|
|
19
22
|
]);
|
|
20
23
|
const stethContract = await getStethContract();
|
|
21
24
|
const vaultHubContract = await getVaultHubContract();
|
|
@@ -23,21 +26,32 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
23
26
|
address: vault,
|
|
24
27
|
});
|
|
25
28
|
const vaultObligation = await callReadMethodSilent(vaultHubContract, 'vaultObligations', [vault]);
|
|
26
|
-
const
|
|
27
|
-
|
|
29
|
+
const tierInfo = await callReadMethodSilent(operatorGridContract, 'vaultInfo', [vault]);
|
|
30
|
+
const isNoHaveGroup = tierInfo[0] === '0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF';
|
|
31
|
+
const nodeOperatorGroup = await callReadMethodSilent(operatorGridContract, 'group', [tierInfo[0]]);
|
|
32
|
+
const [totalMintingCapacityStethWei, shareLimitStethWei, tierShareLimitStethWei, groupShareLimitStethWei, remainingMintingCapacityStethWei,] = await Promise.all([
|
|
33
|
+
stethContract.read.getPooledEthBySharesRoundUp([
|
|
34
|
+
totalMintingCapacityShares,
|
|
35
|
+
]),
|
|
36
|
+
stethContract.read.getPooledEthBySharesRoundUp([shareLimit]),
|
|
37
|
+
stethContract.read.getPooledEthBySharesRoundUp([tierInfo[2]]),
|
|
38
|
+
stethContract.read.getPooledEthBySharesRoundUp([
|
|
39
|
+
nodeOperatorGroup.shareLimit,
|
|
40
|
+
]),
|
|
41
|
+
stethContract.read.getPooledEthBySharesRoundUp([
|
|
42
|
+
remainingMintingCapacityShares,
|
|
43
|
+
]),
|
|
28
44
|
]);
|
|
29
45
|
const overview = calculateOverviewV2({
|
|
30
46
|
totalValue,
|
|
31
47
|
reserveRatioBP,
|
|
32
48
|
liabilitySharesInStethWei: health.liabilitySharesInStethWei,
|
|
33
|
-
liabilitySharesInWei: health.liabilitySharesInWei,
|
|
34
49
|
forceRebalanceThresholdBP: health.forceRebalanceThresholdBP,
|
|
35
50
|
withdrawableEther: withdrawableValue,
|
|
36
51
|
balance,
|
|
37
52
|
locked,
|
|
38
53
|
nodeOperatorDisbursableFee,
|
|
39
54
|
totalMintingCapacityStethWei,
|
|
40
|
-
totalMintingCapacitySharesInWei: totalMintingCapacityShares,
|
|
41
55
|
unsettledLidoFees: vaultObligation.unsettledLidoFees,
|
|
42
56
|
});
|
|
43
57
|
hideSpinner();
|
|
@@ -51,6 +65,8 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
51
65
|
'Force Rebalance Threshold',
|
|
52
66
|
formatBP(health.forceRebalanceThresholdBP),
|
|
53
67
|
],
|
|
68
|
+
['stVault Share Limit, stETH', formatEther(shareLimitStethWei)],
|
|
69
|
+
['stVault Share Limit, Shares', formatEther(shareLimit)],
|
|
54
70
|
['Node Operator Fee Rate, %', formatBP(nodeOperatorFeeRate)],
|
|
55
71
|
['Utilization Ratio, %', formatRatio(overview.utilizationRatio)],
|
|
56
72
|
['Total Value, ETH', formatEther(totalValue)],
|
|
@@ -58,12 +74,13 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
58
74
|
['Liability, Shares', formatEther(health.liabilitySharesInWei)],
|
|
59
75
|
[
|
|
60
76
|
'Available To Withdrawal, ETH',
|
|
61
|
-
formatEther(overview.
|
|
77
|
+
formatEther(overview.availableToWithdrawal),
|
|
62
78
|
],
|
|
63
79
|
['Idle Capital, ETH', formatEther(overview.idleCapital)],
|
|
80
|
+
['Locked, ETH', formatEther(locked)],
|
|
64
81
|
['Total Locked, ETH', formatEther(overview.totalLocked)],
|
|
65
82
|
['Collateral, ETH', formatEther(overview.collateral)],
|
|
66
|
-
['
|
|
83
|
+
['Recently Repaid, ETH', formatEther(overview.recentlyRepaid)],
|
|
67
84
|
[
|
|
68
85
|
'Node Operator Disbursable Fee, ETH',
|
|
69
86
|
formatEther(nodeOperatorDisbursableFee),
|
|
@@ -75,7 +92,11 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
75
92
|
],
|
|
76
93
|
[
|
|
77
94
|
'Remaining Minting Capacity, stETH',
|
|
78
|
-
formatEther(
|
|
95
|
+
formatEther(remainingMintingCapacityStethWei),
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
'Remaining Minting Capacity, Shares',
|
|
99
|
+
formatEther(remainingMintingCapacityShares),
|
|
79
100
|
],
|
|
80
101
|
[
|
|
81
102
|
'Unsettled Lido Fees, ETH',
|
|
@@ -86,6 +107,17 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
86
107
|
formatEther(vaultObligation.settledLidoFees),
|
|
87
108
|
],
|
|
88
109
|
['Redemptions, ETH', formatEther(vaultObligation.redemptions)],
|
|
110
|
+
['Tier ID', tierInfo[1]],
|
|
111
|
+
['Tier Share Limit, stETH', formatEther(tierShareLimitStethWei)],
|
|
112
|
+
['Tier Share Limit, Shares', formatEther(tierInfo[2])],
|
|
113
|
+
[
|
|
114
|
+
'Group Share Limit, stETH',
|
|
115
|
+
isNoHaveGroup ? 'N/A' : formatEther(groupShareLimitStethWei),
|
|
116
|
+
],
|
|
117
|
+
[
|
|
118
|
+
'Group Share Limit, Shares',
|
|
119
|
+
isNoHaveGroup ? 'N/A' : formatEther(nodeOperatorGroup.shareLimit),
|
|
120
|
+
],
|
|
89
121
|
],
|
|
90
122
|
});
|
|
91
123
|
logLiabilityBar({
|
|
@@ -100,7 +132,7 @@ export const getVaultOverviewByDashboard = async (contract) => {
|
|
|
100
132
|
console.info('\n');
|
|
101
133
|
}
|
|
102
134
|
catch (err) {
|
|
103
|
-
hideSpinner();
|
|
135
|
+
// hideSpinner();
|
|
104
136
|
printError(err, 'Error when getting overview');
|
|
105
137
|
}
|
|
106
138
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-overview.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAEL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,QAA2B,EAC3B,EAAE;IACF,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,CACJ,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,UAAU,EACV,MAAM,
|
|
1
|
+
{"version":3,"file":"vault-overview.js","sourceRoot":"","sources":["../../../features/vault-operations/vault-overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,28 +2,24 @@ type OverviewArgs = {
|
|
|
2
2
|
totalValue: bigint;
|
|
3
3
|
reserveRatioBP: number;
|
|
4
4
|
liabilitySharesInStethWei: bigint;
|
|
5
|
-
liabilitySharesInWei: bigint;
|
|
6
5
|
forceRebalanceThresholdBP: number;
|
|
7
6
|
withdrawableEther: bigint;
|
|
8
7
|
balance: bigint;
|
|
9
8
|
locked: bigint;
|
|
10
9
|
nodeOperatorDisbursableFee: bigint;
|
|
11
10
|
totalMintingCapacityStethWei: bigint;
|
|
12
|
-
totalMintingCapacitySharesInWei: bigint;
|
|
13
11
|
unsettledLidoFees: bigint;
|
|
14
12
|
};
|
|
15
13
|
export declare const calculateOverviewV2: (args: OverviewArgs) => {
|
|
16
14
|
healthRatio: number;
|
|
17
15
|
isHealthy: boolean;
|
|
18
|
-
|
|
16
|
+
availableToWithdrawal: bigint;
|
|
19
17
|
idleCapital: bigint;
|
|
20
18
|
totalLocked: bigint;
|
|
21
19
|
collateral: bigint;
|
|
22
|
-
|
|
20
|
+
recentlyRepaid: bigint;
|
|
23
21
|
utilizationRatio: number;
|
|
24
22
|
reserved: bigint;
|
|
25
23
|
totalMintingCapacityStethWei: bigint;
|
|
26
|
-
remainingMintingCapacitySteth: bigint;
|
|
27
|
-
remainingMintingCapacityShares: bigint;
|
|
28
24
|
};
|
|
29
25
|
export {};
|
|
@@ -1,55 +1,59 @@
|
|
|
1
1
|
import { parseEther } from 'viem';
|
|
2
2
|
import { calculateHealth } from './health/calculate-health.js';
|
|
3
|
-
const
|
|
4
|
-
const DECIMALS = 18n;
|
|
5
|
-
const SCALING_FACTOR = 10n ** DECIMALS;
|
|
3
|
+
const BASIS_POINTS = 10000n;
|
|
6
4
|
const bigIntMax = (...args) => args.reduce((a, b) => (a > b ? a : b));
|
|
7
5
|
const bigIntMin = (...args) => args.reduce((a, b) => (a < b ? a : b));
|
|
6
|
+
/**
|
|
7
|
+
* Performs division with rounding up (ceiling division) for bigint values
|
|
8
|
+
* @param numerator - The dividend
|
|
9
|
+
* @param denominator - The divisor
|
|
10
|
+
* @returns The result of division rounded up
|
|
11
|
+
*/
|
|
12
|
+
const ceilDiv = (numerator, denominator) => {
|
|
13
|
+
const result = numerator / denominator;
|
|
14
|
+
return numerator % denominator === 0n ? result : result + 1n;
|
|
15
|
+
};
|
|
8
16
|
export const calculateOverviewV2 = (args) => {
|
|
9
|
-
const { totalValue, reserveRatioBP, liabilitySharesInStethWei,
|
|
17
|
+
const { totalValue, reserveRatioBP, liabilitySharesInStethWei, forceRebalanceThresholdBP, withdrawableEther, balance, locked, nodeOperatorDisbursableFee, totalMintingCapacityStethWei, unsettledLidoFees, } = args;
|
|
10
18
|
const { healthRatio, isHealthy } = calculateHealth({
|
|
11
19
|
totalValue,
|
|
12
20
|
liabilitySharesInStethWei,
|
|
13
21
|
forceRebalanceThresholdBP,
|
|
14
22
|
});
|
|
15
|
-
const
|
|
23
|
+
const availableToWithdrawal = withdrawableEther;
|
|
16
24
|
const idleCapital = balance;
|
|
17
25
|
const totalLocked = locked + nodeOperatorDisbursableFee + unsettledLidoFees;
|
|
18
|
-
const RR =
|
|
19
|
-
const oneMinusRR =
|
|
26
|
+
const RR = BigInt(reserveRatioBP);
|
|
27
|
+
const oneMinusRR = BASIS_POINTS - RR;
|
|
20
28
|
const liabilityDivOneMinusRR = oneMinusRR === 0n
|
|
21
29
|
? 0n
|
|
22
|
-
: (liabilitySharesInStethWei *
|
|
30
|
+
: ceilDiv(liabilitySharesInStethWei * BASIS_POINTS, oneMinusRR);
|
|
23
31
|
const collateral = bigIntMax(parseEther('1'), liabilityDivOneMinusRR);
|
|
24
|
-
const
|
|
32
|
+
const recentlyRepaid = liabilityDivOneMinusRR <= parseEther('1')
|
|
25
33
|
? bigIntMax(locked - parseEther('1'), 0n)
|
|
26
34
|
: bigIntMax(locked - liabilityDivOneMinusRR, 0n);
|
|
27
|
-
const remainingMintingCapacityShares = totalMintingCapacitySharesInWei - liabilitySharesInWei;
|
|
28
|
-
const remainingMintingCapacitySteth = totalMintingCapacityStethWei - liabilitySharesInStethWei;
|
|
29
35
|
const reservedByFormula = oneMinusRR === 0n
|
|
30
36
|
? 0n
|
|
31
|
-
: (liabilitySharesInStethWei *
|
|
37
|
+
: ceilDiv(liabilitySharesInStethWei * BASIS_POINTS, oneMinusRR) -
|
|
32
38
|
liabilitySharesInStethWei;
|
|
33
39
|
const reserved = bigIntMin(totalValue - liabilitySharesInStethWei, reservedByFormula);
|
|
34
40
|
// Prevent division by 0
|
|
35
41
|
const utilizationRatio = totalMintingCapacityStethWei === 0n
|
|
36
42
|
? 0
|
|
37
|
-
: Number(((liabilitySharesInStethWei *
|
|
43
|
+
: Number(((liabilitySharesInStethWei * BASIS_POINTS) /
|
|
38
44
|
totalMintingCapacityStethWei) *
|
|
39
|
-
100n) / Number(
|
|
45
|
+
100n) / Number(BASIS_POINTS);
|
|
40
46
|
return {
|
|
41
47
|
healthRatio,
|
|
42
48
|
isHealthy,
|
|
43
|
-
|
|
49
|
+
availableToWithdrawal,
|
|
44
50
|
idleCapital,
|
|
45
51
|
totalLocked,
|
|
46
52
|
collateral,
|
|
47
|
-
|
|
53
|
+
recentlyRepaid,
|
|
48
54
|
utilizationRatio,
|
|
49
55
|
reserved,
|
|
50
56
|
totalMintingCapacityStethWei,
|
|
51
|
-
remainingMintingCapacitySteth,
|
|
52
|
-
remainingMintingCapacityShares,
|
|
53
57
|
};
|
|
54
58
|
};
|
|
55
59
|
//# sourceMappingURL=calculate-overview-v2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate-overview-v2.js","sourceRoot":"","sources":["../../utils/calculate-overview-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"calculate-overview-v2.js","sourceRoot":"","sources":["../../utils/calculate-overview-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchIPFS, IPFS_GATEWAY, logInfo } from '../index.js';
|
|
1
|
+
import { fetchIPFS, IPFS_GATEWAY, logInfo, snakeToCamel } from '../index.js';
|
|
2
2
|
export const getVaultReport = async (args, cache = true) => {
|
|
3
3
|
const { vault, cid, gateway = IPFS_GATEWAY, bigNumberType = 'string' } = args;
|
|
4
4
|
const report = await fetchIPFS({
|
|
@@ -46,7 +46,8 @@ export const getVaultData = (report, vault) => {
|
|
|
46
46
|
if (value === undefined) {
|
|
47
47
|
throw new Error(`Missing value at index ${index} for field "${fieldName}"`);
|
|
48
48
|
}
|
|
49
|
-
|
|
49
|
+
const camelCaseFieldName = snakeToCamel(fieldName);
|
|
50
|
+
data[camelCaseFieldName] = value.toString();
|
|
50
51
|
}
|
|
51
52
|
return {
|
|
52
53
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/report/report.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../utils/report/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts snake_case string to camelCase
|
|
3
|
+
* @param str - The snake_case string to convert
|
|
4
|
+
* @returns The camelCase version of the string
|
|
5
|
+
*/
|
|
6
|
+
export const snakeToCamel = (str) => {
|
|
7
|
+
return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=snake-to-camel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snake-to-camel.js","sourceRoot":"","sources":["../../utils/snake-to-camel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC"}
|
package/dist/version/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'v1.0.0-alpha.
|
|
1
|
+
export const version = 'v1.0.0-alpha.57'
|