@servicetitan/hash-browser-router 39.0.1 → 39.2.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/create-hash-browser-history.ts"],"sourcesContent":["import {\n BrowserHistoryBuildOptions,\n createBrowserHistory,\n History,\n Location,\n LocationDescriptorObject,\n LocationState,\n} from 'history';\nimport { triggerSammyLocationChange } from './trigger-sammy-location-change';\n\nexport function createHashBrowserHistory(options: BrowserHistoryBuildOptions): History {\n const { basename = '', ...props } = options;\n\n const parent = createBrowserHistory(props);\n\n const history: Omit<History, 'length' | 'action' | 'go' | 'goBack' | 'goForward'> = {\n createHref: location => '/#' + basename + parent.createHref(location),\n\n push: (path, state?: LocationState) => {\n if (typeof path === 'string') {\n if (path.startsWith('/#')) {\n parent.push(path, state);\n } else {\n parent.push('/#' + basename + path, state);\n }\n } else if (path.hash) {\n parent.push(path);\n } else {\n parent.push(convertHashRouterViewToLocation(path, basename));\n }\n\n triggerSammyLocationChange();\n },\n\n replace: (path, state?: LocationState) => {\n if (typeof path === 'string') {\n if (path.startsWith('/#')) {\n parent.replace(path, state);\n } else {\n parent.replace('/#' + basename + path, state);\n }\n } else if (path.hash) {\n parent.replace(path);\n } else {\n parent.replace(convertHashRouterViewToLocation(path, basename));\n }\n\n triggerSammyLocationChange();\n },\n\n block: prompt => {\n if (typeof prompt === 'function') {\n return parent.block((location, action) => {\n return prompt(convertLocationToHashRouterView(location, basename), action);\n });\n }\n\n return parent.block(prompt);\n },\n\n listen: listener => {\n return parent.listen((location, action) => {\n listener(convertLocationToHashRouterView(location, basename), action);\n });\n },\n\n get location() {\n return convertLocationToHashRouterView(parent.location, basename);\n },\n\n set location(l) {\n parent.location = l;\n },\n };\n\n return Object.setPrototypeOf(history, parent);\n}\n\nfunction convertHashRouterViewToLocation(location: LocationDescriptorObject, basename: string) {\n const { search = '', pathname, ...props } = location;\n const hash = pathname !== undefined ? basename + pathname + search : undefined;\n return { ...props, pathname: '/', search: '', hash };\n}\n\nfunction convertLocationToHashRouterView(location: Location, basename: string) {\n let pathname = location.hash ? stripBasename(location.hash.substring(1), basename) : '/';\n let search = '';\n\n const index = pathname.indexOf('?');\n if (index >= 0) {\n search = pathname.substring(index);\n pathname = pathname.substring(0, index);\n }\n\n return { ...location, pathname, search, hash: '' };\n}\n\nfunction hasBasename(path: string, basename: string) {\n return (\n basename &&\n path.toLowerCase().startsWith(basename.toLowerCase()) &&\n '/?#'.indexOf(path.charAt(basename.length)) !== -1\n );\n}\n\nfunction stripBasename(path: string, basename: string) {\n return hasBasename(path, basename) ? path.substring(basename.length) : path;\n}\n"],"names":["createBrowserHistory","triggerSammyLocationChange","createHashBrowserHistory","options","basename","props","parent","history","createHref","location","push","path","state","startsWith","hash","convertHashRouterViewToLocation","replace","block","prompt","action","convertLocationToHashRouterView","listen","listener","l","Object","setPrototypeOf","search","pathname","undefined","stripBasename","substring","index","indexOf","hasBasename","toLowerCase","charAt","length"],"mappings":"AAAA,SAEIA,oBAAoB,QAKjB,UAAU;AACjB,SAASC,0BAA0B,QAAQ,kCAAkC;AAE7E,OAAO,SAASC,yBAAyBC,OAAmC;IACxE,MAAM,EAAEC,WAAW,EAAE,EAAE,GAAGC,OAAO,GAAGF;IAEpC,MAAMG,SAASN,qBAAqBK;IAEpC,MAAME,UAA8E;QAChFC,YAAYC,CAAAA,WAAY,OAAOL,WAAWE,OAAOE,UAAU,CAACC;QAE5DC,MAAM,CAACC,MAAMC;YACT,IAAI,OAAOD,SAAS,UAAU;gBAC1B,IAAIA,KAAKE,UAAU,CAAC,OAAO;oBACvBP,OAAOI,IAAI,CAACC,MAAMC;gBACtB,OAAO;oBACHN,OAAOI,IAAI,CAAC,OAAON,WAAWO,MAAMC;gBACxC;YACJ,OAAO,IAAID,KAAKG,IAAI,EAAE;gBAClBR,OAAOI,IAAI,CAACC;YAChB,OAAO;gBACHL,OAAOI,IAAI,CAACK,gCAAgCJ,MAAMP;YACtD;YAEAH;QACJ;QAEAe,SAAS,CAACL,MAAMC;YACZ,IAAI,OAAOD,SAAS,UAAU;gBAC1B,IAAIA,KAAKE,UAAU,CAAC,OAAO;oBACvBP,OAAOU,OAAO,CAACL,MAAMC;gBACzB,OAAO;oBACHN,OAAOU,OAAO,CAAC,OAAOZ,WAAWO,MAAMC;gBAC3C;YACJ,OAAO,IAAID,KAAKG,IAAI,EAAE;gBAClBR,OAAOU,OAAO,CAACL;YACnB,OAAO;gBACHL,OAAOU,OAAO,CAACD,gCAAgCJ,MAAMP;YACzD;YAEAH;QACJ;QAEAgB,OAAOC,CAAAA;YACH,IAAI,OAAOA,WAAW,YAAY;gBAC9B,OAAOZ,OAAOW,KAAK,CAAC,CAACR,UAAUU;oBAC3B,OAAOD,OAAOE,gCAAgCX,UAAUL,WAAWe;gBACvE;YACJ;YAEA,OAAOb,OAAOW,KAAK,CAACC;QACxB;QAEAG,QAAQC,CAAAA;YACJ,OAAOhB,OAAOe,MAAM,CAAC,CAACZ,UAAUU;gBAC5BG,SAASF,gCAAgCX,UAAUL,WAAWe;YAClE;QACJ;QAEA,IAAIV
|
|
1
|
+
{"version":3,"sources":["../src/create-hash-browser-history.ts"],"sourcesContent":["import {\n BrowserHistoryBuildOptions,\n createBrowserHistory,\n History,\n Location,\n LocationDescriptorObject,\n LocationState,\n} from 'history';\nimport { triggerSammyLocationChange } from './trigger-sammy-location-change';\n\nexport function createHashBrowserHistory(options: BrowserHistoryBuildOptions): History {\n const { basename = '', ...props } = options;\n\n const parent = createBrowserHistory(props);\n\n const history: Omit<History, 'length' | 'action' | 'go' | 'goBack' | 'goForward'> = {\n createHref: location => '/#' + basename + parent.createHref(location),\n\n push: (path, state?: LocationState) => {\n if (typeof path === 'string') {\n if (path.startsWith('/#')) {\n parent.push(path, state);\n } else {\n parent.push('/#' + basename + path, state);\n }\n } else if (path.hash) {\n parent.push(path);\n } else {\n parent.push(convertHashRouterViewToLocation(path, basename));\n }\n\n triggerSammyLocationChange();\n },\n\n replace: (path, state?: LocationState) => {\n if (typeof path === 'string') {\n if (path.startsWith('/#')) {\n parent.replace(path, state);\n } else {\n parent.replace('/#' + basename + path, state);\n }\n } else if (path.hash) {\n parent.replace(path);\n } else {\n parent.replace(convertHashRouterViewToLocation(path, basename));\n }\n\n triggerSammyLocationChange();\n },\n\n block: prompt => {\n if (typeof prompt === 'function') {\n return parent.block((location, action) => {\n return prompt(convertLocationToHashRouterView(location, basename), action);\n });\n }\n\n return parent.block(prompt);\n },\n\n listen: listener => {\n return parent.listen((location, action) => {\n listener(convertLocationToHashRouterView(location, basename), action);\n });\n },\n\n get location() {\n return convertLocationToHashRouterView(parent.location, basename);\n },\n\n set location(l) {\n parent.location = l;\n },\n };\n\n return Object.setPrototypeOf(history, parent);\n}\n\nfunction convertHashRouterViewToLocation(location: LocationDescriptorObject, basename: string) {\n const { search = '', pathname, ...props } = location;\n const hash = pathname !== undefined ? basename + pathname + search : undefined;\n return { ...props, pathname: '/', search: '', hash };\n}\n\nfunction convertLocationToHashRouterView(location: Location, basename: string) {\n let pathname = location.hash ? stripBasename(location.hash.substring(1), basename) : '/';\n let search = '';\n\n const index = pathname.indexOf('?');\n if (index >= 0) {\n search = pathname.substring(index);\n pathname = pathname.substring(0, index);\n }\n\n return { ...location, pathname, search, hash: '' };\n}\n\nfunction hasBasename(path: string, basename: string) {\n return (\n basename &&\n path.toLowerCase().startsWith(basename.toLowerCase()) &&\n '/?#'.indexOf(path.charAt(basename.length)) !== -1\n );\n}\n\nfunction stripBasename(path: string, basename: string) {\n return hasBasename(path, basename) ? path.substring(basename.length) : path;\n}\n"],"names":["createBrowserHistory","triggerSammyLocationChange","createHashBrowserHistory","options","basename","props","parent","history","createHref","location","push","path","state","startsWith","hash","convertHashRouterViewToLocation","replace","block","prompt","action","convertLocationToHashRouterView","listen","listener","l","Object","setPrototypeOf","search","pathname","undefined","stripBasename","substring","index","indexOf","hasBasename","toLowerCase","charAt","length"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/hash-browser-router",
|
|
3
|
-
"version": "39.0
|
|
3
|
+
"version": "39.2.0",
|
|
4
4
|
"description": "React router component using hash-based navigation",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"src"
|
|
16
16
|
],
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@servicetitan/react-ioc": "39.0
|
|
19
|
-
"@servicetitan/web-components": "39.0
|
|
18
|
+
"@servicetitan/react-ioc": "39.2.0",
|
|
19
|
+
"@servicetitan/web-components": "39.2.0",
|
|
20
20
|
"@testing-library/dom": "^10.4.1",
|
|
21
|
-
"@testing-library/react": "^16.3.
|
|
21
|
+
"@testing-library/react": "^16.3.3",
|
|
22
22
|
"@types/history": "~4.7.10",
|
|
23
23
|
"@types/react": "~18.3.3",
|
|
24
24
|
"@types/react-router": "~5.1.17",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"react-router-dom": "~5.3.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@servicetitan/react-ioc": "39.0
|
|
31
|
-
"@servicetitan/web-components": "39.0
|
|
30
|
+
"@servicetitan/react-ioc": "39.2.0",
|
|
31
|
+
"@servicetitan/web-components": "39.2.0",
|
|
32
32
|
"history": "~4.10.1",
|
|
33
33
|
"react": ">=17.0.2",
|
|
34
34
|
"react-router-dom": "~5.3.0"
|
|
@@ -38,6 +38,5 @@
|
|
|
38
38
|
},
|
|
39
39
|
"cli": {
|
|
40
40
|
"webpack": false
|
|
41
|
-
}
|
|
42
|
-
"gitHead": "6e852d0d87277df097ee9fb38b096dae3fb6d68e"
|
|
41
|
+
}
|
|
43
42
|
}
|