repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 3.87 kB
JSON
{"ast":null,"code":"import { createSlice } from '@reduxjs/toolkit';\nconst initialState = {\n projects: [],\n loading: false,\n error: null\n};\nexport const projectsSlice = createSlice({\n name: 'projects',\n initialState,\n reducers: {\n addProject: (state, action) => {\n state.projects.push(action.payload);\n },\n updateProject: (state, action) => {\n const index = state.projects.findIndex(p => p.id === action.payload.id);\n if (index !== -1) {\n state.projects[index] = action.payload;\n }\n },\n removeProject: (state, action) => {\n state.projects = state.projects.filter(p => p.id !== action.payload);\n },\n setLoading: (state, action) => {\n state.loading = action.payload;\n },\n setError: (state, action) => {\n state.error = action.payload;\n }\n }\n});\nexport const {\n addProject,\n updateProject,\n removeProject,\n setLoading,\n setError\n} = projectsSlice.actions;","map":{"version":3,"names":["createSlice","initialState","projects","loading","error","projectsSlice","name","reducers","addProject","state","action","push","payload","updateProject","index","findIndex","p","id","removeProject","filter","setLoading","setError","actions"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/src/store/projectsSlice.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { MobileRepositoryConfig } from '../types';\n\ninterface ProjectsState {\n projects: MobileRepositoryConfig[];\n loading: boolean;\n error: string | null;\n}\n\nconst initialState: ProjectsState = {\n projects: [],\n loading: false,\n error: null,\n};\n\nexport const projectsSlice = createSlice({\n name: 'projects',\n initialState,\n reducers: {\n addProject: (state, action: PayloadAction<MobileRepositoryConfig>) => {\n state.projects.push(action.payload);\n },\n updateProject: (state, action: PayloadAction<MobileRepositoryConfig>) => {\n const index = state.projects.findIndex(p => p.id === action.payload.id);\n if (index !== -1) {\n state.projects[index] = action.payload;\n }\n },\n removeProject: (state, action: PayloadAction<string>) => {\n state.projects = state.projects.filter(p => p.id !== action.payload);\n },\n setLoading: (state, action: PayloadAction<boolean>) => {\n state.loading = action.payload;\n },\n setError: (state, action: PayloadAction<string | null>) => {\n state.error = action.payload;\n },\n },\n});\n\nexport const { addProject, updateProject, removeProject, setLoading, setError } = projectsSlice.actions;"],"mappings":"AAAA,SAASA,WAAW,QAAuB,kBAAkB;AAS7D,MAAMC,YAA2B,GAAG;EAClCC,QAAQ,EAAE,EAAE;EACZC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGL,WAAW,CAAC;EACvCM,IAAI,EAAE,UAAU;EAChBL,YAAY;EACZM,QAAQ,EAAE;IACRC,UAAU,EAAEA,CAACC,KAAK,EAAEC,MAA6C,KAAK;MACpED,KAAK,CAACP,QAAQ,CAACS,IAAI,CAACD,MAAM,CAACE,OAAO,CAAC;IACrC,CAAC;IACDC,aAAa,EAAEA,CAACJ,KAAK,EAAEC,MAA6C,KAAK;MACvE,MAAMI,KAAK,GAAGL,KAAK,CAACP,QAAQ,CAACa,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAACK,EAAE,CAAC;MACvE,IAAIH,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBL,KAAK,CAACP,QAAQ,CAACY,KAAK,CAAC,GAAGJ,MAAM,CAACE,OAAO;MACxC;IACF,CAAC;IACDM,aAAa,EAAEA,CAACT,KAAK,EAAEC,MAA6B,KAAK;MACvDD,KAAK,CAACP,QAAQ,GAAGO,KAAK,CAACP,QAAQ,CAACiB,MAAM,CAACH,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAAC;IACtE,CAAC;IACDQ,UAAU,EAAEA,CAACX,KAAK,EAAEC,MAA8B,KAAK;MACrDD,KAAK,CAACN,OAAO,GAAGO,MAAM,CAACE,OAAO;IAChC,CAAC;IACDS,QAAQ,EAAEA,CAACZ,KAAK,EAAEC,MAAoC,KAAK;MACzDD,KAAK,CAACL,KAAK,GAAGM,MAAM,CAACE,OAAO;IAC9B;EACF;AACF,CAAC,CAAC;AAEF,OAAO,MAAM;EAAEJ,UAAU;EAAEK,aAAa;EAAEK,aAAa;EAAEE,UAAU;EAAEC;AAAS,CAAC,GAAGhB,aAAa,CAACiB,OAAO","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}