Compare commits
17 Commits
Author | SHA1 | Date |
---|---|---|
Derrick Hammer | 3354ff1247 | |
Derrick Hammer | c197e83894 | |
semantic-release-bot | a88f49ea39 | |
Derrick Hammer | 3e78fcc9a1 | |
Derrick Hammer | 6bc8aafbf5 | |
Derrick Hammer | 1a241d7341 | |
semantic-release-bot | 2c354e8fa4 | |
Derrick Hammer | 094bb7e053 | |
Derrick Hammer | 067752306e | |
semantic-release-bot | 8372f24fca | |
Derrick Hammer | e5ac574dc4 | |
Derrick Hammer | fa48df2051 | |
Derrick Hammer | 06c9ac563e | |
semantic-release-bot | be82577783 | |
Derrick Hammer | ecf512bbf4 | |
Derrick Hammer | da7583b809 | |
Derrick Hammer | 6d8e0c3aad |
|
@ -0,0 +1,13 @@
|
||||||
|
name: Build/Publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- develop
|
||||||
|
- develop-*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
uses: lumeweb/github-node-deploy-workflow/.github/workflows/main.yml@master
|
||||||
|
secrets: inherit
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"preset": [
|
||||||
|
"@lumeweb/presetter-kernel-module-preset"
|
||||||
|
],
|
||||||
|
"config": {
|
||||||
|
"official": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
# [0.1.0-develop.4](https://git.lumeweb.com/LumeWeb/resolver-module-cid/compare/v0.1.0-develop.3...v0.1.0-develop.4) (2023-09-04)
|
||||||
|
|
||||||
|
# [0.1.0-develop.3](https://git.lumeweb.com/LumeWeb/resolver-module-cid/compare/v0.1.0-develop.2...v0.1.0-develop.3) (2023-09-03)
|
||||||
|
|
||||||
|
# [0.1.0-develop.2](https://git.lumeweb.com/LumeWeb/resolver-module-cid/compare/v0.1.0-develop.1...v0.1.0-develop.2) (2023-09-02)
|
||||||
|
|
||||||
|
# [0.1.0-develop.1](https://git.lumeweb.com/LumeWeb/resolver-module-cid/compare/v0.0.1...v0.1.0-develop.1) (2023-07-31)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* initial version ([6d8e0c3](https://git.lumeweb.com/LumeWeb/resolver-module-cid/commit/6d8e0c3aadbedfbdf2a2764d8d85ebce41348f13))
|
|
@ -1,2 +1,3 @@
|
||||||
# resolver-module-cid
|
# resolver-module-cid
|
||||||
|
|
||||||
|
Module CID: zdiJdDdBJWAdYFTcRa9So5TQQ9f1pYMiMy4dqYcKp9imomQtR11LJUyJyV
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"name": "@lumeweb/resolver-module-cid",
|
||||||
|
"version": "0.1.0-develop.4",
|
||||||
|
"type": "module",
|
||||||
|
"readme": "ERROR: No README data found!",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "gitea@git.lumeweb.com:LumeWeb/resolver-module-cid.git"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"prepare": "presetter bootstrap",
|
||||||
|
"build": "run build",
|
||||||
|
"semantic-release": "semantic-release"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@lumeweb/kernel-libresolver": "^0.1.0-develop.9"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@lumeweb/presetter-kernel-module-preset": "^0.1.0-develop.44"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
import { setup } from "@lumeweb/kernel-libresolver";
|
||||||
|
import CID from "./resolver.js";
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
setup(new CID());
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
import {
|
||||||
|
AbstractResolverModule,
|
||||||
|
DNS_RECORD_TYPE,
|
||||||
|
DNSResult,
|
||||||
|
resolverEmptyResponse,
|
||||||
|
ResolverOptions,
|
||||||
|
resolveSuccess,
|
||||||
|
} from "@lumeweb/kernel-libresolver";
|
||||||
|
|
||||||
|
const NETWORK_MAP = new Map(
|
||||||
|
Object.entries({
|
||||||
|
IPFS: "ipfs://",
|
||||||
|
IPNS: "ipns://",
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
const NAMESPACE = "lume";
|
||||||
|
|
||||||
|
export default class CID extends AbstractResolverModule {
|
||||||
|
ready(): Promise<void> {
|
||||||
|
return Promise.resolve(true) as any;
|
||||||
|
}
|
||||||
|
|
||||||
|
async resolve(
|
||||||
|
domain: string,
|
||||||
|
options: ResolverOptions,
|
||||||
|
bypassCache: boolean,
|
||||||
|
): Promise<DNSResult> {
|
||||||
|
if (!domain.includes(".")) {
|
||||||
|
return resolverEmptyResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
const domainParts = domain.split(".");
|
||||||
|
const last = domainParts.slice()?.pop();
|
||||||
|
if (last !== NAMESPACE) {
|
||||||
|
return resolverEmptyResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
const network = domainParts.slice(1).shift()?.toUpperCase() as string;
|
||||||
|
|
||||||
|
if (!NETWORK_MAP.has(network)) {
|
||||||
|
return resolverEmptyResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
const cid = domainParts.slice()?.shift();
|
||||||
|
|
||||||
|
if (!cid) {
|
||||||
|
return resolverEmptyResponse();
|
||||||
|
}
|
||||||
|
|
||||||
|
return resolveSuccess([
|
||||||
|
{
|
||||||
|
type: DNS_RECORD_TYPE.CONTENT,
|
||||||
|
value: NETWORK_MAP.get(network) + cid,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue