{"_id":"@atek-cloud/adb-api","_rev":"6-b3fee82175baa976fbd102cf2c5cde45","name":"@atek-cloud/adb-api","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@atek-cloud/adb-api","version":"1.0.0","description":"Atek DB API","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"homepage":"https://github.com/atek-cloud/adb-api#readme","devDependencies":{"@types/node":"^16.7.13","typescript":"^4.4.2"},"dependencies":{"@atek-cloud/node-rpc":"^4.0.1"},"gitHead":"50f3985d9d1cca71002d5af16d8ac27db4aac4b9","_id":"@atek-cloud/adb-api@1.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-ue3LI+CTMKJAkGhWN8/zQmNsMJv74ZCyLC2ntgrzBJDIGCLi0vNw5dFIrncrmNN0EO9x8D59MmOjl+qzFp5teQ==","shasum":"d667c38ea110f4080d9fd498a8a1db1232399a00","tarball":"https://registry.npmjs.org/@atek-cloud/adb-api/-/adb-api-1.0.0.tgz","fileCount":9,"unpackedSize":54429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN76JCRA9TVsSAnZWagAANToQAIa/yM97mbSE5rGYi2YN\n/Ltpz2NSAuSAZZFzJ9Z6F9LLbGHgP3F/LyItyD4DC0WrR1JtKwkebUtVxr0t\nNpPF2UuiJMzXMbGDyCzZgprLBALSh/IhSWEWUqtoKVpVW0VRET3vciZkQjaG\nv87AJE6QmaM0GN3Sj1geXUQ6nfASlIKh07MKF7JdjAXQLwHf/Ct4EfA1i84U\nkwnUFu/JGGTn3M0yaI/VCcOG8NClMCx6H1atq2Gyh4+c9wLkq/B8NHpdAR0l\nLTSKxsZnnyDhPMk2X5I3cDZW93hMndOT6j4M6QNBRRrZOGq40JAQAvNuwp7U\nfTx4egnYiqBqmnUMDCjwFgNTdFJ5PzXrQzW8GkfjebEh5xQgdAugalkxyd/t\nhqOAObRqqeSK7451LhR/wVQYsD1WQmEWBehk+wy/bin2sZWSBpNXikA7OVcr\nrMn6eYVCYOb3jbuZJnla88u7Qfr/CDHkruwgbexohioPliIMtJ6vg37eTBrD\nE+glHB/zZ+iIZ/TpFdJ0bLFIOr+pfB3lXN2bvhkyUiPSP1TeGBqcUdFolHp5\npdNGa882iqW3pXoNFta6b8tT61t/dkAxausfhIdwSJxxV1lsITUjYT605OZu\n982HlDMC7CsfzEfWI1LAlyBk/AzgdX2W9Qpv256AfdZWrN3Px0xyFcrDeCSD\nMKYd\r\n=yicZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSl8O1R1XF1MQtJ4aW9GiycDpOHDtxqXekwvI7dK4vowIhALSf0AahIAXhIGUK4VLDq9PU8UHYtlFLekYN7U3ZRbp/"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-api_1.0.0_1631043209022_0.4484062042910113"},"_hasShrinkwrap":false},"1.0.1":{"name":"@atek-cloud/adb-api","version":"1.0.1","description":"Atek DB API","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"homepage":"https://github.com/atek-cloud/adb-api#readme","devDependencies":{"@types/node":"^16.7.13","concat-md":"^0.3.5","typedoc":"^0.21.9","typedoc-plugin-markdown":"^3.10.4","typescript":"^4.4.2"},"dependencies":{"@atek-cloud/node-rpc":"^4.1.0"},"gitHead":"d2043a4032063bc796e4fe3c5f3fec20831ed1bf","_id":"@atek-cloud/adb-api@1.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-61IDWvIZGT8Ip60GDoeOXmQ7DbPmSqLFJdd5PQsqj8dOZJOA8Zs6VYjxsTv4Q1y0SnuEhgnMi5WETDM0/4AFaQ==","shasum":"8e25e86c46ec8c40740e93ed38670ecbc6693be1","tarball":"https://registry.npmjs.org/@atek-cloud/adb-api/-/adb-api-1.0.1.tgz","fileCount":11,"unpackedSize":64571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP8WJCRA9TVsSAnZWagAAYvkP+gPzc2ftp0pBlgfr8Ehy\n9lNU7Z9ruVUyc6iohtfCTyzLfC6jL8GyIU6Kun387Cf3YkPbynbcxbVZhig3\nCPOlnXOOhCxVjEwJwi3JNegyg137LmuoRjqS/RvoIsI7xWxzXeOOSqzWOOT6\nHbqKwFcViyXA1TLiQpRTu14zxX5P74IAEgy3TmLIoxVVqVjJltZzP9pfL7RW\nt7T7e6nK/n+VzPrCV2zzd0XGT9VTbzb/WYN6eymICFIHENKUx2XYEuRreAuJ\nY+UXgLgt/xOc/RU8cLcflRz+07UYrqgR8IskC3XXhKEEcoobvWzm/wcr4m2a\nnxYnsym6aK/bIKIylLH1hG0TX1O/oUQI5qX6WeFjDy3B7Ul4HHU79q8/B6J7\nem4skml9yA5tZpFe3V9xPExTM8jiwBBIiPL+bEswhE4mmgOWtqJCrXeeJVzg\nnHtxaFHUI/uPVp3BF4WXdcM3z+khEpyHwwc+H1tdf9y4dMGEbsgLxfd0f8/+\nc63CuB82qmeF2M2P/wZ5VxpZl5MJS4FdBYzscEYkEwi7DAvJObjMZBPHUtKr\ne2cxQRqIuLDSwgRGo7aTGLIjuu0jcdMEAk0CSozuSTchNmX36sRCH/X+av3b\n9le7F5gFaD5yEvNrsZLwp7YY+MO/8IhveK+/BTWa3RztSKeZ633gLFyzhXoj\nF0wB\r\n=L2Mu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5YKUQFJmg3G+XVjiwfzBNsCatL1nZywOzbalmdvGSfAIgNPp5PiBQYIFZTEFtcn2CTW6H1r0Bw09xiIwuH1ouhrc="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-api_1.0.1_1631569289763_0.2783434110033012"},"_hasShrinkwrap":false},"1.0.2":{"name":"@atek-cloud/adb-api","version":"1.0.2","description":"Atek DB API","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"homepage":"https://github.com/atek-cloud/adb-api#readme","devDependencies":{"@types/node":"^16.7.13","concat-md":"^0.3.5","typedoc":"^0.21.9","typedoc-plugin-markdown":"^3.10.4","typescript":"^4.4.2"},"dependencies":{"@atek-cloud/node-rpc":"^4.2.0"},"gitHead":"2c9e387ec6c2f8d3e1bd85ef8d2cf6aefc81da9f","_id":"@atek-cloud/adb-api@1.0.2","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-ynh127aZl3N9SgEleo9zlYpYjfn8aLzq31nhaF2bLyI5FzRd6f2o94c0BMXnML2rar384mHnFxSAl6DAy2T7ow==","shasum":"34607036fe333a6ca98427187d1252041bc40563","tarball":"https://registry.npmjs.org/@atek-cloud/adb-api/-/adb-api-1.0.2.tgz","fileCount":11,"unpackedSize":64571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQATZCRA9TVsSAnZWagAAHCIP/Rz/SrjxHxRK4TiTQYQs\n5h7NdHXaJpZNW6B8+f95Um/OLD/7yswXO8JtjyTllHw8HCV69rDfN9Sfo/gD\nnExbLEDdx9i4bEmyaGbqyfkjhxNylQstAKhWe78V6Sdsl/g9OVJ+3nZPW2Bt\n34vnx3wpVzo78mL+s8CvgIQ/E5khPnhaxPAd9Imc7JoJl5Pet6Rd/qdcv2I9\npV2c2b3Ob2g35ljy3Jgdt6bpE5PE3QoCu1ztHo01j0jAnaxmsIJkwOzNjLJs\nIaSXskrumOXmJKQDtWZb6v1iVO/rNPU5+CDLP6srfAUhlsX32cggJ56YkbmY\nMlPy7Vp9Wu20G4RT8/+LVoucKJC2eXysXc7LR7/ixDidnnRCoec+Y8W5eCFu\nmbpYmeR1Wzpf2Mm2G0eD+A/XZ1wYF3DV5kSVJpwRNMpuDw9COw/iujNyOHKG\nMwMnU9ybPtU2C4bugbLQBw5MZmmsPvz9SxDX6FVS0LL2WVVXut6Q9/wWre1L\nS0nm+vcOKHVSSJgOinUftSVk16o0KfUgYezEb/JtGR0Slvas0F5GEdmLrv3Q\nQRBAiL4YCuXY+hKpcmBMPR3g7xrIwdTNY/XUddMxAUrN0XMJfkGs1Jyfpn8T\nxz4MBygpTbwL5K7eAxpYQlA8Nw1gJkXs4ukcTkv7YxAmrldbsubYcQi4VJQW\nKXnI\r\n=jhvj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4bDJ5RP5O8EcM26CBR6ioSeAmjCr7Jd1BwHS5ssBVhAiEA3TjVvlQmiFZZNqt4Gza6XL2k9mIlCDXxxcf6StVgpJ4="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-api_1.0.2_1631585497319_0.12279372931081944"},"_hasShrinkwrap":false},"1.1.0":{"name":"@atek-cloud/adb-api","version":"1.1.0","description":"Atek DB API","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"homepage":"https://github.com/atek-cloud/adb-api#readme","devDependencies":{"@types/node":"^16.7.13","concat-md":"^0.3.5","typedoc":"^0.21.9","typedoc-plugin-markdown":"^3.10.4","typescript":"^4.4.2"},"dependencies":{"@atek-cloud/node-rpc":"^4.2.0"},"gitHead":"2fdfb8e63a7e7a8622c8c5a059de623f57be55eb","_id":"@atek-cloud/adb-api@1.1.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-S/sW4sqKvOKq9/EQX3DWRrE1cQb6dk/9IQs31oFTx+j6dSsoOz6mXtsg719HkPLcpUZ1+riWc8aGCiWMYXaeEQ==","shasum":"fe6e75c96e80cf6bdcfb25008dd72b21160f2aaa","tarball":"https://registry.npmjs.org/@atek-cloud/adb-api/-/adb-api-1.1.0.tgz","fileCount":11,"unpackedSize":66611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ/36CRA9TVsSAnZWagAAG8AP/2GkpbH9zrJ/Yu///X5R\npCzGnIuiVCIUhAd7nxNGhxAiOcvYFFsZNIVjfKkYOVqiTsbo4Z6f7QV6AbTX\nLG57Z7o1c4qUMlAecTDY0Xn/OBei5m4LQCPEW+swOujPi6k76PgDtNEO8IQf\n37VX7VUqSjTNUaC6brtpJ7RFoOJvwFnrY4F5uQg18kHjLejUjoPSBRbe01l9\n/6uHpt85GOEtpkDL3bT6eapGsYuOdmnidbU2siVKe+Xa3GSY/vk9V/xMMznH\nGMlWp2vtBxeEoBpQJgeIhCua70Nc7Y4qCD5N3LJFLhkZxwuUO0KilYqcMp9/\neR671G2tbgce0MpkHDOUiNdngq1SJaytxUZfaTEdlgrnT/jJ74PXjI6wk+Si\nqShOKxVcyELPH4cJlXSwtPmHBtDFTlh+jjt8OF3rh7ylpPLDjQC1FXQIGvfr\nXOycFo5DfOVhQzIBeXOd1IzmZJpprQtOLndJECPbhyLUIMw0mPfkYOozLR+D\nWDtDoHbIVWTAMZGlehxu6o+kYPnUXl7C6zJ6riDBOEgqDWNoFqBNHC274Zen\nlY06OYpIuMZhVIk2zUULCe1lKZRKHkF0APIcbCPDJfhgFcXuVDs8lE9ze6Kn\nRK6Bq97TRLG99fyeDrMTAnZ0Lv0VrTeNjakFuy99R3GTm4efXO9kdkBzUg37\nDipG\r\n=FZyc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdnsdzORt1JMvc5ZphfgFvGavmqrYnSg5s+FN+5OCh5QIgNvvcbWHF6nb9U+/v9tkw1melgbHlGz7w3kvLDHTCTvg="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-api_1.1.0_1631845882066_0.8619867344457699"},"_hasShrinkwrap":false},"2.0.0":{"name":"@atek-cloud/adb-api","version":"2.0.0","description":"Atek DB API","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"homepage":"https://github.com/atek-cloud/adb-api#readme","devDependencies":{"@types/node":"^16.7.13","concat-md":"^0.3.5","typedoc":"^0.21.9","typedoc-plugin-markdown":"^3.10.4","typescript":"^4.4.2"},"dependencies":{"@atek-cloud/node-rpc":"^4.2.0","ajv":"^8.6.3","ajv-formats":"^2.1.1","json-ptr":"^2.2.0","monotonic-lexicographic-timestamp":"^1.0.0"},"gitHead":"d6a65aed8d1aa1df7af7bb5273de6bcb99ae9669","_id":"@atek-cloud/adb-api@2.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-9p/EzdMcvXPK3X5Ldc2+CosoLgM2r1Qqi2eHcQyRdWBGtxEhfHmDYwR4vJQrl/9rHwaLVUKkf4NeWLM7dSQ6GA==","shasum":"f3ccb30316f2cb76b0b8a9ac441279f08c0fd2e5","tarball":"https://registry.npmjs.org/@atek-cloud/adb-api/-/adb-api-2.0.0.tgz","fileCount":15,"unpackedSize":56451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzGbsCRA9TVsSAnZWagAAE34QAJxb9AaDZPPfsiUG9wms\nDYRPNQdbhkxCLy2FT4RRPe44oTrOiX9QI6c8QmY2Q28CduHjwfOSX/ylxjHM\nDqhhuEonsVtDni9l1RV02M0vch6F7/5k6h4tTWd9wD0ziXoZsLmyN6SFLYZc\nTqhcRbqG4iFqdSatSp/HyTVCknHgp3Jt86oXo8xD3DPU/oUgn1bVqNVbWRDC\nCygm8Q6OsvSNb4QEgkiELfpcqpDDKUknZCr+G0NRZG9+plm8vmf9S3p9NH5d\n2jl1BlnYicMWuntYIiIlehQtZ6Ky2tVRpXZXSkiY73tj9nFvteB58T+pKZFy\nM4KFJgVl4c9SZrVLHQlZehOTHuseyXouoEC/VHBhCvoWORKwrqGN96OhN95R\nPrdIoE1pMPseHrFi2mqvX0H5H5nHCHM7szfjOvlovCiOsx8foQyROe4EoC+6\nIJKcb7GKFLUmgn6JAQFxdi3DPmi2D84aFxl8wwGUGsDrxNeicJFpEpvSOe3E\nb+Sgr/0GwTXsmV6RwSsDgt/HNOhTsv55jnIH/YslGlDrc8p0uZ9vpwXgCzl+\nr94EY2c+r8hxWxkhmwGwuE6qVIISpfYR8//Zy4KzzlwFNroqYoDuwKVftbnV\ngKOC0fjmHb5s3HYSJ1J1cEv8vloJ3TmsWTXQQDi0YiVOtexyEdTYUc7ZF/MP\nFV3p\r\n=ar1+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqfK7Vhjwxuz3SpXNWE5omrPaKomPIXsiydJc9zzsxmAIhAK4nnr3GvB0rBzC1PpfbaJo/20wDQdQuav0QAkmCC7uW"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/adb-api_2.0.0_1632960882390_0.7511076217313979"},"_hasShrinkwrap":false}},"time":{"created":"2021-09-07T19:33:28.982Z","1.0.0":"2021-09-07T19:33:29.135Z","modified":"2022-04-04T16:03:02.213Z","1.0.1":"2021-09-13T21:41:29.901Z","1.0.2":"2021-09-14T02:11:37.507Z","1.1.0":"2021-09-17T02:31:22.319Z","2.0.0":"2021-09-30T00:14:42.654Z"},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"description":"Atek DB API","homepage":"https://github.com/atek-cloud/adb-api#readme","repository":{"type":"git","url":"git+https://github.com/atek-cloud/adb-api.git"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"bugs":{"url":"https://github.com/atek-cloud/adb-api/issues"},"license":"MIT","readme":"# Atek Database API\n\n`atek.cloud/adb-api`\n\n```\nnpm install @atek-cloud/adb-api\n```\n\n```typescript\nimport adb from '@atek-cloud/adb-api'\nimport cats from 'example-cats-table'\n\n// get or create a database under the 'mydb' alias\nconst db = adb.db('mydb')\n\n// use the cats table\nawait cats(db).create({id: 'kit', name: 'Kit'})\nawait cats(db).list() // => {records: [{key: 'kit', value: {id: 'kit', name: 'Kit', createdAt: '2021-09-07T01:06:07.487Z'}}]}\nawait cats(db).get('kit') // => {key: 'kit', value: {id: 'kit', name: 'Kit', createdAt: '2021-09-07T01:06:07.487Z'}}\nawait cats(db).put('kit', {id: 'kit', name: 'Kitty'})\nawait cats(db).delete('kit')\n```\n\nSee [The Atek DB Guide](https://atek.cloud/docs/manual/adb/intro) to learn how to use ADB.\n\n## Default export properties\n\n| Name | Type |\n| :------ | :------ |\n| `api` | `AdbApi` & `AtekRpcClient` |\n| `db` | (`dbId`: `string` \\| `DbConfig`, `opts?`: `DbConfig`) => [`AdbDatabase`](#classesadbdatabasemd) |\n\nUse the `.db()` method to create [`AdbDatabase`](#classesadbdatabasemd) instances. You may pass a Hypercore 64-character hex-string key or an arbitrary string (which will be a local alias).\n\n```typescript\nimport adb from '@atek-cloud/adb-api'\n\n// get or create a database under the 'mydb' alias\n// - the 'mydb' alias will be stored under this application for easy future access\nconst db = adb.db('mydb')\n\n// get a database under its Hypercore key\n// - if the database does not exist locally, its content will be fetched from the p2p network\nconst db2 = adb.db('97396e81e407e5ae7a64b375cc54c1fc1a0d417a5a72e2169b5377506e1e3163')\n```\n\nThe `.api` is the RPC interface which will be used by `.db()`.\n\n## Exported Functions\n\n### defineSchema\n\n▸ **defineSchema**<`T`\\>(`path`, `opts?`): (`db`: [`AdbDatabase`](#classesadbdatabasemd)) => `any`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `path` | `string` \\| `string`[] |\n| `opts?` | [`AdbSchemaOpts`](#interfacesadbschemaoptsmd) |\n\n#### Returns\n\n`fn`\n\n▸ (`db`): `any`\n\nUse this function to create reusable record schemas.\n\n```typescript\nimport adb, { defineSchema } from '@atek-cloud/adb-api`\n\ninterface CatRecord {\n  id: string\n  name: string\n  createdAt: string\n}\n\nconst cats = defineSchema<CatRecord>('example.com/cats', {\n  pkey: '/id',\n  jsonSchema: {\n    type: 'object',\n    required: ['id', 'name']\n    properties: {\n      id: {type: 'string'},\n      name: {type: 'string'},\n      createdAt: {type: 'string', format: 'date-time'}\n    }\n  }\n})\n\nawait cats(adb.db('mydb')).create({\n  id: 'kit',\n  name: 'Kit the Cat'\n})\n```\n\n---\n### createClient\n\n▸ **createClient**(): `AdbApi` & `AtekRpcClient`\n\n#### Returns\n\n`AdbApi` & `AtekRpcClient`\n\nCreates an `AdbApi` instance. You can typically use the `.api` exported on the default object, but if you need to configure a separate API instance you can use this function.\n\n___\n\n### createServer\n\n▸ **createServer**(`handlers`): `AtekRpcServer`\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `handlers` | `any` |\n\n#### Returns\n\n`AtekRpcServer`\n\nCreates an `AtekRpcServer` server. You would only ever need this if creating your own ADB server (perhaps for test mocking).\n\n\n## Class: AdbDatabase\n\n### Constructor\n\n• **new AdbDatabase**(`api`, `dbId`, `opts?`)\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `api` | `AdbApi` |\n| `dbId` | `string` |\n| `opts?` | `DbConfig` |\n\n### Properties\n\n#### isReady\n\n• **isReady**: `Promise`<`any`\\>\n\n___\n\n#### api\n\n• **api**: `AdbApi`\n\n___\n\n#### dbId\n\n• **dbId**: `string`\n\n### Methods\n\n#### describe\n\n▸ **describe**(): `Promise`<`DbInfo`\\>\n\n**`desc`** Get metadata and information about the database.\n\n##### Returns\n\n`Promise`<`DbInfo`\\>\n\n___\n\n#### list\n\n▸ **list**(`path`, `opts?`): `Promise`<`Object`\\>\n\n**`desc`** List records in a table.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `path` | `string` \\| `string`[] |\n| `opts?` | `ListOpts` |\n\n##### Returns\n\n`Promise`<`Object`\\>\n\n___\n\n#### get\n\n▸ **get**(`path`): `Promise`<`Record`<`object`\\>\\>\n\n**`desc`** Get a record in a table.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `path` | `string` \\| `string`[] |\n\n##### Returns\n\n`Promise`<`Record`<`object`\\>\\>\n\n___\n\n#### put\n\n▸ **put**(`path`, `value`): `Promise`<`Record`<`object`\\>\\>\n\n**`desc`** Write a record to a table.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `path` | `string` \\| `string`[] |\n| `value` | `object` |\n\n##### Returns\n\n`Promise`<`Record`<`object`\\>\\>\n\n___\n\n#### delete\n\n▸ **delete**(`path`): `Promise`<`void`\\>\n\n**`desc`** Delete a record from a table.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `path` | `string` \\| `string`[] |\n\n##### Returns\n\n`Promise`<`void`\\>\n\n## Class: AdbSchema<T\\>\n\n### Type parameters\n\n| Name | Type |\n| :------ | :------ |\n| `T` | extends `object` |\n\n### Constructor\n\n• **new AdbSchema**<`T`\\>(`db`, `path`, `opts?`)\n\n#### Type parameters\n\n| Name | Type |\n| :------ | :------ |\n| `T` | extends `object` |\n\n#### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `db` | [`AdbDatabase`](#classesadbdatabasemd) |\n| `path` | `string` \\| `string`[] |\n| `opts?` | [`AdbSchemaOpts`](#interfacesadbschemaoptsmd) |\n\n### Properties\n\n#### path\n\n• **path**: `string`[]\n\n___\n\n#### isReady\n\n• **isReady**: `Promise`<`any`\\>\n\n___\n\n#### pkey\n\n• `Optional` **pkey**: `string` \\| `string`[]\n\n___\n\n#### pkeyFn\n\n• **pkeyFn**: `PkeyFunction`\n\n___\n\n#### jsonSchema\n\n• `Optional` **jsonSchema**: `object`\n\n___\n\n#### validator\n\n• `Optional` **validator**: `Validator`\n\n___\n\n#### db\n\n• **db**: [`AdbDatabase`](#classesadbdatabasemd)\n\n### Methods\n\n#### list\n\n▸ **list**(`opts?`): `Promise`<`Object`\\>\n\n**`desc`** List records in the schema.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `opts?` | `ListOpts` |\n\n##### Returns\n\n`Promise`<`Object`\\>\n\n___\n\n#### get\n\n▸ **get**(`key`, `opts?`): `Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n**`desc`** Get a record in the schema space.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `key` | `string` |\n| `opts?` | `ValidationOpts` |\n\n##### Returns\n\n`Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n___\n\n#### create\n\n▸ **create**(`value`, `opts?`): `Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n**`desc`** Add a record to the schema space.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `value` | `T` |\n| `opts?` | `ValidationOpts` |\n\n##### Returns\n\n`Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n___\n\n#### put\n\n▸ **put**(`key`, `value`, `opts?`): `Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n**`desc`** Write a record to the schema space.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `key` | `string` |\n| `value` | `T` |\n| `opts?` | `ValidationOpts` |\n\n##### Returns\n\n`Promise`<`undefined` \\| `Record`<`T`\\>\\>\n\n___\n\n#### delete\n\n▸ **delete**(`key`): `Promise`<`void`\\>\n\n**`desc`** Delete a record from the schema space.\n\n##### Parameters\n\n| Name | Type |\n| :------ | :------ |\n| `key` | `string` |\n\n##### Returns\n\n`Promise`<`void`\\>\n\n## Interface: AdbSchemaOpts\n\n### Properties\n\n#### pkey\n\n• `Optional` **pkey**: `string` \\| `string`[]\n\n___\n\n#### jsonSchema\n\n• `Optional` **jsonSchema**: `object`\n\n","readmeFilename":"README.md"}