@adtrackify/at-tracking-event-types 1.0.39 → 1.0.40

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/build.js CHANGED
@@ -17,11 +17,10 @@ const shared = {
17
17
 
18
18
  build({
19
19
  entryPoints: ['./src/index.ts'],
20
- external: [...Object.keys(dependencies), '@faker-js/faker'],
20
+ external: [...Object.keys(dependencies)],
21
21
  bundle: true,
22
22
  minify: true,
23
23
  format: 'esm',
24
- platform: 'node',
25
24
  sourcemap: 'linked',
26
25
  outdir: 'dist'
27
26
  })
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  declare module '@adtrackify/at-tracking-event-types/index' {
2
2
  export * from '@adtrackify/at-tracking-event-types/types/index';
3
- export * from '@adtrackify/at-tracking-event-types/utils/index';
4
3
 
5
4
  }
6
5
  declare module '@adtrackify/at-tracking-event-types/types/adtrackify-event-bus-event' {
@@ -392,32 +391,6 @@ declare module '@adtrackify/at-tracking-event-types/types/tracking-event-type' {
392
391
  export type DeviceInfo = IResult;
393
392
  export const Currencies: string[];
394
393
 
395
- }
396
- declare module '@adtrackify/at-tracking-event-types/utils/fake-tracking-event-generator' {
397
- import { AdClickInfo, AddressInfo, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '@adtrackify/at-tracking-event-types/index';
398
- export const generateFakeTrackingEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
399
- export const populateGenericTrackingEventData: (event?: Partial<TrackingEvent>) => TrackingEvent;
400
- export const generateFakePurchaseEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
401
- export const generateFakeViewContentEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
402
- export const generateFakeAddToCartEvent: (event?: Partial<TrackingEvent>) => TrackingEvent;
403
- export const generateFakeEcommerceItems: (numItems?: number) => GenericContent[];
404
- export const generateFakeEcommerceItem: () => GenericContent;
405
- export const generateFakeEventContext: (context?: Partial<TrackingEventContext>) => TrackingEventContext;
406
- export const generateFakePageInfo: (pageInfo?: Partial<PageInfo>) => PageInfo;
407
- export const generateFakeCampiagnInfo: (campaignInfo?: Partial<CampaignInfo>) => CampaignInfo;
408
- export const generateFakeAdClickInfo: (clickInfo?: Partial<AdClickInfo>) => AdClickInfo;
409
- export const generateFakeTrackingEventIdentity: (identity?: Partial<TrackingEventIdentity>) => TrackingEventIdentity;
410
- export const generateFakeAddress: (address?: AddressInfo) => AddressInfo;
411
- export const choasFake: <T>(input?: T | undefined) => T | null | undefined;
412
- export function randomEnum<T extends {
413
- [s: string]: unknown;
414
- }>(anEnum: T): T[keyof T];
415
- export const randomEnumKey: (enumeration: any) => string;
416
-
417
- }
418
- declare module '@adtrackify/at-tracking-event-types/utils/index' {
419
- export * from '@adtrackify/at-tracking-event-types/utils/fake-tracking-event-generator';
420
-
421
394
  }
422
395
  declare module '@adtrackify/at-tracking-event-types' {
423
396
  import main = require('@adtrackify/at-tracking-event-types/src/index');
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var ve=Object.create;var $=Object.defineProperty;var ye=Object.getOwnPropertyDescriptor;var xe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty;var T=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var f=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var he=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of xe(t))!Ie.call(e,a)&&a!==r&&$(e,a,{get:()=>t[a],enumerable:!(i=ye(t,a))||i.enumerable});return e};var Ee=(e,t,r)=>(r=e!=null?ve(_e(e)):{},he(t||!e||!e.__esModule?$(r,"default",{value:e,enumerable:!0}):r,e));var z=f(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.default=Re;var Ne=Le(T("crypto"));function Le(e){return e&&e.__esModule?e:{default:e}}var O=new Uint8Array(256),q=O.length;function Re(){return q>O.length-16&&(Ne.default.randomFillSync(O),q=0),O.slice(q,q+=16)}});var Y=f(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.default=void 0;var Ge=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;b.default=Ge});var h=f(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.default=void 0;var we=He(Y());function He(e){return e&&e.__esModule?e:{default:e}}function Ae(e){return typeof e=="string"&&we.default.test(e)}var Fe=Ae;M.default=Fe});var E=f(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.default=void 0;var Ue=Be(h());function Be(e){return e&&e.__esModule?e:{default:e}}var d=[];for(let e=0;e<256;++e)d.push((e+256).toString(16).substr(1));function Te(e,t=0){let r=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!(0,Ue.default)(r))throw TypeError("Stringified UUID is invalid");return r}var We=Te;D.default=We});var ee=f(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.default=void 0;var ze=S(z()),Ze=S(E());function S(e){return e&&e.__esModule?e:{default:e}}var j,Z,K=0,V=0;function Ke(e,t,r){let i=t&&r||0,a=t||new Array(16);e=e||{};let o=e.node||j,p=e.clockseq!==void 0?e.clockseq:Z;if(o==null||p==null){let g=e.random||(e.rng||ze.default)();o==null&&(o=j=[g[0]|1,g[1],g[2],g[3],g[4],g[5]]),p==null&&(p=Z=(g[6]<<8|g[7])&16383)}let u=e.msecs!==void 0?e.msecs:Date.now(),c=e.nsecs!==void 0?e.nsecs:V+1,x=u-K+(c-V)/1e4;if(x<0&&e.clockseq===void 0&&(p=p+1&16383),(x<0||u>K)&&e.nsecs===void 0&&(c=0),c>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");K=u,V=c,Z=p,u+=122192928e5;let k=((u&268435455)*1e4+c)%4294967296;a[i++]=k>>>24&255,a[i++]=k>>>16&255,a[i++]=k>>>8&255,a[i++]=k&255;let P=u/4294967296*1e4&268435455;a[i++]=P>>>8&255,a[i++]=P&255,a[i++]=P>>>24&15|16,a[i++]=P>>>16&255,a[i++]=p>>>8|128,a[i++]=p&255;for(let g=0;g<6;++g)a[i+g]=o[g];return t||(0,Ze.default)(a)}var Ve=Ke;N.default=Ve});var X=f(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.default=void 0;var Xe=Je(h());function Je(e){return e&&e.__esModule?e:{default:e}}function Qe(e){if(!(0,Xe.default)(e))throw TypeError("Invalid UUID");let t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var $e=Qe;L.default=$e});var J=f(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.default=et;_.URL=_.DNS=void 0;var Ye=te(E()),je=te(X());function te(e){return e&&e.__esModule?e:{default:e}}function Se(e){e=unescape(encodeURIComponent(e));let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}var re="6ba7b810-9dad-11d1-80b4-00c04fd430c8";_.DNS=re;var ne="6ba7b811-9dad-11d1-80b4-00c04fd430c8";_.URL=ne;function et(e,t,r){function i(a,o,p,u){if(typeof a=="string"&&(a=Se(a)),typeof o=="string"&&(o=(0,je.default)(o)),o.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+a.length);if(c.set(o),c.set(a,o.length),c=r(c),c[6]=c[6]&15|t,c[8]=c[8]&63|128,p){u=u||0;for(let x=0;x<16;++x)p[u+x]=c[x];return p}return(0,Ye.default)(c)}try{i.name=e}catch{}return i.DNS=re,i.URL=ne,i}});var ae=f(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.default=void 0;var tt=rt(T("crypto"));function rt(e){return e&&e.__esModule?e:{default:e}}function nt(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),tt.default.createHash("md5").update(e).digest()}var at=nt;R.default=at});var se=f(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.default=void 0;var it=ie(J()),st=ie(ae());function ie(e){return e&&e.__esModule?e:{default:e}}var ut=(0,it.default)("v3",48,st.default),ot=ut;G.default=ot});var oe=f(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.default=void 0;var dt=ue(z()),ct=ue(E());function ue(e){return e&&e.__esModule?e:{default:e}}function lt(e,t,r){e=e||{};let i=e.random||(e.rng||dt.default)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let a=0;a<16;++a)t[r+a]=i[a];return t}return(0,ct.default)(i)}var ft=lt;w.default=ft});var de=f(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.default=void 0;var gt=pt(T("crypto"));function pt(e){return e&&e.__esModule?e:{default:e}}function mt(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),gt.default.createHash("sha1").update(e).digest()}var vt=mt;H.default=vt});var le=f(A=>{"use strict";Object.defineProperty(A,"__esModule",{value:!0});A.default=void 0;var yt=ce(J()),xt=ce(de());function ce(e){return e&&e.__esModule?e:{default:e}}var _t=(0,yt.default)("v5",80,xt.default),It=_t;A.default=It});var fe=f(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.default=void 0;var ht="00000000-0000-0000-0000-000000000000";F.default=ht});var ge=f(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.default=void 0;var Et=kt(h());function kt(e){return e&&e.__esModule?e:{default:e}}function Pt(e){if(!(0,Et.default)(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}var Ct=Pt;U.default=Ct});var pe=f(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});Object.defineProperty(m,"v1",{enumerable:!0,get:function(){return qt.default}});Object.defineProperty(m,"v3",{enumerable:!0,get:function(){return Ot.default}});Object.defineProperty(m,"v4",{enumerable:!0,get:function(){return bt.default}});Object.defineProperty(m,"v5",{enumerable:!0,get:function(){return Mt.default}});Object.defineProperty(m,"NIL",{enumerable:!0,get:function(){return Dt.default}});Object.defineProperty(m,"version",{enumerable:!0,get:function(){return Nt.default}});Object.defineProperty(m,"validate",{enumerable:!0,get:function(){return Lt.default}});Object.defineProperty(m,"stringify",{enumerable:!0,get:function(){return Rt.default}});Object.defineProperty(m,"parse",{enumerable:!0,get:function(){return Gt.default}});var qt=y(ee()),Ot=y(se()),bt=y(oe()),Mt=y(le()),Dt=y(fe()),Nt=y(ge()),Lt=y(h()),Rt=y(E()),Gt=y(X());function y(e){return e&&e.__esModule?e:{default:e}}});var C=(l=>(l.ADD_PAYMENT_INFO="add_payment_info",l.ADD_SHIPPING_INFO="add_shipping_info",l.ADD_TO_CART="add_to_cart",l.ADD_TO_WISHLIST="add_to_wishlist",l.INITIATE_CHECKOUT="initiate_checkout",l.LEAD="lead",l.LOGIN="login",l.PAGE_VIEW="page_view",l.PURCHASE="purchase",l.REFUND="refund",l.SEARCH="search",l.SIGN_UP="sign_up",l.VIEW_CART="view_cart",l.VIEW_CONTENT="view_content",l.SELECT_SHIPPING_METHOD="select_shipping_method",l.VIRTUALIZED_VIEWED_PAYMENT_FORM="virtualized_viewd_payment_form",l))(C||{});var Kt=["AED","ARS","AUD","BDT","BIF","BOB","BRL","CAD","CHF","CLP","CNY","COP","CRC","CZK","DKK","DZD","EGP","EUR","GBP","GTQ","HKD","HNL","HUF","IDR","ILS","INR","ISK","JPY","KES","KRW","KWD","KZT","MAD","MOP","MXN","MYR","NGN","NIO","NOK","NZD","PEN","PHP","PKR","PLN","PYG","QAR","RON","RUB","SAR","SEK","SGD","THB","TRY","TWD","USD","VES","VND","ZAR"];var ke=(i=>(i.PENDING="pending",i.ACTIVE="active",i.INACTIVE="inactive",i))(ke||{});var Pe=(a=>(a.FACEBOOK="facebook",a.TIKTOK="tiktok",a.GOOGLE_ADS="googleAds",a.GOOGLE_ANALYTICS_4="googleAnalytics4",a))(Pe||{});var Ce=(o=>(o.STARTED="started",o.COMPLETED="completed",o.UNINSTALLED="uninstalled",o.FAILED="failed",o.NONE="none",o))(Ce||{}),qe=(u=>(u.ACTIVE="active",u.CANCELLED="cancelled",u.DECLINED="declined",u.EXPIRED="expired",u.FROZEN="frozen",u.PENDING="pending",u.NOT_SUBMITTED="na",u))(qe||{});var Oe=(r=>(r.MONTHLY="monthly",r.YEARLY="yearly",r))(Oe||{}),be=(a=>(a.CURRENT="current",a.PAST_DUE="past_due",a.CANCELLED="cancelled",a.FAILED="failed",a))(be||{}),Me=(u=>(u.ACTIVE="active",u.CANCELLED="cancelled",u.DECLINED="declined",u.EXPIRED="expired",u.FROZEN="frozen",u.PENDING="pending",u.NOT_SUBMITTED="na",u))(Me||{}),De=(i=>(i.STRIPE="stripe",i.PAYPAL="paypal",i.SHOPIFY="shopify",i))(De||{});import{faker as n}from"@faker-js/faker";var v=Ee(pe(),1),Cr=v.default.v1,qr=v.default.v3,B=v.default.v4,Or=v.default.v5,br=v.default.NIL,Mr=v.default.version,Dr=v.default.validate,Nr=v.default.stringify,Lr=v.default.parse;var Kr=e=>{let t=e?.name??me(C);return t==="page_view"||t==="view_cart"?I(e):t==="add_to_cart"?wt(e):I(e)},I=e=>{let t=e?.name??me(C);return{id:e?.id??B(),type:"Tracking Event",name:t,pixelId:e?.pixelId??B(),context:At(e?.context),data:{},testCode:e?.testCode,sentAtEpoch:e?.sentAtEpoch??n.datatype.number({min:1e5}),version:"1"}},Vr=e=>{let t=I(e);return t.name="purchase",(!e?.data?.items||e?.data?.items.length==0)&&(t.data={...e?.data,value:e?.data?.value??n.datatype.number({precision:2}),currency:e?.data?.currency??n.finance.currencyCode(),items:Q(),transactionId:B(),subtotalPrice:e?.data?.subtotalPrice??n.datatype.number({precision:2}),tax:e?.data?.tax??n.datatype.number({precision:2}),shipping:e?.data?.shipping??n.datatype.number({precision:2})}),t},Xr=e=>{let t=I(e);return t.name="view_content",(!e?.data?.items||e?.data?.items.length==0)&&(t.data={...e?.data,value:e?.data?.value??n.datatype.number({precision:2}),currency:e?.data?.currency??n.finance.currencyCode(),items:Q()}),t},wt=e=>{let t=I(e);return t.name="add_to_cart",(!e?.data?.items||e?.data?.items.length==0)&&(t.data={...e?.data,value:e?.data?.value??n.datatype.number({precision:2}),currency:e?.data?.currency??n.finance.currencyCode(),items:Q()}),t},Q=(e=n.datatype.number({max:20,min:1}))=>{let t=[];for(let r=0;r<e;r++)t.push(Ht());return t},Ht=()=>({content_type:"product",id:n.random.numeric(),name:n.commerce.product(),sku:n.random.alphaNumeric(),price:parseFloat(n.commerce.price()),quantity:n.datatype.number({min:1,max:20})}),At=e=>({identity:Tt(e?.identity),click:Bt(e?.click),campaign:Ut(e?.campaign),page:Ft(e?.page),ipAddress:e?.ipAddress??s(n.internet.ipv4()),ipv6Address:e?.ipv6Address??s(n.internet.ipv6()),userAgent:e?.userAgent??n.internet.userAgent()}),Ft=e=>({path:e?.path??n.internet.url(),referrer:e?.referrer??n.internet.url(),search:e?.search??s(n.random.alpha()),title:e?.title??s(n.random.alpha()),url:e?.referrer??n.internet.url()}),Ut=e=>({name:e?.name??s(n.random.alpha()),source:e?.source??s(n.random.alpha()),medium:e?.medium??s(n.random.alpha()),term:e?.term??s(n.random.alpha()),content:e?.content??s(n.random.alpha())}),Bt=e=>({fbp:e?.fbp??s(n.random.alpha()),fbc:e?.fbc??s(n.random.alpha()),fbclid:e?.fbclid??s(n.random.alpha()),gclid:e?.gclid??s(n.random.alpha())}),Tt=e=>({firstName:e?.firstName??s(n.name.firstName()),lastName:e?.lastName??s(n.name.lastName()),email:e?.email??s(n.internet.email()),address:Wt()}),Wt=e=>({email:e?.email??s(n.internet.email()),phone:e?.email??s(n.phone.number()),firstName:e?.firstName??s(n.name.firstName()),lastName:e?.lastName??s(n.name.lastName()),company:e?.company??s(n.company.name()),address1:e?.address1??s(n.address.streetAddress()),address2:e?.address2??s(n.address.secondaryAddress()),city:e?.address2??s(n.address.city()),province:e?.province??s(n.address.state()),provinceCode:e?.provinceCode??s(n.address.stateAbbr()),country:e?.country??s(n.address.country()),zip:e?.zip??s(n.address.zipCode()),countryCode:e?.countryCode??s(n.address.countryCode())}),s=e=>{let t=n.datatype.number({min:1,max:100});return t<33?e:t<66?void 0:null};function me(e){let t=Object.values(e),r=Math.floor(Math.random()*t.length);return t[r]}var Jr=e=>{let t=Object.keys(e).filter(i=>!(Math.abs(Number.parseInt(i))+1));return t[Math.floor(Math.random()*t.length)]};export{ke as ACCOUNT_STATUS,C as ADTRACKIFY_STANDARD_EVENT,Kt as Currencies,Pe as DESTINATIONS,De as PAYMENT_GATEWAY,be as PAYMENT_STATUS,Oe as PLAN_BILLING_FREQUENCY,Me as SUBSCRIPTION_STATUS,Ce as ShopifyAppInstallStatus,qe as ShopifyAppSubscriptionStatus,s as choasFake,Bt as generateFakeAdClickInfo,wt as generateFakeAddToCartEvent,Wt as generateFakeAddress,Ut as generateFakeCampiagnInfo,Ht as generateFakeEcommerceItem,Q as generateFakeEcommerceItems,At as generateFakeEventContext,Ft as generateFakePageInfo,Vr as generateFakePurchaseEvent,Kr as generateFakeTrackingEvent,Tt as generateFakeTrackingEventIdentity,Xr as generateFakeViewContentEvent,I as populateGenericTrackingEventData,me as randomEnum,Jr as randomEnumKey};
1
+ var o=(t=>(t.ADD_PAYMENT_INFO="add_payment_info",t.ADD_SHIPPING_INFO="add_shipping_info",t.ADD_TO_CART="add_to_cart",t.ADD_TO_WISHLIST="add_to_wishlist",t.INITIATE_CHECKOUT="initiate_checkout",t.LEAD="lead",t.LOGIN="login",t.PAGE_VIEW="page_view",t.PURCHASE="purchase",t.REFUND="refund",t.SEARCH="search",t.SIGN_UP="sign_up",t.VIEW_CART="view_cart",t.VIEW_CONTENT="view_content",t.SELECT_SHIPPING_METHOD="select_shipping_method",t.VIRTUALIZED_VIEWED_PAYMENT_FORM="virtualized_viewd_payment_form",t))(o||{});var x=["AED","ARS","AUD","BDT","BIF","BOB","BRL","CAD","CHF","CLP","CNY","COP","CRC","CZK","DKK","DZD","EGP","EUR","GBP","GTQ","HKD","HNL","HUF","IDR","ILS","INR","ISK","JPY","KES","KRW","KWD","KZT","MAD","MOP","MXN","MYR","NGN","NIO","NOK","NZD","PEN","PHP","PKR","PLN","PYG","QAR","RON","RUB","SAR","SEK","SGD","THB","TRY","TWD","USD","VES","VND","ZAR"];var a=(r=>(r.PENDING="pending",r.ACTIVE="active",r.INACTIVE="inactive",r))(a||{});var g=(n=>(n.FACEBOOK="facebook",n.TIKTOK="tiktok",n.GOOGLE_ADS="googleAds",n.GOOGLE_ANALYTICS_4="googleAnalytics4",n))(g||{});var c=(i=>(i.STARTED="started",i.COMPLETED="completed",i.UNINSTALLED="uninstalled",i.FAILED="failed",i.NONE="none",i))(c||{}),d=(e=>(e.ACTIVE="active",e.CANCELLED="cancelled",e.DECLINED="declined",e.EXPIRED="expired",e.FROZEN="frozen",e.PENDING="pending",e.NOT_SUBMITTED="na",e))(d||{});var p=(s=>(s.MONTHLY="monthly",s.YEARLY="yearly",s))(p||{}),m=(n=>(n.CURRENT="current",n.PAST_DUE="past_due",n.CANCELLED="cancelled",n.FAILED="failed",n))(m||{}),l=(e=>(e.ACTIVE="active",e.CANCELLED="cancelled",e.DECLINED="declined",e.EXPIRED="expired",e.FROZEN="frozen",e.PENDING="pending",e.NOT_SUBMITTED="na",e))(l||{}),u=(r=>(r.STRIPE="stripe",r.PAYPAL="paypal",r.SHOPIFY="shopify",r))(u||{});export{a as ACCOUNT_STATUS,o as ADTRACKIFY_STANDARD_EVENT,x as Currencies,g as DESTINATIONS,u as PAYMENT_GATEWAY,m as PAYMENT_STATUS,p as PLAN_BILLING_FREQUENCY,l as SUBSCRIPTION_STATUS,c as ShopifyAppInstallStatus,d as ShopifyAppSubscriptionStatus};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../node_modules/uuid/dist/rng.js", "../node_modules/uuid/dist/regex.js", "../node_modules/uuid/dist/validate.js", "../node_modules/uuid/dist/stringify.js", "../node_modules/uuid/dist/v1.js", "../node_modules/uuid/dist/parse.js", "../node_modules/uuid/dist/v35.js", "../node_modules/uuid/dist/md5.js", "../node_modules/uuid/dist/v3.js", "../node_modules/uuid/dist/v4.js", "../node_modules/uuid/dist/sha1.js", "../node_modules/uuid/dist/v5.js", "../node_modules/uuid/dist/nil.js", "../node_modules/uuid/dist/version.js", "../node_modules/uuid/dist/index.js", "../src/types/adtrackify-standard-events.ts", "../src/types/tracking-event-type.ts", "../src/types/api/account.ts", "../src/types/api/destinations.ts", "../src/types/api/shopify-app-install.ts", "../src/types/api/subscription.ts", "../src/utils/fake-tracking-event-generator.ts", "../node_modules/uuid/wrapper.mjs"],
4
- "sourcesContent": ["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\n\nfunction rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n _crypto.default.randomFillSync(rnds8Pool);\n\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction md5(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('md5').update(bytes).digest();\n}\n\nvar _default = md5;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _crypto = _interopRequireDefault(require(\"crypto\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction sha1(bytes) {\n if (Array.isArray(bytes)) {\n bytes = Buffer.from(bytes);\n } else if (typeof bytes === 'string') {\n bytes = Buffer.from(bytes, 'utf8');\n }\n\n return _crypto.default.createHash('sha1').update(bytes).digest();\n}\n\nvar _default = sha1;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }", "export enum ADTRACKIFY_STANDARD_EVENT {\n ADD_PAYMENT_INFO = 'add_payment_info',\n ADD_SHIPPING_INFO = 'add_shipping_info',\n ADD_TO_CART = 'add_to_cart',\n ADD_TO_WISHLIST = 'add_to_wishlist',\n // COMPLETE_REGISTRATION: 'complete_registration',\n // CONTACT: 'contact',\n INITIATE_CHECKOUT = 'initiate_checkout',\n LEAD = 'lead',\n LOGIN = 'login',\n PAGE_VIEW = 'page_view',\n PURCHASE = 'purchase',\n REFUND = 'refund',\n SEARCH = 'search',\n // START_TRIAL: 'start_trial',\n // SUBMIT_APPLICATION: 'submit_application',\n // SUBSCRIBE: 'subscribe',\n SIGN_UP = 'sign_up',\n VIEW_CART = 'view_cart',\n VIEW_CONTENT = 'view_content',\n\n\n //\n SELECT_SHIPPING_METHOD = 'select_shipping_method',\n VIRTUALIZED_VIEWED_PAYMENT_FORM = 'virtualized_viewd_payment_form'\n}", "import { IResult } from 'ua-parser-js';\nimport { ADTRACKIFY_STANDARD_EVENT } from './adtrackify-standard-events';\n\n\nexport interface TrackingEvent {\n id: string;\n type: string;\n name: ADTRACKIFY_STANDARD_EVENT;\n pixelId: string;\n context: TrackingEventContext;\n data: TrackingEventData;\n testCode?: string;\n sentAtEpoch?: number;\n collectedAt?: string;\n version: string;\n}\n\nexport interface TrackingEventContext {\n identity: TrackingEventIdentity;\n click?: AdClickInfo;\n campaign?: CampaignInfo;\n page?: PageInfo;\n device?: DeviceInfo;\n locale?: string;\n timezone?: string;\n userAgent?: string;\n ipAddress?: string;\n ipv6Address?: string;\n}\n\nexport interface TrackingEventIdentity {\n gender?: string;\n dob?: string;\n phone?: string;\n id?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n address?: AddressInfo;\n addresses?: AddressInfo[];\n}\n\nexport interface AdClickInfo {\n fbp?: string;\n fbc?: string;\n fbclid?: string;\n gclid?: string;\n}\n\nexport interface TrackingEventData {\n [ key: string ]: any;\n firstName?: string;\n lastName?: string;\n email?: string;\n phone?: string;\n addresses?: AddressInfo[];\n cartId?: string;\n transactionId?: string;\n affiliation?: string;\n currency?: string;\n price?: number;\n subtotalPrice?: number;\n value?: number;\n tax?: number;\n shipping?: number;\n coupon?: string;\n paymentType?: string;\n shippingTier?: string;\n creativeName?: string;\n creativeSlot?: string;\n locationId?: string;\n promotionId?: string;\n promotionName?: string;\n items?: GenericContent[];\n}\n\nexport interface GenericContent {\n [ key: string ]: any;\n content_type?: string;\n id?: string;\n name?: string;\n sku?: string;\n brand?: string;\n variant?: string;\n coupon?: string;\n currency?: string;\n discount?: number;\n index?: number;\n value?: number;\n price?: number;\n quantity?: number;\n url?: string;\n locationId?: string;\n imageUrl?: string;\n category?: string;\n category2?: string;\n category3?: string;\n category4?: string;\n category5?: string;\n}\n\nexport interface AddressInfo {\n email?: string;\n phone?: string;\n firstName?: string;\n lastName?: string;\n company?: string;\n address1?: string;\n address2?: string;\n city?: string;\n province?: string;\n provinceCode?: string;\n country?: string;\n countryCode?: string;\n zip?: string;\n}\n\nexport interface CampaignInfo {\n name?: string;\n source?: string;\n medium?: string;\n term?: string;\n content?: string;\n}\n\nexport interface PageInfo {\n path?: string;\n referrer?: string;\n search?: string;\n title?: string;\n url?: string;\n qsp?: any;\n}\n\nexport type DeviceInfo = IResult;\n\n\nexport const Currencies: string[] = [ 'AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR' ];\n\n", "export interface Account {\n id: string,\n accountName: string,\n companyName?: string,\n accountStatus: ACCOUNT_STATUS,\n primaryEmail: string,\n publicApiKey?: string,\n subscriptionId?: string,\n ownerId?: string,\n createdAt: string,\n updatedAt: string;\n}\n\nexport enum ACCOUNT_STATUS {\n PENDING = 'pending',\n ACTIVE = 'active',\n INACTIVE = 'inactive'\n}", "export enum DESTINATIONS {\n FACEBOOK = 'facebook',\n TIKTOK = 'tiktok',\n GOOGLE_ADS = 'googleAds',\n GOOGLE_ANALYTICS_4 = 'googleAnalytics4'\n}", "export interface ShopifyAppInstall {\n shopifyAppInstallId: string;\n shop: string;\n accessToken?: string;\n appStatus?: string;\n appSubscriptionStatus?: ShopifyAppSubscriptionStatus;\n code?: string;\n hmac?: string;\n host?: string;\n installRequest?: ShopifyInstallRequest;\n isAppEnabled?: boolean;\n pixelId?: string;\n shopInfo?: any;\n state?: string;\n timestamp?: number;\n createdAt: string;\n updatedAt: string;\n}\n\nexport enum ShopifyAppInstallStatus {\n STARTED = 'started',\n COMPLETED = 'completed',\n UNINSTALLED = 'uninstalled',\n FAILED = 'failed',\n NONE = 'none'\n}\nexport enum ShopifyAppSubscriptionStatus {\n ACTIVE = 'active', // approved and billed to shop\n CANCELLED = 'cancelled', // cancelled, uninstalled or cancellation\n DECLINED = 'declined', // subscription declined by merchant\n EXPIRED = 'expired', //wasn't approved within two days of being created\n FROZEN = 'frozen', //on hold due to not payment\n PENDING = 'pending', // pending approval\n NOT_SUBMITTED = 'na' // billing has not yet been attempted\n}\n\nexport interface ShopifyInstallRequest {\n shop?: string;\n session?: string;\n hmac?: string;\n host?: string;\n nonce?: string;\n timestamp?: string;\n status?: string;\n}\n\nexport interface ShopifyStoreInfo {\n // TBD based on shopify api\n [ key: string ]: any;\n}", "\nexport interface Subscription {\n id: string,\n accountId?: string,\n shopifyAppInstallId?: string,\n shopifyDomain?: string,\n stripeCustomerId?: string,\n stripeSubscriptionId?: string,\n stripeCompletedCheckoutSession?: any;\n shopifyChargeId?: string;\n subscriptionPlan?: SubscriptionPlan,\n status?: SUBSCRIPTION_STATUS,\n paymentStatus?: PAYMENT_STATUS,\n paymentGateway?: PAYMENT_GATEWAY,\n createdAt: string,\n updatedAt: string,\n\n}\nexport interface SubscriptionPlan {\n id: number;\n planName: string;\n description: string;\n sku: string;\n price: string;\n billingFrequency: PLAN_BILLING_FREQUENCY;\n trialLengthDays?: number;\n trialRequiresCreditCard?: boolean;\n}\n\nexport enum PLAN_BILLING_FREQUENCY {\n MONTHLY = 'monthly',\n YEARLY = 'yearly'\n}\n\nexport enum PAYMENT_STATUS {\n CURRENT = 'current',\n PAST_DUE = 'past_due',\n CANCELLED = 'cancelled',\n FAILED = 'failed'\n}\n\nexport enum SUBSCRIPTION_STATUS {\n ACTIVE = 'active', // approved and billed to shop\n CANCELLED = 'cancelled', // cancelled, uninstalled or cancellation\n DECLINED = 'declined', // subscription declined by merchant\n EXPIRED = 'expired', //wasn't approved within two days of being created\n FROZEN = 'frozen', //on hold due to not payment\n PENDING = 'pending', // pending approval\n NOT_SUBMITTED = 'na' // billing has not yet been attempted\n}\nexport enum PAYMENT_GATEWAY {\n STRIPE = 'stripe',\n PAYPAL = 'paypal',\n SHOPIFY = 'shopify'\n}\n", "import { AdClickInfo, AddressInfo, ADTRACKIFY_STANDARD_EVENT, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';\nimport { faker } from '@faker-js/faker';\nimport { v4 as uuid } from 'uuid'; uuid;\n\nexport const generateFakeTrackingEvent = (event?: Partial<TrackingEvent>) => {\n const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);\n\n\n if (eventName === ADTRACKIFY_STANDARD_EVENT.PAGE_VIEW) {\n return populateGenericTrackingEventData(event);\n }\n\n if (eventName === ADTRACKIFY_STANDARD_EVENT.VIEW_CART) {\n return populateGenericTrackingEventData(event);\n }\n\n if (eventName === ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART) {\n return generateFakeAddToCartEvent(event);\n }\n\n return populateGenericTrackingEventData(event);\n};\n\nexport const populateGenericTrackingEventData = (event?: Partial<TrackingEvent>) => {\n const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);\n const fakeEvent: TrackingEvent = {\n id: event?.id ?? uuid(),\n type: 'Tracking Event',\n name: eventName,\n pixelId: event?.pixelId ?? uuid(),\n context: generateFakeEventContext(event?.context),\n data: {\n },\n testCode: event?.testCode,\n sentAtEpoch: event?.sentAtEpoch ?? faker.datatype.number({ min: 100000 }),\n version: '1'\n };\n return fakeEvent;\n};\n\nexport const generateFakePurchaseEvent = (event?: Partial<TrackingEvent>) => {\n const fakeEvent = populateGenericTrackingEventData(event);\n fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.PURCHASE;\n\n if (!event?.data?.items || event?.data?.items.length == 0) {\n fakeEvent.data = {\n ...event?.data,\n value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),\n currency: event?.data?.currency ?? faker.finance.currencyCode(),\n items: generateFakeEcommerceItems(),\n transactionId: uuid(),\n subtotalPrice: event?.data?.subtotalPrice ?? faker.datatype.number({ precision: 2 }),\n tax: event?.data?.tax ?? faker.datatype.number({ precision: 2 }),\n shipping: event?.data?.shipping ?? faker.datatype.number({ precision: 2 })\n };\n }\n return fakeEvent;\n};\n\nexport const generateFakeViewContentEvent = (event?: Partial<TrackingEvent>) => {\n const fakeEvent = populateGenericTrackingEventData(event);\n fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.VIEW_CONTENT;\n\n if (!event?.data?.items || event?.data?.items.length == 0) {\n fakeEvent.data = {\n ...event?.data,\n value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),\n currency: event?.data?.currency ?? faker.finance.currencyCode(),\n items: generateFakeEcommerceItems()\n };\n }\n return fakeEvent;\n};\n\nexport const generateFakeAddToCartEvent = (event?: Partial<TrackingEvent>) => {\n const fakeEvent = populateGenericTrackingEventData(event);\n fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART;\n\n if (!event?.data?.items || event?.data?.items.length == 0) {\n fakeEvent.data = {\n ...event?.data,\n value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),\n currency: event?.data?.currency ?? faker.finance.currencyCode(),\n items: generateFakeEcommerceItems()\n };\n }\n return fakeEvent;\n};\n\n\nexport const generateFakeEcommerceItems = (numItems: number = faker.datatype.number({ max: 20, min: 1 })) => {\n const items = [];\n for (let i = 0; i < numItems; i++) {\n items.push(generateFakeEcommerceItem());\n }\n return items;\n};\n\nexport const generateFakeEcommerceItem = (): GenericContent => {\n const item: GenericContent = {\n content_type: 'product',\n id: faker.random.numeric(),\n name: faker.commerce.product(),\n sku: faker.random.alphaNumeric(),\n price: parseFloat(faker.commerce.price()),\n quantity: faker.datatype.number({ min: 1, max: 20 })\n };\n return item;\n};\n\nexport const generateFakeEventContext = (context?: Partial<TrackingEventContext>): TrackingEventContext => {\n const outContext: TrackingEventContext = {\n identity: generateFakeTrackingEventIdentity(context?.identity),\n click: generateFakeAdClickInfo(context?.click),\n campaign: generateFakeCampiagnInfo(context?.campaign),\n page: generateFakePageInfo(context?.page),\n ipAddress: context?.ipAddress ?? choasFake(faker.internet.ipv4()) as string,\n ipv6Address: context?.ipv6Address ?? choasFake(faker.internet.ipv6()) as string,\n userAgent: context?.userAgent ?? faker.internet.userAgent()\n };\n return outContext;\n\n};\n\nexport const generateFakePageInfo = (pageInfo?: Partial<PageInfo>): PageInfo => {\n const outPageInfo: PageInfo = {\n path: pageInfo?.path ?? faker.internet.url(),\n referrer: pageInfo?.referrer ?? faker.internet.url(),\n search: pageInfo?.search ?? choasFake(faker.random.alpha()) as string,\n title: pageInfo?.title ?? choasFake(faker.random.alpha()) as string,\n url: pageInfo?.referrer ?? faker.internet.url(),\n };\n return outPageInfo;\n};\n\nexport const generateFakeCampiagnInfo = (campaignInfo?: Partial<CampaignInfo>): CampaignInfo => {\n const outCampaignInfo: CampaignInfo = {\n name: campaignInfo?.name ?? choasFake(faker.random.alpha()) as string,\n source: campaignInfo?.source ?? choasFake(faker.random.alpha()) as string,\n medium: campaignInfo?.medium ?? choasFake(faker.random.alpha()) as string,\n term: campaignInfo?.term ?? choasFake(faker.random.alpha()) as string,\n content: campaignInfo?.content ?? choasFake(faker.random.alpha()) as string\n };\n return outCampaignInfo;\n};\n\nexport const generateFakeAdClickInfo = (clickInfo?: Partial<AdClickInfo>): AdClickInfo => {\n const outClickInfo: AdClickInfo = {\n fbp: clickInfo?.fbp ?? choasFake(faker.random.alpha()) as string,\n fbc: clickInfo?.fbc ?? choasFake(faker.random.alpha()) as string,\n fbclid: clickInfo?.fbclid ?? choasFake(faker.random.alpha()) as string,\n gclid: clickInfo?.gclid ?? choasFake(faker.random.alpha()) as string\n };\n return outClickInfo;\n};\n\nexport const generateFakeTrackingEventIdentity = (identity?: Partial<TrackingEventIdentity>) => {\n const outIdentity: TrackingEventIdentity = {\n firstName: identity?.firstName ?? choasFake(faker.name.firstName()) as string,\n lastName: identity?.lastName ?? choasFake(faker.name.lastName()) as string,\n email: identity?.email ?? choasFake(faker.internet.email()) as string,\n address: generateFakeAddress()\n };\n return outIdentity;\n};\n\nexport const generateFakeAddress = (address?: AddressInfo) => {\n const outAddress: AddressInfo = {\n email: address?.email ?? choasFake(faker.internet.email()) as string,\n phone: address?.email ?? choasFake(faker.phone.number()) as string,\n firstName: address?.firstName ?? choasFake(faker.name.firstName()) as string,\n lastName: address?.lastName ?? choasFake(faker.name.lastName()) as string,\n company: address?.company ?? choasFake(faker.company.name()) as string,\n address1: address?.address1 ?? choasFake(faker.address.streetAddress()) as string,\n address2: address?.address2 ?? choasFake(faker.address.secondaryAddress()) as string,\n city: address?.address2 ?? choasFake(faker.address.city()) as string,\n province: address?.province ?? choasFake(faker.address.state()) as string,\n provinceCode: address?.provinceCode ?? choasFake(faker.address.stateAbbr()) as string,\n country: address?.country ?? choasFake(faker.address.country()) as string,\n zip: address?.zip ?? choasFake(faker.address.zipCode()) as string,\n countryCode: address?.countryCode ?? choasFake(faker.address.countryCode()) as string,\n };\n return outAddress;\n};\n\nexport const choasFake = <T>(input?: T): T | undefined | null => {\n const choasNumber = faker.datatype.number({ min: 1, max: 100 });\n if (choasNumber < 33) {\n return input as T;\n }\n else if (choasNumber < 66) {\n return undefined;\n }\n else {\n return null;\n }\n};\n\nexport function randomEnum<T extends {\n [ s: string ]: unknown;\n}>(anEnum: T): T[ keyof T ] {\n const enumValues = (Object.values(anEnum) as unknown) as T[ keyof T ][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[ randomIndex ];\n}\n\nexport const randomEnumKey = (enumeration: any) => {\n const keys = Object.keys(enumeration)\n .filter(k => !(Math.abs(Number.parseInt(k)) + 1));\n const enumKey = keys[ Math.floor(Math.random() * keys.length) ];\n return enumKey;\n};", "import uuid from './dist/index.js';\nexport const v1 = uuid.v1;\nexport const v3 = uuid.v3;\nexport const v4 = uuid.v4;\nexport const v5 = uuid.v5;\nexport const NIL = uuid.NIL;\nexport const version = uuid.version;\nexport const validate = uuid.validate;\nexport const stringify = uuid.stringify;\nexport const parse = uuid.parse;\n"],
5
- "mappings": "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",
6
- "names": ["require_rng", "__commonJSMin", "exports", "rng", "_crypto", "_interopRequireDefault", "obj", "rnds8Pool", "poolPtr", "require_regex", "__commonJSMin", "exports", "_default", "require_validate", "__commonJSMin", "exports", "_regex", "_interopRequireDefault", "obj", "validate", "uuid", "_default", "require_stringify", "__commonJSMin", "exports", "_validate", "_interopRequireDefault", "obj", "byteToHex", "i", "stringify", "arr", "offset", "uuid", "_default", "require_v1", "__commonJSMin", "exports", "_rng", "_interopRequireDefault", "_stringify", "obj", "_nodeId", "_clockseq", "_lastMSecs", "_lastNSecs", "v1", "options", "buf", "offset", "b", "node", "clockseq", "seedBytes", "msecs", "nsecs", "dt", "tl", "tmh", "n", "_default", "require_parse", "__commonJSMin", "exports", "_validate", "_interopRequireDefault", "obj", "parse", "uuid", "v", "arr", "_default", "require_v35", "__commonJSMin", "exports", "_default", "_stringify", "_interopRequireDefault", "_parse", "obj", "stringToBytes", "str", "bytes", "i", "DNS", "URL", "name", "version", "hashfunc", "generateUUID", "value", "namespace", "buf", "offset", "require_md5", "__commonJSMin", "exports", "_crypto", "_interopRequireDefault", "obj", "md5", "bytes", "_default", "require_v3", "__commonJSMin", "exports", "_v", "_interopRequireDefault", "_md", "obj", "v3", "_default", "require_v4", "__commonJSMin", "exports", "_rng", "_interopRequireDefault", "_stringify", "obj", "v4", "options", "buf", "offset", "rnds", "i", "_default", "require_sha1", "__commonJSMin", "exports", "_crypto", "_interopRequireDefault", "obj", "sha1", "bytes", "_default", "require_v5", "__commonJSMin", "exports", "_v", "_interopRequireDefault", "_sha", "obj", "v5", "_default", "require_nil", "__commonJSMin", "exports", "_default", "require_version", "__commonJSMin", "exports", "_validate", "_interopRequireDefault", "obj", "version", "uuid", "_default", "require_dist", "__commonJSMin", "exports", "_v", "_v2", "_v3", "_v4", "_nil", "_version", "_validate", "_stringify", "_parse", "_interopRequireDefault", "obj", "ADTRACKIFY_STANDARD_EVENT", "Currencies", "ACCOUNT_STATUS", "DESTINATIONS", "ShopifyAppInstallStatus", "ShopifyAppSubscriptionStatus", "PLAN_BILLING_FREQUENCY", "PAYMENT_STATUS", "SUBSCRIPTION_STATUS", "PAYMENT_GATEWAY", "faker", "import_dist", "v1", "uuid", "v3", "v4", "v5", "NIL", "version", "validate", "stringify", "parse", "generateFakeTrackingEvent", "event", "eventName", "randomEnum", "ADTRACKIFY_STANDARD_EVENT", "populateGenericTrackingEventData", "generateFakeAddToCartEvent", "v4", "generateFakeEventContext", "faker", "generateFakePurchaseEvent", "fakeEvent", "generateFakeEcommerceItems", "generateFakeViewContentEvent", "numItems", "items", "i", "generateFakeEcommerceItem", "context", "generateFakeTrackingEventIdentity", "generateFakeAdClickInfo", "generateFakeCampiagnInfo", "generateFakePageInfo", "choasFake", "pageInfo", "campaignInfo", "clickInfo", "identity", "generateFakeAddress", "address", "input", "choasNumber", "anEnum", "enumValues", "randomIndex", "randomEnumKey", "enumeration", "keys", "k"]
3
+ "sources": ["../src/types/adtrackify-standard-events.ts", "../src/types/tracking-event-type.ts", "../src/types/api/account.ts", "../src/types/api/destinations.ts", "../src/types/api/shopify-app-install.ts", "../src/types/api/subscription.ts"],
4
+ "sourcesContent": ["export enum ADTRACKIFY_STANDARD_EVENT {\n ADD_PAYMENT_INFO = 'add_payment_info',\n ADD_SHIPPING_INFO = 'add_shipping_info',\n ADD_TO_CART = 'add_to_cart',\n ADD_TO_WISHLIST = 'add_to_wishlist',\n // COMPLETE_REGISTRATION: 'complete_registration',\n // CONTACT: 'contact',\n INITIATE_CHECKOUT = 'initiate_checkout',\n LEAD = 'lead',\n LOGIN = 'login',\n PAGE_VIEW = 'page_view',\n PURCHASE = 'purchase',\n REFUND = 'refund',\n SEARCH = 'search',\n // START_TRIAL: 'start_trial',\n // SUBMIT_APPLICATION: 'submit_application',\n // SUBSCRIBE: 'subscribe',\n SIGN_UP = 'sign_up',\n VIEW_CART = 'view_cart',\n VIEW_CONTENT = 'view_content',\n\n\n //\n SELECT_SHIPPING_METHOD = 'select_shipping_method',\n VIRTUALIZED_VIEWED_PAYMENT_FORM = 'virtualized_viewd_payment_form'\n}", "import { IResult } from 'ua-parser-js';\nimport { ADTRACKIFY_STANDARD_EVENT } from './adtrackify-standard-events';\n\n\nexport interface TrackingEvent {\n id: string;\n type: string;\n name: ADTRACKIFY_STANDARD_EVENT;\n pixelId: string;\n context: TrackingEventContext;\n data: TrackingEventData;\n testCode?: string;\n sentAtEpoch?: number;\n collectedAt?: string;\n version: string;\n}\n\nexport interface TrackingEventContext {\n identity: TrackingEventIdentity;\n click?: AdClickInfo;\n campaign?: CampaignInfo;\n page?: PageInfo;\n device?: DeviceInfo;\n locale?: string;\n timezone?: string;\n userAgent?: string;\n ipAddress?: string;\n ipv6Address?: string;\n}\n\nexport interface TrackingEventIdentity {\n gender?: string;\n dob?: string;\n phone?: string;\n id?: string;\n firstName?: string;\n lastName?: string;\n email?: string;\n address?: AddressInfo;\n addresses?: AddressInfo[];\n}\n\nexport interface AdClickInfo {\n fbp?: string;\n fbc?: string;\n fbclid?: string;\n gclid?: string;\n}\n\nexport interface TrackingEventData {\n [ key: string ]: any;\n firstName?: string;\n lastName?: string;\n email?: string;\n phone?: string;\n addresses?: AddressInfo[];\n cartId?: string;\n transactionId?: string;\n affiliation?: string;\n currency?: string;\n price?: number;\n subtotalPrice?: number;\n value?: number;\n tax?: number;\n shipping?: number;\n coupon?: string;\n paymentType?: string;\n shippingTier?: string;\n creativeName?: string;\n creativeSlot?: string;\n locationId?: string;\n promotionId?: string;\n promotionName?: string;\n items?: GenericContent[];\n}\n\nexport interface GenericContent {\n [ key: string ]: any;\n content_type?: string;\n id?: string;\n name?: string;\n sku?: string;\n brand?: string;\n variant?: string;\n coupon?: string;\n currency?: string;\n discount?: number;\n index?: number;\n value?: number;\n price?: number;\n quantity?: number;\n url?: string;\n locationId?: string;\n imageUrl?: string;\n category?: string;\n category2?: string;\n category3?: string;\n category4?: string;\n category5?: string;\n}\n\nexport interface AddressInfo {\n email?: string;\n phone?: string;\n firstName?: string;\n lastName?: string;\n company?: string;\n address1?: string;\n address2?: string;\n city?: string;\n province?: string;\n provinceCode?: string;\n country?: string;\n countryCode?: string;\n zip?: string;\n}\n\nexport interface CampaignInfo {\n name?: string;\n source?: string;\n medium?: string;\n term?: string;\n content?: string;\n}\n\nexport interface PageInfo {\n path?: string;\n referrer?: string;\n search?: string;\n title?: string;\n url?: string;\n qsp?: any;\n}\n\nexport type DeviceInfo = IResult;\n\n\nexport const Currencies: string[] = [ 'AED', 'ARS', 'AUD', 'BDT', 'BIF', 'BOB', 'BRL', 'CAD', 'CHF', 'CLP', 'CNY', 'COP', 'CRC', 'CZK', 'DKK', 'DZD', 'EGP', 'EUR', 'GBP', 'GTQ', 'HKD', 'HNL', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KES', 'KRW', 'KWD', 'KZT', 'MAD', 'MOP', 'MXN', 'MYR', 'NGN', 'NIO', 'NOK', 'NZD', 'PEN', 'PHP', 'PKR', 'PLN', 'PYG', 'QAR', 'RON', 'RUB', 'SAR', 'SEK', 'SGD', 'THB', 'TRY', 'TWD', 'USD', 'VES', 'VND', 'ZAR' ];\n\n", "export interface Account {\n id: string,\n accountName: string,\n companyName?: string,\n accountStatus: ACCOUNT_STATUS,\n primaryEmail: string,\n publicApiKey?: string,\n subscriptionId?: string,\n ownerId?: string,\n createdAt: string,\n updatedAt: string;\n}\n\nexport enum ACCOUNT_STATUS {\n PENDING = 'pending',\n ACTIVE = 'active',\n INACTIVE = 'inactive'\n}", "export enum DESTINATIONS {\n FACEBOOK = 'facebook',\n TIKTOK = 'tiktok',\n GOOGLE_ADS = 'googleAds',\n GOOGLE_ANALYTICS_4 = 'googleAnalytics4'\n}", "export interface ShopifyAppInstall {\n shopifyAppInstallId: string;\n shop: string;\n accessToken?: string;\n appStatus?: string;\n appSubscriptionStatus?: ShopifyAppSubscriptionStatus;\n code?: string;\n hmac?: string;\n host?: string;\n installRequest?: ShopifyInstallRequest;\n isAppEnabled?: boolean;\n pixelId?: string;\n shopInfo?: any;\n state?: string;\n timestamp?: number;\n createdAt: string;\n updatedAt: string;\n}\n\nexport enum ShopifyAppInstallStatus {\n STARTED = 'started',\n COMPLETED = 'completed',\n UNINSTALLED = 'uninstalled',\n FAILED = 'failed',\n NONE = 'none'\n}\nexport enum ShopifyAppSubscriptionStatus {\n ACTIVE = 'active', // approved and billed to shop\n CANCELLED = 'cancelled', // cancelled, uninstalled or cancellation\n DECLINED = 'declined', // subscription declined by merchant\n EXPIRED = 'expired', //wasn't approved within two days of being created\n FROZEN = 'frozen', //on hold due to not payment\n PENDING = 'pending', // pending approval\n NOT_SUBMITTED = 'na' // billing has not yet been attempted\n}\n\nexport interface ShopifyInstallRequest {\n shop?: string;\n session?: string;\n hmac?: string;\n host?: string;\n nonce?: string;\n timestamp?: string;\n status?: string;\n}\n\nexport interface ShopifyStoreInfo {\n // TBD based on shopify api\n [ key: string ]: any;\n}", "\nexport interface Subscription {\n id: string,\n accountId?: string,\n shopifyAppInstallId?: string,\n shopifyDomain?: string,\n stripeCustomerId?: string,\n stripeSubscriptionId?: string,\n stripeCompletedCheckoutSession?: any;\n shopifyChargeId?: string;\n subscriptionPlan?: SubscriptionPlan,\n status?: SUBSCRIPTION_STATUS,\n paymentStatus?: PAYMENT_STATUS,\n paymentGateway?: PAYMENT_GATEWAY,\n createdAt: string,\n updatedAt: string,\n\n}\nexport interface SubscriptionPlan {\n id: number;\n planName: string;\n description: string;\n sku: string;\n price: string;\n billingFrequency: PLAN_BILLING_FREQUENCY;\n trialLengthDays?: number;\n trialRequiresCreditCard?: boolean;\n}\n\nexport enum PLAN_BILLING_FREQUENCY {\n MONTHLY = 'monthly',\n YEARLY = 'yearly'\n}\n\nexport enum PAYMENT_STATUS {\n CURRENT = 'current',\n PAST_DUE = 'past_due',\n CANCELLED = 'cancelled',\n FAILED = 'failed'\n}\n\nexport enum SUBSCRIPTION_STATUS {\n ACTIVE = 'active', // approved and billed to shop\n CANCELLED = 'cancelled', // cancelled, uninstalled or cancellation\n DECLINED = 'declined', // subscription declined by merchant\n EXPIRED = 'expired', //wasn't approved within two days of being created\n FROZEN = 'frozen', //on hold due to not payment\n PENDING = 'pending', // pending approval\n NOT_SUBMITTED = 'na' // billing has not yet been attempted\n}\nexport enum PAYMENT_GATEWAY {\n STRIPE = 'stripe',\n PAYPAL = 'paypal',\n SHOPIFY = 'shopify'\n}\n"],
5
+ "mappings": "AAAO,IAAKA,OACVA,EAAA,iBAAmB,mBACnBA,EAAA,kBAAoB,oBACpBA,EAAA,YAAc,cACdA,EAAA,gBAAkB,kBAGlBA,EAAA,kBAAoB,oBACpBA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,UAAY,YACZA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,OAAS,SAITA,EAAA,QAAU,UACVA,EAAA,UAAY,YACZA,EAAA,aAAe,eAIfA,EAAA,uBAAyB,yBACzBA,EAAA,gCAAkC,iCAxBxBA,OAAA,ICyIL,IAAMC,EAAuB,CAAE,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,KAAM,EC5Hpb,IAAKC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,SAAW,WAHDA,OAAA,ICbL,IAAKC,OACVA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,WAAa,YACbA,EAAA,mBAAqB,mBAJXA,OAAA,ICmBL,IAAKC,OACVA,EAAA,QAAU,UACVA,EAAA,UAAY,YACZA,EAAA,YAAc,cACdA,EAAA,OAAS,SACTA,EAAA,KAAO,OALGA,OAAA,IAOAC,OACVA,EAAA,OAAS,SACTA,EAAA,UAAY,YACZA,EAAA,SAAW,WACXA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,cAAgB,KAPNA,OAAA,ICGL,IAAKC,OACVA,EAAA,QAAU,UACVA,EAAA,OAAS,SAFCA,OAAA,IAKAC,OACVA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,UAAY,YACZA,EAAA,OAAS,SAJCA,OAAA,IAOAC,OACVA,EAAA,OAAS,SACTA,EAAA,UAAY,YACZA,EAAA,SAAW,WACXA,EAAA,QAAU,UACVA,EAAA,OAAS,SACTA,EAAA,QAAU,UACVA,EAAA,cAAgB,KAPNA,OAAA,IASAC,OACVA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,QAAU,UAHAA,OAAA",
6
+ "names": ["ADTRACKIFY_STANDARD_EVENT", "Currencies", "ACCOUNT_STATUS", "DESTINATIONS", "ShopifyAppInstallStatus", "ShopifyAppSubscriptionStatus", "PLAN_BILLING_FREQUENCY", "PAYMENT_STATUS", "SUBSCRIPTION_STATUS", "PAYMENT_GATEWAY"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-tracking-event-types",
3
- "version": "1.0.39",
3
+ "version": "1.0.40",
4
4
  "description": "",
5
5
  "module": "./dist/index.js",
6
6
  "main": "./dist/index.js",
@@ -36,7 +36,6 @@
36
36
  "@babel/preset-env": "^7.16.8",
37
37
  "@babel/preset-typescript": "^7.16.7",
38
38
  "@babel/runtime-corejs3": "^7.13.17",
39
- "@faker-js/faker": "^7.5.0",
40
39
  "@types/node": "^17.0.8",
41
40
  "@typescript-eslint/eslint-plugin": "^5.36.1",
42
41
  "@typescript-eslint/parser": "^5.36.1",
package/src/index.ts CHANGED
@@ -1,2 +1 @@
1
- export * from './types';
2
- export * from './utils';
1
+ export * from './types';
package/tsconfig.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "experimentalDecorators": true,
15
15
  "sourceMap": true,
16
16
  "declaration": true,
17
- "moduleResolution": "node",
17
+ "moduleResolution": "nodenext",
18
18
  "resolveJsonModule": true,
19
19
  "isolatedModules": true,
20
20
  "removeComments": true,
package/jest.config.js DELETED
@@ -1,39 +0,0 @@
1
- /*eslint-disable */
2
-
3
- module.exports = {
4
- globals: {
5
- 'window': {},
6
- 'document': {},
7
- 'navigator': {},
8
- 'ts-jest': {
9
- babelConfig: true,
10
- }
11
- },
12
- roots: ['<rootDir>/src'],
13
- testRegex: '\\.spec\\.(js|ts)$',
14
- transform: {
15
- '^.+\\.(js|jsx|ts|tsx|mjs)$': 'babel-jest',
16
- },
17
- moduleFileExtensions: ['js', 'json', 'ts'],
18
- runner: 'groups',
19
- verbose: true,
20
- coverageThreshold: {
21
- global: {
22
- branches: 0,
23
- functions: 0,
24
- lines: 0,
25
- statements: 0
26
- }
27
- },
28
- coverageReporters: ['html', 'text', 'text-summary', 'cobertura'],
29
- reporters: ['default', 'jest-junit'],
30
- collectCoverageFrom: [
31
- 'src/**/*.ts',
32
- '!src/**/*.spec.js',
33
- 'src/**/*.js',
34
- '!src/**/*.spec.ts',
35
- '!src/**/tests/**'
36
- ],
37
- setupFilesAfterEnv: [],
38
- };
39
- /*eslint-enable */
@@ -1,212 +0,0 @@
1
- import { AdClickInfo, AddressInfo, ADTRACKIFY_STANDARD_EVENT, CampaignInfo, GenericContent, PageInfo, TrackingEvent, TrackingEventContext, TrackingEventIdentity } from '../index';
2
- import { faker } from '@faker-js/faker';
3
- import { v4 as uuid } from 'uuid'; uuid;
4
-
5
- export const generateFakeTrackingEvent = (event?: Partial<TrackingEvent>) => {
6
- const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
7
-
8
-
9
- if (eventName === ADTRACKIFY_STANDARD_EVENT.PAGE_VIEW) {
10
- return populateGenericTrackingEventData(event);
11
- }
12
-
13
- if (eventName === ADTRACKIFY_STANDARD_EVENT.VIEW_CART) {
14
- return populateGenericTrackingEventData(event);
15
- }
16
-
17
- if (eventName === ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART) {
18
- return generateFakeAddToCartEvent(event);
19
- }
20
-
21
- return populateGenericTrackingEventData(event);
22
- };
23
-
24
- export const populateGenericTrackingEventData = (event?: Partial<TrackingEvent>) => {
25
- const eventName = event?.name ?? randomEnum(ADTRACKIFY_STANDARD_EVENT);
26
- const fakeEvent: TrackingEvent = {
27
- id: event?.id ?? uuid(),
28
- type: 'Tracking Event',
29
- name: eventName,
30
- pixelId: event?.pixelId ?? uuid(),
31
- context: generateFakeEventContext(event?.context),
32
- data: {
33
- },
34
- testCode: event?.testCode,
35
- sentAtEpoch: event?.sentAtEpoch ?? faker.datatype.number({ min: 100000 }),
36
- version: '1'
37
- };
38
- return fakeEvent;
39
- };
40
-
41
- export const generateFakePurchaseEvent = (event?: Partial<TrackingEvent>) => {
42
- const fakeEvent = populateGenericTrackingEventData(event);
43
- fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.PURCHASE;
44
-
45
- if (!event?.data?.items || event?.data?.items.length == 0) {
46
- fakeEvent.data = {
47
- ...event?.data,
48
- value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),
49
- currency: event?.data?.currency ?? faker.finance.currencyCode(),
50
- items: generateFakeEcommerceItems(),
51
- transactionId: uuid(),
52
- subtotalPrice: event?.data?.subtotalPrice ?? faker.datatype.number({ precision: 2 }),
53
- tax: event?.data?.tax ?? faker.datatype.number({ precision: 2 }),
54
- shipping: event?.data?.shipping ?? faker.datatype.number({ precision: 2 })
55
- };
56
- }
57
- return fakeEvent;
58
- };
59
-
60
- export const generateFakeViewContentEvent = (event?: Partial<TrackingEvent>) => {
61
- const fakeEvent = populateGenericTrackingEventData(event);
62
- fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.VIEW_CONTENT;
63
-
64
- if (!event?.data?.items || event?.data?.items.length == 0) {
65
- fakeEvent.data = {
66
- ...event?.data,
67
- value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),
68
- currency: event?.data?.currency ?? faker.finance.currencyCode(),
69
- items: generateFakeEcommerceItems()
70
- };
71
- }
72
- return fakeEvent;
73
- };
74
-
75
- export const generateFakeAddToCartEvent = (event?: Partial<TrackingEvent>) => {
76
- const fakeEvent = populateGenericTrackingEventData(event);
77
- fakeEvent.name = ADTRACKIFY_STANDARD_EVENT.ADD_TO_CART;
78
-
79
- if (!event?.data?.items || event?.data?.items.length == 0) {
80
- fakeEvent.data = {
81
- ...event?.data,
82
- value: event?.data?.value ?? faker.datatype.number({ precision: 2 }),
83
- currency: event?.data?.currency ?? faker.finance.currencyCode(),
84
- items: generateFakeEcommerceItems()
85
- };
86
- }
87
- return fakeEvent;
88
- };
89
-
90
-
91
- export const generateFakeEcommerceItems = (numItems: number = faker.datatype.number({ max: 20, min: 1 })) => {
92
- const items = [];
93
- for (let i = 0; i < numItems; i++) {
94
- items.push(generateFakeEcommerceItem());
95
- }
96
- return items;
97
- };
98
-
99
- export const generateFakeEcommerceItem = (): GenericContent => {
100
- const item: GenericContent = {
101
- content_type: 'product',
102
- id: faker.random.numeric(),
103
- name: faker.commerce.product(),
104
- sku: faker.random.alphaNumeric(),
105
- price: parseFloat(faker.commerce.price()),
106
- quantity: faker.datatype.number({ min: 1, max: 20 })
107
- };
108
- return item;
109
- };
110
-
111
- export const generateFakeEventContext = (context?: Partial<TrackingEventContext>): TrackingEventContext => {
112
- const outContext: TrackingEventContext = {
113
- identity: generateFakeTrackingEventIdentity(context?.identity),
114
- click: generateFakeAdClickInfo(context?.click),
115
- campaign: generateFakeCampiagnInfo(context?.campaign),
116
- page: generateFakePageInfo(context?.page),
117
- ipAddress: context?.ipAddress ?? choasFake(faker.internet.ipv4()) as string,
118
- ipv6Address: context?.ipv6Address ?? choasFake(faker.internet.ipv6()) as string,
119
- userAgent: context?.userAgent ?? faker.internet.userAgent()
120
- };
121
- return outContext;
122
-
123
- };
124
-
125
- export const generateFakePageInfo = (pageInfo?: Partial<PageInfo>): PageInfo => {
126
- const outPageInfo: PageInfo = {
127
- path: pageInfo?.path ?? faker.internet.url(),
128
- referrer: pageInfo?.referrer ?? faker.internet.url(),
129
- search: pageInfo?.search ?? choasFake(faker.random.alpha()) as string,
130
- title: pageInfo?.title ?? choasFake(faker.random.alpha()) as string,
131
- url: pageInfo?.referrer ?? faker.internet.url(),
132
- };
133
- return outPageInfo;
134
- };
135
-
136
- export const generateFakeCampiagnInfo = (campaignInfo?: Partial<CampaignInfo>): CampaignInfo => {
137
- const outCampaignInfo: CampaignInfo = {
138
- name: campaignInfo?.name ?? choasFake(faker.random.alpha()) as string,
139
- source: campaignInfo?.source ?? choasFake(faker.random.alpha()) as string,
140
- medium: campaignInfo?.medium ?? choasFake(faker.random.alpha()) as string,
141
- term: campaignInfo?.term ?? choasFake(faker.random.alpha()) as string,
142
- content: campaignInfo?.content ?? choasFake(faker.random.alpha()) as string
143
- };
144
- return outCampaignInfo;
145
- };
146
-
147
- export const generateFakeAdClickInfo = (clickInfo?: Partial<AdClickInfo>): AdClickInfo => {
148
- const outClickInfo: AdClickInfo = {
149
- fbp: clickInfo?.fbp ?? choasFake(faker.random.alpha()) as string,
150
- fbc: clickInfo?.fbc ?? choasFake(faker.random.alpha()) as string,
151
- fbclid: clickInfo?.fbclid ?? choasFake(faker.random.alpha()) as string,
152
- gclid: clickInfo?.gclid ?? choasFake(faker.random.alpha()) as string
153
- };
154
- return outClickInfo;
155
- };
156
-
157
- export const generateFakeTrackingEventIdentity = (identity?: Partial<TrackingEventIdentity>) => {
158
- const outIdentity: TrackingEventIdentity = {
159
- firstName: identity?.firstName ?? choasFake(faker.name.firstName()) as string,
160
- lastName: identity?.lastName ?? choasFake(faker.name.lastName()) as string,
161
- email: identity?.email ?? choasFake(faker.internet.email()) as string,
162
- address: generateFakeAddress()
163
- };
164
- return outIdentity;
165
- };
166
-
167
- export const generateFakeAddress = (address?: AddressInfo) => {
168
- const outAddress: AddressInfo = {
169
- email: address?.email ?? choasFake(faker.internet.email()) as string,
170
- phone: address?.email ?? choasFake(faker.phone.number()) as string,
171
- firstName: address?.firstName ?? choasFake(faker.name.firstName()) as string,
172
- lastName: address?.lastName ?? choasFake(faker.name.lastName()) as string,
173
- company: address?.company ?? choasFake(faker.company.name()) as string,
174
- address1: address?.address1 ?? choasFake(faker.address.streetAddress()) as string,
175
- address2: address?.address2 ?? choasFake(faker.address.secondaryAddress()) as string,
176
- city: address?.address2 ?? choasFake(faker.address.city()) as string,
177
- province: address?.province ?? choasFake(faker.address.state()) as string,
178
- provinceCode: address?.provinceCode ?? choasFake(faker.address.stateAbbr()) as string,
179
- country: address?.country ?? choasFake(faker.address.country()) as string,
180
- zip: address?.zip ?? choasFake(faker.address.zipCode()) as string,
181
- countryCode: address?.countryCode ?? choasFake(faker.address.countryCode()) as string,
182
- };
183
- return outAddress;
184
- };
185
-
186
- export const choasFake = <T>(input?: T): T | undefined | null => {
187
- const choasNumber = faker.datatype.number({ min: 1, max: 100 });
188
- if (choasNumber < 33) {
189
- return input as T;
190
- }
191
- else if (choasNumber < 66) {
192
- return undefined;
193
- }
194
- else {
195
- return null;
196
- }
197
- };
198
-
199
- export function randomEnum<T extends {
200
- [ s: string ]: unknown;
201
- }>(anEnum: T): T[ keyof T ] {
202
- const enumValues = (Object.values(anEnum) as unknown) as T[ keyof T ][];
203
- const randomIndex = Math.floor(Math.random() * enumValues.length);
204
- return enumValues[ randomIndex ];
205
- }
206
-
207
- export const randomEnumKey = (enumeration: any) => {
208
- const keys = Object.keys(enumeration)
209
- .filter(k => !(Math.abs(Number.parseInt(k)) + 1));
210
- const enumKey = keys[ Math.floor(Math.random() * keys.length) ];
211
- return enumKey;
212
- };
@@ -1 +0,0 @@
1
- export * from './fake-tracking-event-generator';