Skip to content

Commit a4d40b8

Browse files
committed
Add version checking, force the latest version
Never ever have a breaking change, yeah?
1 parent 0d73e7e commit a4d40b8

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

simpletoast.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@
22
* SimpleToast - A small library for toasts
33
*/
44
(() => {
5-
if (window.SimpleToast) return;
5+
const version = buildVersion(1, 2);
6+
if (window.SimpleToast) {
7+
if (SimpleToast.version) {
8+
if (SimpleToast.version >= version.number) return;
9+
}
10+
console.log(`SimpleToast(v${version.string}): Overriding SimpleToast(v${SimpleToast.versionString || '[unknown]'})`);
11+
} else {
12+
console.log(`SimpleToast(v${version.string}): Loading`);
13+
}
614
const style = {
715
root: {
816
display: 'flex',
@@ -58,7 +66,7 @@
5866
});
5967
return old;
6068
}
61-
69+
6270
const toasts = new Map();
6371
const root = (() => {
6472
function create() {
@@ -77,7 +85,7 @@
7785
}
7886
return el;
7987
}
80-
88+
8189
setInterval(() => { // TODO: don't always run a timer
8290
const now = Date.now();
8391
toasts.forEach((toast) => {
@@ -124,7 +132,7 @@
124132
if (timeout) {
125133
toast.timeout = Date.now() + timeout;
126134
}
127-
135+
128136
if (typeof buttons === 'object') {
129137
if (!Array.isArray(buttons)) {
130138
buttons = [buttons];
@@ -166,6 +174,14 @@
166174
toasts.set(id, toast);
167175
return toast;
168176
}
169-
177+
178+
Toast.version = version.number;
179+
Toast.versionString = version.string;
170180
window.SimpleToast = Toast;
181+
function buildVersion(major, minor = 0, patch = 0) {
182+
return {
183+
string: `${major}.${minor}${patch ? `.${patch}` : ''}`,
184+
number: major * 1000000000 + minor * 1000 + patch,
185+
};
186+
}
171187
})();

0 commit comments

Comments
 (0)