@xyo-network/domain-payload-plugin 2.106.0 → 2.107.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Payload.d.cts +0 -5
- package/dist/browser/Payload.d.cts.map +1 -1
- package/dist/browser/Payload.d.mts +0 -5
- package/dist/browser/Payload.d.mts.map +1 -1
- package/dist/browser/Payload.d.ts +0 -5
- package/dist/browser/Payload.d.ts.map +1 -1
- package/dist/browser/Plugin.d.cts +5 -18
- package/dist/browser/Plugin.d.cts.map +1 -1
- package/dist/browser/Plugin.d.mts +5 -18
- package/dist/browser/Plugin.d.mts.map +1 -1
- package/dist/browser/Plugin.d.ts +5 -18
- package/dist/browser/Plugin.d.ts.map +1 -1
- package/dist/browser/Wrapper.d.cts +21 -90
- package/dist/browser/Wrapper.d.cts.map +1 -1
- package/dist/browser/Wrapper.d.mts +21 -90
- package/dist/browser/Wrapper.d.mts.map +1 -1
- package/dist/browser/Wrapper.d.ts +21 -90
- package/dist/browser/Wrapper.d.ts.map +1 -1
- package/dist/browser/index.cjs +1 -156
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts.map +1 -1
- package/dist/browser/index.d.mts.map +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +1 -135
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/Payload.d.cts +0 -5
- package/dist/neutral/Payload.d.cts.map +1 -1
- package/dist/neutral/Payload.d.mts +0 -5
- package/dist/neutral/Payload.d.mts.map +1 -1
- package/dist/neutral/Payload.d.ts +0 -5
- package/dist/neutral/Payload.d.ts.map +1 -1
- package/dist/neutral/Plugin.d.cts +5 -18
- package/dist/neutral/Plugin.d.cts.map +1 -1
- package/dist/neutral/Plugin.d.mts +5 -18
- package/dist/neutral/Plugin.d.mts.map +1 -1
- package/dist/neutral/Plugin.d.ts +5 -18
- package/dist/neutral/Plugin.d.ts.map +1 -1
- package/dist/neutral/Wrapper.d.cts +21 -90
- package/dist/neutral/Wrapper.d.cts.map +1 -1
- package/dist/neutral/Wrapper.d.mts +21 -90
- package/dist/neutral/Wrapper.d.mts.map +1 -1
- package/dist/neutral/Wrapper.d.ts +21 -90
- package/dist/neutral/Wrapper.d.ts.map +1 -1
- package/dist/neutral/index.cjs +1 -156
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.d.cts.map +1 -1
- package/dist/neutral/index.d.mts.map +1 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.js +1 -135
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/Payload.d.cts +0 -5
- package/dist/node/Payload.d.cts.map +1 -1
- package/dist/node/Payload.d.mts +0 -5
- package/dist/node/Payload.d.mts.map +1 -1
- package/dist/node/Payload.d.ts +0 -5
- package/dist/node/Payload.d.ts.map +1 -1
- package/dist/node/Plugin.d.cts +5 -18
- package/dist/node/Plugin.d.cts.map +1 -1
- package/dist/node/Plugin.d.mts +5 -18
- package/dist/node/Plugin.d.mts.map +1 -1
- package/dist/node/Plugin.d.ts +5 -18
- package/dist/node/Plugin.d.ts.map +1 -1
- package/dist/node/Wrapper.d.cts +21 -90
- package/dist/node/Wrapper.d.cts.map +1 -1
- package/dist/node/Wrapper.d.mts +21 -90
- package/dist/node/Wrapper.d.mts.map +1 -1
- package/dist/node/Wrapper.d.ts +21 -90
- package/dist/node/Wrapper.d.ts.map +1 -1
- package/dist/node/index.cjs +1 -165
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +1 -137
- package/dist/node/index.js.map +1 -1
- package/package.json +12 -12
- package/src/Wrapper.ts +0 -1
- package/src/index.ts +1 -0
package/dist/node/index.js
CHANGED
|
@@ -1,138 +1,2 @@
|
|
|
1
|
-
var
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
|
-
// src/Plugin.ts
|
|
5
|
-
import { createPayloadPlugin } from "@xyo-network/payload-plugin";
|
|
6
|
-
|
|
7
|
-
// src/Schema.ts
|
|
8
|
-
var DomainSchema = "network.xyo.domain";
|
|
9
|
-
|
|
10
|
-
// src/Template.ts
|
|
11
|
-
var domainConfigTemplate = /* @__PURE__ */ __name(() => ({
|
|
12
|
-
aliases: {
|
|
13
|
-
"com.example.id": {
|
|
14
|
-
huri: ""
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
networks: [
|
|
18
|
-
{
|
|
19
|
-
name: "",
|
|
20
|
-
nodes: [
|
|
21
|
-
{
|
|
22
|
-
name: "",
|
|
23
|
-
schema: "network.xyo.network.node",
|
|
24
|
-
slug: "",
|
|
25
|
-
type: "archivist",
|
|
26
|
-
uri: ""
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
schema: "network.xyo.network",
|
|
30
|
-
slug: ""
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
schema: DomainSchema
|
|
34
|
-
}), "domainConfigTemplate");
|
|
35
|
-
|
|
36
|
-
// src/Wrapper.ts
|
|
37
|
-
import { axios } from "@xylabs/axios";
|
|
38
|
-
import { reverse } from "@xylabs/lodash";
|
|
39
|
-
import { isBrowser } from "@xylabs/platform";
|
|
40
|
-
import { DnsRecordType, domainResolve } from "@xyo-network/dns";
|
|
41
|
-
import { Huri } from "@xyo-network/huri";
|
|
42
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
43
|
-
import { PayloadWrapper } from "@xyo-network/payload-wrapper";
|
|
44
|
-
var _DomainPayloadWrapper = class _DomainPayloadWrapper extends PayloadWrapper {
|
|
45
|
-
aliases;
|
|
46
|
-
static async discover(reverseDomainName, proxy) {
|
|
47
|
-
const parts = reverseDomainName.split(".");
|
|
48
|
-
for (let i = 2; i <= parts.length; i++) {
|
|
49
|
-
const domainToCheck = reverse(parts.filter((_, index) => index < i)).join(".");
|
|
50
|
-
return await this.discoverDNSEntry(domainToCheck) ?? await this.discoverRootFile(domainToCheck, proxy);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
static async discoverDNSEntry(domain) {
|
|
54
|
-
var _a, _b, _c;
|
|
55
|
-
try {
|
|
56
|
-
const hash = (_c = (_b = (_a = await domainResolve(`_xyo.${domain}`, DnsRecordType.TXT)) == null ? void 0 : _a.Answer) == null ? void 0 : _b[0]) == null ? void 0 : _c.data;
|
|
57
|
-
if (hash) {
|
|
58
|
-
const huri = new Huri(hash);
|
|
59
|
-
const payload = await huri.fetch();
|
|
60
|
-
if (payload) {
|
|
61
|
-
return new _DomainPayloadWrapper(payload);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
} catch {
|
|
65
|
-
console.log(`DomainConfig dns reading error entry not found [${domain}]`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
static async discoverRootFile(domain, proxy) {
|
|
69
|
-
return isBrowser() || proxy ? await this.discoverRootFileWithProxy(domain, proxy) : await this.discoverRootFileDirect(domain);
|
|
70
|
-
}
|
|
71
|
-
static async discoverRootFileDirect(domain) {
|
|
72
|
-
try {
|
|
73
|
-
const config = (await axios.get(`https://${domain}/xyo-config.json`)).data;
|
|
74
|
-
return new _DomainPayloadWrapper(config);
|
|
75
|
-
} catch {
|
|
76
|
-
console.log(`DomainConfig root file not found [${domain}]`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
static async discoverRootFileWithProxy(domain, proxy = "https://api.archivist.xyo.network/domain") {
|
|
80
|
-
try {
|
|
81
|
-
const requestUrl = `${proxy}/${domain.split(".").reverse().join(".")}`;
|
|
82
|
-
const config = (await axios.get(requestUrl)).data.data;
|
|
83
|
-
return new _DomainPayloadWrapper(config);
|
|
84
|
-
} catch (ex) {
|
|
85
|
-
const error = ex;
|
|
86
|
-
console.log(`DomainConfig root file not found using proxy [${domain}] [${error.code}]`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async fetch(networkSlug) {
|
|
90
|
-
await this.fetchAliases(networkSlug);
|
|
91
|
-
}
|
|
92
|
-
async fetchAliases(networkSlug) {
|
|
93
|
-
this.aliases = null;
|
|
94
|
-
const archivistUri = await this.findArchivistUri(networkSlug);
|
|
95
|
-
if (this.payload.aliases) {
|
|
96
|
-
const fetchedAliases = await Promise.all(Object.entries(this.payload.aliases ?? {}).map(([, alias]) => {
|
|
97
|
-
return this.fetchAlias(alias, {
|
|
98
|
-
archivistUri
|
|
99
|
-
});
|
|
100
|
-
}));
|
|
101
|
-
this.aliases = fetchedAliases.filter(Boolean);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
async fetchAlias(alias, huriOptions) {
|
|
105
|
-
const huri = new Huri(alias.huri, huriOptions);
|
|
106
|
-
const payload = await huri.fetch();
|
|
107
|
-
return payload ? {
|
|
108
|
-
alias,
|
|
109
|
-
huri,
|
|
110
|
-
payload
|
|
111
|
-
} : null;
|
|
112
|
-
}
|
|
113
|
-
async findArchivistUri(hash) {
|
|
114
|
-
var _a, _b, _c;
|
|
115
|
-
return (_c = (_b = (_a = await this.getNetwork(hash)) == null ? void 0 : _a.nodes) == null ? void 0 : _b.find((payload) => payload.type === "archivist" ? payload : void 0)) == null ? void 0 : _c.uri;
|
|
116
|
-
}
|
|
117
|
-
async getNetwork(hash) {
|
|
118
|
-
var _a;
|
|
119
|
-
return hash ? await PayloadBuilder.findByDataHash(this.payload.networks, hash) : (_a = this.payload.networks) == null ? void 0 : _a[0];
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
__name(_DomainPayloadWrapper, "DomainPayloadWrapper");
|
|
123
|
-
var DomainPayloadWrapper = _DomainPayloadWrapper;
|
|
124
|
-
|
|
125
|
-
// src/Plugin.ts
|
|
126
|
-
var DomainPayloadPlugin = /* @__PURE__ */ __name(() => createPayloadPlugin({
|
|
127
|
-
schema: DomainSchema,
|
|
128
|
-
template: domainConfigTemplate,
|
|
129
|
-
wrap: /* @__PURE__ */ __name((payload) => DomainPayloadWrapper.wrap(payload), "wrap")
|
|
130
|
-
}), "DomainPayloadPlugin");
|
|
131
|
-
export {
|
|
132
|
-
DomainPayloadPlugin,
|
|
133
|
-
DomainPayloadWrapper,
|
|
134
|
-
DomainSchema,
|
|
135
|
-
DomainPayloadPlugin as default,
|
|
136
|
-
domainConfigTemplate
|
|
137
|
-
};
|
|
1
|
+
var w=Object.defineProperty;var a=(m,t)=>w(m,"name",{value:t,configurable:!0});import{createPayloadPlugin as P}from"@xyo-network/payload-plugin";var c="network.xyo.domain";var f=a(()=>({aliases:{"com.example.id":{huri:""}},networks:[{name:"",nodes:[{name:"",schema:"network.xyo.network.node",slug:"",type:"archivist",uri:""}],schema:"network.xyo.network",slug:""}],schema:c}),"domainConfigTemplate");import{axios as h}from"@xylabs/axios";import{reverse as u}from"@xylabs/lodash";import{isBrowser as g}from"@xylabs/platform";import{DnsRecordType as x,domainResolve as v}from"@xyo-network/dns";import{Huri as d}from"@xyo-network/huri";import{PayloadBuilder as D}from"@xyo-network/payload-builder";import{PayloadWrapper as k}from"@xyo-network/payload-wrapper";var s=class s extends k{aliases;static async discover(t,o){let i=t.split(".");for(let e=2;e<=i.length;e++){let r=u(i.filter((y,n)=>n<e)).join(".");return await this.discoverDNSEntry(r)??await this.discoverRootFile(r,o)}}static async discoverDNSEntry(t){var o,i,e;try{let r=(e=(i=(o=await v(`_xyo.${t}`,x.TXT))==null?void 0:o.Answer)==null?void 0:i[0])==null?void 0:e.data;if(r){let n=await new d(r).fetch();if(n)return new s(n)}}catch{console.log(`DomainConfig dns reading error entry not found [${t}]`)}}static async discoverRootFile(t,o){return g()||o?await this.discoverRootFileWithProxy(t,o):await this.discoverRootFileDirect(t)}static async discoverRootFileDirect(t){try{let o=(await h.get(`https://${t}/xyo-config.json`)).data;return new s(o)}catch{console.log(`DomainConfig root file not found [${t}]`)}}static async discoverRootFileWithProxy(t,o="https://api.archivist.xyo.network/domain"){try{let i=`${o}/${t.split(".").reverse().join(".")}`,e=(await h.get(i)).data.data;return new s(e)}catch(i){console.log(`DomainConfig root file not found using proxy [${t}] [${i.code}]`)}}async fetch(t){await this.fetchAliases(t)}async fetchAliases(t){this.aliases=null;let o=await this.findArchivistUri(t);if(this.payload.aliases){let i=await Promise.all(Object.entries(this.payload.aliases??{}).map(([,e])=>this.fetchAlias(e,{archivistUri:o})));this.aliases=i.filter(Boolean)}}async fetchAlias(t,o){let i=new d(t.huri,o),e=await i.fetch();return e?{alias:t,huri:i,payload:e}:null}async findArchivistUri(t){var o,i,e;return(e=(i=(o=await this.getNetwork(t))==null?void 0:o.nodes)==null?void 0:i.find(r=>r.type==="archivist"?r:void 0))==null?void 0:e.uri}async getNetwork(t){var o;return t?await D.findByDataHash(this.payload.networks,t):(o=this.payload.networks)==null?void 0:o[0]}};a(s,"DomainPayloadWrapper");var l=s;var p=a(()=>P({schema:c,template:f,wrap:a(m=>l.wrap(m),"wrap")}),"DomainPayloadPlugin");export{p as DomainPayloadPlugin,l as DomainPayloadWrapper,c as DomainSchema,p as default,f as domainConfigTemplate};
|
|
138
2
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Plugin.ts","../../src/Schema.ts","../../src/Template.ts","../../src/Wrapper.ts"],"sourcesContent":["import { Payload } from '@xyo-network/payload-model'\nimport { createPayloadPlugin } from '@xyo-network/payload-plugin'\n\nimport { DomainPayload } from './Payload'\nimport { DomainSchema } from './Schema'\nimport { domainConfigTemplate } from './Template'\nimport { DomainPayloadWrapper } from './Wrapper'\n\nexport const DomainPayloadPlugin = () =>\n createPayloadPlugin<DomainPayload>({\n schema: DomainSchema,\n template: domainConfigTemplate,\n wrap: (payload: Payload) => DomainPayloadWrapper.wrap(payload as DomainPayload),\n })\n","export type DomainSchema = 'network.xyo.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.domain'\n","import { DomainPayload } from './Payload'\nimport { DomainSchema } from './Schema'\n\nexport const domainConfigTemplate = (): DomainPayload => ({\n aliases: {\n 'com.example.id': {\n huri: '',\n },\n },\n networks: [\n {\n name: '',\n nodes: [\n {\n name: '',\n schema: 'network.xyo.network.node',\n slug: '',\n type: 'archivist',\n uri: '',\n },\n ],\n schema: 'network.xyo.network',\n slug: '',\n },\n ],\n schema: DomainSchema,\n})\n","import { axios, AxiosError } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { reverse } from '@xylabs/lodash'\nimport { isBrowser } from '@xylabs/platform'\nimport { ApiEnvelope } from '@xyo-network/api-models'\nimport { DnsRecordType, domainResolve } from '@xyo-network/dns'\nimport { FetchedPayload, Huri, HuriOptions } from '@xyo-network/huri'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { Alias, DomainPayload } from './Payload'\n\nexport interface FetchedAlias extends FetchedPayload {\n alias: Alias\n}\n\nexport class DomainPayloadWrapper<T extends DomainPayload = DomainPayload> extends PayloadWrapper<T> {\n aliases?: FetchedAlias[] | null\n\n static async discover(reverseDomainName: string, proxy?: string) {\n const parts = reverseDomainName.split('.')\n for (let i = 2; i <= parts.length; i++) {\n const domainToCheck = reverse(parts.filter((_, index) => index < i)).join('.')\n return (await this.discoverDNSEntry(domainToCheck)) ?? (await this.discoverRootFile(domainToCheck, proxy))\n }\n }\n\n static async discoverDNSEntry(domain: string) {\n try {\n const hash = (await domainResolve(`_xyo.${domain}`, DnsRecordType.TXT))?.Answer?.[0]?.data\n if (hash) {\n const huri = new Huri(hash)\n const payload = (await huri.fetch()) as DomainPayload\n if (payload) {\n return new DomainPayloadWrapper(payload)\n }\n }\n } catch {\n console.log(`DomainConfig dns reading error entry not found [${domain}]`)\n }\n }\n\n static async discoverRootFile(domain: string, proxy?: string) {\n return isBrowser() || proxy ? await this.discoverRootFileWithProxy(domain, proxy) : await this.discoverRootFileDirect(domain)\n }\n\n static async discoverRootFileDirect(domain: string) {\n try {\n const config = (await axios.get<DomainPayload>(`https://${domain}/xyo-config.json`)).data\n return new DomainPayloadWrapper(config)\n } catch {\n console.log(`DomainConfig root file not found [${domain}]`)\n }\n }\n\n static async discoverRootFileWithProxy(domain: string, proxy = 'https://api.archivist.xyo.network/domain') {\n try {\n const requestUrl = `${proxy}/${domain.split('.').reverse().join('.')}`\n const config = (await axios.get<ApiEnvelope<DomainPayload>>(requestUrl)).data.data\n return new DomainPayloadWrapper(config)\n } catch (ex) {\n const error = ex as AxiosError\n console.log(`DomainConfig root file not found using proxy [${domain}] [${error.code}]`)\n }\n }\n\n async fetch(networkSlug?: Hash) {\n await this.fetchAliases(networkSlug)\n }\n\n async fetchAliases(networkSlug?: Hash) {\n //set it to null to signify fetch ran\n this.aliases = null\n\n const archivistUri = await this.findArchivistUri(networkSlug)\n if (this.payload.aliases) {\n const fetchedAliases = await Promise.all(\n Object.entries(this.payload.aliases ?? {}).map(([, alias]) => {\n return this.fetchAlias(alias, { archivistUri })\n }),\n )\n //cast to FetchedPayload[] after we filter out any null/undefined entries\n this.aliases = fetchedAliases.filter(Boolean) as FetchedAlias[]\n }\n }\n\n private async fetchAlias(alias: Alias, huriOptions?: HuriOptions): Promise<FetchedAlias | null> {\n const huri = new Huri(alias.huri, huriOptions)\n const payload = await huri.fetch()\n return payload ? { alias, huri, payload: payload } : null\n }\n\n private async findArchivistUri(hash?: Hash): Promise<string | undefined> {\n return (await this.getNetwork(hash))?.nodes?.find((payload) => (payload.type === 'archivist' ? payload : undefined))?.uri\n }\n\n private async getNetwork(hash?: Hash): Promise<NetworkPayload | undefined> {\n
|
|
1
|
+
{"version":3,"sources":["../../src/Plugin.ts","../../src/Schema.ts","../../src/Template.ts","../../src/Wrapper.ts"],"sourcesContent":["import { Payload } from '@xyo-network/payload-model'\nimport { createPayloadPlugin } from '@xyo-network/payload-plugin'\n\nimport { DomainPayload } from './Payload'\nimport { DomainSchema } from './Schema'\nimport { domainConfigTemplate } from './Template'\nimport { DomainPayloadWrapper } from './Wrapper'\n\nexport const DomainPayloadPlugin = () =>\n createPayloadPlugin<DomainPayload>({\n schema: DomainSchema,\n template: domainConfigTemplate,\n wrap: (payload: Payload) => DomainPayloadWrapper.wrap(payload as DomainPayload),\n })\n","export type DomainSchema = 'network.xyo.domain'\nexport const DomainSchema: DomainSchema = 'network.xyo.domain'\n","import { DomainPayload } from './Payload'\nimport { DomainSchema } from './Schema'\n\nexport const domainConfigTemplate = (): DomainPayload => ({\n aliases: {\n 'com.example.id': {\n huri: '',\n },\n },\n networks: [\n {\n name: '',\n nodes: [\n {\n name: '',\n schema: 'network.xyo.network.node',\n slug: '',\n type: 'archivist',\n uri: '',\n },\n ],\n schema: 'network.xyo.network',\n slug: '',\n },\n ],\n schema: DomainSchema,\n})\n","import { axios, AxiosError } from '@xylabs/axios'\nimport { Hash } from '@xylabs/hex'\nimport { reverse } from '@xylabs/lodash'\nimport { isBrowser } from '@xylabs/platform'\nimport { ApiEnvelope } from '@xyo-network/api-models'\nimport { DnsRecordType, domainResolve } from '@xyo-network/dns'\nimport { FetchedPayload, Huri, HuriOptions } from '@xyo-network/huri'\nimport { NetworkPayload } from '@xyo-network/network'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { PayloadWrapper } from '@xyo-network/payload-wrapper'\n\nimport { Alias, DomainPayload } from './Payload'\n\nexport interface FetchedAlias extends FetchedPayload {\n alias: Alias\n}\n\nexport class DomainPayloadWrapper<T extends DomainPayload = DomainPayload> extends PayloadWrapper<T> {\n aliases?: FetchedAlias[] | null\n\n static async discover(reverseDomainName: string, proxy?: string) {\n const parts = reverseDomainName.split('.')\n for (let i = 2; i <= parts.length; i++) {\n const domainToCheck = reverse(parts.filter((_, index) => index < i)).join('.')\n return (await this.discoverDNSEntry(domainToCheck)) ?? (await this.discoverRootFile(domainToCheck, proxy))\n }\n }\n\n static async discoverDNSEntry(domain: string) {\n try {\n const hash = (await domainResolve(`_xyo.${domain}`, DnsRecordType.TXT))?.Answer?.[0]?.data\n if (hash) {\n const huri = new Huri(hash)\n const payload = (await huri.fetch()) as DomainPayload\n if (payload) {\n return new DomainPayloadWrapper(payload)\n }\n }\n } catch {\n console.log(`DomainConfig dns reading error entry not found [${domain}]`)\n }\n }\n\n static async discoverRootFile(domain: string, proxy?: string) {\n return isBrowser() || proxy ? await this.discoverRootFileWithProxy(domain, proxy) : await this.discoverRootFileDirect(domain)\n }\n\n static async discoverRootFileDirect(domain: string) {\n try {\n const config = (await axios.get<DomainPayload>(`https://${domain}/xyo-config.json`)).data\n return new DomainPayloadWrapper(config)\n } catch {\n console.log(`DomainConfig root file not found [${domain}]`)\n }\n }\n\n static async discoverRootFileWithProxy(domain: string, proxy = 'https://api.archivist.xyo.network/domain') {\n try {\n const requestUrl = `${proxy}/${domain.split('.').reverse().join('.')}`\n const config = (await axios.get<ApiEnvelope<DomainPayload>>(requestUrl)).data.data\n return new DomainPayloadWrapper(config)\n } catch (ex) {\n const error = ex as AxiosError\n console.log(`DomainConfig root file not found using proxy [${domain}] [${error.code}]`)\n }\n }\n\n async fetch(networkSlug?: Hash) {\n await this.fetchAliases(networkSlug)\n }\n\n async fetchAliases(networkSlug?: Hash) {\n //set it to null to signify fetch ran\n this.aliases = null\n\n const archivistUri = await this.findArchivistUri(networkSlug)\n if (this.payload.aliases) {\n const fetchedAliases = await Promise.all(\n Object.entries(this.payload.aliases ?? {}).map(([, alias]) => {\n return this.fetchAlias(alias, { archivistUri })\n }),\n )\n //cast to FetchedPayload[] after we filter out any null/undefined entries\n this.aliases = fetchedAliases.filter(Boolean) as FetchedAlias[]\n }\n }\n\n private async fetchAlias(alias: Alias, huriOptions?: HuriOptions): Promise<FetchedAlias | null> {\n const huri = new Huri(alias.huri, huriOptions)\n const payload = await huri.fetch()\n return payload ? { alias, huri, payload: payload } : null\n }\n\n private async findArchivistUri(hash?: Hash): Promise<string | undefined> {\n return (await this.getNetwork(hash))?.nodes?.find((payload) => (payload.type === 'archivist' ? payload : undefined))?.uri\n }\n\n private async getNetwork(hash?: Hash): Promise<NetworkPayload | undefined> {\n return hash ? await PayloadBuilder.findByDataHash(this.payload.networks, hash) : this.payload.networks?.[0]\n }\n}\n"],"mappings":"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","names":["createPayloadPlugin","DomainSchema","domainConfigTemplate","__name","aliases","huri","networks","name","nodes","schema","slug","type","uri","DomainSchema","axios","reverse","isBrowser","DnsRecordType","domainResolve","Huri","PayloadBuilder","PayloadWrapper","DomainPayloadWrapper","PayloadWrapper","aliases","discover","reverseDomainName","proxy","parts","split","i","length","domainToCheck","reverse","filter","_","index","join","discoverDNSEntry","discoverRootFile","domain","_a","_b","_c","hash","domainResolve","DnsRecordType","TXT","Answer","data","payload","Huri","fetch","console","log","isBrowser","discoverRootFileWithProxy","discoverRootFileDirect","config","axios","get","requestUrl","ex","code","networkSlug","fetchAliases","archivistUri","findArchivistUri","fetchedAliases","Promise","all","Object","entries","map","alias","fetchAlias","Boolean","huriOptions","huri","getNetwork","nodes","find","type","undefined","uri","PayloadBuilder","findByDataHash","networks","_DomainPayloadWrapper","DomainPayloadPlugin","__name","createPayloadPlugin","schema","DomainSchema","template","domainConfigTemplate","wrap","payload","DomainPayloadWrapper"]}
|
package/package.json
CHANGED
|
@@ -14,19 +14,19 @@
|
|
|
14
14
|
"@xylabs/hex": "^3.5.1",
|
|
15
15
|
"@xylabs/lodash": "^3.5.1",
|
|
16
16
|
"@xylabs/platform": "^3.5.1",
|
|
17
|
-
"@xyo-network/api-models": "~2.
|
|
18
|
-
"@xyo-network/dns": "~2.
|
|
19
|
-
"@xyo-network/huri": "~2.
|
|
20
|
-
"@xyo-network/network": "~2.
|
|
21
|
-
"@xyo-network/payload-builder": "~2.
|
|
22
|
-
"@xyo-network/payload-model": "~2.
|
|
23
|
-
"@xyo-network/payload-plugin": "~2.
|
|
24
|
-
"@xyo-network/payload-wrapper": "~2.
|
|
17
|
+
"@xyo-network/api-models": "~2.107.1",
|
|
18
|
+
"@xyo-network/dns": "~2.107.1",
|
|
19
|
+
"@xyo-network/huri": "~2.107.1",
|
|
20
|
+
"@xyo-network/network": "~2.107.1",
|
|
21
|
+
"@xyo-network/payload-builder": "~2.107.1",
|
|
22
|
+
"@xyo-network/payload-model": "~2.107.1",
|
|
23
|
+
"@xyo-network/payload-plugin": "~2.107.1",
|
|
24
|
+
"@xyo-network/payload-wrapper": "~2.107.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@xylabs/ts-scripts-yarn3": "^3.11.
|
|
28
|
-
"@xylabs/tsconfig": "^3.11.
|
|
29
|
-
"typescript": "^5.
|
|
27
|
+
"@xylabs/ts-scripts-yarn3": "^3.11.9",
|
|
28
|
+
"@xylabs/tsconfig": "^3.11.9",
|
|
29
|
+
"typescript": "^5.5.2"
|
|
30
30
|
},
|
|
31
31
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
32
32
|
"exports": {
|
|
@@ -67,6 +67,6 @@
|
|
|
67
67
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
68
68
|
},
|
|
69
69
|
"sideEffects": false,
|
|
70
|
-
"version": "2.
|
|
70
|
+
"version": "2.107.1",
|
|
71
71
|
"type": "module"
|
|
72
72
|
}
|
package/src/Wrapper.ts
CHANGED
|
@@ -96,7 +96,6 @@ export class DomainPayloadWrapper<T extends DomainPayload = DomainPayload> exten
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
private async getNetwork(hash?: Hash): Promise<NetworkPayload | undefined> {
|
|
99
|
-
// eslint-disable-next-line unicorn/no-array-method-this-argument
|
|
100
99
|
return hash ? await PayloadBuilder.findByDataHash(this.payload.networks, hash) : this.payload.networks?.[0]
|
|
101
100
|
}
|
|
102
101
|
}
|