Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

Commit 0cd45dc

Browse files
committed
chore: consolidate all the types in one place
1 parent 7dd1e72 commit 0cd45dc

File tree

19 files changed

+61
-107
lines changed

19 files changed

+61
-107
lines changed

packages/ipfs-core/src/components/config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,6 @@ module.exports.profiles = profiles
505505
* @typedef {Object} RoutingConfig
506506
* @property {string} [Type]
507507
*
508-
* @typedef {import('../interface/basic').ToJSON} ToJSON
508+
* @typedef {import('ipfs-interface/src/basic').ToJSON} ToJSON
509509
* @typedef {import('.').AbortOptions} AbortOptions
510510
*/

packages/ipfs-core/src/components/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,8 @@ const getDefaultOptions = () => ({
362362
* @typedef {import('peer-id')} PeerId
363363
* @typedef {import('./libp2p').LibP2P} LibP2P
364364
* @typedef {import('./pin/pin-manager')} PinManager
365-
* @typedef {import('../interface/block-service').BlockService} BlockService
366-
* @typedef {import('../interface/bitswap').Bitswap} BitSwap
365+
* @typedef {import('ipfs-interface/src/block-service').BlockService} BlockService
366+
* @typedef {import('ipfs-interface/src/bitswap').Bitswap} BitSwap
367367
* @typedef {import('./ipld').IPLD} IPLD
368368
* @typedef {import('./gc-lock').GCLock} GCLock
369369
* @typedef {import('../preload').Preload} Preload

packages/ipfs-core/src/components/ipld.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ const createIPLD = ({ blockService, print, options }) =>
1515
module.exports = createIPLD
1616

1717
/**
18-
* @typedef {import('../interface/ipld').IPLD} IPLD
19-
* @typedef {import('../interface/ipld').Options} Options
20-
* @typedef {import('../interface/block-service').BlockService} BlockService
21-
* @typedef {import('../interface/basic').Block} Block
18+
* @typedef {import('ipfs-interface/src/ipld').IPLD} IPLD
19+
* @typedef {import('ipfs-interface/src/ipld').Options} Options
20+
* @typedef {import('ipfs-interface/src/block-service').BlockService} BlockService
21+
* @typedef {import('ipfs-interface/src/block-service').Block} Block
2222
* @typedef {import('.').Print} Print
2323
*/

packages/ipfs-core/src/components/network.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ const WEBSOCKET_STAR_PROTO_CODE = 479
117117
* @typedef {import('.').Repo} Repo
118118
* @typedef {import('.').Print} Print
119119
* @typedef {import('.').LibP2P} LibP2P
120-
* @typedef {import('../interface/bitswap').Bitswap} BitSwap
120+
* @typedef {import('ipfs-interface/src/bitswap').Bitswap} BitSwap
121121
* @typedef {import('.').PeerId} PeerId
122122
* @typedef {import('.').AbortOptions} AbortOptions
123123
*/

packages/ipfs-core/src/components/root.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ const createGetAPI = require('./get')
77
const createLsAPI = require('./ls')
88

99
/**
10+
* @typedef {AddAllContext & CatContext & GetContext & ListContext } Context
11+
* @typedef {import('./add-all').Context} AddAllContext
12+
* @typedef {import('./cat').Context} CatContext
13+
* @typedef {import('./get').Context} GetContext
14+
* @typedef {import('./ls').Context} ListContext
1015
* @typedef {import('ipfs-interface').RootAPI} RootAPI
1116
* @implements {RootAPI}
1217
*/
1318
class Root {
1419
/**
15-
* @param {Object} config
16-
* @param {import('.').Block} config.block
17-
* @param {import('.').Pin} config.pin
18-
* @param {import('.').GCLock} config.gcLock
19-
* @param {import('.').Preload} config.preload
20-
* @param {import('.').IPLD} config.ipld
21-
* @param {import('ipfs-interface/src/root').ShardingOptions} [config.options]
20+
* @param {Context} context
2221
*/
2322
constructor ({ preload, gcLock, pin, block, ipld, options }) {
2423
const addAll = createAddAllAPI({

packages/ipfs-core/src/components/storage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ const applyProfiles = (config, profiles) => {
295295
* @typedef {import('.').IPLDOptions} IPLDOptions
296296
* @typedef {import('.').Print} Print
297297
* @typedef {import('.').IPFSConfig} IPFSConfig
298-
* @typedef {import('../interface/repo').Repo<IPFSConfig>} Repo
298+
* @typedef {import('ipfs-interface/src/repo').Repo<IPFSConfig>} Repo
299299
* @typedef {import('libp2p-crypto').KeyType} KeyType
300300
* @typedef {import('libp2p').LibP2PKeychain} Keychain
301301
*/

packages/ipfs-core/src/interface/basic.ts

-28
This file was deleted.

packages/ipfs-core/src/runtime/repo-nodejs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ module.exports = (options = {}) => {
3232
}
3333

3434
/**
35-
* @typedef {import('../interface/repo').Repo<IPFSConfig>} Repo
35+
* @typedef {import('ipfs-interface/src/repo').Repo<IPFSConfig>} Repo
3636
* @typedef {import('../components/config').IPFSConfig} IPFSConfig
3737
*/

packages/ipfs-core/src/utils/service.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ module.exports = Service
212212

213213
/**
214214
* @template T
215-
* @typedef {import('../interface/basic').Await<T>} Await
215+
* @typedef {import('ipfs-interface/src/basic').Await<T>} Await
216216
*/
217217
/**
218218
* @template {(options:any) => any} T

packages/ipfs-interface/src/basic.ts

+23-15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
/**
2+
* Represents a value that you can await on, which is either value or a promise
3+
* of one.
4+
*/
5+
export type Await<T> =
6+
| T
7+
| Promise<T>
8+
9+
/**
10+
* Represents an iterable that can be used in `for await` loops, that is either
11+
* iterable or an async iterable.
12+
*/
13+
export type AwaitIterable<T> =
14+
| Iterable<T>
15+
| AsyncIterable<T>
16+
117
/**
218
* Common options across all cancellable requests.
319
*/
@@ -14,18 +30,10 @@ export interface AbortOptions {
1430
timeout?: number
1531
}
1632

17-
/**
18-
* Represents a value that you can await on, which is either value or a promise
19-
* of one.
20-
*/
21-
export type Await<T> =
22-
| T
23-
| Promise<T>
24-
25-
/**
26-
* Represents an iterable that can be used in `for await` loops, that is either
27-
* iterable or an async iterable.
28-
*/
29-
export type AwaitIterable<T> =
30-
| Iterable<T>
31-
| AsyncIterable<T>
33+
export type ToJSON =
34+
| null
35+
| string
36+
| number
37+
| boolean
38+
| ToJSON[]
39+
| { toJSON?: () => ToJSON } & { [key: string]: ToJSON }

packages/ipfs-core/src/interface/bitswap.ts renamed to packages/ipfs-interface/src/bitswap.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
import { PeerId, CID, Block, Await, BigInteger, AbortOptions } from './basic'
2-
import { MovingAverage } from './moving-avarage'
1+
import BigInteger from 'bignumber.js'
2+
import PeerId from 'peer-id'
3+
import CID from 'cids'
4+
import { Block } from './block-service'
5+
import { AbortOptions, Await } from './basic'
6+
import { MovingAverage } from './bitswap/moving-avarage'
37
import { StoreReader, StoreExporter, StoreImporter } from './store'
48

59
export interface Bitswap extends

packages/ipfs-core/src/interface/block-service.ts renamed to packages/ipfs-interface/src/block-service.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Block, CID, Await, AbortOptions } from './basic'
1+
import CID from 'cids'
2+
import { Await, AbortOptions } from './basic'
23
import { StoreReader, StoreImporter, StoreExporter, StoreEraser } from './store'
34
import { Bitswap } from './bitswap'
45

@@ -18,3 +19,8 @@ export interface BlockService extends
1819
*/
1920
put(block: Block, options?:AbortOptions): Await<Block>
2021
}
22+
23+
export interface Block {
24+
cid: CID
25+
data: Uint8Array
26+
}

packages/ipfs-interface/src/files.ts

-39
Original file line numberDiff line numberDiff line change
@@ -170,42 +170,3 @@ type HRTime = [number, number]
170170

171171
// It's just a named type alias, but it better captures intent.
172172
export type Mode = number
173-
174-
/**
175-
* @typedef {import('../format-mtime').MTime} MTime
176-
* @typedef {import('../format-mode').Mode} Mode
177-
* @typedef {Object} Directory
178-
* @property {string} path
179-
* @property {Mode} [mode]
180-
* @property {MTime} [mtime]
181-
* @property {undefined} [content]
182-
*
183-
* @typedef {Object} FileInput
184-
* @property {string} [path]
185-
* @property {ToContent} [content]
186-
* @property {number | string} [mode]
187-
* @property {UnixTime} [mtime]
188-
*
189-
* @typedef {Date | MTime | HRTime} UnixTime
190-
*
191-
* Time representation as tuple of two integers, as per the output of
192-
* [`process.hrtime()`](https://nodejs.org/dist/latest/docs/api/process.html#process_process_hrtime_time).
193-
* @typedef {[number, number]} HRTime
194-
*
195-
* @typedef {string|InstanceType<typeof window.String>|ArrayBufferView|ArrayBuffer|Blob|Iterable<Uint8Array> | AsyncIterable<Uint8Array> | ReadableStream<Uint8Array>} ToContent
196-
* @typedef {ToContent|FileInput} ToFile
197-
* @typedef {Iterable<ToFile> | AsyncIterable<ToFile> | ReadableStream<ToFile>} Source
198-
*/
199-
/**
200-
* @template {AsyncIterable<Uint8Array>|Blob} Content
201-
* @typedef {Object} File
202-
* @property {string} path
203-
* @property {Mode} [mode]
204-
* @property {MTime} [mtime]
205-
* @property {Content} [content]
206-
*/
207-
208-
/**
209-
* @template {AsyncIterable<Uint8Array>|Blob} Content
210-
* @typedef {File<Content>|Directory} Entry
211-
*/

packages/ipfs-core/src/interface/ipld.ts renamed to packages/ipfs-interface/src/ipld.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { BlockService } from './block-service'
2-
import { Await, CID, AwaitIterable, AbortOptions } from './basic'
2+
import CID from 'cids'
3+
import { Await, AwaitIterable, AbortOptions } from './basic'
34
import { StoreReader, StoreExporter, StoreEraser } from './store'
4-
import { ResolveResult, Format } from './format'
5+
import { ResolveResult, Format } from './ipld/format'
56

67
export interface IPLD<T = any> extends
78
StoreReader<CID, T>,

packages/ipfs-core/src/interface/format.ts renamed to packages/ipfs-interface/src/ipld/format.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11

2-
import { Await, CID } from './basic'
2+
import CID from 'cids'
3+
import { Await } from '../basic'
34

45
export interface Format <T=any> {
56
util: Util<T>

packages/ipfs-core/src/interface/repo.ts renamed to packages/ipfs-interface/src/repo.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import { CID, Block, ToJSON, Await, AbortOptions } from './basic'
1+
import CID from 'cids'
2+
import { Block } from './block-service'
3+
import { ToJSON, Await, AbortOptions } from './basic'
24
import { DataStore, Key } from './datastore'
35
import {
46
ValueStore, StoreReader, Resource, StoreLookup,

0 commit comments

Comments
 (0)