vaderjs 1.7.6 → 1.7.7
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/bundler/index.js +6 -2
- package/index.ts +40 -11
- package/package.json +1 -1
package/bundler/index.js
CHANGED
|
@@ -42,19 +42,23 @@ try {
|
|
|
42
42
|
format: "esm",
|
|
43
43
|
...(process.env.DEV ? { sourcemap: "inline" } : {}),
|
|
44
44
|
packages: "bundle",
|
|
45
|
+
external:["vaderjs"]
|
|
45
46
|
});
|
|
46
47
|
} catch (error) {
|
|
47
48
|
console.error(error)
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
|
|
51
|
-
let builtCode = fs.readFileSync(path.join(process.cwd(), 'dist', process.env.filePath), 'utf-8')
|
|
52
|
+
let builtCode = fs.readFileSync(path.join(process.cwd(), 'dist', process.env.filePath), 'utf-8')
|
|
53
|
+
console.log({builtCode, path:path.join(process.cwd(), 'dist', process.env.filePath) })
|
|
52
54
|
const handleReplacements = (code) => {
|
|
53
55
|
let lines = code.split('\n')
|
|
54
56
|
let newLines = []
|
|
55
57
|
for (let line of lines) {
|
|
56
58
|
let hasImport = line.includes('import')
|
|
57
|
-
|
|
59
|
+
if(hasImport && line.includes('vaderjs')){
|
|
60
|
+
line = line.replace('vaderjs', '/src/vader/index.js')
|
|
61
|
+
}
|
|
58
62
|
if (hasImport && line.includes('.css')) {
|
|
59
63
|
try {
|
|
60
64
|
let isSmallColon = line.includes("'")
|
package/index.ts
CHANGED
|
@@ -322,33 +322,62 @@ export class Component {
|
|
|
322
322
|
executeCallback();
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
|
-
}
|
|
325
|
+
}
|
|
326
|
+
useState(key, defaultValue, persist = false) {
|
|
326
327
|
if (typeof window === "undefined")
|
|
327
|
-
return [defaultValue, () => {
|
|
328
|
-
|
|
329
|
-
|
|
328
|
+
return [defaultValue, () => {}];
|
|
329
|
+
|
|
330
|
+
// Retrieve initial value from sessionStorage or defaultValue
|
|
331
|
+
let value = sessionStorage.getItem("state_" + key)
|
|
332
|
+
? JSON.parse(sessionStorage.getItem("state_" + key)).value
|
|
333
|
+
: defaultValue;
|
|
334
|
+
|
|
335
|
+
// Parse stringified values safely
|
|
330
336
|
if (typeof value === "string") {
|
|
331
337
|
try {
|
|
332
338
|
value = JSON.parse(value);
|
|
333
|
-
} catch
|
|
339
|
+
} catch {
|
|
340
|
+
// Value remains a string if parsing fails
|
|
334
341
|
}
|
|
335
342
|
}
|
|
336
|
-
|
|
337
|
-
|
|
343
|
+
|
|
344
|
+
// Ensure event listener is added only once
|
|
345
|
+
if (!window[`listener_${key}`]) {
|
|
346
|
+
window[`listener_${key}`] = true;
|
|
338
347
|
window.addEventListener("beforeunload", () => {
|
|
339
|
-
!persist
|
|
348
|
+
if (!persist) sessionStorage.removeItem("state_" + key);
|
|
340
349
|
});
|
|
341
350
|
}
|
|
351
|
+
|
|
342
352
|
const setValue = (newValue) => {
|
|
343
353
|
if (typeof newValue === "function") {
|
|
344
354
|
newValue = newValue(value);
|
|
345
355
|
}
|
|
346
|
-
|
|
347
|
-
|
|
356
|
+
|
|
357
|
+
const currentValue = sessionStorage.getItem("state_" + key)
|
|
358
|
+
? JSON.parse(sessionStorage.getItem("state_" + key)).value
|
|
359
|
+
: defaultValue;
|
|
360
|
+
|
|
361
|
+
if (JSON.stringify(currentValue) === JSON.stringify(newValue)) {
|
|
362
|
+
return; // Skip if the value hasn't changed
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
sessionStorage.setItem(
|
|
366
|
+
"state_" + key,
|
|
367
|
+
JSON.stringify({ value: newValue })
|
|
368
|
+
);
|
|
369
|
+
|
|
370
|
+
if (this.forceUpdate) {
|
|
371
|
+
this.forceUpdate(this.key);
|
|
372
|
+
}
|
|
348
373
|
};
|
|
374
|
+
|
|
349
375
|
const getVal = () => {
|
|
350
|
-
return sessionStorage.getItem("state_" + key)
|
|
376
|
+
return sessionStorage.getItem("state_" + key)
|
|
377
|
+
? JSON.parse(sessionStorage.getItem("state_" + key)).value
|
|
378
|
+
: defaultValue;
|
|
351
379
|
};
|
|
380
|
+
|
|
352
381
|
return [getVal, setValue];
|
|
353
382
|
}
|
|
354
383
|
useFetch(url, options) {
|