{"version":3,"file":"config-errors.cjs","sources":["../../../src/collection/config-errors.ts"],"sourcesContent":["// Internal development diagnostics; keep these out of the public exports.\nimport { CollectionConfigurationError } from '../errors'\n\nexport class CollectionRequiresGetKeyError extends CollectionConfigurationError {\n  constructor() {\n    super(\n      `Collection requires a \"getKey\" function in the config.\\n\\n` +\n        `The getKey function extracts a unique identifier from each item.\\n\\n` +\n        `Example:\\n` +\n        `  createCollection({\\n` +\n        `    getKey: (item) => item.id,\\n` +\n        `    sync: { sync: () => {} },\\n` +\n        `  })`,\n    )\n  }\n}\n\nexport class InvalidGetKeyError extends CollectionConfigurationError {\n  constructor(actualType: string) {\n    super(\n      `\"getKey\" must be a function, but received ${actualType}.\\n\\n` +\n        `Example:\\n` +\n        `  createCollection({\\n` +\n        `    getKey: (item) => item.id,\\n` +\n        `    sync: { sync: () => {} },\\n` +\n        `  })`,\n    )\n  }\n}\n\nexport class InvalidSyncConfigError extends CollectionConfigurationError {\n  constructor(actualType: string) {\n    super(\n      `\"sync\" must be an object with a \"sync\" function, but received ${actualType}.\\n\\n` +\n        `Example:\\n` +\n        `  createCollection({\\n` +\n        `    getKey: (item) => item.id,\\n` +\n        `    sync: {\\n` +\n        `      sync: ({ begin, write, commit, markReady }) => {\\n` +\n        `        // your sync logic\\n` +\n        `      },\\n` +\n        `    },\\n` +\n        `  })`,\n    )\n  }\n}\n\nexport class InvalidSyncFunctionError extends CollectionConfigurationError {\n  constructor(actualType: string) {\n    super(\n      `\"sync.sync\" must be a function, but received ${actualType}.\\n\\n` +\n        `The sync property should be an object containing a sync function:\\n` +\n        `  sync: {\\n` +\n        `    sync: ({ begin, write, commit, markReady }) => {\\n` +\n        `      // your sync logic\\n` +\n        `    },\\n` +\n        `  }`,\n    )\n  }\n}\n\nexport class InvalidCallbackOptionError extends CollectionConfigurationError {\n  constructor(optionName: string, actualType: string) {\n    super(`\"${optionName}\" must be a function, but received ${actualType}.`)\n  }\n}\n\nexport class InvalidOptionTypeError extends CollectionConfigurationError {\n  constructor(optionName: string, expectedType: string, actualType: string) {\n    super(\n      `\"${optionName}\" must be ${expectedType}, but received ${actualType}.`,\n    )\n  }\n}\n"],"names":["CollectionConfigurationError"],"mappings":";;;AAGO,MAAM,sCAAsCA,OAAAA,6BAA6B;AAAA,EAC9E,cAAc;AACZ;AAAA,MACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EAQJ;AACF;AAEO,MAAM,2BAA2BA,OAAAA,6BAA6B;AAAA,EACnE,YAAY,YAAoB;AAC9B;AAAA,MACE,6CAA6C,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EAO3D;AACF;AAEO,MAAM,+BAA+BA,OAAAA,6BAA6B;AAAA,EACvE,YAAY,YAAoB;AAC9B;AAAA,MACE,iEAAiE,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EAW/E;AACF;AAEO,MAAM,iCAAiCA,OAAAA,6BAA6B;AAAA,EACzE,YAAY,YAAoB;AAC9B;AAAA,MACE,gDAAgD,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EAQ9D;AACF;AAEO,MAAM,mCAAmCA,OAAAA,6BAA6B;AAAA,EAC3E,YAAY,YAAoB,YAAoB;AAClD,UAAM,IAAI,UAAU,sCAAsC,UAAU,GAAG;AAAA,EACzE;AACF;AAEO,MAAM,+BAA+BA,OAAAA,6BAA6B;AAAA,EACvE,YAAY,YAAoB,cAAsB,YAAoB;AACxE;AAAA,MACE,IAAI,UAAU,aAAa,YAAY,kBAAkB,UAAU;AAAA,IAAA;AAAA,EAEvE;AACF;;;;;;;"}