{"version":3,"file":"geometricpanda-ng-storyblok-pipes.mjs","sources":["../../../../projects/geometricpanda/ng-storyblok/pipes/storyblok-img.pipe.ts","../../../../projects/geometricpanda/ng-storyblok/pipes/storyblok-slug.pipe.ts","../../../../projects/geometricpanda/ng-storyblok/pipes/geometricpanda-ng-storyblok-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\nconst regex = /https:\\/\\/a\\.storyblok\\.com\\/f\\/\\d+\\/(\\d+)x(\\d+)\\//;\n\nexport const storyblokImg = (url: string) => {\n    const pattern = url.match(regex);\n\n    if (!pattern) {\n        console.error(`ngStoryblok: INVALID_IMG_FILENAME\nHeight and width could not be extracted from the image filename: ${url}.\n\nIs it a valid Storyblok image URL?`);\n        throw new Error('ngStoryblok: INVALID_IMG_FILENAME');\n    }\n\n    const [, width, height] = pattern;\n\n    return {\n        width: +width,\n        height: +height,\n    };\n};\n\n@Pipe({\n    name: 'storyblokImgWidth',\n    standalone: true,\n})\nexport class StoryblokImgWidthPipe implements PipeTransform {\n    transform(value: string): number {\n        const { width } = storyblokImg(value);\n        return width;\n    }\n}\n\n@Pipe({\n    name: 'storyblokImgHeight',\n    standalone: true,\n})\nexport class StoryblokImgHeightPipe implements PipeTransform {\n    transform(value: string): number {\n        const { height } = storyblokImg(value);\n        return height;\n    }\n}\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { NG_STORYBLOK_SLUG_REWRITE } from '@geometricpanda/ng-storyblok/tokens';\nimport { ISbStoryData } from 'storyblok-js-client/src/interfaces';\n\n@Pipe({\n    name: 'storyblokSlug',\n    standalone: true,\n})\nexport class StoryblokSlugPipe implements PipeTransform {\n    rewrite = inject(NG_STORYBLOK_SLUG_REWRITE, { optional: true });\n\n    transform({ full_slug }: ISbStoryData): Array<string> {\n        const finalSlug = this.rewrite?.toUrl(full_slug) || full_slug;\n        return finalSlug.split('/');\n    }\n}\n\n@Pipe({\n    name: 'storyblokSlugFragment',\n    standalone: true,\n})\nexport class StoryblokSlugFragmentPipe implements PipeTransform {\n    transform({ slug }: ISbStoryData): string | undefined {\n        const split = slug.split('#');\n        return split[1] || undefined;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}