{"version":3,"file":"path.mjs","sources":["../../../../src/assemblers/document/path/path.ts"],"sourcesContent":["import { PathContextFactory } from '../../../context';\n\nimport type { DocumentContext } from '../../../types';\n\nimport { createDebugger } from '../../../utils';\n\nimport type { Assembler } from '../..';\n\nconst debug = createDebugger('assembler:paths');\n\nexport class DocumentPathsAssembler implements Assembler.Assembler {\n  private readonly _assemblers: Assembler.Path[];\n\n  private readonly _contextFactory: PathContextFactory;\n\n  constructor(assemblers: Assembler.Path[], _contextFactory: PathContextFactory) {\n    this._assemblers = assemblers;\n    this._contextFactory = _contextFactory;\n  }\n\n  assemble(context: DocumentContext): void {\n    const { output, ...defaultContextProps } = context;\n\n    debug(`assembling document's paths for %O routes...`, defaultContextProps.routes.length);\n\n    const pathContext = this._contextFactory.create(defaultContextProps);\n\n    for (const assembler of this._assemblers) {\n      assembler.assemble(pathContext);\n    }\n\n    const { data: pathsObject } = pathContext.output;\n    const nbUniquePaths = Object.keys(pathsObject).length;\n\n    debug(`document's paths assembled, added %O unique paths`, nbUniquePaths);\n\n    output.data.paths = pathsObject;\n  }\n}\n"],"names":["debug","createDebugger","DocumentPathsAssembler","assemble","context","output","defaultContextProps","routes","length","pathContext","_contextFactory","create","assembler","_assemblers","data","pathsObject","nbUniquePaths","Object","keys","paths","assemblers"],"mappings":";;;;AAQA,MAAMA,QAAQC,cAAAA,CAAe,iBAAA,CAAA;AAEtB,MAAMC,sBAAAA,CAAAA;AAUXC,IAAAA,QAAAA,CAASC,OAAwB,EAAQ;AACvC,QAAA,MAAM,EAAEC,MAAM,EAAE,GAAGC,qBAAqB,GAAGF,OAAAA;AAE3CJ,QAAAA,KAAAA,CAAM,CAAC,4CAA4C,CAAC,EAAEM,mBAAAA,CAAoBC,MAAM,CAACC,MAAM,CAAA;AAEvF,QAAA,MAAMC,cAAc,IAAI,CAACC,eAAe,CAACC,MAAM,CAACL,mBAAAA,CAAAA;AAEhD,QAAA,KAAK,MAAMM,SAAAA,IAAa,IAAI,CAACC,WAAW,CAAE;AACxCD,YAAAA,SAAAA,CAAUT,QAAQ,CAACM,WAAAA,CAAAA;AACrB,QAAA;AAEA,QAAA,MAAM,EAAEK,IAAAA,EAAMC,WAAW,EAAE,GAAGN,YAAYJ,MAAM;AAChD,QAAA,MAAMW,aAAAA,GAAgBC,MAAAA,CAAOC,IAAI,CAACH,aAAaP,MAAM;QAErDR,KAAAA,CAAM,CAAC,iDAAiD,CAAC,EAAEgB,aAAAA,CAAAA;QAE3DX,MAAAA,CAAOS,IAAI,CAACK,KAAK,GAAGJ,WAAAA;AACtB,IAAA;IAtBA,WAAA,CAAYK,UAA4B,EAAEV,eAAmC,CAAE;QAC7E,IAAI,CAACG,WAAW,GAAGO,UAAAA;QACnB,IAAI,CAACV,eAAe,GAAGA,eAAAA;AACzB,IAAA;AAoBF;;;;"}