{"version":3,"file":"query.cjs","names":["createFaker"],"sources":["../../src/api/query.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { createFaker } from \"../lib/createFaker\"\nimport type { MockRestApiConfig } from \"../types\"\n\nexport type MockRestApiQueryConfig<\n\tDocument extends prismic.PrismicDocument = prismic.PrismicDocument,\n> = {\n\tdocuments?: Document[]\n\tpage?: number\n\tpageSize?: number\n} & MockRestApiConfig\n\nexport const query = <Document extends prismic.PrismicDocument = prismic.PrismicDocument>(\n\tconfig: MockRestApiQueryConfig<Document>,\n): prismic.Query<Document> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tconst documents = config.documents || []\n\tconst page = Math.max(1, config.page ?? 1)\n\tconst pageSize = Math.min(100, Math.max(1, config.pageSize ?? 100))\n\tconst totalPages = Math.ceil(documents.length / pageSize)\n\tconst results = documents.slice((page - 1) * pageSize, page * pageSize)\n\n\treturn {\n\t\tpage,\n\t\tnext_page: page < totalPages ? faker.url() : null,\n\t\tprev_page: page > 1 ? faker.url() : null,\n\t\ttotal_pages: totalPages,\n\t\tresults_size: results.length,\n\t\tresults_per_page: pageSize,\n\t\ttotal_results_size: documents.length,\n\t\tresults,\n\t}\n}\n"],"mappings":";;AAaA,MAAa,SACZ,WAC6B;CAC7B,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,YAAY,OAAO,aAAa,EAAE;CACxC,MAAM,OAAO,KAAK,IAAI,GAAG,OAAO,QAAQ,EAAE;CAC1C,MAAM,WAAW,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO,YAAY,IAAI,CAAC;CACnE,MAAM,aAAa,KAAK,KAAK,UAAU,SAAS,SAAS;CACzD,MAAM,UAAU,UAAU,OAAO,OAAO,KAAK,UAAU,OAAO,SAAS;AAEvE,QAAO;EACN;EACA,WAAW,OAAO,aAAa,MAAM,KAAK,GAAG;EAC7C,WAAW,OAAO,IAAI,MAAM,KAAK,GAAG;EACpC,aAAa;EACb,cAAc,QAAQ;EACtB,kBAAkB;EAClB,oBAAoB,UAAU;EAC9B;EACA"}