{"version":3,"sources":["../../src/cacheable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACzB;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACrB;;;OAGG;IACH,EAAE,EAAE,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;CACzC","file":"cacheable.d.ts","sourcesContent":["/**\n *\tMIT License\n *\n *\tCopyright (c) 2019 - 2022 Toreda, Inc.\n *\n *\tPermission is hereby granted, free of charge, to any person obtaining a copy\n *\tof this software and associated documentation files (the \"Software\"), to deal\n *\tin the Software without restriction, including without limitation the rights\n *\tto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *\tcopies of the Software, and to permit persons to whom the Software is\n *\tfurnished to do so, subject to the following conditions:\n\n * \tThe above copyright notice and this permission notice shall be included in all\n * \tcopies or substantial portions of the Software.\n *\n * \tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *\tIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *\tFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * \tAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *\tLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *\tOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * \tSOFTWARE.\n *\n */\n\nimport type {CacheIdFn} from './cache/id/fn';\nimport type {CacheItemId} from './cache/item/id';\n\n/**\n * Cacheable objects implement all API properties & functions needed to\n * be cached.\n *\n * @category Object API\n */\nexport interface Cacheable {\n\t/**\n\t * \tAllow property checks & probing using index or hasOwnProperty, otherwise properties not explicitly\n\t * \tdefined cannot be used, even to check if they exist.\n\t */\n\t[k: string]: unknown;\n\t/**\n\t * Globally unique ID. Strings must be be a valid id. ID functions such as Strong Types like\n\t * `Id` & Text` or other helpers must return a globally unique identifier.\n\t */\n\tid: CacheItemId | CacheIdFn<CacheItemId>;\n}\n"]}