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
|
||||
|
||||
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