repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 6.18 kB
JSON
{"ast":null,"code":"\"use strict\";\n\nimport { nanoid } from 'nanoid/non-secure';\nexport const BaseRouter = {\n getStateForAction(state, action) {\n switch (action.type) {\n case 'SET_PARAMS':\n case 'REPLACE_PARAMS':\n {\n const index = action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;\n if (index === -1) {\n return null;\n }\n return Object.assign({}, state, {\n routes: state.routes.map((r, i) => i === index ? Object.assign({}, r, {\n params: action.type === 'REPLACE_PARAMS' ? action.payload.params : Object.assign({}, r.params, action.payload.params)\n }) : r)\n });\n }\n case 'RESET':\n {\n const nextState = action.payload;\n if (nextState.routes.length === 0 || nextState.routes.some(route => !state.routeNames.includes(route.name))) {\n return null;\n }\n if (nextState.stale === false) {\n if (state.routeNames.length !== nextState.routeNames.length || nextState.routeNames.some(name => !state.routeNames.includes(name))) {\n return null;\n }\n return Object.assign({}, nextState, {\n routes: nextState.routes.map(route => route.key ? route : Object.assign({}, route, {\n key: `${route.name}-${nanoid()}`\n }))\n });\n }\n return nextState;\n }\n default:\n return null;\n }\n },\n shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE' || action.type === 'NAVIGATE_DEPRECATED';\n }\n};","map":{"version":3,"names":["nanoid","BaseRouter","getStateForAction","state","action","type","index","source","routes","findIndex","r","key","Object","assign","map","i","params","payload","nextState","length","some","route","routeNames","includes","name","stale","shouldActionChangeFocus"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/routers/src/BaseRouter.tsx"],"sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport type {\n CommonNavigationAction,\n NavigationState,\n PartialState,\n} from './types';\n\n/**\n * Base router object that can be used when writing custom routers.\n * This provides few helper methods to handle common actions such as `RESET`.\n */\nexport const BaseRouter = {\n getStateForAction<State extends NavigationState>(\n state: State,\n action: CommonNavigationAction\n ): State | PartialState<State> | null {\n switch (action.type) {\n case 'SET_PARAMS':\n case 'REPLACE_PARAMS': {\n const index = action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((r, i) =>\n i === index\n ? {\n ...r,\n params:\n action.type === 'REPLACE_PARAMS'\n ? action.payload.params\n : { ...r.params, ...action.payload.params },\n }\n : r\n ),\n };\n }\n\n case 'RESET': {\n const nextState = action.payload as State | PartialState<State>;\n\n if (\n nextState.routes.length === 0 ||\n nextState.routes.some(\n (route: { name: string }) => !state.routeNames.includes(route.name)\n )\n ) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (\n state.routeNames.length !== nextState.routeNames.length ||\n nextState.routeNames.some(\n (name) => !state.routeNames.includes(name)\n )\n ) {\n return null;\n }\n\n return {\n ...nextState,\n routes: nextState.routes.map((route) =>\n route.key ? route : { ...route, key: `${route.name}-${nanoid()}` }\n ),\n };\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n\n shouldActionChangeFocus(action: CommonNavigationAction) {\n return action.type === 'NAVIGATE' || action.type === 'NAVIGATE_DEPRECATED';\n },\n};\n"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAY1C,OAAO,MAAMC,UAAU,GAAG;EACxBC,iBAAiBA,CACfC,KAAY,EACZC,MAA8B,EACM;IACpC,QAAQA,MAAM,CAACC,IAAI;MACjB,KAAK,YAAY;MACjB,KAAK,gBAAgB;QAAE;UACrB,MAAMC,KAAK,GAAGF,MAAM,CAACG,MAAM,GACvBJ,KAAK,CAACK,MAAM,CAACC,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKP,MAAM,CAACG,MAAM,CAAC,GACtDJ,KAAK,CAACG,KAAK;UAEf,IAAIA,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,IAAI;UACb;UAEA,OAAAM,MAAA,CAAAC,MAAA,KACKV,KAAK;YACRK,MAAM,EAAEL,KAAK,CAACK,MAAM,CAACM,GAAG,CAAC,CAACJ,CAAC,EAAEK,CAAC,KAC5BA,CAAC,KAAKT,KAAK,GAAAM,MAAA,CAAAC,MAAA,KAEFH,CAAC;cACJM,MAAM,EACJZ,MAAM,CAACC,IAAI,KAAK,gBAAgB,GAC5BD,MAAM,CAACa,OAAO,CAACD,MAAM,GAAAJ,MAAA,CAAAC,MAAA,KAChBH,CAAC,CAACM,MAAM,EAAKZ,MAAM,CAACa,OAAO,CAACD,MAAA;YAAO,KAEhDN,CACN;UAAA;QAEJ;MAEA,KAAK,OAAO;QAAE;UACZ,MAAMQ,SAAS,GAAGd,MAAM,CAACa,OAAsC;UAE/D,IACEC,SAAS,CAACV,MAAM,CAACW,MAAM,KAAK,CAAC,IAC7BD,SAAS,CAACV,MAAM,CAACY,IAAI,CAClBC,KAAuB,IAAK,CAAClB,KAAK,CAACmB,UAAU,CAACC,QAAQ,CAACF,KAAK,CAACG,IAAI,CACpE,CAAC,EACD;YACA,OAAO,IAAI;UACb;UAEA,IAAIN,SAAS,CAACO,KAAK,KAAK,KAAK,EAAE;YAC7B,IACEtB,KAAK,CAACmB,UAAU,CAACH,MAAM,KAAKD,SAAS,CAACI,UAAU,CAACH,MAAM,IACvDD,SAAS,CAACI,UAAU,CAACF,IAAI,CACtBI,IAAI,IAAK,CAACrB,KAAK,CAACmB,UAAU,CAACC,QAAQ,CAACC,IAAI,CAC3C,CAAC,EACD;cACA,OAAO,IAAI;YACb;YAEA,OAAAZ,MAAA,CAAAC,MAAA,KACKK,SAAS;cACZV,MAAM,EAAEU,SAAS,CAACV,MAAM,CAACM,GAAG,CAAEO,KAAK,IACjCA,KAAK,CAACV,GAAG,GAAGU,KAAK,GAAAT,MAAA,CAAAC,MAAA,KAAQQ,KAAK;gBAAEV,GAAG,EAAE,GAAGU,KAAK,CAACG,IAAI,IAAIxB,MAAM,CAAC,CAAC;cAAA,EAChE;YAAA;UAEJ;UAEA,OAAOkB,SAAS;QAClB;MAEA;QACE,OAAO,IAAI;IACf;EACF,CAAC;EAEDQ,uBAAuBA,CAACtB,MAA8B,EAAE;IACtD,OAAOA,MAAM,CAACC,IAAI,KAAK,UAAU,IAAID,MAAM,CAACC,IAAI,KAAK,qBAAqB;EAC5E;AACF,CAAC","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}