FuelLabs / fuels-ts

Fuel Network Typescript SDK
https://docs.fuel.network/docs/fuels-ts/
Apache License 2.0
44.4k stars 1.32k forks source link

feat: drafting `fuels` entry point #2648

Closed arboleya closed 12 hours ago

arboleya commented 3 days ago

Draft based on:

./api
├── fuels.ts # ...................... Sugar API
├── index.ts # ...................... Overloaded `fuels()` entry point
└── snippets # ...................... Code snippets (for new API)
    └── typegend # .................. Mocked Files

Related PR combining this PR with the revised code snippets proposal:

TL;DR

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/minimal.ts#L8-L10

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/minimal.ts#L14-L16

All in One

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/allinone.ts#L8-L18

Modes

1. Promise

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/contract.ts#L29-L34

2. Callback

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/contract.ts#L21-L24

3. Custom instance

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/contract.ts#L39-L43

Modules

1. Wallet

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/wallet.ts#L14-L15

2. Predicate

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/predicate.ts#L18-L20

3. Contract

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/contract.ts#L13-L14

4. Script

https://github.com/FuelLabs/fuels-ts/blob/7f3d64bc30c71f5b42b936b182c3d0dd61d1fcf1/packages/fuels/src/api/snippets/script.ts#L13-L15

github-actions[bot] commented 2 days ago

Coverage Report:

Lines Branches Functions Statements
78.3%(-1.24%) 71.14%(-0.23%) 75.74%(-1.17%) 78.42%(-1.2%)
Changed Files: | Ok | File (✨=New File) | Lines | Branches | Functions | Statements | | -- | -------------------------------------------------------------------------------------------------- | ----------- | --------------- | --------------- | ----------- | | 🔴 | ✨ packages/fuels/src/api/fuels.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/index.ts | 0%
(+0%) | 0%
(+0%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/allinone.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/contract.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/minimal.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/predicate.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/script.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/wallet.ts | 0%
(+0%) | 100%
(+100%) | 0%
(+0%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/typegend/CounterContract.ts | 0%
(+0%) | 100%
(+100%) | 100%
(+100%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/typegend/DispatcherScript.ts | 0%
(+0%) | 100%
(+100%) | 100%
(+100%) | 0%
(+0%) | | 🔴 | ✨ packages/fuels/src/api/snippets/typegend/VaultPredicate.ts | 0%
(+0%) | 100%
(+100%) | 100%
(+100%) | 0%
(+0%) |