Skip to content

Commit c68e705

Browse files
feat: add toFloat and fromFloat to BZZ and DAI classes (#1153)
* feat: add toFloat and fromFloat to BZZ and DAI classes * test: update test coverage --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 471d5ce commit c68e705

4 files changed

Lines changed: 23 additions & 7 deletions

File tree

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
},
6363
"dependencies": {
6464
"axios": "^1.15.1",
65-
"cafe-utility": "^33.6.1",
65+
"cafe-utility": "^33.9.0",
6666
"debug": "^4.4.1",
6767
"isomorphic-ws": "^4.0.1",
6868
"semver": "^7.3.5",

src/utils/tokens.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ export class BZZ {
1818
return new BZZ(new FixedPointNumber(plur, BZZ.DIGITS))
1919
}
2020

21+
public static fromFloat(float: number) {
22+
return new BZZ(FixedPointNumber.fromFloat(float, BZZ.DIGITS))
23+
}
24+
2125
public toPLURString() {
2226
return this.state.toString()
2327
}
@@ -30,6 +34,10 @@ export class BZZ {
3034
return this.state.toDecimalString()
3135
}
3236

37+
public toFloat() {
38+
return this.state.toFloat()
39+
}
40+
3341
public toSignificantDigits(digits: number) {
3442
return this.toDecimalString().slice(0, this.toDecimalString().indexOf('.') + digits + 1)
3543
}
@@ -108,6 +116,10 @@ export class DAI {
108116
return new DAI(new FixedPointNumber(wei, DAI.DIGITS))
109117
}
110118

119+
public static fromFloat(float: number) {
120+
return new DAI(FixedPointNumber.fromFloat(float, DAI.DIGITS))
121+
}
122+
111123
public toWeiString() {
112124
return this.state.toString()
113125
}
@@ -124,6 +136,10 @@ export class DAI {
124136
return this.toDecimalString().slice(0, this.toDecimalString().indexOf('.') + digits + 1)
125137
}
126138

139+
public toFloat() {
140+
return this.state.toFloat()
141+
}
142+
127143
/**
128144
* Does not mutate the current DAI instance.
129145
*

test/coverage/coverage-summary.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{"total": {"lines":{"total":2521,"covered":2054,"skipped":0,"pct":81.47},"statements":{"total":2566,"covered":2095,"skipped":0,"pct":81.64},"functions":{"total":615,"covered":489,"skipped":0,"pct":79.51},"branches":{"total":822,"covered":557,"skipped":0,"pct":67.76},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
1+
{"total": {"lines":{"total":2525,"covered":2054,"skipped":0,"pct":81.34},"statements":{"total":2570,"covered":2095,"skipped":0,"pct":81.51},"functions":{"total":619,"covered":489,"skipped":0,"pct":78.99},"branches":{"total":822,"covered":557,"skipped":0,"pct":67.76},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
22
,"/home/runner/work/bee-js/bee-js/src/bee-dev.ts": {"lines":{"total":14,"covered":5,"skipped":0,"pct":35.71},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":14,"covered":5,"skipped":0,"pct":35.71},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
33
,"/home/runner/work/bee-js/bee-js/src/bee.ts": {"lines":{"total":459,"covered":377,"skipped":0,"pct":82.13},"functions":{"total":133,"covered":108,"skipped":0,"pct":81.2},"statements":{"total":462,"covered":380,"skipped":0,"pct":82.25},"branches":{"total":172,"covered":112,"skipped":0,"pct":65.11}}
44
,"/home/runner/work/bee-js/bee-js/src/index.ts": {"lines":{"total":16,"covered":16,"skipped":0,"pct":100},"functions":{"total":10,"covered":7,"skipped":0,"pct":70},"statements":{"total":25,"covered":25,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
@@ -64,7 +64,7 @@
6464
,"/home/runner/work/bee-js/bee-js/src/utils/tar-writer.ts": {"lines":{"total":14,"covered":13,"skipped":0,"pct":92.85},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":14,"covered":13,"skipped":0,"pct":92.85},"branches":{"total":4,"covered":3,"skipped":0,"pct":75}}
6565
,"/home/runner/work/bee-js/bee-js/src/utils/tar.browser.ts": {"lines":{"total":40,"covered":0,"skipped":0,"pct":0},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":41,"covered":0,"skipped":0,"pct":0},"branches":{"total":6,"covered":0,"skipped":0,"pct":0}}
6666
,"/home/runner/work/bee-js/bee-js/src/utils/tar.ts": {"lines":{"total":39,"covered":36,"skipped":0,"pct":92.3},"functions":{"total":11,"covered":10,"skipped":0,"pct":90.9},"statements":{"total":40,"covered":37,"skipped":0,"pct":92.5},"branches":{"total":8,"covered":4,"skipped":0,"pct":50}}
67-
,"/home/runner/work/bee-js/bee-js/src/utils/tokens.ts": {"lines":{"total":37,"covered":24,"skipped":0,"pct":64.86},"functions":{"total":32,"covered":19,"skipped":0,"pct":59.37},"statements":{"total":37,"covered":24,"skipped":0,"pct":64.86},"branches":{"total":8,"covered":5,"skipped":0,"pct":62.5}}
67+
,"/home/runner/work/bee-js/bee-js/src/utils/tokens.ts": {"lines":{"total":41,"covered":24,"skipped":0,"pct":58.53},"functions":{"total":36,"covered":19,"skipped":0,"pct":52.77},"statements":{"total":41,"covered":24,"skipped":0,"pct":58.53},"branches":{"total":8,"covered":5,"skipped":0,"pct":62.5}}
6868
,"/home/runner/work/bee-js/bee-js/src/utils/type.ts": {"lines":{"total":100,"covered":79,"skipped":0,"pct":79},"functions":{"total":50,"covered":37,"skipped":0,"pct":74},"statements":{"total":100,"covered":79,"skipped":0,"pct":79},"branches":{"total":27,"covered":21,"skipped":0,"pct":77.77}}
6969
,"/home/runner/work/bee-js/bee-js/src/utils/typed-bytes.ts": {"lines":{"total":86,"covered":85,"skipped":0,"pct":98.83},"functions":{"total":31,"covered":30,"skipped":0,"pct":96.77},"statements":{"total":86,"covered":85,"skipped":0,"pct":98.83},"branches":{"total":12,"covered":12,"skipped":0,"pct":100}}
7070
,"/home/runner/work/bee-js/bee-js/src/utils/url.ts": {"lines":{"total":15,"covered":11,"skipped":0,"pct":73.33},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":15,"covered":11,"skipped":0,"pct":73.33},"branches":{"total":8,"covered":4,"skipped":0,"pct":50}}

0 commit comments

Comments
 (0)