@1mill/sops
Version:
```bash npm install @1mill/sops ```
3 lines (2 loc) • 717 B
JavaScript
const e=require("crypto"),r=Object.freeze("_unencrypted");module.exports={decryptScalar:({aad:t,key:a,value:o})=>{if(t.endsWith(`${r}:`))return o;const[c,s,f,u,n]=o.match(/^ENC\[AES256_GCM,data:(.+),iv:(.+),tag:(.+),type:(.+)\]/);decryptor=e.createDecipheriv("aes-256-gcm",a,Buffer.from(f,"base64")),decryptor.setAAD(Buffer.from(t)),decryptor.setAuthTag(Buffer.from(u,"base64"));const p=decryptor.update(Buffer.from(s,"base64"),void 0,"utf-8")+decryptor.final("utf-8");switch(n){case"bool":return"true"===p.toLowerCase();case"bytes":case"str":return p;case"float":return parseFloat(p);case"int":return parseInt(p,10);default:throw new Error(`Unknown type "${n}"`)}}};
//# sourceMappingURL=decryptScalar.modern.js.map