saloe 0.0.32 → 0.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const worker = require("./worker.cjs.js");
4
+ const cacheAssets = async ({ cachePrefix, cacheName }) => {
5
+ var _a;
6
+ try {
7
+ const assetsResult = await worker.fetch({ url: "/dist.json" });
8
+ const assetsJSON = (assetsResult == null ? void 0 : assetsResult.err) ? {} : await ((_a = assetsResult == null ? void 0 : assetsResult.response) == null ? void 0 : _a.json());
9
+ const cache = await caches.open(`${cachePrefix}-${cacheName}`);
10
+ return assetsJSON == null ? void 0 : assetsJSON.map(async (path) => {
11
+ const url = path == null ? void 0 : path.replace("dist/", "/");
12
+ try {
13
+ await cache.add(url);
14
+ } catch (err) {
15
+ console.log(`${err} - ${url}`);
16
+ }
17
+ });
18
+ } catch (err) {
19
+ console.error(err);
20
+ }
21
+ };
22
+ const installStaticAssets = async ({ cachePrefix, cacheName }) => {
23
+ cacheAssets({ cachePrefix, cacheName });
24
+ };
25
+ const removePreviousCaches = async ({ version, cachePrefix }) => {
26
+ var _a;
27
+ const cacheNames = await caches.keys();
28
+ return Promise.all(
29
+ (_a = cacheNames == null ? void 0 : cacheNames.filter((cacheName) => {
30
+ const startsWithPrefix = cacheName == null ? void 0 : cacheName.startsWith(cachePrefix);
31
+ const endsWithVersion = cacheName == null ? void 0 : cacheName.endsWith(version);
32
+ const cacheToDelete = startsWithPrefix && !endsWithVersion;
33
+ return cacheToDelete;
34
+ })) == null ? void 0 : _a.map((cacheName) => caches == null ? void 0 : caches.delete(cacheName))
35
+ );
36
+ };
37
+ const serveFromCache = async ({ request, cachePrefix, cacheName }) => {
38
+ try {
39
+ const cache = await caches.open(`${cachePrefix}-${cacheName}`);
40
+ const response = await cache.match(request, { ignoreSearch: true });
41
+ return { response };
42
+ } catch (err) {
43
+ console.error(err);
44
+ return { err };
45
+ }
46
+ };
47
+ const cacheFirstThenNetwork = async ({ request, cachePrefix, cacheName }) => {
48
+ const cacheResult = await serveFromCache({ request, cachePrefix, cacheName });
49
+ if (cacheResult == null ? void 0 : cacheResult.response) return cacheResult;
50
+ try {
51
+ const fetchResult = await worker.fetch({ request });
52
+ return fetchResult;
53
+ } catch (err) {
54
+ return { err };
55
+ }
56
+ };
57
+ exports.cacheFirstThenNetwork = cacheFirstThenNetwork;
58
+ exports.installStaticAssets = installStaticAssets;
59
+ exports.removePreviousCaches = removePreviousCaches;
@@ -0,0 +1,59 @@
1
+ import { fetch } from "./worker.es.js";
2
+ const cacheAssets = async ({ cachePrefix, cacheName }) => {
3
+ var _a;
4
+ try {
5
+ const assetsResult = await fetch({ url: "/dist.json" });
6
+ const assetsJSON = (assetsResult == null ? void 0 : assetsResult.err) ? {} : await ((_a = assetsResult == null ? void 0 : assetsResult.response) == null ? void 0 : _a.json());
7
+ const cache = await caches.open(`${cachePrefix}-${cacheName}`);
8
+ return assetsJSON == null ? void 0 : assetsJSON.map(async (path) => {
9
+ const url = path == null ? void 0 : path.replace("dist/", "/");
10
+ try {
11
+ await cache.add(url);
12
+ } catch (err) {
13
+ console.log(`${err} - ${url}`);
14
+ }
15
+ });
16
+ } catch (err) {
17
+ console.error(err);
18
+ }
19
+ };
20
+ const installStaticAssets = async ({ cachePrefix, cacheName }) => {
21
+ cacheAssets({ cachePrefix, cacheName });
22
+ };
23
+ const removePreviousCaches = async ({ version, cachePrefix }) => {
24
+ var _a;
25
+ const cacheNames = await caches.keys();
26
+ return Promise.all(
27
+ (_a = cacheNames == null ? void 0 : cacheNames.filter((cacheName) => {
28
+ const startsWithPrefix = cacheName == null ? void 0 : cacheName.startsWith(cachePrefix);
29
+ const endsWithVersion = cacheName == null ? void 0 : cacheName.endsWith(version);
30
+ const cacheToDelete = startsWithPrefix && !endsWithVersion;
31
+ return cacheToDelete;
32
+ })) == null ? void 0 : _a.map((cacheName) => caches == null ? void 0 : caches.delete(cacheName))
33
+ );
34
+ };
35
+ const serveFromCache = async ({ request, cachePrefix, cacheName }) => {
36
+ try {
37
+ const cache = await caches.open(`${cachePrefix}-${cacheName}`);
38
+ const response = await cache.match(request, { ignoreSearch: true });
39
+ return { response };
40
+ } catch (err) {
41
+ console.error(err);
42
+ return { err };
43
+ }
44
+ };
45
+ const cacheFirstThenNetwork = async ({ request, cachePrefix, cacheName }) => {
46
+ const cacheResult = await serveFromCache({ request, cachePrefix, cacheName });
47
+ if (cacheResult == null ? void 0 : cacheResult.response) return cacheResult;
48
+ try {
49
+ const fetchResult = await fetch({ request });
50
+ return fetchResult;
51
+ } catch (err) {
52
+ return { err };
53
+ }
54
+ };
55
+ export {
56
+ cacheFirstThenNetwork,
57
+ installStaticAssets,
58
+ removePreviousCaches
59
+ };
@@ -4,9 +4,9 @@ const urlpattern = require("./urlpattern.cjs.js");
4
4
  const worker = require("./worker.cjs.js");
5
5
  const router = /* @__PURE__ */ new Map();
6
6
  const getRouter = () => router;
7
- const getRoute = ({ pathname: pathname2 }) => router.get(pathname2);
8
- const addRoute = ({ pathname: pathname2, route }) => router.set(pathname2, route);
9
- const removeRoute = ({ pathname: pathname2 }) => router.delete(pathname2);
7
+ const getRoute = ({ pathname }) => router.get(pathname);
8
+ const addRoute = ({ pathname, route }) => router.set(pathname, route);
9
+ const removeRoute = ({ pathname }) => router.delete(pathname);
10
10
  const findPatternFromUrl = ({ url }) => {
11
11
  var _a;
12
12
  const patternPathname = [...new Set((_a = getRouter()) == null ? void 0 : _a.keys())].find((patternPathname2) => {
@@ -21,7 +21,7 @@ const getRedirectResponse = ({ origin, request, isRedirectableCallback }) => {
21
21
  if (origin !== requestOrigin) return;
22
22
  if (!isRedirectableCallback) return;
23
23
  const isRedirectable = isRedirectableCallback({ request });
24
- const response = isRedirectable ? Response.redirect(pathname.slice(0, -1), 301) : null;
24
+ const response = isRedirectable ? Response.redirect(url.pathname.slice(0, -1), 301) : null;
25
25
  return { response };
26
26
  };
27
27
  const getNotFoundResponse = async ({ request }) => {
package/dist/router.es.js CHANGED
@@ -2,9 +2,9 @@ import { getURLPatern } from "./urlpattern.es.js";
2
2
  import { fetch } from "./worker.es.js";
3
3
  const router = /* @__PURE__ */ new Map();
4
4
  const getRouter = () => router;
5
- const getRoute = ({ pathname: pathname2 }) => router.get(pathname2);
6
- const addRoute = ({ pathname: pathname2, route }) => router.set(pathname2, route);
7
- const removeRoute = ({ pathname: pathname2 }) => router.delete(pathname2);
5
+ const getRoute = ({ pathname }) => router.get(pathname);
6
+ const addRoute = ({ pathname, route }) => router.set(pathname, route);
7
+ const removeRoute = ({ pathname }) => router.delete(pathname);
8
8
  const findPatternFromUrl = ({ url }) => {
9
9
  var _a;
10
10
  const patternPathname = [...new Set((_a = getRouter()) == null ? void 0 : _a.keys())].find((patternPathname2) => {
@@ -19,7 +19,7 @@ const getRedirectResponse = ({ origin, request, isRedirectableCallback }) => {
19
19
  if (origin !== requestOrigin) return;
20
20
  if (!isRedirectableCallback) return;
21
21
  const isRedirectable = isRedirectableCallback({ request });
22
- const response = isRedirectable ? Response.redirect(pathname.slice(0, -1), 301) : null;
22
+ const response = isRedirectable ? Response.redirect(url.pathname.slice(0, -1), 301) : null;
23
23
  return { response };
24
24
  };
25
25
  const getNotFoundResponse = async ({ request }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "saloe",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "description": "Tools for making web development easy and efficient",
5
5
  "type": "module",
6
6
  "scripts": {
package/src/router.js CHANGED
@@ -27,7 +27,7 @@ const getRedirectResponse = ({ origin, request, isRedirectableCallback }) => {
27
27
  if (!isRedirectableCallback) return
28
28
 
29
29
  const isRedirectable = isRedirectableCallback({ request })
30
- const response = isRedirectable ? Response.redirect(pathname.slice(0, -1), 301) : null
30
+ const response = isRedirectable ? Response.redirect(url.pathname.slice(0, -1), 301) : null
31
31
 
32
32
  return { response }
33
33
  }
package/vite.config.js CHANGED
@@ -11,6 +11,7 @@ export default defineConfig({
11
11
  cookie: resolve(__dirname, 'src/cookie.js'),
12
12
  html: resolve(__dirname, 'src/html.js'),
13
13
  listener: resolve(__dirname, 'src/listener.js'),
14
+ offline: resolve(__dirname, 'src/offline.js'),
14
15
  router: resolve(__dirname, 'src/router.js'),
15
16
  'urlpattern': resolve(__dirname, 'src/urlpattern.js'),
16
17
  util: resolve(__dirname, 'src/util.js'),