@basmilius/utils 1.0.0 → 1.1.0

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.
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export { default as formatTime } from './formatTime';
10
10
  export { default as isPointInPolygon } from './isPointInPolygon';
11
11
  export { default as isToday } from './isToday';
12
12
  export { default as openUrl } from './openUrl';
13
+ export { default as viewTransition } from './viewTransition';
13
14
  export { default as waitFor } from './waitFor';
14
15
  export declare const MDASH = "\u2014";
15
16
  export declare const NDASH = "\u2013";
package/dist/utils.js CHANGED
@@ -118,6 +118,15 @@ function openUrl_default(url) {
118
118
  }
119
119
  }
120
120
 
121
+ // src/viewTransition.ts
122
+ function viewTransition_default(fn) {
123
+ if ("startViewTransition" in document) {
124
+ document.startViewTransition(fn);
125
+ } else {
126
+ fn();
127
+ }
128
+ }
129
+
121
130
  // src/waitFor.ts
122
131
  async function waitFor_default(ms) {
123
132
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -143,6 +152,7 @@ export {
143
152
  isPointInPolygon_default as isPointInPolygon,
144
153
  isToday_default as isToday,
145
154
  openUrl_default as openUrl,
155
+ viewTransition_default as viewTransition,
146
156
  waitFor_default as waitFor
147
157
  };
148
158
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/defineStore.ts", "../src/downloadUrl.ts", "../src/downloadBlob.ts", "../src/downloadString.ts", "../src/formatDate.ts", "../src/formatDateFull.ts", "../src/formatDateTime.ts", "../src/formatMonth.ts", "../src/formatTime.ts", "../src/isPointInPolygon.ts", "../src/isToday.ts", "../src/openUrl.ts", "../src/waitFor.ts", "../src/index.ts"],
4
- "sourcesContent": ["import { defineStore, StoreGeneric, storeToRefs } from 'pinia';\n\nexport default function <Id extends string, Setup extends (...args: any[]) => any, Context = ReturnType<Setup>>(id: Id, setup: Setup): UseStore<Context> {\n const storeFn = defineStore(id, setup);\n\n return () => {\n const store = storeFn();\n const keys = Object.getOwnPropertyNames(store);\n const refs = storeToRefs(store as StoreGeneric);\n const result: Record<string, unknown> = {};\n\n for (const key of keys) {\n if (key.startsWith('$') || key.startsWith('_')) {\n continue;\n }\n\n if (key in refs) {\n result[key] = refs[key];\n continue;\n }\n\n result[key] = store[key];\n }\n\n return result as Context;\n };\n}\n\ntype UseStore<R> = {\n (): R;\n}\n", "export default function (url: string, filename: string): void {\n const anchor = document.createElement('a');\n anchor.download = filename;\n anchor.href = url;\n\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n}\n", "import downloadUrl from './downloadUrl';\n\nexport default function (blob: Blob, filename: string): void {\n const url = URL.createObjectURL(blob);\n downloadUrl(url, filename);\n URL.revokeObjectURL(url);\n}\n", "import downloadBlob from './downloadBlob';\n\nexport default function (data: string, filename: string, type: string): void {\n const blob = new Blob([data], {type});\n downloadBlob(blob, filename);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n weekday: 'long',\n day: 'numeric',\n month: 'long'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n month: 'long',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "type Point = [number, number];\n\nexport default function (point: Point, polygon: Point[]): boolean {\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0], yi = polygon[i][1];\n const xj = polygon[j][0], yj = polygon[j][1];\n const intersect = ((yi > point[1]) != (yj > point[1])) && (point[0] < (xj - xi) * (point[1] - yi) / (yj - yi) + xi);\n\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n", "import { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): boolean {\n const today = DateTime.now();\n return today.hasSame(dateTime, 'day');\n}\n", "export default function (url: string): void {\n if (window.location !== window.parent.location) {\n window.open(url, '_top');\n } else {\n window.location.href = url;\n }\n}\n", "export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n", "export { default as defineStore } from './defineStore';\nexport { default as downloadBlob } from './downloadBlob';\nexport { default as downloadString } from './downloadString';\nexport { default as downloadUrl } from './downloadUrl';\nexport { default as formatDate } from './formatDate';\nexport { default as formatDateFull } from './formatDateFull';\nexport { default as formatDateTime } from './formatDateTime';\nexport { default as formatMonth } from './formatMonth';\nexport { default as formatTime } from './formatTime';\nexport { default as isPointInPolygon } from './isPointInPolygon';\nexport { default as isToday } from './isToday';\nexport { default as openUrl } from './openUrl';\nexport { default as waitFor } from './waitFor';\n\nexport const MDASH = '\u2014';\nexport const NDASH = '\u2013';\nexport const NOOP = () => void 0;\n"],
5
- "mappings": "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",
3
+ "sources": ["../src/defineStore.ts", "../src/downloadUrl.ts", "../src/downloadBlob.ts", "../src/downloadString.ts", "../src/formatDate.ts", "../src/formatDateFull.ts", "../src/formatDateTime.ts", "../src/formatMonth.ts", "../src/formatTime.ts", "../src/isPointInPolygon.ts", "../src/isToday.ts", "../src/openUrl.ts", "../src/viewTransition.ts", "../src/waitFor.ts", "../src/index.ts"],
4
+ "sourcesContent": ["import { defineStore, StoreGeneric, storeToRefs } from 'pinia';\n\nexport default function <Id extends string, Setup extends (...args: any[]) => any, Context = ReturnType<Setup>>(id: Id, setup: Setup): UseStore<Context> {\n const storeFn = defineStore(id, setup);\n\n return () => {\n const store = storeFn();\n const keys = Object.getOwnPropertyNames(store);\n const refs = storeToRefs(store as StoreGeneric);\n const result: Record<string, unknown> = {};\n\n for (const key of keys) {\n if (key.startsWith('$') || key.startsWith('_')) {\n continue;\n }\n\n if (key in refs) {\n result[key] = refs[key];\n continue;\n }\n\n result[key] = store[key];\n }\n\n return result as Context;\n };\n}\n\ntype UseStore<R> = {\n (): R;\n}\n", "export default function (url: string, filename: string): void {\n const anchor = document.createElement('a');\n anchor.download = filename;\n anchor.href = url;\n\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n}\n", "import downloadUrl from './downloadUrl';\n\nexport default function (blob: Blob, filename: string): void {\n const url = URL.createObjectURL(blob);\n downloadUrl(url, filename);\n URL.revokeObjectURL(url);\n}\n", "import downloadBlob from './downloadBlob';\n\nexport default function (data: string, filename: string, type: string): void {\n const blob = new Blob([data], {type});\n downloadBlob(blob, filename);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n weekday: 'long',\n day: 'numeric',\n month: 'long'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n month: 'long',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "type Point = [number, number];\n\nexport default function (point: Point, polygon: Point[]): boolean {\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0], yi = polygon[i][1];\n const xj = polygon[j][0], yj = polygon[j][1];\n const intersect = ((yi > point[1]) != (yj > point[1])) && (point[0] < (xj - xi) * (point[1] - yi) / (yj - yi) + xi);\n\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n", "import { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): boolean {\n const today = DateTime.now();\n return today.hasSame(dateTime, 'day');\n}\n", "export default function (url: string): void {\n if (window.location !== window.parent.location) {\n window.open(url, '_top');\n } else {\n window.location.href = url;\n }\n}\n", "export default function (fn: Function): void {\n if ('startViewTransition' in document) {\n (document.startViewTransition as Function)(fn);\n } else {\n fn();\n }\n}\n", "export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n", "export { default as defineStore } from './defineStore';\nexport { default as downloadBlob } from './downloadBlob';\nexport { default as downloadString } from './downloadString';\nexport { default as downloadUrl } from './downloadUrl';\nexport { default as formatDate } from './formatDate';\nexport { default as formatDateFull } from './formatDateFull';\nexport { default as formatDateTime } from './formatDateTime';\nexport { default as formatMonth } from './formatMonth';\nexport { default as formatTime } from './formatTime';\nexport { default as isPointInPolygon } from './isPointInPolygon';\nexport { default as isToday } from './isToday';\nexport { default as openUrl } from './openUrl';\nexport { default as viewTransition } from './viewTransition';\nexport { default as waitFor } from './waitFor';\n\nexport const MDASH = '\u2014';\nexport const NDASH = '\u2013';\nexport const NOOP = () => void 0;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1 @@
1
+ export default function (fn: Function): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basmilius/utils",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Various utilities that are commonly used throughout personal projects.",
5
5
  "type": "module",
6
6
  "license": "MIT",