@commercelayer/sdk-utils
Version:
Commerce Layer Javascript SDK Utils library
1 lines • 2.36 kB
Source Map (JSON)
{"version":3,"sources":["../src/helpers/include/base.ts"],"names":[],"mappings":";;;AAGA,IAAM,cAAN,MAAkB;AAAA,EAEhB,aAAuB,EAAC;AAAA,EAExB,KAAA,GAAc;AACZ,IAAA,IAAA,CAAK,aAAa,EAAC;AACnB,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,IAAI,QAAA,EAAwB;AAC1B,IAAA,IAAA,CAAK,UAAA,CAAW,KAAK,QAAQ,CAAA;AAC7B,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,GAAA,GAAgB;AACd,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAEF,CAAA;AAGO,IAAM,kBAAN,MAAsB;AAAA,EAElB,YAAA;AAAA,EAET,YAAY,WAAA,EAA2B;AACrC,IAAA,IAAA,CAAK,YAAA,GAAe,WAAA,IAAe,IAAI,WAAA,EAAY;AAAA,EACrD;AAAA,EAEU,QAAQ,QAAA,EAA+B;AAC/C,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,QAAQ,CAAA;AAAA,EACvC;AAAA,EAEU,GAAA,GAAc;AACtB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,GAAA,EAAI,CAAE,KAAK,GAAG,CAAA;AAAA,EACzC;AAAA,EAEO,KAAA,GAAgB;AACrB,IAAA,MAAM,UAAA,GAAa,KAAK,GAAA,EAAI;AAC5B,IAAA,IAAA,CAAK,aAAa,KAAA,EAAM;AACxB,IAAA,OAAO,UAAA;AAAA,EACT;AAAA,EAEO,MAAM,MAAA,EAA2B;AACtC,IAAA,MAAM,UAAA,GAAa,KAAK,GAAA,EAAI;AAC5B,IAAA,MAAM,cAAA,GAAiB,MAAA,CAAO,OAAA,IAAW,EAAC;AAC1C,IAAA,IAAI,UAAA,IAAc,CAAC,cAAA,CAAe,QAAA,CAAS,UAAU,CAAA,EAAG;AACtD,MAAA,cAAA,CAAe,KAAK,UAAU,CAAA;AAC9B,MAAA,MAAA,CAAO,OAAA,GAAU,cAAA;AAAA,IACnB;AACA,IAAA,IAAA,CAAK,aAAa,KAAA,EAAM;AAAA,EAC1B;AAEF","file":"chunk-JHES2HFY.cjs","sourcesContent":["import { type QueryParams } from \"@commercelayer/sdk\"\n\n\nclass IncludePath {\n\n #resources: string[] = []\n\n clear(): this {\n this.#resources = []\n return this\n }\n \n add(resource: string): this {\n this.#resources.push(resource)\n return this\n }\n\n get(): string[] {\n return this.#resources\n }\n\n}\n\n\nexport class ResourceInclude {\n\n readonly #includePath: IncludePath\n\n constructor(includePath?: IncludePath) {\n this.#includePath = includePath || new IncludePath()\n }\n\n protected include(resource: string): IncludePath {\n return this.#includePath.add(resource)\n }\n\n protected get(): string {\n return this.#includePath.get().join('.')\n }\n\n public build(): string {\n const newInclude = this.get()\n this.#includePath.clear()\n return newInclude\n }\n\n public addTo(filter: QueryParams): void {\n const newInclude = this.get()\n const currentInclude = filter.include || []\n if (newInclude && !currentInclude.includes(newInclude)) {\n currentInclude.push(newInclude)\n filter.include = currentInclude\n }\n this.#includePath.clear()\n }\n\n}\n"]}