{"version":3,"file":"set-creator-fields.mjs","sources":["../src/set-creator-fields.ts"],"sourcesContent":["import * as contentTypes from './content-types';\n\nconst { CREATED_BY_ATTRIBUTE, UPDATED_BY_ATTRIBUTE } = contentTypes.constants;\n\nexport interface Options {\n  user: User;\n  isEdition?: boolean;\n}\n\ninterface User {\n  id: string | number;\n}\n\nconst setCreatorFields =\n  <TData extends object>({ user, isEdition = false }: Options) =>\n  <TDataInner extends object = TData>(data: TDataInner) => {\n    if (isEdition) {\n      return { ...data, [UPDATED_BY_ATTRIBUTE]: user.id };\n    }\n\n    return {\n      ...data,\n      [CREATED_BY_ATTRIBUTE]: user.id,\n      [UPDATED_BY_ATTRIBUTE]: user.id,\n    };\n  };\n\nexport default setCreatorFields;\n"],"names":["CREATED_BY_ATTRIBUTE","UPDATED_BY_ATTRIBUTE","contentTypes","setCreatorFields","user","isEdition","data","id"],"mappings":";;AAEA,MAAM,EAAEA,oBAAoB,EAAEC,oBAAoB,EAAE,GAAGC,SAAsB;AAW7E,MAAMC,gBAAAA,GACJ,CAAuB,EAAEC,IAAI,EAAEC,SAAAA,GAAY,KAAK,EAAW,GAC3D,CAAoCC,IAAAA,GAAAA;AAClC,QAAA,IAAID,SAAAA,EAAW;YACb,OAAO;AAAE,gBAAA,GAAGC,IAAI;gBAAE,CAACL,oBAAAA,GAAuBG,IAAAA,CAAKG;AAAG,aAAA;AACpD,QAAA;QAEA,OAAO;AACL,YAAA,GAAGD,IAAI;YACP,CAACN,oBAAAA,GAAuBI,IAAAA,CAAKG,EAAE;YAC/B,CAACN,oBAAAA,GAAuBG,IAAAA,CAAKG;AAC/B,SAAA;AACF,IAAA;;;;"}