@qcobro/common 1.19.5 → 1.20.2
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/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/normalizePhone.d.ts +12 -0
- package/dist/utils/normalizePhone.d.ts.map +1 -0
- package/dist/utils/normalizePhone.js +17 -0
- package/dist/utils/normalizePhone.js.map +1 -0
- package/package.json +2 -1
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ export { withErrorHandlingAndValidation } from "./withErrorHandlingAndValidation
|
|
|
2
2
|
export { renderTemplate, extractTemplateTokens, buildOutreachContext, pickRandomNumber, snakeToCamel, renderWhatsAppTemplate } from "./outreach.js";
|
|
3
3
|
export { localParts, localDateString, isSameLocalDay, localWeekdayISO, localTimeHHMM, isWithinScheduleWindow, type ScheduleWindow } from "./time.js";
|
|
4
4
|
export { bucketOf, perTickCapacity, type PacingBucket } from "./pacing.js";
|
|
5
|
+
export { normalizePhoneE164 } from "./normalizePhone.js";
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export { withErrorHandlingAndValidation } from "./withErrorHandlingAndValidation
|
|
|
2
2
|
export { renderTemplate, extractTemplateTokens, buildOutreachContext, pickRandomNumber, snakeToCamel, renderWhatsAppTemplate } from "./outreach.js";
|
|
3
3
|
export { localParts, localDateString, isSameLocalDay, localWeekdayISO, localTimeHHMM, isWithinScheduleWindow } from "./time.js";
|
|
4
4
|
export { bucketOf, perTickCapacity } from "./pacing.js";
|
|
5
|
+
export { normalizePhoneE164 } from "./normalizePhone.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EAEvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,sBAAsB,EAEvB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes a phone number to E.164 (e.g. "+18091234567"), accepting input with or
|
|
3
|
+
* without a leading `+`. Returns null instead of throwing when the number isn't a valid
|
|
4
|
+
* international number — callers may be comparing against untrusted webhook input, where
|
|
5
|
+
* "doesn't parse" should mean "no match," not a crash.
|
|
6
|
+
*
|
|
7
|
+
* Ported from mikro's `validatePhone` (mods/common/src/utils/validatePhone.ts), which
|
|
8
|
+
* throws a ValidationError instead; that stricter variant belongs at input boundaries
|
|
9
|
+
* (e.g. account import) and isn't needed here yet.
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizePhoneE164(input: string): string | null;
|
|
12
|
+
//# sourceMappingURL=normalizePhone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizePhone.d.ts","sourceRoot":"","sources":["../../src/utils/normalizePhone.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { phone } from "phone";
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes a phone number to E.164 (e.g. "+18091234567"), accepting input with or
|
|
4
|
+
* without a leading `+`. Returns null instead of throwing when the number isn't a valid
|
|
5
|
+
* international number — callers may be comparing against untrusted webhook input, where
|
|
6
|
+
* "doesn't parse" should mean "no match," not a crash.
|
|
7
|
+
*
|
|
8
|
+
* Ported from mikro's `validatePhone` (mods/common/src/utils/validatePhone.ts), which
|
|
9
|
+
* throws a ValidationError instead; that stricter variant belongs at input boundaries
|
|
10
|
+
* (e.g. account import) and isn't needed here yet.
|
|
11
|
+
*/
|
|
12
|
+
export function normalizePhoneE164(input) {
|
|
13
|
+
const candidate = input.startsWith("+") ? input : `+${input}`;
|
|
14
|
+
const result = phone(candidate);
|
|
15
|
+
return result.isValid ? result.phoneNumber : null;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=normalizePhone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizePhone.js","sourceRoot":"","sources":["../../src/utils/normalizePhone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qcobro/common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"handlebars": "^4.7.9",
|
|
26
26
|
"pg": "^8.13.0",
|
|
27
|
+
"phone": "^3.1.71",
|
|
27
28
|
"zod": "^4.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|