{"version":3,"sources":["jsdelivr-header.js","/npm/@ddatabase/strong-link@1.0.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,OAAS,QAAQ,qBAKvB,SAAS,SAAU,EAAM,EAAK,GAC5B,EAAK,IAAI,GAAK,SAAU,GACtB,GAAI,EAAK,OAAO,EAAG,GACnB,EAAK,WAAW,GAAK,SAAU,EAAK,GAClC,GAAI,EAAK,OAAO,EAAG,GACnB,EAAG,KAAM,CACP,KAAM,EAAK,IACX,MACA,SAAU,OAAO,KAAK,IAE1B,GACF,GACF,CAEA,SAAS,OAAQ,EAAM,EAAK,GAC1B,EAAK,OAAM,SAAU,GACnB,OAAI,EAAY,EAAG,GACd,EAAK,IAAI,OAAO,EAAI,WACzB,EAAK,IAAI,EAAI,KAAK,SAAU,EAAK,GAC/B,GAAI,EAAK,OAAO,EAAG,GACnB,EAAK,WAAW,EAAI,KAAK,SAAU,EAAK,GACtC,OAAI,EAAY,EAAG,GACf,OAAO,KAAK,GAAO,OAAO,EAAI,UAAkB,EAAG,KAAM,QAC7D,EAAG,IAAI,MAAM,qBACf,GACF,IARuC,EAAG,IAAI,MAAM,YAStD,GACF,CA9BA,QAAQ,SAAW,SACnB,QAAQ,OAAS","file":"/npm/@ddatabase/strong-link@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@ddatabase/strong-link@1.0.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const crypto = require('@ddatabase/crypto')\n\nexports.generate = generate\nexports.verify = verify\n\nfunction generate (feed, seq, cb) {\n  feed.get(seq, function (err) {\n    if (err) return cb(err)\n    feed.rootHashes(seq, function (err, roots) {\n      if (err) return cb(err)\n      cb(null, {\n        feed: feed.key,\n        seq,\n        treeHash: crypto.tree(roots)\n      })\n    })\n  })\n}\n\nfunction verify (feed, ptr, cb) {\n  feed.ready(function (err) {\n    if (err) return cb(err)\n    if (!feed.key.equals(ptr.feed)) return cb(new Error('Bad feed'))\n    feed.get(ptr.seq, function (err, data) {\n      if (err) return cb(err)\n      feed.rootHashes(ptr.seq, function (err, roots) {\n        if (err) return cb(err)\n        if (crypto.tree(roots).equals(ptr.treeHash)) return cb(null, data)\n        cb(new Error('Checksum mismatch'))\n      })\n    })\n  })\n}\n"]}