@sparted/shared-library 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,29 +20,16 @@ const imgixTransformationQueries = ({ fit, width, height, quality, compress = tr
20
20
  return searchParams ? `${searchParams}` : '';
21
21
  };
22
22
  const twicpicsTransformationQueries = (params) => {
23
- const transformations = [];
24
- if (params.fit !== undefined) {
25
- if (params.width === undefined || params.height === undefined) {
26
- // eslint-disable-next-line no-console
27
- console.error('⚠️ The Twicpics api needs a width and a height.');
28
- return '';
29
- }
30
- transformations.push([params.fit, `${params.width}x${params.height}`]);
31
- }
32
- else if (params.width !== undefined) {
33
- const resizeHeight = params.height !== undefined
34
- ? `x${params.height}`
35
- : '';
36
- transformations.push([
37
- 'cover',
38
- `${params.width}${resizeHeight}`
39
- ]);
23
+ const quality = params.quality || 90;
24
+ const transformations = [['quality', quality]];
25
+ const width = params.width || '-';
26
+ const height = params.height || '-';
27
+ const fit = params.fit || 'cover';
28
+ if (params.width !== undefined || params.height !== undefined) {
29
+ transformations.push([fit, `${width}x${height}`]);
40
30
  }
41
31
  if (params.output !== undefined) {
42
- transformations.push([
43
- 'output',
44
- params.output
45
- ]);
32
+ transformations.push(['output', params.output]);
46
33
  }
47
34
  return twicpicsTransformations_util.twicpicsTransformationChainToString(transformations);
48
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cdn.factory.js","sources":["../../src/cdn/cdn.factory.ts"],"sourcesContent":["import { buildSearchParams } from '../http/build-search-params';\nimport type { CdnConfig, CdnType, TransformationQueries, TwicpicsTransformationChain } from './types';\nimport { getCdnFromS3UrlFactory } from './utils/get-cdn-from-s3-url.util';\nimport { getCdnUrlFactory } from './utils/get-cdn-url.util';\nimport { twicpicsTransformationChainToString } from './utils/twicpics-transformations.util';\n\nexport const imgixTransformationQueries: TransformationQueries = ({\n fit,\n width,\n height,\n quality,\n compress = true,\n devicePixelRatio,\n}) => {\n const params = {\n auto: compress ? 'compress,format' : undefined,\n fit: fit === 'crop' ? 'crop' : undefined,\n dpr: Number.isFinite(devicePixelRatio) ? devicePixelRatio : undefined,\n h: Number.isFinite(height) ? height : undefined,\n w: Number.isFinite(width) ? width : undefined,\n q: quality !== undefined && quality >= 0 && quality <= 100 ? quality : undefined,\n };\n const searchParams = buildSearchParams(params).toString();\n\n return searchParams ? `${searchParams}` : '';\n};\n\nexport const twicpicsTransformationQueries: TransformationQueries = (\n params,\n) => {\n const transformations: TwicpicsTransformationChain = [];\n if (params.fit !== undefined) {\n if (params.width === undefined || params.height === undefined) {\n // eslint-disable-next-line no-console\n console.error('⚠️ The Twicpics api needs a width and a height.');\n return '';\n }\n\n transformations.push([params.fit, `${params.width}x${params.height}`]);\n } else if (params.width !== undefined) {\n const resizeHeight = params.height !== undefined\n ? `x${params.height}`\n : '';\n\n transformations.push([\n 'cover',\n `${params.width}${resizeHeight}`]);\n }\n\n if (params.output !== undefined) {\n transformations.push([\n 'output',\n params.output]);\n }\n\n return twicpicsTransformationChainToString(transformations);\n};\n\n/**\n *\n * @param type cdn provider: 'twicpics' | 'imgix'\n * @param domain provider domain\n * @param instanceMapper domain + the result of the instanceMapper will form the base path\n * @param cacheVersion\n * @returns \\{ getCdnUrl, transformationQueries \\}\n */\nexport const createCdn = <T extends CdnType>({ type, domain, instanceMapper, cacheVersion }: CdnConfig<T>) => {\n const getCdnUrl = getCdnUrlFactory({\n domain,\n instanceMapper,\n transformationQueries:\n type === 'imgix'\n ? imgixTransformationQueries\n : twicpicsTransformationQueries,\n cacheVersion,\n });\n\n return {\n getCdnUrl,\n getCdnFromS3Url: getCdnFromS3UrlFactory({\n getCdnUrl,\n }),\n };\n};\n"],"names":["buildSearchParams","twicpicsTransformationChainToString","getCdnUrlFactory","getCdnFromS3UrlFactory"],"mappings":";;;;;;;;;MAMa,0BAA0B,GAA0B,CAAC,EAChE,GAAG,EACH,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,gBAAgB,GACjB,KAAI;AACH,IAAA,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS;QAC9C,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS;AACxC,QAAA,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,SAAS;AACrE,QAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;AAC/C,QAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,SAAS;AAC7C,QAAA,CAAC,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,GAAG,GAAG,OAAO,GAAG,SAAS;KACjF,CAAC;IACF,MAAM,YAAY,GAAGA,mCAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE1D,OAAO,YAAY,GAAG,CAAA,EAAG,YAAY,CAAA,CAAE,GAAG,EAAE,CAAC;AAC/C,EAAE;AAEW,MAAA,6BAA6B,GAA0B,CAClE,MAAM,KACJ;IACF,MAAM,eAAe,GAAgC,EAAE,CAAC;AACxD,IAAA,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;QAC5B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;;AAE7D,YAAA,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;AAClE,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AAED,QAAA,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA,EAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC,CAAC;AACxE,KAAA;AAAM,SAAA,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;AACrC,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;AAC9C,cAAE,CAAA,CAAA,EAAI,MAAM,CAAC,MAAM,CAAE,CAAA;cACnB,EAAE,CAAC;QAEP,eAAe,CAAC,IAAI,CAAC;YACnB,OAAO;AACP,YAAA,CAAA,EAAG,MAAM,CAAC,KAAK,CAAA,EAAG,YAAY,CAAE,CAAA;AAAC,SAAA,CAAC,CAAC;AACtC,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC;YACnB,QAAQ;AACR,YAAA,MAAM,CAAC,MAAM;AAAC,SAAA,CAAC,CAAC;AACnB,KAAA;AAED,IAAA,OAAOC,gEAAmC,CAAC,eAAe,CAAC,CAAC;AAC9D,EAAE;AAEF;;;;;;;AAOG;AACI,MAAM,SAAS,GAAG,CAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAgB,KAAI;IAC3G,MAAM,SAAS,GAAGC,+BAAgB,CAAC;QACjC,MAAM;QACN,cAAc;QACd,qBAAqB,EACnB,IAAI,KAAK,OAAO;AACd,cAAE,0BAA0B;AAC5B,cAAE,6BAA6B;QACnC,YAAY;AACb,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,eAAe,EAAEC,2CAAsB,CAAC;YACtC,SAAS;SACV,CAAC;KACH,CAAC;AACJ;;;;;;"}
1
+ {"version":3,"file":"cdn.factory.js","sources":["../../src/cdn/cdn.factory.ts"],"sourcesContent":["import { buildSearchParams } from '../http/build-search-params';\nimport type { CdnConfig, CdnType, TransformationQueries, TwicpicsTransformationChain } from './types';\nimport { getCdnFromS3UrlFactory } from './utils/get-cdn-from-s3-url.util';\nimport { getCdnUrlFactory } from './utils/get-cdn-url.util';\nimport { twicpicsTransformationChainToString } from './utils/twicpics-transformations.util';\n\nexport const imgixTransformationQueries: TransformationQueries = ({\n fit,\n width,\n height,\n quality,\n compress = true,\n devicePixelRatio,\n}) => {\n const params = {\n auto: compress ? 'compress,format' : undefined,\n fit: fit === 'crop' ? 'crop' : undefined,\n dpr: Number.isFinite(devicePixelRatio) ? devicePixelRatio : undefined,\n h: Number.isFinite(height) ? height : undefined,\n w: Number.isFinite(width) ? width : undefined,\n q: quality !== undefined && quality >= 0 && quality <= 100 ? quality : undefined,\n };\n const searchParams = buildSearchParams(params).toString();\n\n return searchParams ? `${searchParams}` : '';\n};\n\nexport const twicpicsTransformationQueries: TransformationQueries = (\n params,\n) => {\n const quality = params.quality || 90;\n const transformations: TwicpicsTransformationChain = [['quality', quality]];\n\n const width = params.width || '-';\n const height = params.height || '-';\n const fit = params.fit || 'cover';\n\n if (params.width !== undefined || params.height !== undefined) {\n transformations.push([fit, `${width}x${height}`]);\n }\n\n if (params.output !== undefined) {\n transformations.push(['output', params.output]);\n }\n\n return twicpicsTransformationChainToString(transformations);\n};\n\n/**\n *\n * @param type cdn provider: 'twicpics' | 'imgix'\n * @param domain provider domain\n * @param instanceMapper domain + the result of the instanceMapper will form the base path\n * @param cacheVersion\n * @returns \\{ getCdnUrl, transformationQueries \\}\n */\nexport const createCdn = <T extends CdnType>({ type, domain, instanceMapper, cacheVersion }: CdnConfig<T>) => {\n const getCdnUrl = getCdnUrlFactory({\n domain,\n instanceMapper,\n transformationQueries:\n type === 'imgix'\n ? imgixTransformationQueries\n : twicpicsTransformationQueries,\n cacheVersion,\n });\n\n return {\n getCdnUrl,\n getCdnFromS3Url: getCdnFromS3UrlFactory({\n getCdnUrl,\n }),\n };\n};\n"],"names":["buildSearchParams","twicpicsTransformationChainToString","getCdnUrlFactory","getCdnFromS3UrlFactory"],"mappings":";;;;;;;;;MAMa,0BAA0B,GAA0B,CAAC,EAChE,GAAG,EACH,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,gBAAgB,GACjB,KAAI;AACH,IAAA,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS;QAC9C,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS;AACxC,QAAA,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,SAAS;AACrE,QAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;AAC/C,QAAA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,SAAS;AAC7C,QAAA,CAAC,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,GAAG,GAAG,OAAO,GAAG,SAAS;KACjF,CAAC;IACF,MAAM,YAAY,GAAGA,mCAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE1D,OAAO,YAAY,GAAG,CAAA,EAAG,YAAY,CAAA,CAAE,GAAG,EAAE,CAAC;AAC/C,EAAE;AAEW,MAAA,6BAA6B,GAA0B,CAClE,MAAM,KACJ;AACF,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,eAAe,GAAgC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5E,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;AAClC,IAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;AACpC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC;IAElC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AAC7D,QAAA,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,MAAM,CAAE,CAAA,CAAC,CAAC,CAAC;AACnD,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACjD,KAAA;AAED,IAAA,OAAOC,gEAAmC,CAAC,eAAe,CAAC,CAAC;AAC9D,EAAE;AAEF;;;;;;;AAOG;AACI,MAAM,SAAS,GAAG,CAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAgB,KAAI;IAC3G,MAAM,SAAS,GAAGC,+BAAgB,CAAC;QACjC,MAAM;QACN,cAAc;QACd,qBAAqB,EACnB,IAAI,KAAK,OAAO;AACd,cAAE,0BAA0B;AAC5B,cAAE,6BAA6B;QACnC,YAAY;AACb,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,eAAe,EAAEC,2CAAsB,CAAC;YACtC,SAAS;SACV,CAAC;KACH,CAAC;AACJ;;;;;;"}
@@ -17,7 +17,7 @@ export declare type CdnParams = {
17
17
  };
18
18
  export declare type TransformationQueries = (params: Transformation) => string;
19
19
  declare type TwicpicsOutputTransformation = ['output', Transformation['output']];
20
- declare type TwicpicsFitTransformation = ['cover' | 'crop' | 'contain', string];
20
+ declare type TwicpicsFitTransformation = ['cover' | 'crop' | 'contain', string] | ['quality', number];
21
21
  export declare type TwicpicsTransformation = TwicpicsOutputTransformation | TwicpicsFitTransformation;
22
22
  export declare type TwicpicsTransformationChain = TwicpicsTransformation[];
23
23
  export declare type GetCdnUrl = (instanceId: string, path: `/${string}`, params?: CdnParams) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparted/shared-library",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "repository": "git@github.com:Sparted/shared-library.git",
5
5
  "author": "Thomas <duprethomasfr@gmail.com>",
6
6
  "license": "MIT",