@multiplatform.one/router 8.5.0 → 9.0.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/README.md +6 -1
- package/dist/cjs/router/binding.cjs +35 -0
- package/dist/cjs/router/binding.native.js +38 -0
- package/dist/cjs/router/binding.native.js.map +1 -0
- package/dist/cjs/router/expoRouter.cjs +47 -0
- package/dist/cjs/router/expoRouter.native.js +50 -0
- package/dist/cjs/router/expoRouter.native.js.map +1 -0
- package/dist/cjs/router/expoRouterBinding.cjs +53 -0
- package/dist/cjs/router/expoRouterBinding.native.js +64 -0
- package/dist/cjs/router/expoRouterBinding.native.js.map +1 -0
- package/dist/cjs/router/index.native.js +2 -2
- package/dist/cjs/router/index.native.js.map +1 -1
- package/dist/cjs/router/{nativeFallback.cjs → nativeRouter.cjs} +28 -9
- package/dist/cjs/router/{nativeFallback.native.js → nativeRouter.native.js} +38 -10
- package/dist/cjs/router/nativeRouter.native.js.map +1 -0
- package/dist/esm/router/binding.mjs +9 -0
- package/dist/esm/router/binding.mjs.map +1 -0
- package/dist/esm/router/binding.native.js +9 -0
- package/dist/esm/router/binding.native.js.map +1 -0
- package/dist/esm/router/expoRouter.mjs +19 -0
- package/dist/esm/router/expoRouter.mjs.map +1 -0
- package/dist/esm/router/expoRouter.native.js +19 -0
- package/dist/esm/router/expoRouter.native.js.map +1 -0
- package/dist/esm/router/expoRouterBinding.mjs +28 -0
- package/dist/esm/router/expoRouterBinding.mjs.map +1 -0
- package/dist/esm/router/expoRouterBinding.native.js +36 -0
- package/dist/esm/router/expoRouterBinding.native.js.map +1 -0
- package/dist/esm/router/index.native.js +2 -2
- package/dist/esm/router/index.native.js.map +1 -1
- package/dist/esm/router/nativeRouter.mjs +37 -0
- package/dist/esm/router/nativeRouter.mjs.map +1 -0
- package/dist/esm/router/nativeRouter.native.js +51 -0
- package/dist/esm/router/nativeRouter.native.js.map +1 -0
- package/dist/jsx/router/binding.mjs +9 -0
- package/dist/jsx/router/binding.mjs.map +1 -0
- package/dist/jsx/router/binding.native.js +38 -0
- package/dist/jsx/router/binding.native.js.map +1 -0
- package/dist/jsx/router/expoRouter.mjs +19 -0
- package/dist/jsx/router/expoRouter.mjs.map +1 -0
- package/dist/jsx/router/expoRouter.native.js +50 -0
- package/dist/jsx/router/expoRouter.native.js.map +1 -0
- package/dist/jsx/router/expoRouterBinding.mjs +28 -0
- package/dist/jsx/router/expoRouterBinding.mjs.map +1 -0
- package/dist/jsx/router/expoRouterBinding.native.js +64 -0
- package/dist/jsx/router/expoRouterBinding.native.js.map +1 -0
- package/dist/jsx/router/index.native.js +2 -2
- package/dist/jsx/router/index.native.js.map +1 -1
- package/dist/jsx/router/nativeRouter.mjs +37 -0
- package/dist/jsx/router/nativeRouter.mjs.map +1 -0
- package/dist/jsx/router/{nativeFallback.native.js → nativeRouter.native.js} +38 -10
- package/dist/jsx/router/nativeRouter.native.js.map +1 -0
- package/package.json +21 -4
- package/src/router/binding.ts +25 -0
- package/src/router/expoRouter.spec.tsx +170 -0
- package/src/router/expoRouter.tsx +38 -0
- package/src/router/expoRouterBinding.ts +46 -0
- package/src/router/index.native.tsx +5 -4
- package/src/router/nativeRouter.tsx +45 -0
- package/types/router/binding.d.ts +10 -0
- package/types/router/binding.d.ts.map +1 -0
- package/types/router/expoRouter.d.ts +6 -0
- package/types/router/expoRouter.d.ts.map +1 -0
- package/types/router/expoRouterBinding.d.ts +16 -0
- package/types/router/expoRouterBinding.d.ts.map +1 -0
- package/types/router/index.native.d.ts.map +1 -1
- package/types/router/nativeRouter.d.ts +13 -0
- package/types/router/nativeRouter.d.ts.map +1 -0
- package/dist/cjs/router/nativeFallback.native.js.map +0 -1
- package/dist/esm/router/nativeFallback.mjs +0 -19
- package/dist/esm/router/nativeFallback.mjs.map +0 -1
- package/dist/esm/router/nativeFallback.native.js +0 -24
- package/dist/esm/router/nativeFallback.native.js.map +0 -1
- package/dist/jsx/router/nativeFallback.mjs +0 -19
- package/dist/jsx/router/nativeFallback.mjs.map +0 -1
- package/dist/jsx/router/nativeFallback.native.js.map +0 -1
- package/src/router/nativeFallback.spec.tsx +0 -46
- package/src/router/nativeFallback.tsx +0 -19
- package/types/router/nativeFallback.d.ts +0 -10
- package/types/router/nativeFallback.d.ts.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { pickNativeRouter } from "./nativeRouter.native.js";
|
|
2
2
|
function loadOne() {
|
|
3
3
|
try {
|
|
4
4
|
return require("one");
|
|
@@ -6,7 +6,7 @@ function loadOne() {
|
|
|
6
6
|
return void 0;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
var router =
|
|
9
|
+
var router = pickNativeRouter(loadOne());
|
|
10
10
|
var Link = router.Link;
|
|
11
11
|
var useParams = router.useParams;
|
|
12
12
|
var useRouter = router.useRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["pickNativeRouter","loadOne","require","unused","router","Link","useParams","useRouter","useRouterPathname","usePathname","_useRouterPathname"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AACjC,SAASC,QAAA,EAAU;EACf,IAAI;IACA,OAAOC,OAAA,CAAQ,KAAK;EACxB,SAASC,MAAA,EAAQ;IACb,OAAO;EACX;AACJ;AACA,IAAIC,MAAA,GAASJ,gBAAA,CAAiBC,OAAA,CAAQ,CAAC;AAChC,IAAII,IAAA,GAAOD,MAAA,CAAOC,IAAA;AAClB,IAAIC,SAAA,GAAYF,MAAA,CAAOE,SAAA;AACvB,IAAIC,SAAA,GAAYH,MAAA,CAAOG,SAAA;AAC9B,IAAIC,iBAAA,GAAoBJ,MAAA,CAAOK,WAAA;AAOpB,SAASA,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIC,kBAAA;IACJ,QAAQA,kBAAA,GAAqBF,iBAAA,CAAkB,OAAO,QAAQE,kBAAA,KAAuB,SAASA,kBAAA,GAAqB;EACvH,SAASP,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { boundRouter } from "./binding.mjs";
|
|
2
|
+
import { useParams, usePathname, useRouter } from "./EmptyRouter.mjs";
|
|
3
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
const FallbackLink = ({
|
|
5
|
+
children
|
|
6
|
+
}) => /* @__PURE__ */jsx(Fragment, {
|
|
7
|
+
children
|
|
8
|
+
});
|
|
9
|
+
FallbackLink.resolveHref = href => href.toString();
|
|
10
|
+
const nativeFallback = {
|
|
11
|
+
Link: FallbackLink,
|
|
12
|
+
useParams,
|
|
13
|
+
usePathname,
|
|
14
|
+
useRouter
|
|
15
|
+
};
|
|
16
|
+
function host() {
|
|
17
|
+
return boundRouter() ?? nativeFallback;
|
|
18
|
+
}
|
|
19
|
+
const HostLink = props => {
|
|
20
|
+
const Bound = host().Link;
|
|
21
|
+
return /* @__PURE__ */jsx(Bound, {
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
HostLink.resolveHref = href => host().Link.resolveHref(href);
|
|
26
|
+
const hostRouter = {
|
|
27
|
+
Link: HostLink,
|
|
28
|
+
useParams: () => host().useParams(),
|
|
29
|
+
usePathname: () => host().usePathname(),
|
|
30
|
+
useRouter: () => host().useRouter()
|
|
31
|
+
};
|
|
32
|
+
function pickNativeRouter(one) {
|
|
33
|
+
if (one?.Link && one.useParams && one.usePathname && one.useRouter) return one;
|
|
34
|
+
return hostRouter;
|
|
35
|
+
}
|
|
36
|
+
export { hostRouter, nativeFallback, pickNativeRouter };
|
|
37
|
+
//# sourceMappingURL=nativeRouter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["boundRouter","useParams","usePathname","useRouter","Fragment","jsx","FallbackLink","children","resolveHref","href","toString","nativeFallback","Link","host","HostLink","props","Bound","hostRouter","pickNativeRouter","one"],"sources":["../../../src/router/nativeRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAuC;AAChD,SAASC,SAAA,EAAWC,WAAA,EAAaC,SAAA,QAAiB;AAEI,SAAAC,QAAA,EAAAC,GAAA;AAAtD,MAAMC,YAAA,GAA8BA,CAAC;EAAEC;AAAS,MAAM,eAAAF,GAAA,CAAAD,QAAA;EAAGG;AAAA,CAAS;AAElED,YAAA,CAAaE,WAAA,GAAeC,IAAA,IAASA,IAAA,CAAKC,QAAA,CAAS;AAG5C,MAAMC,cAAA,GAAgC;EAC3CC,IAAA,EAAMN,YAAA;EACNL,SAAA;EACAC,WAAA;EACAC;AACF;AAEA,SAASU,KAAA,EAAsB;EAC7B,OAAOb,WAAA,CAAY,KAAKW,cAAA;AAC1B;AAEA,MAAMG,QAAA,GAA2BC,KAAA,IAAU;EACzC,MAAMC,KAAA,GAAQH,IAAA,CAAK,EAAED,IAAA;EACrB,OAAO,eAAAP,GAAA,CAACW,KAAA;IAAO,GAAGD;EAAA,CAAO;AAC3B;AAEAD,QAAA,CAASN,WAAA,GAAeC,IAAA,IAASI,IAAA,CAAK,EAAED,IAAA,CAAKJ,WAAA,CAAYC,IAAI;AAQtD,MAAMQ,UAAA,GAA4B;EACvCL,IAAA,EAAME,QAAA;EACNb,SAAA,EAAWA,CAAA,KAAMY,IAAA,CAAK,EAAEZ,SAAA,CAAU;EAClCC,WAAA,EAAaA,CAAA,KAAMW,IAAA,CAAK,EAAEX,WAAA,CAAY;EACtCC,SAAA,EAAWA,CAAA,KAAMU,IAAA,CAAK,EAAEV,SAAA,CAAU;AACpC;AAGO,SAASe,iBAAiBC,GAAA,EAAwD;EACvF,IAAIA,GAAA,EAAKP,IAAA,IAAQO,GAAA,CAAIlB,SAAA,IAAakB,GAAA,CAAIjB,WAAA,IAAeiB,GAAA,CAAIhB,SAAA,EAAW,OAAOgB,GAAA;EAC3E,OAAOF,UAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { boundRouter } from "./binding.native.js";
|
|
3
|
+
import { useParams, usePathname, useRouter } from "./EmptyRouter.native.js";
|
|
4
|
+
var FallbackLink = function FallbackLink2(param) {
|
|
5
|
+
var {
|
|
6
|
+
children
|
|
7
|
+
} = param;
|
|
8
|
+
return /* @__PURE__ */_jsx(_Fragment, {
|
|
9
|
+
children
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
FallbackLink.resolveHref = function (href) {
|
|
13
|
+
return href.toString();
|
|
14
|
+
};
|
|
15
|
+
var nativeFallback = {
|
|
16
|
+
Link: FallbackLink,
|
|
17
|
+
useParams,
|
|
18
|
+
usePathname,
|
|
19
|
+
useRouter
|
|
20
|
+
};
|
|
21
|
+
function host() {
|
|
22
|
+
var _boundRouter;
|
|
23
|
+
return (_boundRouter = boundRouter()) !== null && _boundRouter !== void 0 ? _boundRouter : nativeFallback;
|
|
24
|
+
}
|
|
25
|
+
var HostLink = function HostLink2(props) {
|
|
26
|
+
var Bound = host().Link;
|
|
27
|
+
return /* @__PURE__ */_jsx(Bound, {
|
|
28
|
+
...props
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
HostLink.resolveHref = function (href) {
|
|
32
|
+
return host().Link.resolveHref(href);
|
|
33
|
+
};
|
|
34
|
+
var hostRouter = {
|
|
35
|
+
Link: HostLink,
|
|
36
|
+
useParams: function useParams2() {
|
|
37
|
+
return host().useParams();
|
|
38
|
+
},
|
|
39
|
+
usePathname: function usePathname2() {
|
|
40
|
+
return host().usePathname();
|
|
41
|
+
},
|
|
42
|
+
useRouter: function useRouter2() {
|
|
43
|
+
return host().useRouter();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function pickNativeRouter(one) {
|
|
47
|
+
if ((one === null || one === void 0 ? void 0 : one.Link) && one.useParams && one.usePathname && one.useRouter) return one;
|
|
48
|
+
return hostRouter;
|
|
49
|
+
}
|
|
50
|
+
export { hostRouter, nativeFallback, pickNativeRouter };
|
|
51
|
+
//# sourceMappingURL=nativeRouter.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","boundRouter","useParams","usePathname","useRouter","FallbackLink","FallbackLink2","param","children","resolveHref","href","toString","nativeFallback","Link","host","_boundRouter","HostLink","HostLink2","props","Bound"],"sources":["../../../src/router/nativeRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAA,EAAAC,QAAuC,IAAAC,SAAA;AAChD,SAASC,WAAW,6BAAa;AAEqB,SAAAC,SAAA,EAAAC,WAAA,EAAAC,SAAA;AAAtD,IAAAC,YAAM,YAAiCC,aAAeA,CAAAC,KAAA;EAEtD;IAAAC;EAAa,IAAAD,KAAA;EAGN,OAAM,eAAgCT,IAAA,CAAAE,SAAA;IAC3CQ;EACA;AAAA;AACAH,YACA,CAAAI,WAAA,aAAAC,IAAA;EACF,OAAAA,IAAA,CAAAC,QAAA;AAEA;AACE,IAAAC,cAAO,GAAY;EACrBC,IAAA,EAAAR,YAAA;EAEAH,SAAM;EACJC,WAAM;EACNC;AACF;AAEA,SAASU,KAAA;EAQF,IAAMC,YAAA;EACX,OAAM,CAAAA,YAAA,GAAAd,WAAA,gBAAAc,YAAA,cAAAA,YAAA,GAAAH,cAAA;AAAA;AAC4B,IAClCI,QAAA,GAAa,SAAMC,SAAOA,CAAAC,KAAA,EAAY;EACtC,IAAAC,KAAA,GAAWL,IAAA,CAAM,EAAAD,IAAK;EACxB,sBAAAf,IAAA,CAAAqB,KAAA;IAGO,GAAAD;EACL;AACA;AACFF,QAAA,CAAAP,WAAA,aAAAC,IAAA","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const slot = /* @__PURE__ */Symbol.for("@multiplatform.one/router/binding");
|
|
2
|
+
function bindRouter(binding) {
|
|
3
|
+
globalThis[slot] = binding;
|
|
4
|
+
}
|
|
5
|
+
function boundRouter() {
|
|
6
|
+
return globalThis[slot];
|
|
7
|
+
}
|
|
8
|
+
export { bindRouter, boundRouter };
|
|
9
|
+
//# sourceMappingURL=binding.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["slot","Symbol","for","bindRouter","binding","globalThis","boundRouter"],"sources":["../../../src/router/binding.ts"],"sourcesContent":[null],"mappings":"AAcA,MAAMA,IAAA,GAAO,eAAAC,MAAA,CAAOC,GAAA,CAAI,mCAAmC;AAIpD,SAASC,WAAWC,OAAA,EAA8B;EACtDC,UAAA,CAAoBL,IAAI,IAAII,OAAA;AAC/B;AAEO,SAASE,YAAA,EAAyC;EACvD,OAAQD,UAAA,CAAoBL,IAAI;AAClC","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var binding_exports = {};
|
|
26
|
+
__export(binding_exports, {
|
|
27
|
+
bindRouter: () => bindRouter,
|
|
28
|
+
boundRouter: () => boundRouter
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(binding_exports);
|
|
31
|
+
var slot = /* @__PURE__ */Symbol.for("@multiplatform.one/router/binding");
|
|
32
|
+
function bindRouter(binding) {
|
|
33
|
+
globalThis[slot] = binding;
|
|
34
|
+
}
|
|
35
|
+
function boundRouter() {
|
|
36
|
+
return globalThis[slot];
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=binding.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name"],"sources":["../../../src/router/binding.ts"],"sourcesContent":[null],"mappings":"AAcA,YAAM;;AAIC,IAAAA,SAAS,GAAAC,MAAW,CAAAC,cAA8B;AACvD,IAACC,gBAAwB,GAAIF,MAAA,CAAAG,wBAAA;AAC/B,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAEO,IAAAC,YAAS,GAAAN,MAAyC,CAAAO,SAAA,CAAAC,cAAA;AACvD,IAAAC,QAAQ,GAAAA,CAAAC,MAAoB,EAAIC,GAAA;EAClC,SAAAC,IAAA,IAAAD,GAAA,E","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { bindRouter } from "./binding.mjs";
|
|
2
|
+
import { createExpoRouterBinding } from "./expoRouterBinding.mjs";
|
|
3
|
+
function loadExpoRouter() {
|
|
4
|
+
try {
|
|
5
|
+
return require("expo-router");
|
|
6
|
+
} catch (error) {
|
|
7
|
+
throw new Error("[@multiplatform.one/router] @multiplatform.one/router/expo-router binds Expo Router, but expo-router is not installed. Add expo-router to your app's dependencies.", {
|
|
8
|
+
cause: error
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const binding = createExpoRouterBinding(loadExpoRouter());
|
|
13
|
+
const Link = binding.Link;
|
|
14
|
+
const useParams = binding.useParams;
|
|
15
|
+
const usePathname = binding.usePathname;
|
|
16
|
+
const useRouter = binding.useRouter;
|
|
17
|
+
bindRouter(binding);
|
|
18
|
+
export { Link, useParams, usePathname, useRouter };
|
|
19
|
+
//# sourceMappingURL=expoRouter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["bindRouter","createExpoRouterBinding","loadExpoRouter","require","error","Error","cause","binding","Link","useParams","usePathname","useRouter"],"sources":["../../../src/router/expoRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,UAAA,QAAkB;AAC3B,SAASC,uBAAA,QAAsD;AAgB/D,SAASC,eAAA,EAAmC;EAC1C,IAAI;IACF,OAAOC,OAAA,CAAQ,aAAa;EAC9B,SAASC,KAAA,EAAO;IACd,MAAM,IAAIC,KAAA,CACR,sKAEA;MAAEC,KAAA,EAAOF;IAAM,CACjB;EACF;AACF;AAEA,MAAMG,OAAA,GAAUN,uBAAA,CAAwBC,cAAA,CAAe,CAAC;AAEjD,MAAMM,IAAA,GAAsBD,OAAA,CAAQC,IAAA;AACpC,MAAMC,SAAA,GAAuBF,OAAA,CAAQE,SAAA;AACrC,MAAMC,WAAA,GAA2BH,OAAA,CAAQG,WAAA;AACzC,MAAMC,SAAA,GAAuBJ,OAAA,CAAQI,SAAA;AAE5CX,UAAA,CAAWO,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var expoRouter_exports = {};
|
|
26
|
+
__export(expoRouter_exports, {
|
|
27
|
+
Link: () => Link,
|
|
28
|
+
useParams: () => useParams,
|
|
29
|
+
usePathname: () => usePathname,
|
|
30
|
+
useRouter: () => useRouter
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(expoRouter_exports);
|
|
33
|
+
var import_binding = require("./binding.native.js");
|
|
34
|
+
var import_expoRouterBinding = require("./expoRouterBinding.native.js");
|
|
35
|
+
function loadExpoRouter() {
|
|
36
|
+
try {
|
|
37
|
+
return require("expo-router");
|
|
38
|
+
} catch (error) {
|
|
39
|
+
throw new Error("[@multiplatform.one/router] @multiplatform.one/router/expo-router binds Expo Router, but expo-router is not installed. Add expo-router to your app's dependencies.", {
|
|
40
|
+
cause: error
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
var binding = (0, import_expoRouterBinding.createExpoRouterBinding)(loadExpoRouter());
|
|
45
|
+
var Link = binding.Link;
|
|
46
|
+
var useParams = binding.useParams;
|
|
47
|
+
var usePathname = binding.usePathname;
|
|
48
|
+
var useRouter = binding.useRouter;
|
|
49
|
+
(0, import_binding.bindRouter)(binding);
|
|
50
|
+
//# sourceMappingURL=expoRouter.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value"],"sources":["../../../src/router/expoRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAA;AAgBT,IAAAC,gBAAS,GAAAF,MAAmC,CAAAG,wBAAA;AAC1C,IAAAC,iBAAI,GAAAJ,MAAA,CAAAK,mBAAA;AACF,IAAAC,YAAO,GAAQN,MAAA,CAAAO,SAAa,CAAAC,cAAA;AAAA,IAC9BC,QAAS,GAAAA,CAAAC,MAAO,EAAAC,GAAA;EACd,SAAMC,IAAI,IAAAD,GAAA,EAAAZ,SACR,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAEe,IACjBC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACF,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACF,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GAEM,KAAAX,YAAU,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAwBA,GAAA,KAAAF,MAAe,EAE1CnB,SAAsB,CAAAiB,EAAA,EAAQI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACpC;EACA,OAAME,EAAA;AACN;AAEP,IAAAM,YAAW,GAAOC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
function createExpoRouterBinding(expo) {
|
|
3
|
+
const Link = expo.Link;
|
|
4
|
+
if (typeof Link.resolveHref !== "function") {
|
|
5
|
+
Link.resolveHref = href => href.toString();
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
Link,
|
|
9
|
+
useParams: () => expo.useLocalSearchParams(),
|
|
10
|
+
usePathname: () => expo.usePathname(),
|
|
11
|
+
useRouter: () => {
|
|
12
|
+
const router = expo.useRouter();
|
|
13
|
+
return useMemo(() => ({
|
|
14
|
+
...router,
|
|
15
|
+
subscribe: listener => {
|
|
16
|
+
listener("success");
|
|
17
|
+
return () => {};
|
|
18
|
+
},
|
|
19
|
+
onLoadState: listener => {
|
|
20
|
+
listener("loaded");
|
|
21
|
+
return () => {};
|
|
22
|
+
}
|
|
23
|
+
}), [router]);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export { createExpoRouterBinding };
|
|
28
|
+
//# sourceMappingURL=expoRouterBinding.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","createExpoRouterBinding","expo","Link","resolveHref","href","toString","useParams","useLocalSearchParams","usePathname","useRouter","router","subscribe","listener","onLoadState"],"sources":["../../../src/router/expoRouterBinding.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AAkBjB,SAASC,wBAAwBC,IAAA,EAAuC;EAC7E,MAAMC,IAAA,GAAOD,IAAA,CAAKC,IAAA;EAClB,IAAI,OAAOA,IAAA,CAAKC,WAAA,KAAgB,YAAY;IAC1CD,IAAA,CAAKC,WAAA,GAAeC,IAAA,IAASA,IAAA,CAAKC,QAAA,CAAS;EAC7C;EACA,OAAO;IACLH,IAAA;IACAI,SAAA,EAAWA,CAAA,KAAML,IAAA,CAAKM,oBAAA,CAAqB;IAC3CC,WAAA,EAAaA,CAAA,KAAMP,IAAA,CAAKO,WAAA,CAAY;IACpCC,SAAA,EAAWA,CAAA,KAAM;MACf,MAAMC,MAAA,GAAST,IAAA,CAAKQ,SAAA,CAAU;MAC9B,OAAOV,OAAA,CACL,OAAO;QACL,GAAGW,MAAA;QACHC,SAAA,EAAYC,QAAA,IAAa;UACvBA,QAAA,CAAS,SAAS;UAClB,OAAO,MAAM,CAAC;QAChB;QACAC,WAAA,EAAcD,QAAA,IAAa;UACzBA,QAAA,CAAS,QAAQ;UACjB,OAAO,MAAM,CAAC;QAChB;MACF,IACA,CAACF,MAAM,CACT;IACF;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var expoRouterBinding_exports = {};
|
|
26
|
+
__export(expoRouterBinding_exports, {
|
|
27
|
+
createExpoRouterBinding: () => createExpoRouterBinding
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(expoRouterBinding_exports);
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
function createExpoRouterBinding(expo) {
|
|
32
|
+
var Link = expo.Link;
|
|
33
|
+
if (typeof Link.resolveHref !== "function") {
|
|
34
|
+
Link.resolveHref = function (href) {
|
|
35
|
+
return href.toString();
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
Link,
|
|
40
|
+
useParams: function useParams() {
|
|
41
|
+
return expo.useLocalSearchParams();
|
|
42
|
+
},
|
|
43
|
+
usePathname: function usePathname() {
|
|
44
|
+
return expo.usePathname();
|
|
45
|
+
},
|
|
46
|
+
useRouter: function useRouter() {
|
|
47
|
+
var router = expo.useRouter();
|
|
48
|
+
return (0, import_react.useMemo)(function () {
|
|
49
|
+
return {
|
|
50
|
+
...router,
|
|
51
|
+
subscribe: function subscribe(listener) {
|
|
52
|
+
listener("success");
|
|
53
|
+
return function () {};
|
|
54
|
+
},
|
|
55
|
+
onLoadState: function onLoadState(listener) {
|
|
56
|
+
listener("loaded");
|
|
57
|
+
return function () {};
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}, [router]);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=expoRouterBinding.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","expoRouterBinding_exports","createExpoRouterBinding","module","exports","import_react","require","expo","Link","resolveHref","href","toString"],"sources":["../../../src/router/expoRouterBinding.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AAkBF,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAwB;AACtC,IAAAC,gBAAkB,GAAAF,MAAA,CAAAG,wBAAA;AAClB,IAAAC,iBAAgB,GAAAJ,MAAA,CAAAK,mBAA4B;AAC1C,IAAAC,YAAK,GAAAN,MAAe,CAAAO,SAAS,CAAAC,cAAc;AAAA,IAC7CC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EACA,SAAOC,IAAA,IAAAD,GAAA,EACLZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAC2C,IAC3CC,WAAA,GAAaA,CAAAC,EAAA,EAAMC,IAAA,EAAKC,MAAA,EAAAC,IAAY;EAAA,IACpCF,IAAA,WAAiBA,IAAA,wBAAAA,IAAA;IACf,SAAMG,GAAA,IAAAhB,iBAAwB,CAAAa,IAAA,GAC9B,KAAAX,YAAO,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACLnB,SAAO,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EACF,OAAAE,EACH;AACE;AACA,IAAAM,YAAA,GAAOC,GAAA,IAAMR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IAAAE,yBAAC;AAAAhB,QAAA,CAAAgB,yBAChB;EAAAC,uBACc,EAAAA,CAAA,KAAAA;AACZ;AACAC,MAAA,CAAAC,OAAA,GAAAN,YAAa,CAAAG,yBAAA;AAAA,IAAAI,YAAC,GAAAC,OAAA;AAAA,SAAAJ,uBAChBA,CAAAK,IAAA;EAAA,IAAAC,IACF,GAAAD,IAAA,CAAAC,IAAA;EAAA,WACCA,IAAM,CAAAC,WAAA;IAAAD,IACT,CAAAC,WAAA,aAAAC,IAAA;MACF,OAAAA,IAAA,CAAAC,QAAA;IACF;EACF","ignoreList":[]}
|
|
@@ -30,7 +30,7 @@ __export(index_native_exports, {
|
|
|
30
30
|
useRouter: () => useRouter
|
|
31
31
|
});
|
|
32
32
|
module.exports = __toCommonJS(index_native_exports);
|
|
33
|
-
var
|
|
33
|
+
var import_nativeRouter = require("./nativeRouter.native.js");
|
|
34
34
|
function loadOne() {
|
|
35
35
|
try {
|
|
36
36
|
return require("one");
|
|
@@ -38,7 +38,7 @@ function loadOne() {
|
|
|
38
38
|
return void 0;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
var router = (0,
|
|
41
|
+
var router = (0, import_nativeRouter.pickNativeRouter)(loadOne());
|
|
42
42
|
var Link = router.Link;
|
|
43
43
|
var useParams = router.useParams;
|
|
44
44
|
var useRouter = router.useRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["index_native_exports","__export","Link","useParams","usePathname","useRouter","module","exports","__toCommonJS","
|
|
1
|
+
{"version":3,"names":["index_native_exports","__export","Link","useParams","usePathname","useRouter","module","exports","__toCommonJS","import_nativeRouter","require","loadOne","unused","router","pickNativeRouter","useRouterPathname","_useRouterPathname"],"sources":["../../../src/router/index.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,IAAA,EAAAA,CAAA,KAAAA,IAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA,SAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,SAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAR,oBAAA;AAAA,IAAAS,mBAAA,GAAiCC,OAAA;AACjC,SAASC,QAAA,EAAU;EACf,IAAI;IACA,OAAOD,OAAA,CAAQ,KAAK;EACxB,SAASE,MAAA,EAAQ;IACb,OAAO;EACX;AACJ;AACA,IAAIC,MAAA,OAASJ,mBAAA,CAAAK,gBAAA,EAAiBH,OAAA,CAAQ,CAAC;AAChC,IAAIT,IAAA,GAAOW,MAAA,CAAOX,IAAA;AAClB,IAAIC,SAAA,GAAYU,MAAA,CAAOV,SAAA;AACvB,IAAIE,SAAA,GAAYQ,MAAA,CAAOR,SAAA;AAC9B,IAAIU,iBAAA,GAAoBF,MAAA,CAAOT,WAAA;AAOpB,SAASA,YAAA,EAAc;EAC9B,IAAI;IACA,IAAIY,kBAAA;IACJ,QAAQA,kBAAA,GAAqBD,iBAAA,CAAkB,OAAO,QAAQC,kBAAA,KAAuB,SAASA,kBAAA,GAAqB;EACvH,SAASJ,MAAA,EAAQ;IACb,OAAO;EACX;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { boundRouter } from "./binding.mjs";
|
|
2
|
+
import { useParams, usePathname, useRouter } from "./EmptyRouter.mjs";
|
|
3
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
const FallbackLink = ({
|
|
5
|
+
children
|
|
6
|
+
}) => /* @__PURE__ */jsx(Fragment, {
|
|
7
|
+
children
|
|
8
|
+
});
|
|
9
|
+
FallbackLink.resolveHref = href => href.toString();
|
|
10
|
+
const nativeFallback = {
|
|
11
|
+
Link: FallbackLink,
|
|
12
|
+
useParams,
|
|
13
|
+
usePathname,
|
|
14
|
+
useRouter
|
|
15
|
+
};
|
|
16
|
+
function host() {
|
|
17
|
+
return boundRouter() ?? nativeFallback;
|
|
18
|
+
}
|
|
19
|
+
const HostLink = props => {
|
|
20
|
+
const Bound = host().Link;
|
|
21
|
+
return /* @__PURE__ */jsx(Bound, {
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
HostLink.resolveHref = href => host().Link.resolveHref(href);
|
|
26
|
+
const hostRouter = {
|
|
27
|
+
Link: HostLink,
|
|
28
|
+
useParams: () => host().useParams(),
|
|
29
|
+
usePathname: () => host().usePathname(),
|
|
30
|
+
useRouter: () => host().useRouter()
|
|
31
|
+
};
|
|
32
|
+
function pickNativeRouter(one) {
|
|
33
|
+
if (one?.Link && one.useParams && one.usePathname && one.useRouter) return one;
|
|
34
|
+
return hostRouter;
|
|
35
|
+
}
|
|
36
|
+
export { hostRouter, nativeFallback, pickNativeRouter };
|
|
37
|
+
//# sourceMappingURL=nativeRouter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["boundRouter","useParams","usePathname","useRouter","Fragment","jsx","FallbackLink","children","resolveHref","href","toString","nativeFallback","Link","host","HostLink","props","Bound","hostRouter","pickNativeRouter","one"],"sources":["../../../src/router/nativeRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAuC;AAChD,SAASC,SAAA,EAAWC,WAAA,EAAaC,SAAA,QAAiB;AAEI,SAAAC,QAAA,EAAAC,GAAA;AAAtD,MAAMC,YAAA,GAA8BA,CAAC;EAAEC;AAAS,MAAM,eAAAF,GAAA,CAAAD,QAAA;EAAGG;AAAA,CAAS;AAElED,YAAA,CAAaE,WAAA,GAAeC,IAAA,IAASA,IAAA,CAAKC,QAAA,CAAS;AAG5C,MAAMC,cAAA,GAAgC;EAC3CC,IAAA,EAAMN,YAAA;EACNL,SAAA;EACAC,WAAA;EACAC;AACF;AAEA,SAASU,KAAA,EAAsB;EAC7B,OAAOb,WAAA,CAAY,KAAKW,cAAA;AAC1B;AAEA,MAAMG,QAAA,GAA2BC,KAAA,IAAU;EACzC,MAAMC,KAAA,GAAQH,IAAA,CAAK,EAAED,IAAA;EACrB,OAAO,eAAAP,GAAA,CAACW,KAAA;IAAO,GAAGD;EAAA,CAAO;AAC3B;AAEAD,QAAA,CAASN,WAAA,GAAeC,IAAA,IAASI,IAAA,CAAK,EAAED,IAAA,CAAKJ,WAAA,CAAYC,IAAI;AAQtD,MAAMQ,UAAA,GAA4B;EACvCL,IAAA,EAAME,QAAA;EACNb,SAAA,EAAWA,CAAA,KAAMY,IAAA,CAAK,EAAEZ,SAAA,CAAU;EAClCC,WAAA,EAAaA,CAAA,KAAMW,IAAA,CAAK,EAAEX,WAAA,CAAY;EACtCC,SAAA,EAAWA,CAAA,KAAMU,IAAA,CAAK,EAAEV,SAAA,CAAU;AACpC;AAGO,SAASe,iBAAiBC,GAAA,EAAwD;EACvF,IAAIA,GAAA,EAAKP,IAAA,IAAQO,GAAA,CAAIlB,SAAA,IAAakB,GAAA,CAAIjB,WAAA,IAAeiB,GAAA,CAAIhB,SAAA,EAAW,OAAOgB,GAAA;EAC3E,OAAOF,UAAA;AACT","ignoreList":[]}
|
|
@@ -22,15 +22,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
22
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
23
|
value: true
|
|
24
24
|
}), mod);
|
|
25
|
-
var
|
|
26
|
-
__export(
|
|
25
|
+
var nativeRouter_exports = {};
|
|
26
|
+
__export(nativeRouter_exports, {
|
|
27
|
+
hostRouter: () => hostRouter,
|
|
27
28
|
nativeFallback: () => nativeFallback,
|
|
28
|
-
|
|
29
|
+
pickNativeRouter: () => pickNativeRouter
|
|
29
30
|
});
|
|
30
|
-
module.exports = __toCommonJS(
|
|
31
|
+
module.exports = __toCommonJS(nativeRouter_exports);
|
|
31
32
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
+
var import_binding = require("./binding.native.js");
|
|
32
34
|
var import_EmptyRouter = require("./EmptyRouter.native.js");
|
|
33
|
-
var
|
|
35
|
+
var FallbackLink = function FallbackLink2(param) {
|
|
34
36
|
var {
|
|
35
37
|
children
|
|
36
38
|
} = param;
|
|
@@ -38,16 +40,42 @@ var Link = function Link2(param) {
|
|
|
38
40
|
children
|
|
39
41
|
});
|
|
40
42
|
};
|
|
41
|
-
|
|
43
|
+
FallbackLink.resolveHref = function (href) {
|
|
42
44
|
return href.toString();
|
|
43
45
|
};
|
|
44
46
|
var nativeFallback = {
|
|
45
|
-
Link,
|
|
47
|
+
Link: FallbackLink,
|
|
46
48
|
useParams: import_EmptyRouter.useParams,
|
|
47
49
|
usePathname: import_EmptyRouter.usePathname,
|
|
48
50
|
useRouter: import_EmptyRouter.useRouter
|
|
49
51
|
};
|
|
50
|
-
function
|
|
51
|
-
|
|
52
|
+
function host() {
|
|
53
|
+
var _boundRouter;
|
|
54
|
+
return (_boundRouter = (0, import_binding.boundRouter)()) !== null && _boundRouter !== void 0 ? _boundRouter : nativeFallback;
|
|
52
55
|
}
|
|
53
|
-
|
|
56
|
+
var HostLink = function HostLink2(props) {
|
|
57
|
+
var Bound = host().Link;
|
|
58
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Bound, {
|
|
59
|
+
...props
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
HostLink.resolveHref = function (href) {
|
|
63
|
+
return host().Link.resolveHref(href);
|
|
64
|
+
};
|
|
65
|
+
var hostRouter = {
|
|
66
|
+
Link: HostLink,
|
|
67
|
+
useParams: function useParams2() {
|
|
68
|
+
return host().useParams();
|
|
69
|
+
},
|
|
70
|
+
usePathname: function usePathname2() {
|
|
71
|
+
return host().usePathname();
|
|
72
|
+
},
|
|
73
|
+
useRouter: function useRouter2() {
|
|
74
|
+
return host().useRouter();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
function pickNativeRouter(one) {
|
|
78
|
+
if ((one === null || one === void 0 ? void 0 : one.Link) && one.useParams && one.usePathname && one.useRouter) return one;
|
|
79
|
+
return hostRouter;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=nativeRouter.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","nativeRouter_exports","hostRouter","nativeFallback","pickNativeRouter","module","exports","import_jsx_runtime","require","import_binding","import_EmptyRouter","FallbackLink","FallbackLink2","param"],"sources":["../../../src/router/nativeRouter.tsx"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAW,CAAAC,cAAa;AAEqB,IAAAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAtD,IAAAC,iBAAoC,GAAGJ,MAAA,CAAAK,mBAAe;AAEtD,IAAAC,YAAa,GAAAN,MAAA,CAAAO,SAAe,CAAAC,cAAc;AAGnC,IAAAC,QAAM,GAAAA,CAAAC,MAAA,EAAgCC,GAAA;EAC3C,SAAMC,IAAA,IAAAD,GAAA,EACNZ,SAAA,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACA,IACAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACF,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IAEA,KAAS,IAAAG,GAAsB,IAAAhB,iBAAA,CAAAa,IAAA,GAC7B,IAAO,CAAAX,YAAY,CAAAe,IAAK,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAC1BnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAEA;EACE,OAAME,EAAA;AACN;AACF,IAAAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAEA,IAAAE,oBAAwB;AAQjBhB,QAAM,CAAAgB,oBAA4B;EACvCC,UAAM,EAAAA,CAAA,KAAAA,UAAA;EACNC,cAAW,EAAAA,CAAA,KAAWA,cAAY;EAClCC,gBAAa,EAAAA,CAAA,KAAWA;AAAc,EACtC;AACFC,MAAA,CAAAC,OAAA,GAAAR,YAAA,CAAAG,oBAAA;AAGO,IAAAM,kBAAS,GAAAC,OAAyE;AACvF,IAAAC,cAAS,GAAQD,OAAI,sBAAiB;AACtC,IAAAE,kBAAO,GAAAF,OAAA;AACT,IAAAG,YAAA,YAAAC,cAAAC,KAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/router",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "multiplatform.one router with support for react-router-dom and react-navigation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -55,22 +55,35 @@
|
|
|
55
55
|
"import": "./dist/esm/seam/index.mjs",
|
|
56
56
|
"require": "./dist/cjs/seam/index.cjs",
|
|
57
57
|
"default": "./dist/cjs/seam/index.native.js"
|
|
58
|
+
},
|
|
59
|
+
"./expo-router": {
|
|
60
|
+
"react-native": {
|
|
61
|
+
"types": "./types/router/expoRouter.d.ts",
|
|
62
|
+
"import": "./dist/esm/router/expoRouter.native.js",
|
|
63
|
+
"require": "./dist/cjs/router/expoRouter.native.js"
|
|
64
|
+
},
|
|
65
|
+
"source": "./src/router/expoRouter.tsx",
|
|
66
|
+
"types": "./types/router/expoRouter.d.ts",
|
|
67
|
+
"import": "./dist/esm/router/expoRouter.mjs",
|
|
68
|
+
"require": "./dist/cjs/router/expoRouter.cjs",
|
|
69
|
+
"default": "./dist/cjs/router/expoRouter.native.js"
|
|
58
70
|
}
|
|
59
71
|
},
|
|
60
72
|
"publishConfig": {
|
|
61
73
|
"access": "public"
|
|
62
74
|
},
|
|
63
75
|
"dependencies": {
|
|
64
|
-
"@multiplatform.one/platform": "^
|
|
76
|
+
"@multiplatform.one/platform": "^9.0.0",
|
|
65
77
|
"@vxrn/color-scheme": "~1.16.5"
|
|
66
78
|
},
|
|
67
79
|
"devDependencies": {
|
|
68
|
-
"@multiplatform.one/config": "
|
|
69
|
-
"@multiplatform.one/test-utils": "
|
|
80
|
+
"@multiplatform.one/config": "9.0.0",
|
|
81
|
+
"@multiplatform.one/test-utils": "9.0.0",
|
|
70
82
|
"@react-navigation/native": "^7.2.2",
|
|
71
83
|
"@tamagui/build": "2.7.6",
|
|
72
84
|
"@testing-library/react": "^16.3.3",
|
|
73
85
|
"@vitejs/plugin-react": "^6.1.2",
|
|
86
|
+
"expo-router": "~55.0.13",
|
|
74
87
|
"one": "^1.16.5",
|
|
75
88
|
"react": "19.2.5",
|
|
76
89
|
"react-dom": "19.2.5",
|
|
@@ -82,6 +95,7 @@
|
|
|
82
95
|
},
|
|
83
96
|
"peerDependencies": {
|
|
84
97
|
"@react-navigation/native": "~7.2.2",
|
|
98
|
+
"expo-router": "*",
|
|
85
99
|
"one": "^1.4.10",
|
|
86
100
|
"react": "^19.1.0",
|
|
87
101
|
"react-router-dom": "^7.0.0"
|
|
@@ -90,6 +104,9 @@
|
|
|
90
104
|
"@react-navigation/native": {
|
|
91
105
|
"optional": true
|
|
92
106
|
},
|
|
107
|
+
"expo-router": {
|
|
108
|
+
"optional": true
|
|
109
|
+
},
|
|
93
110
|
"one": {
|
|
94
111
|
"optional": true
|
|
95
112
|
},
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LinkComponent, UseParams, UsePathname, UseRouter } from "../types";
|
|
2
|
+
|
|
3
|
+
export interface RouterBinding {
|
|
4
|
+
Link: LinkComponent;
|
|
5
|
+
useParams: UseParams;
|
|
6
|
+
usePathname: UsePathname;
|
|
7
|
+
useRouter: UseRouter;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The host's router, for an app that does not run on One. It is kept on
|
|
12
|
+
* globalThis because a bundle can hold both the ESM and the CommonJS build of
|
|
13
|
+
* this package, and a module-level variable would give each its own copy.
|
|
14
|
+
*/
|
|
15
|
+
const slot = Symbol.for("@multiplatform.one/router/binding");
|
|
16
|
+
|
|
17
|
+
type Host = typeof globalThis & { [slot]?: RouterBinding };
|
|
18
|
+
|
|
19
|
+
export function bindRouter(binding: RouterBinding): void {
|
|
20
|
+
(globalThis as Host)[slot] = binding;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function boundRouter(): RouterBinding | undefined {
|
|
24
|
+
return (globalThis as Host)[slot];
|
|
25
|
+
}
|