{"version":3,"file":"index.worker.mjs","names":[],"sources":["../src/index.worker.ts"],"sourcesContent":["import type { RuntimeCaching } from \"serwist\";\nimport { CacheFirst, ExpirationPlugin, NetworkFirst, NetworkOnly, StaleWhileRevalidate } from \"serwist\";\n\n/**\n * The default, recommended list of caching strategies for applications\n * built with Vite.\n *\n * @see https://serwist.pages.dev/docs/vite/worker-exports#default-cache\n */\nexport const defaultCache: RuntimeCaching[] = import.meta.env.DEV\n  ? [\n      {\n        matcher: /.*/i,\n        handler: new NetworkOnly(),\n      },\n    ]\n  : [\n      {\n        matcher: /^https:\\/\\/fonts\\.(?:googleapis|gstatic)\\.com\\/.*/i,\n        handler: new CacheFirst({\n          cacheName: \"google-fonts\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 4,\n              maxAgeSeconds: 365 * 24 * 60 * 60, // 365 days\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,\n        handler: new StaleWhileRevalidate({\n          cacheName: \"static-font-assets\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 4,\n              maxAgeSeconds: 7 * 24 * 60 * 60, // 7 days\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,\n        handler: new StaleWhileRevalidate({\n          cacheName: \"static-image-assets\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 64,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\.(?:js)$/i,\n        handler: new StaleWhileRevalidate({\n          cacheName: \"static-js-assets\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 32,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\.(?:css|less)$/i,\n        handler: new StaleWhileRevalidate({\n          cacheName: \"static-style-assets\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 32,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\.(?:json|xml|csv)$/i,\n        handler: new NetworkFirst({\n          cacheName: \"static-data-assets\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 32,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n        }),\n      },\n      {\n        matcher: /\\/api\\/.*$/i,\n        method: \"GET\",\n        handler: new NetworkFirst({\n          cacheName: \"apis\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 16,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n          networkTimeoutSeconds: 10, // fallback to cache if API does not response within 10 seconds\n        }),\n      },\n      {\n        matcher: /.*/i,\n        handler: new NetworkFirst({\n          cacheName: \"others\",\n          plugins: [\n            new ExpirationPlugin({\n              maxEntries: 32,\n              maxAgeSeconds: 24 * 60 * 60, // 24 hours\n              maxAgeFrom: \"last-used\",\n            }),\n          ],\n          networkTimeoutSeconds: 10,\n        }),\n      },\n    ];\n"],"mappings":";;;;;;;;AASA,MAAa,eAAiC,OAAO,KAAK,IAAI,MAC1D,CACE;CACE,SAAS;CACT,SAAS,IAAI,aAAa;CAC3B,CACF,GACD;CACE;EACE,SAAS;EACT,SAAS,IAAI,WAAW;GACtB,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,MAAM,KAAK,KAAK;IAC/B,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,qBAAqB;GAChC,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,QAAc;IAC7B,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,qBAAqB;GAChC,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,qBAAqB;GAChC,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,qBAAqB;GAChC,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,aAAa;GACxB,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACF,CAAC;EACH;CACD;EACE,SAAS;EACT,QAAQ;EACR,SAAS,IAAI,aAAa;GACxB,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACD,uBAAuB;GACxB,CAAC;EACH;CACD;EACE,SAAS;EACT,SAAS,IAAI,aAAa;GACxB,WAAW;GACX,SAAS,CACP,IAAI,iBAAiB;IACnB,YAAY;IACZ,eAAe,OAAU;IACzB,YAAY;IACb,CAAC,CACH;GACD,uBAAuB;GACxB,CAAC;EACH;CACF"}