OverviewFilesCommitsIssuesDocsReleasesPeers

holepunchto-deps / @holepunchto / keet-core / schema / spec / config / hyperschema / index.js

1 lines · javascript ref:
const{c:e}=require("hyperschema/runtime");let d=8;const n={preencode(n,o){e.uint.preencode(n,o.minimum),n.end++,o.autoupgrade&&e.uint.preencode(n,o.autoupgrade),d>=3&&o.forceUpdate&&e.uint.preencode(n,o.forceUpdate),d>=4&&o.minVersion&&R.preencode(n,o.minVersion),d>=7&&o.stable&&e.uint.preencode(n,o.stable),d>=8&&o.desktopMinVersion&&x.preencode(n,o.desktopMinVersion)},encode(n,o){const c=(o.autoupgrade?1:0)|(d>=3&&o.forceUpdate?2:0)|(d>=4&&o.minVersion?4:0)|(d>=7&&o.stable?8:0)|(d>=8&&o.desktopMinVersion?16:0);e.uint.encode(n,o.minimum),e.uint.encode(n,c),o.autoupgrade&&e.uint.encode(n,o.autoupgrade),d>=3&&o.forceUpdate&&e.uint.encode(n,o.forceUpdate),d>=4&&o.minVersion&&R.encode(n,o.minVersion),d>=7&&o.stable&&e.uint.encode(n,o.stable),d>=8&&o.desktopMinVersion&&x.encode(n,o.desktopMinVersion)},decode(n){const o=e.uint.decode(n),c=e.uint.decode(n);return{minimum:o,autoupgrade:1&c?e.uint.decode(n):0,forceUpdate:d>=3&&2&c?e.uint.decode(n):0,minVersion:d>=4&&4&c?R.decode(n):null,stable:d>=7&&8&c?e.uint.decode(n):0,desktopMinVersion:d>=8&&16&c?x.decode(n):null}}},o=e.array(e.fixed32),c={preencode(d,n){e.fixed32.preencode(d,n.db),e.fixed32.preencode(d,n.reserved),e.fixed32.preencode(d,n.blobs),o.preencode(d,n.rpc)},encode(d,n){e.fixed32.encode(d,n.db),e.fixed32.encode(d,n.reserved),e.fixed32.encode(d,n.blobs),o.encode(d,n.rpc)},decode:d=>({db:e.fixed32.decode(d),reserved:e.fixed32.decode(d),blobs:e.fixed32.decode(d),rpc:o.decode(d)})},r=e.array(e.frame(c)),i=o,s=o,t=o,u=o,a={preencode(d,n){d.end++,n.userRegistries&&r.preencode(d,n.userRegistries),n.blindPeers&&i.preencode(d,n.blindPeers),n.blindRelays&&s.preencode(d,n.blindRelays),n.gatekeepers&&t.preencode(d,n.gatekeepers),n.discovery&&u.preencode(d,n.discovery),n.feedback&&e.fixed32.preencode(d,n.feedback)},encode(d,n){const o=(n.userRegistries?1:0)|(n.blindPeers?2:0)|(n.blindRelays?4:0)|(n.gatekeepers?8:0)|(n.discovery?16:0)|(n.feedback?32:0);e.uint.encode(d,o),n.userRegistries&&r.encode(d,n.userRegistries),n.blindPeers&&i.encode(d,n.blindPeers),n.blindRelays&&s.encode(d,n.blindRelays),n.gatekeepers&&t.encode(d,n.gatekeepers),n.discovery&&u.encode(d,n.discovery),n.feedback&&e.fixed32.encode(d,n.feedback)},decode(d){const n=e.uint.decode(d);return{userRegistries:1&n?r.decode(d):null,blindPeers:2&n?i.decode(d):null,blindRelays:4&n?s.decode(d):null,gatekeepers:8&n?t.decode(d):null,discovery:16&n?u.decode(d):null,feedback:32&n?e.fixed32.decode(d):null}}},l=o,p=o,f={preencode(e,n){e.end++,n.disabled&&l.preencode(e,n.disabled),d>=6&&n.verified&&p.preencode(e,n.verified)},encode(n,o){const c=(o.disabled?1:0)|(d>=6&&o.verified?2:0);e.uint.encode(n,c),o.disabled&&l.encode(n,o.disabled),d>=6&&o.verified&&p.encode(n,o.verified)},decode(n){const o=e.uint.decode(n);return{disabled:1&o?l.decode(n):null,verified:d>=6&&2&o?p.decode(n):null}}},b=e.frame(n),m=e.frame(a),g=e.frame(f),v={preencode(e,n){b.preencode(e,n.versions),e.end++,n.services&&m.preencode(e,n.services),n.rooms&&g.preencode(e,n.rooms),d>=2&&n.profile&&h.preencode(e,n.profile),d>=5&&n.debug&&V.preencode(e,n.debug)},encode(n,o){const c=(o.services?1:0)|(o.rooms?2:0)|(d>=2&&o.profile?4:0)|(d>=5&&o.debug?8:0);b.encode(n,o.versions),e.uint.encode(n,c),o.services&&m.encode(n,o.services),o.rooms&&g.encode(n,o.rooms),d>=2&&o.profile&&h.encode(n,o.profile),d>=5&&o.debug&&V.encode(n,o.debug)},decode(n){const o=b.decode(n),c=e.uint.decode(n);return{versions:o,services:1&c?m.decode(n):null,rooms:2&c?g.decode(n):null,profile:d>=2&&4&c?h.decode(n):null,debug:d>=5&&8&c?V.decode(n):null}}},k={preencode(n,o){n.end++,d>=7&&o.otaResyncPrivateProfileBump&&e.uint.preencode(n,o.otaResyncPrivateProfileBump)},encode(n,o){const c=(d>=2&&o.disableUnreadSync?1:0)|(d>=7&&o.otaResyncPrivateProfileBump?2:0);e.uint.encode(n,c),d>=7&&o.otaResyncPrivateProfileBump&&e.uint.encode(n,o.otaResyncPrivateProfileBump)},decode(n){const o=e.uint.decode(n);return{disableUnreadSync:d>=2&&!!(1&o),otaResyncPrivateProfileBump:d>=7&&2&o?e.uint.decode(n):0}}},y={preencode(d,n){e.uint.preencode(d,n.major),e.uint.preencode(d,n.minor),e.uint.preencode(d,n.patch)},encode(d,n){e.uint.encode(d,n.major),e.uint.encode(d,n.minor),e.uint.encode(d,n.patch)},decode:d=>({major:e.uint.decode(d),minor:e.uint.decode(d),patch:e.uint.decode(d)})},P={preencode(n,o){n.end++,d>=5&&o.unlockHash&&e.fixed32.preencode(n,o.unlockHash)},encode(n,o){const c=d>=5&&o.unlockHash?1:0;e.uint.encode(n,c),d>=5&&o.unlockHash&&e.fixed32.encode(n,o.unlockHash)},decode(n){const o=e.uint.decode(n);return{unlockHash:d>=5&&1&o?e.fixed32.decode(n):null}}},R=e.frame(y),x=R,h=e.frame(k),V=e.frame(P);function U(e){switch(e){case"@config/versions":return n;case"@config/user-registry":return c;case"@config/services":return a;case"@config/rooms":return f;case"@config/keet-config":return v;case"@config/profile":return k;case"@config/semver":return y;case"@config/debug":return P;default:throw new Error("Encoder not found "+e)}}function B(e,n=8){const o=U(e);return{preencode(e,c){d=n,o.preencode(e,c)},encode(e,c){d=n,o.encode(e,c)},decode:e=>(d=n,o.decode(e))}}const E=B;module.exports={resolveStruct:E,getStruct:B,getEnum:function(e){throw new Error("Enum not found "+e)},getEncoding:U,encode:function(n,o,c=8){return d=c,e.encode(U(n),o)},decode:function(n,o,c=8){return d=c,e.decode(U(n),o)},setVersion:function(e){d=e},version:d};