Compare commits
No commits in common. "v0.1.0-develop.3" and "master" have entirely different histories.
v0.1.0-dev
...
master
|
@ -1,13 +0,0 @@
|
|||
name: Build/Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- develop
|
||||
- develop-*
|
||||
|
||||
jobs:
|
||||
main:
|
||||
uses: lumeweb/github-node-deploy-workflow/.github/workflows/main.yml@master
|
||||
secrets: inherit
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"preset": [
|
||||
"@lumeweb/node-library-preset"
|
||||
]
|
||||
}
|
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -1,12 +0,0 @@
|
|||
# [0.1.0-develop.3](https://git.lumeweb.com/LumeWeb/kernel-ipfs-client/compare/v0.1.0-develop.2...v0.1.0-develop.3) (2023-07-19)
|
||||
|
||||
# [0.1.0-develop.2](https://git.lumeweb.com/LumeWeb/kernel-ipfs-client/compare/v0.1.0-develop.1...v0.1.0-develop.2) (2023-07-19)
|
||||
|
||||
# [0.1.0-develop.1](https://git.lumeweb.com/LumeWeb/kernel-ipfs-client/compare/v0.0.2-develop.1...v0.1.0-develop.1) (2023-07-19)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add register method for network registry ([e9c9944](https://git.lumeweb.com/LumeWeb/kernel-ipfs-client/commit/e9c994400325467fb2c146f4f5b3bea1a77d6502))
|
||||
|
||||
## [0.0.2-develop.1](https://git.lumeweb.com/LumeWeb/kernel-ipfs-client/compare/v0.0.1...v0.0.2-develop.1) (2023-07-14)
|
|
@ -1,2 +1,2 @@
|
|||
# kernel-ipfs-client
|
||||
IPFS client interface to @lumeweb/kernel-ipfs module
|
||||
# kernel-ipfs-http-client
|
||||
IPFS client interface to @lumeweb/kernel-ipfs-http module
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
import { Client } from "@lumeweb/libkernel-universal";
|
||||
import { CatOptions, LsOptions, StatOptions } from "@helia/unixfs";
|
||||
interface AbortableGenerator {
|
||||
abort: () => void;
|
||||
iterable: () => AsyncIterable<Uint8Array>;
|
||||
}
|
||||
export declare class IPFSClient extends Client {
|
||||
ready(): Promise<any>;
|
||||
stat(cid: string, options?: Partial<StatOptions>): Promise<any>;
|
||||
ls(cid: string, options?: Partial<LsOptions>): AbortableGenerator;
|
||||
cat(cid: string, options?: Partial<CatOptions>): AbortableGenerator;
|
||||
ipns(cid: string): Promise<string>;
|
||||
activePeers(): Promise<number>;
|
||||
private connectModuleGenerator;
|
||||
}
|
||||
export declare const createClient: (...args: any) => IPFSClient;
|
||||
export {};
|
||||
//# sourceMappingURL=index.d.ts.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEnE,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;CAC3C;AAED,qBAAa,UAAW,SAAQ,MAAM;IACvB,KAAK;IAIL,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAItD,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,kBAAkB;IAIjE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,kBAAkB;IAI7D,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C,OAAO,CAAC,sBAAsB;CAiD/B;AAED,eAAO,MAAM,YAAY,8BAGxB,CAAC"}
|
|
@ -0,0 +1,62 @@
|
|||
import { Client, factory } from "@lumeweb/libkernel-universal";
|
||||
import defer from "p-defer";
|
||||
export class IPFSClient extends Client {
|
||||
async ready() {
|
||||
return this.callModuleReturn("ready");
|
||||
}
|
||||
async stat(cid, options) {
|
||||
return this.callModuleReturn("stat", { cid, options });
|
||||
}
|
||||
ls(cid, options) {
|
||||
return this.connectModuleGenerator("ls", { cid, options });
|
||||
}
|
||||
cat(cid, options) {
|
||||
return this.connectModuleGenerator("cat", { cid, options });
|
||||
}
|
||||
async ipns(cid) {
|
||||
return this.callModuleReturn("ipnsResolve", { cid });
|
||||
}
|
||||
async activePeers() {
|
||||
return this.callModuleReturn("getActivePeers");
|
||||
}
|
||||
connectModuleGenerator(method, data) {
|
||||
let pipe = defer();
|
||||
const [update, result] = this.connectModule(method, data, (item) => {
|
||||
pipe.resolve(item);
|
||||
});
|
||||
(async () => {
|
||||
const ret = await result;
|
||||
this.handleError(ret);
|
||||
pipe.resolve(undefined);
|
||||
})();
|
||||
return {
|
||||
abort() {
|
||||
update("abort");
|
||||
},
|
||||
iterable() {
|
||||
return {
|
||||
[Symbol.asyncIterator]() {
|
||||
return {
|
||||
async next() {
|
||||
const chunk = await pipe.promise;
|
||||
if (chunk === undefined) {
|
||||
return {
|
||||
value: new Uint8Array(),
|
||||
done: true,
|
||||
};
|
||||
}
|
||||
pipe = defer();
|
||||
update("next");
|
||||
return {
|
||||
value: chunk,
|
||||
done: false,
|
||||
};
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
export const createClient = factory(IPFSClient, "AAA0F0m8xP2YVcP0YZ-1QT8nLqYPZjgANotOQO3nGST1Bg");
|
File diff suppressed because it is too large
Load Diff
33
package.json
33
package.json
|
@ -1,31 +1,18 @@
|
|||
{
|
||||
"name": "@lumeweb/kernel-ipfs-client",
|
||||
"version": "0.1.0-develop.3",
|
||||
"version": "0.1.0",
|
||||
"type": "module",
|
||||
"main": "lib/index.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "gitea@git.lumeweb.com:LumeWeb/kernel-ipfs-client.git"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@helia/unixfs": "^1.4.0",
|
||||
"@lumeweb/node-library-preset": "^0.2.7",
|
||||
"presetter": "*"
|
||||
},
|
||||
"readme": "ERROR: No README data found!",
|
||||
"scripts": {
|
||||
"prepare": "presetter bootstrap",
|
||||
"build": "run build",
|
||||
"semantic-release": "semantic-release"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"dependencies": {
|
||||
"@lumeweb/libkernel": "^0.1.0-develop.20",
|
||||
"@lumeweb/libkernel-universal": "git+https://git.lumeweb.com/LumeWeb/libkernel-universal.git",
|
||||
"libkernel": "^0.1.43",
|
||||
"libkmodule": "^0.2.44",
|
||||
"p-defer": "^4.0.0"
|
||||
},
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
"devDependencies": {
|
||||
"@helia/unixfs": "^1.2.1",
|
||||
"@types/node": "^18.0.6",
|
||||
"prettier": "^2.7.1",
|
||||
"typescript": "^5.0.3"
|
||||
}
|
||||
}
|
||||
|
|
16
src/index.ts
16
src/index.ts
|
@ -1,4 +1,4 @@
|
|||
import { Client, factory } from "@lumeweb/libkernel/module";
|
||||
import { Client, factory } from "@lumeweb/libkernel-universal";
|
||||
import defer from "p-defer";
|
||||
import { CatOptions, LsOptions, StatOptions } from "@helia/unixfs";
|
||||
|
||||
|
@ -7,9 +7,6 @@ interface AbortableGenerator {
|
|||
iterable: () => AsyncIterable<Uint8Array>;
|
||||
}
|
||||
|
||||
export const MODULE =
|
||||
"zduK1zTsuL84p2AK1pPZy1RenyBFqVbbYqV9NEuEgv3f1J9d4kkng6wKxb";
|
||||
|
||||
export class IPFSClient extends Client {
|
||||
public async ready() {
|
||||
return this.callModuleReturn("ready");
|
||||
|
@ -37,7 +34,7 @@ export class IPFSClient extends Client {
|
|||
|
||||
private connectModuleGenerator(
|
||||
method: string,
|
||||
data: any,
|
||||
data: any
|
||||
): AbortableGenerator {
|
||||
let pipe = defer<Uint8Array>();
|
||||
|
||||
|
@ -84,10 +81,9 @@ export class IPFSClient extends Client {
|
|||
},
|
||||
};
|
||||
}
|
||||
|
||||
public async register() {
|
||||
return this.callModuleReturn("register");
|
||||
}
|
||||
}
|
||||
|
||||
export const createClient = factory<IPFSClient>(IPFSClient, MODULE);
|
||||
export const createClient = factory<IPFSClient>(
|
||||
IPFSClient,
|
||||
"AAA0F0m8xP2YVcP0YZ-1QT8nLqYPZjgANotOQO3nGST1Bg"
|
||||
);
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"declaration": true,
|
||||
"strict": true,
|
||||
"module": "esnext",
|
||||
"target": "esnext",
|
||||
"esModuleInterop": true,
|
||||
"sourceMap": false,
|
||||
"rootDir": "src",
|
||||
"outDir": "dist",
|
||||
"typeRoots": [
|
||||
"node_modules/@types",
|
||||
],
|
||||
"moduleResolution": "node",
|
||||
"declarationMap": true,
|
||||
"declarationDir": "dist",
|
||||
"emitDeclarationOnly": false,
|
||||
"allowJs": true
|
||||
},
|
||||
"include": [
|
||||
"src"
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue