{"version":3,"file":"xto-one.mjs","sources":["../../../../../../src/services/document-service/transform/relations/utils/xto-one.ts"],"sourcesContent":["import { isNil, isObject } from 'lodash/fp';\n\nimport { relations } from '@strapi/utils';\n\nimport { Relation } from './types';\n\nconst { isAnyToOne } = relations;\n\n/**\n * \"Relates to one\" fields hold a single entry. If a caller passes more\n * than one, keep the last. Runs on the user-provided payload only — never\n * on the internal draft/published expansion that happens later.\n */\nexport const normalizeXToOneRelationValue = (attribute: any, value: Relation): Relation => {\n  if (!isAnyToOne(attribute)) {\n    return value;\n  }\n\n  if (isNil(value)) {\n    return value;\n  }\n\n  if (Array.isArray(value)) {\n    if (value.length > 1) {\n      return [value[value.length - 1]] as Relation;\n    }\n    return value;\n  }\n\n  if (isObject(value) && !Array.isArray(value)) {\n    const objValue = value as { set?: any; connect?: any; disconnect?: any };\n    if (Array.isArray(objValue.set) && objValue.set.length > 1) {\n      return {\n        ...objValue,\n        set: [objValue.set[objValue.set.length - 1]],\n      } as Relation;\n    }\n  }\n\n  return value;\n};\n"],"names":["isAnyToOne","relations","normalizeXToOneRelationValue","attribute","value","isNil","Array","isArray","length","isObject","objValue","set"],"mappings":";;;AAMA,MAAM,EAAEA,UAAU,EAAE,GAAGC,SAAAA;AAEvB;;;;AAIC,IACM,MAAMC,4BAAAA,GAA+B,CAACC,SAAAA,EAAgBC,KAAAA,GAAAA;IAC3D,IAAI,CAACJ,WAAWG,SAAAA,CAAAA,EAAY;QAC1B,OAAOC,KAAAA;AACT,IAAA;AAEA,IAAA,IAAIC,MAAMD,KAAAA,CAAAA,EAAQ;QAChB,OAAOA,KAAAA;AACT,IAAA;IAEA,IAAIE,KAAAA,CAAMC,OAAO,CAACH,KAAAA,CAAAA,EAAQ;QACxB,IAAIA,KAAAA,CAAMI,MAAM,GAAG,CAAA,EAAG;YACpB,OAAO;AAACJ,gBAAAA,KAAK,CAACA,KAAAA,CAAMI,MAAM,GAAG,CAAA;AAAG,aAAA;AAClC,QAAA;QACA,OAAOJ,KAAAA;AACT,IAAA;AAEA,IAAA,IAAIK,SAASL,KAAAA,CAAAA,IAAU,CAACE,KAAAA,CAAMC,OAAO,CAACH,KAAAA,CAAAA,EAAQ;AAC5C,QAAA,MAAMM,QAAAA,GAAWN,KAAAA;QACjB,IAAIE,KAAAA,CAAMC,OAAO,CAACG,QAAAA,CAASC,GAAG,CAAA,IAAKD,QAAAA,CAASC,GAAG,CAACH,MAAM,GAAG,CAAA,EAAG;YAC1D,OAAO;AACL,gBAAA,GAAGE,QAAQ;gBACXC,GAAAA,EAAK;AAACD,oBAAAA,QAAAA,CAASC,GAAG,CAACD,QAAAA,CAASC,GAAG,CAACH,MAAM,GAAG,CAAA;AAAG;AAC9C,aAAA;AACF,QAAA;AACF,IAAA;IAEA,OAAOJ,KAAAA;AACT;;;;"}