@smartive/datocms-utils 1.4.1 → 1.6.0
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/CHANGELOG.md +3 -3
- package/README.md +1 -0
- package/dist/cache-tags.d.ts +4 -0
- package/dist/cache-tags.js +6 -0
- package/dist/cache-tags.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/links.d.ts +7 -0
- package/dist/links.js +15 -0
- package/dist/links.js.map +1 -0
- package/package.json +3 -3
- package/src/cache-tags.ts +8 -0
- package/src/index.ts +1 -0
- package/src/links.ts +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# [1.6.0](https://github.com/smartive/datocms-utils/compare/v1.5.0...v1.6.0) (2025-02-07)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
###
|
|
4
|
+
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* add getTelLink utility ([#61](https://github.com/smartive/datocms-utils/issues/61)) ([31044d9](https://github.com/smartive/datocms-utils/commit/31044d91f9d47736a2ca254501eb5d11dc6998a8))
|
package/README.md
CHANGED
|
@@ -37,6 +37,7 @@ CREATE TABLE IF NOT EXISTS query_cache_tags (
|
|
|
37
37
|
### Other Utilities
|
|
38
38
|
|
|
39
39
|
- `classNames`: Cleans and joins an array of inputs with possible undefined or boolean values. Useful for tailwind classnames.
|
|
40
|
+
- `getTelLink`: Formats a phone number to a tel link.
|
|
40
41
|
|
|
41
42
|
### Types
|
|
42
43
|
|
package/dist/cache-tags.d.ts
CHANGED
|
@@ -36,3 +36,7 @@ export declare const queriesReferencingCacheTags: (cacheTags: CacheTag[]) => Pro
|
|
|
36
36
|
* @param {string} queryId Unique query ID
|
|
37
37
|
*/
|
|
38
38
|
export declare const deleteQueries: (queryIds: string[]) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Wipes out all cache tags from the database.
|
|
41
|
+
*/
|
|
42
|
+
export declare function truncateCacheTags(): Promise<void>;
|
package/dist/cache-tags.js
CHANGED
|
@@ -63,4 +63,10 @@ export const deleteQueries = async (queryIds) => {
|
|
|
63
63
|
}
|
|
64
64
|
await sql.query(`DELETE FROM query_cache_tags WHERE query_id IN (${queryIds.map((id) => `'${id}'`).join(', ')})`);
|
|
65
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Wipes out all cache tags from the database.
|
|
68
|
+
*/
|
|
69
|
+
export async function truncateCacheTags() {
|
|
70
|
+
await sql.query('DELETE FROM query_cache_tags');
|
|
71
|
+
}
|
|
66
72
|
//# sourceMappingURL=cache-tags.js.map
|
package/dist/cache-tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-tags.js","sourceRoot":"","sources":["../src/cache-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAgB,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9C;;;;;;GAMG;AAEH,MAAM,UAAU,6BAA6B,CAAC,MAAsB;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAuB,QAAsB,EAAE,SAAsB,EAAU,EAAE;IAC9G,OAAO,UAAU,CAAC,MAAM,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAqB,EAAE,EAAE;IAClF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CACb,uCAAuC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,OAAO,OAAO,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CACpI,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,SAAqB,EAAqB,EAAE;IAC5F,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAqC,MAAM,GAAG,CAAC,KAAK,CAChE,sEAAsE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjI,CAAC;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IACxD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,KAAK,CAAC,mDAAmD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cache-tags.js","sourceRoot":"","sources":["../src/cache-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAgB,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9C;;;;;;GAMG;AAEH,MAAM,UAAU,6BAA6B,CAAC,MAAsB;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAe,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAuB,QAAsB,EAAE,SAAsB,EAAU,EAAE;IAC9G,OAAO,UAAU,CAAC,MAAM,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAqB,EAAE,EAAE;IAClF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CACb,uCAAuC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,OAAO,OAAO,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,yBAAyB,CACpI,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,SAAqB,EAAqB,EAAE;IAC5F,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAqC,MAAM,GAAG,CAAC,KAAK,CAChE,sEAAsE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjI,CAAC;IAEF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IACxD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,KAAK,CAAC,mDAAmD,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpH,CAAC,CAAC;AAEF;;GAEG;AAEH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/dist/links.d.ts
ADDED
package/dist/links.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a phone number into a `tel:` link.
|
|
3
|
+
*
|
|
4
|
+
* @param phoneNumber Phone number
|
|
5
|
+
* @returns `tel:` link for the phone number
|
|
6
|
+
*/
|
|
7
|
+
export const getTelLink = (phoneNumber) => {
|
|
8
|
+
if (typeof phoneNumber !== 'string') {
|
|
9
|
+
throw new Error('Phone number must be a string.');
|
|
10
|
+
}
|
|
11
|
+
// Remove non-digit characters except for '+' which is used for international numbers
|
|
12
|
+
const cleanedPhoneNumber = phoneNumber.replace(/[^\d+]/g, '');
|
|
13
|
+
return `tel:${cleanedPhoneNumber}`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAU,EAAE;IACxD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,qFAAqF;IACrF,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE9D,OAAO,OAAO,kBAAkB,EAAE,CAAC;AACrC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smartive/datocms-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "A set of utilities and helpers to work with DatoCMS in a Next.js project.",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@semantic-release/changelog": "6.0.3",
|
|
23
|
-
"@semantic-release/commit-analyzer": "13.0.
|
|
23
|
+
"@semantic-release/commit-analyzer": "13.0.1",
|
|
24
24
|
"@semantic-release/gitlab": "^13.2.1",
|
|
25
25
|
"@semantic-release/npm": "12.0.1",
|
|
26
|
-
"@semantic-release/release-notes-generator": "14.0.
|
|
26
|
+
"@semantic-release/release-notes-generator": "14.0.3",
|
|
27
27
|
"@smartive/eslint-config": "^6.4.0",
|
|
28
28
|
"@smartive/prettier-config": "^3.1.2",
|
|
29
29
|
"@types/node": "^22.7.0",
|
package/src/cache-tags.ts
CHANGED
|
@@ -81,3 +81,11 @@ export const deleteQueries = async (queryIds: string[]) => {
|
|
|
81
81
|
}
|
|
82
82
|
await sql.query(`DELETE FROM query_cache_tags WHERE query_id IN (${queryIds.map((id) => `'${id}'`).join(', ')})`);
|
|
83
83
|
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Wipes out all cache tags from the database.
|
|
87
|
+
*/
|
|
88
|
+
|
|
89
|
+
export async function truncateCacheTags() {
|
|
90
|
+
await sql.query('DELETE FROM query_cache_tags');
|
|
91
|
+
}
|
package/src/index.ts
CHANGED
package/src/links.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a phone number into a `tel:` link.
|
|
3
|
+
*
|
|
4
|
+
* @param phoneNumber Phone number
|
|
5
|
+
* @returns `tel:` link for the phone number
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const getTelLink = (phoneNumber: string): string => {
|
|
9
|
+
if (typeof phoneNumber !== 'string') {
|
|
10
|
+
throw new Error('Phone number must be a string.');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Remove non-digit characters except for '+' which is used for international numbers
|
|
14
|
+
const cleanedPhoneNumber = phoneNumber.replace(/[^\d+]/g, '');
|
|
15
|
+
|
|
16
|
+
return `tel:${cleanedPhoneNumber}`;
|
|
17
|
+
};
|