meta-capi-param-builder-clientjs
Version:
Conversions API parameter builder for Client-side JavaScript
27 lines (22 loc) • 771 B
JavaScript
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
* All rights reserved.
*
* This source code is licensed under the license found in the
* LICENSE file in the root directory of this source tree.
*/
import { looksLikeHashed, trim } from './piiUtil.js';
// good approximation of RFC 2822
const EMAIL_RE =
/^[\w!#\$%&'\*\+\/\=\?\^`\{\|\}~\-]+(:?\.[\w!#\$%&'\*\+\/\=\?\^`\{\|\}~\-]+)*@(?:[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?$/i;
function isEmail(email) {
return EMAIL_RE.test(email);
}
function getNormalizedEmail(email) {
if (looksLikeHashed(email)) {
return email;
}
const normalizedEmail = trim(email.toLowerCase());
return isEmail(normalizedEmail) ? normalizedEmail : null;
}
export { getNormalizedEmail };