{"version":3,"file":"formatFodselsnummer.cjs","sources":["../../../../../src/utilities/formatters/fodselsnummer/formatFodselsnummer.ts"],"sourcesContent":["import { unicode } from \"../../constants/index.js\";\n\nexport const FODSELSNUMMER_REGEX = {\n    full: /^(\\d{6})(\\d{5})$/,\n    partial: /^(\\d{6})(\\d{1,5})?$/,\n};\n\ntype FormatFodselsnummerOptions = {\n    partial?: boolean;\n};\n\n/**\n * Formaterer et fødselsnummer. Delene av fødselsnummeret skilles med non-breaking space.\n * @param input Verdien som skal formateres\n * @param options Angi at verdien er et ufullstendig fødselsnummer og likevel skal formateres.\n * @returns Den formaterte verdien\n */\nexport function formatFodselsnummer(\n    input: string,\n    options?: FormatFodselsnummerOptions,\n) {\n    const strippedInput = input.replace(/\\W/g, \"\");\n    const regex = options?.partial\n        ? FODSELSNUMMER_REGEX.partial\n        : FODSELSNUMMER_REGEX.full;\n\n    const match = strippedInput.match(regex);\n\n    if (!match) {\n        return input;\n    }\n\n    return match.slice(1).filter(Boolean).join(unicode.NON_BREAKING_SPACE);\n}\n"],"names":["FODSELSNUMMER_REGEX","full","partial","input","options","strippedInput","replace","regex","match","slice","filter","Boolean","join","unicode.NON_BREAKING_SPACE"],"mappings":"kIAEaA,EAAsB,CAC/BC,KAAM,mBACNC,QAAS,iFAaN,SACHC,EACAC,GAEA,MAAMC,EAAgBF,EAAMG,QAAQ,MAAO,IACrCC,EAAQH,GAASF,QACjBF,EAAoBE,QACpBF,EAAoBC,KAEpBO,EAAQH,EAAcG,MAAMD,GAElC,OAAKC,EAIEA,EAAMC,MAAM,GAAGC,OAAOC,SAASC,KAAKC,sBAHhCV,CAIf"}