weifuwu 0.17.12 → 0.17.14
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.js +12 -11
- package/dist/react.js +18 -17
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -577,9 +577,19 @@ import chokidar from "chokidar";
|
|
|
577
577
|
import { useSyncExternalStore, createContext } from "react";
|
|
578
578
|
var fallbackT = (key, _params, fallback) => fallback ?? key;
|
|
579
579
|
var _ctx = { params: {}, query: {}, parsed: {}, prefs: {}, env: {}, t: fallbackT, user: {} };
|
|
580
|
+
var _snapshot = { params: _ctx.params, query: _ctx.query, user: _ctx.user, parsed: _ctx.parsed, prefs: _ctx.prefs, env: _ctx.env };
|
|
580
581
|
var _listeners = /* @__PURE__ */ new Set();
|
|
582
|
+
var subscribe = (cb) => {
|
|
583
|
+
_listeners.add(cb);
|
|
584
|
+
return () => {
|
|
585
|
+
_listeners.delete(cb);
|
|
586
|
+
};
|
|
587
|
+
};
|
|
588
|
+
var getSnapshot = () => _snapshot;
|
|
589
|
+
var getServerSnapshot = getSnapshot;
|
|
581
590
|
function setCtx(value) {
|
|
582
591
|
_ctx = { ..._ctx, ...value };
|
|
592
|
+
_snapshot = { params: _ctx.params, query: _ctx.query, user: _ctx.user, parsed: _ctx.parsed, prefs: _ctx.prefs, env: _ctx.env };
|
|
583
593
|
_listeners.forEach((fn) => fn());
|
|
584
594
|
}
|
|
585
595
|
function _buildT() {
|
|
@@ -595,18 +605,9 @@ function _buildT() {
|
|
|
595
605
|
};
|
|
596
606
|
}
|
|
597
607
|
function useCtx() {
|
|
598
|
-
useSyncExternalStore(
|
|
599
|
-
(cb) => {
|
|
600
|
-
_listeners.add(cb);
|
|
601
|
-
return () => {
|
|
602
|
-
_listeners.delete(cb);
|
|
603
|
-
};
|
|
604
|
-
},
|
|
605
|
-
() => _ctx,
|
|
606
|
-
() => _ctx
|
|
607
|
-
);
|
|
608
|
+
useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
608
609
|
const data = typeof window !== "undefined" ? window.__WEIFUWU_CTX : null;
|
|
609
|
-
const t =
|
|
610
|
+
const t = _ctx.t !== fallbackT ? _ctx.t : _buildT();
|
|
610
611
|
return { ..._ctx, ...data, t };
|
|
611
612
|
}
|
|
612
613
|
var TsxContext = createContext({ params: {}, query: {}, parsed: {}, prefs: {}, env: {}, t: fallbackT, user: {} });
|
package/dist/react.js
CHANGED
|
@@ -145,9 +145,19 @@ import { createElement, useCallback as useCallback3, useState as useState3, useE
|
|
|
145
145
|
import { useSyncExternalStore, createContext } from "react";
|
|
146
146
|
var fallbackT = (key, _params, fallback) => fallback ?? key;
|
|
147
147
|
var _ctx = { params: {}, query: {}, parsed: {}, prefs: {}, env: {}, t: fallbackT, user: {} };
|
|
148
|
+
var _snapshot = { params: _ctx.params, query: _ctx.query, user: _ctx.user, parsed: _ctx.parsed, prefs: _ctx.prefs, env: _ctx.env };
|
|
148
149
|
var _listeners = /* @__PURE__ */ new Set();
|
|
150
|
+
var subscribe = (cb) => {
|
|
151
|
+
_listeners.add(cb);
|
|
152
|
+
return () => {
|
|
153
|
+
_listeners.delete(cb);
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
var getSnapshot = () => _snapshot;
|
|
157
|
+
var getServerSnapshot = getSnapshot;
|
|
149
158
|
function setCtx(value) {
|
|
150
159
|
_ctx = { ..._ctx, ...value };
|
|
160
|
+
_snapshot = { params: _ctx.params, query: _ctx.query, user: _ctx.user, parsed: _ctx.parsed, prefs: _ctx.prefs, env: _ctx.env };
|
|
151
161
|
_listeners.forEach((fn) => fn());
|
|
152
162
|
}
|
|
153
163
|
function _buildT() {
|
|
@@ -163,18 +173,9 @@ function _buildT() {
|
|
|
163
173
|
};
|
|
164
174
|
}
|
|
165
175
|
function useCtx() {
|
|
166
|
-
useSyncExternalStore(
|
|
167
|
-
(cb) => {
|
|
168
|
-
_listeners.add(cb);
|
|
169
|
-
return () => {
|
|
170
|
-
_listeners.delete(cb);
|
|
171
|
-
};
|
|
172
|
-
},
|
|
173
|
-
() => _ctx,
|
|
174
|
-
() => _ctx
|
|
175
|
-
);
|
|
176
|
+
useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
176
177
|
const data = typeof window !== "undefined" ? window.__WEIFUWU_CTX : null;
|
|
177
|
-
const t =
|
|
178
|
+
const t = _ctx.t !== fallbackT ? _ctx.t : _buildT();
|
|
178
179
|
return { ..._ctx, ...data, t };
|
|
179
180
|
}
|
|
180
181
|
var TsxContext = createContext({ params: {}, query: {}, parsed: {}, prefs: {}, env: {}, t: fallbackT, user: {} });
|
|
@@ -396,19 +397,19 @@ function createStore(initial) {
|
|
|
396
397
|
state = { ...state, ...next };
|
|
397
398
|
listeners.forEach((fn) => fn());
|
|
398
399
|
};
|
|
399
|
-
const
|
|
400
|
+
const subscribe2 = (listener) => {
|
|
400
401
|
listeners.add(listener);
|
|
401
402
|
return () => {
|
|
402
403
|
listeners.delete(listener);
|
|
403
404
|
};
|
|
404
405
|
};
|
|
405
406
|
const useStore = ((selector) => useSyncExternalStore2(
|
|
406
|
-
|
|
407
|
+
subscribe2,
|
|
407
408
|
() => selector ? selector(state) : state
|
|
408
409
|
));
|
|
409
410
|
useStore.getState = getState;
|
|
410
411
|
useStore.setState = setState;
|
|
411
|
-
useStore.subscribe =
|
|
412
|
+
useStore.subscribe = subscribe2;
|
|
412
413
|
return useStore;
|
|
413
414
|
}
|
|
414
415
|
var dataCache = /* @__PURE__ */ new Map();
|
|
@@ -488,7 +489,7 @@ function notifyQueryListeners() {
|
|
|
488
489
|
window.dispatchEvent(new PopStateEvent("popstate"));
|
|
489
490
|
}
|
|
490
491
|
function useQueryState(key, defaultValue = "") {
|
|
491
|
-
function
|
|
492
|
+
function getSnapshot2() {
|
|
492
493
|
if (typeof window === "undefined") return defaultValue;
|
|
493
494
|
const params = new URLSearchParams(window.location.search);
|
|
494
495
|
return params.get(key) ?? defaultValue;
|
|
@@ -500,12 +501,12 @@ function useQueryState(key, defaultValue = "") {
|
|
|
500
501
|
window.addEventListener("popstate", cb);
|
|
501
502
|
return () => window.removeEventListener("popstate", cb);
|
|
502
503
|
},
|
|
503
|
-
|
|
504
|
+
getSnapshot2,
|
|
504
505
|
() => defaultValue
|
|
505
506
|
);
|
|
506
507
|
const setValue = useCallback4((val) => {
|
|
507
508
|
if (typeof window === "undefined") return;
|
|
508
|
-
const resolved = typeof val === "function" ? val(
|
|
509
|
+
const resolved = typeof val === "function" ? val(getSnapshot2()) : val;
|
|
509
510
|
const url = new URL(window.location.href);
|
|
510
511
|
if (resolved === defaultValue || resolved === "") {
|
|
511
512
|
url.searchParams.delete(key);
|