@sparted/shared-library 1.0.8 → 1.0.9
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.
- package/cdn/cdn.factory.js +16 -11
- package/cdn/cdn.factory.js.map +1 -1
- package/cdn/types/cdn-factory.type.d.ts +4 -0
- package/http/build-search-params.d.ts +2 -0
- package/http/build-search-params.js +18 -0
- package/http/build-search-params.js.map +1 -0
- package/http/index.d.ts +1 -0
- package/http/index.js +2 -0
- package/http/index.js.map +1 -1
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
package/cdn/cdn.factory.js
CHANGED
|
@@ -2,19 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var buildSearchParams = require('../http/build-search-params.js');
|
|
5
6
|
var getCdnFromS3Url_util = require('./utils/get-cdn-from-s3-url.util.js');
|
|
6
7
|
var getCdnUrl_util = require('./utils/get-cdn-url.util.js');
|
|
7
8
|
|
|
8
|
-
const imgixTransformationQueries = ({ fit,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
?
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
const imgixTransformationQueries = ({ fit, width, height, quality, compress = true, devicePixelRatio, }) => {
|
|
10
|
+
const params = {
|
|
11
|
+
auto: compress ? 'compress,format' : undefined,
|
|
12
|
+
fit: fit === 'crop' ? 'crop' : undefined,
|
|
13
|
+
dpr: Number.isFinite(devicePixelRatio) ? devicePixelRatio : undefined,
|
|
14
|
+
h: Number.isFinite(height) ? height : undefined,
|
|
15
|
+
w: Number.isFinite(width) ? width : undefined,
|
|
16
|
+
q: quality !== undefined && quality >= 0 && quality <= 100 ? quality : undefined,
|
|
17
|
+
};
|
|
18
|
+
const searchParams = buildSearchParams.buildSearchParams(params).toString();
|
|
19
|
+
return searchParams ? `?${searchParams}` : '';
|
|
20
|
+
};
|
|
18
21
|
const twicpicsTransformationQueries = (params) => {
|
|
19
22
|
if (params.fit !== undefined) {
|
|
20
23
|
if (params.width === undefined || params.height === undefined) {
|
|
@@ -25,7 +28,9 @@ const twicpicsTransformationQueries = (params) => {
|
|
|
25
28
|
return `?twic=v1/${params.fit}=${params.width}x${params.height}`;
|
|
26
29
|
}
|
|
27
30
|
if (params.width !== undefined) {
|
|
28
|
-
const resizeHeight = params.height !== undefined
|
|
31
|
+
const resizeHeight = params.height !== undefined
|
|
32
|
+
? `x${params.height}`
|
|
33
|
+
: '';
|
|
29
34
|
return `?twic=v1/cover=${params.width}${resizeHeight}`;
|
|
30
35
|
}
|
|
31
36
|
return '';
|
package/cdn/cdn.factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdn.factory.js","sources":["../../src/cdn/cdn.factory.ts"],"sourcesContent":["import type { CreateCdn, TransformationQueries } from './types';\nimport { getCdnFromS3UrlFactory } from './utils/get-cdn-from-s3-url.util';\nimport { getCdnUrlFactory } from './utils/get-cdn-url.util';\n\nexport const imgixTransformationQueries: TransformationQueries = ({\n fit,\n
|
|
1
|
+
{"version":3,"file":"cdn.factory.js","sources":["../../src/cdn/cdn.factory.ts"],"sourcesContent":["import { buildSearchParams } from '../http/build-search-params';\nimport type { CreateCdn, TransformationQueries } from './types';\nimport { getCdnFromS3UrlFactory } from './utils/get-cdn-from-s3-url.util';\nimport { getCdnUrlFactory } from './utils/get-cdn-url.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 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 return `?twic=v1/${params.fit}=${params.width}x${params.height}`;\n }\n if (params.width !== undefined) {\n const resizeHeight = params.height !== undefined\n ? `x${params.height}`\n : '';\n\n return `?twic=v1/cover=${params.width}${resizeHeight}`;\n }\n\n return '';\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 * @returns \\{ getCdnUrl, transformationQueries \\}\n */\nexport const createCdn: CreateCdn = ({ type, domain, instanceMapper }) => {\n const getCdnUrl = getCdnUrlFactory({\n domain,\n instanceMapper,\n transformationQueries:\n type === 'imgix'\n ? imgixTransformationQueries\n : twicpicsTransformationQueries,\n });\n\n return {\n getCdnUrl,\n getCdnFromS3Url: getCdnFromS3UrlFactory({\n getCdnUrl,\n }),\n };\n};\n"],"names":["buildSearchParams","getCdnUrlFactory","getCdnFromS3UrlFactory"],"mappings":";;;;;;;;MAKa,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,CAAA,EAAI,YAAY,CAAA,CAAE,GAAG,EAAE,CAAC;AAChD,EAAE;AAEW,MAAA,6BAA6B,GAA0B,CAClE,MAAM,KACJ;AACF,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,OAAO,CAAY,SAAA,EAAA,MAAM,CAAC,GAAG,CAAI,CAAA,EAAA,MAAM,CAAC,KAAK,CAAI,CAAA,EAAA,MAAM,CAAC,MAAM,EAAE,CAAC;AAClE,KAAA;AACD,IAAA,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;AAC9B,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS;AAC9C,cAAE,CAAA,CAAA,EAAI,MAAM,CAAC,MAAM,CAAE,CAAA;cACnB,EAAE,CAAC;AAEP,QAAA,OAAO,kBAAkB,MAAM,CAAC,KAAK,CAAG,EAAA,YAAY,EAAE,CAAC;AACxD,KAAA;AAED,IAAA,OAAO,EAAE,CAAC;AACZ,EAAE;AAEF;;;;;;AAMG;AACI,MAAM,SAAS,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,KAAI;IACvE,MAAM,SAAS,GAAGC,+BAAgB,CAAC;QACjC,MAAM;QACN,cAAc;QACd,qBAAqB,EACnB,IAAI,KAAK,OAAO;AACd,cAAE,0BAA0B;AAC5B,cAAE,6BAA6B;AACpC,KAAA,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,eAAe,EAAEC,2CAAsB,CAAC;YACtC,SAAS;SACV,CAAC;KACH,CAAC;AACJ;;;;;;"}
|
|
@@ -5,6 +5,10 @@ export declare type Transformation = {
|
|
|
5
5
|
height?: number;
|
|
6
6
|
devicePixelRatio?: number;
|
|
7
7
|
quality?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Only for imgix transformations. Default is true.
|
|
10
|
+
*/
|
|
11
|
+
compress?: boolean;
|
|
8
12
|
};
|
|
9
13
|
export declare type CdnParams = {
|
|
10
14
|
asThumbnail?: boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const buildSearchParams = (params) => {
|
|
6
|
+
const definedParams = Object
|
|
7
|
+
.entries(params)
|
|
8
|
+
.reduce((acc, [key, value]) => {
|
|
9
|
+
if (value !== undefined) {
|
|
10
|
+
return Object.assign(Object.assign({}, acc), { [key]: String(value) });
|
|
11
|
+
}
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
return new URLSearchParams(definedParams);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.buildSearchParams = buildSearchParams;
|
|
18
|
+
//# sourceMappingURL=build-search-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-search-params.js","sources":["../../src/http/build-search-params.ts"],"sourcesContent":["import type { Primitive } from '../types';\n\nexport const buildSearchParams = (params: Record<string, Primitive | undefined>): URLSearchParams => {\n const definedParams = Object\n .entries(params)\n .reduce((acc, [key, value]) => {\n if (value !== undefined) {\n return {\n ...acc,\n [key]: String(value),\n };\n }\n\n return acc;\n }, {} as Record<string, string>);\n\n return new URLSearchParams(definedParams);\n};\n"],"names":[],"mappings":";;;;AAEa,MAAA,iBAAiB,GAAG,CAAC,MAA6C,KAAqB;IAClG,MAAM,aAAa,GAAG,MAAM;SACzB,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,GAAG,CACN,EAAA,EAAA,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EACpB,CAAA,CAAA;AACH,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACZ,EAAE,EAA4B,CAAC,CAAC;AAEnC,IAAA,OAAO,IAAI,eAAe,CAAC,aAAa,CAAC,CAAC;AAC5C;;;;"}
|
package/http/index.d.ts
CHANGED
package/http/index.js
CHANGED
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var encodeSearchObject = require('./encode-search-object.js');
|
|
6
6
|
var fetchWithTimeout = require('./fetch-with-timeout.js');
|
|
7
|
+
var buildSearchParams = require('./build-search-params.js');
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
exports.encodeSearchObject = encodeSearchObject.encodeSearchObject;
|
|
11
12
|
exports.encodeSearchValue = encodeSearchObject.encodeSearchValue;
|
|
12
13
|
exports.fetchWithTimeout = fetchWithTimeout.fetchWithTimeout;
|
|
14
|
+
exports.buildSearchParams = buildSearchParams.buildSearchParams;
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/index.js
CHANGED
|
@@ -13,6 +13,7 @@ var formatNumber = require('./formatting/format-number.js');
|
|
|
13
13
|
var runWhile = require('./fp/run-while.js');
|
|
14
14
|
var encodeSearchObject = require('./http/encode-search-object.js');
|
|
15
15
|
var fetchWithTimeout = require('./http/fetch-with-timeout.js');
|
|
16
|
+
var buildSearchParams = require('./http/build-search-params.js');
|
|
16
17
|
var createLinkedList = require('./linked-list/create-linked-list.js');
|
|
17
18
|
var clampNumber = require('./math/clamp-number.js');
|
|
18
19
|
var interpolate = require('./math/interpolate.js');
|
|
@@ -50,6 +51,7 @@ exports.runWhile = runWhile.runWhile;
|
|
|
50
51
|
exports.encodeSearchObject = encodeSearchObject.encodeSearchObject;
|
|
51
52
|
exports.encodeSearchValue = encodeSearchObject.encodeSearchValue;
|
|
52
53
|
exports.fetchWithTimeout = fetchWithTimeout.fetchWithTimeout;
|
|
54
|
+
exports.buildSearchParams = buildSearchParams.buildSearchParams;
|
|
53
55
|
exports.createLinkedList = createLinkedList.createLinkedList;
|
|
54
56
|
exports.clampNumber = clampNumber.clampNumber;
|
|
55
57
|
exports.interpolate = interpolate.interpolate;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|