//@extension priority -10000 const { redisClient, kvjs, s3ClientProvider } = extension.import('core'); const svc_database = extension.import('service:database'); const svc_kvstore = extension.import('service:puter-kvstore'); // Methods on the object from `.as()` come from TraitsFeature.js, // and they are already bound to their respective instance. const simplified_kv = { ...svc_kvstore.as('puter-kvstore') }; const original_get = simplified_kv.get; const original_set = simplified_kv.set; simplified_kv.get = (...a) => { if ( typeof a[0] === 'string' ) { return original_get({ key: a[0] }); } return original_get(...a); }; simplified_kv.set = (...a) => { if ( typeof a[0] === 'string' ) { return original_set({ key: a[0], value: a[1] }); } return original_set(...a); }; extension.exports = { db: svc_database.get(), kv: simplified_kv, cache: redisClient, kvjs: kvjs, s3ClientProvider, };