@jitsu/jitsu-react 1.1.0-canary.212.20230220173912 → 1.1.0-canary.344.20230430234929

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/index.js CHANGED
@@ -4,22 +4,23 @@ var js = require('@jitsu/js');
4
4
  var JitsuContext = React.createContext(null);
5
5
 
6
6
  var JitsuProvider = function JitsuProvider(props) {
7
- var instance;
8
- if (props.options.disabled) {
9
- instance = {
10
- analytics: js.emptyAnalytics
11
- };
12
- } else if (!props.options.host) {
13
- var msg = "<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized";
14
- console.error("%c" + msg, "color: red; font-weight: bold;");
15
- instance = {
16
- analytics: js.emptyAnalytics
17
- };
18
- } else {
19
- instance = {
20
- analytics: js.jitsuAnalytics(props.options)
21
- };
22
- }
7
+ var instance = React.useMemo(function () {
8
+ if (props.options.disabled) {
9
+ return {
10
+ analytics: js.emptyAnalytics
11
+ };
12
+ } else if (!props.options.host) {
13
+ var msg = "<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized";
14
+ console.error("%c" + msg, "color: red; font-weight: bold;");
15
+ return {
16
+ analytics: js.emptyAnalytics
17
+ };
18
+ } else {
19
+ return {
20
+ analytics: js.jitsuAnalytics(props.options)
21
+ };
22
+ }
23
+ }, [props.options.disabled, props.options.host]);
23
24
  return React.createElement(JitsuContext.Provider, {
24
25
  value: instance
25
26
  }, props.children);
@@ -47,9 +48,7 @@ function useJitsu(opts) {
47
48
  } else if (opts !== null && opts !== void 0 && opts.host || opts !== null && opts !== void 0 && opts.echoEvents) {
48
49
  throw new Error("Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react");
49
50
  } else if (jitsuInstance.analytics) {
50
- return {
51
- analytics: jitsuInstance.analytics
52
- };
51
+ return jitsuInstance;
53
52
  } else {
54
53
  throw new Error("<JitsuProvider /> is not initialized with undefined analytics instance");
55
54
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext<JitsuInstance | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n let instance: JitsuInstance;\n if (props.options.disabled) {\n instance = { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n instance = { analytics: emptyAnalytics };\n } else {\n instance = { analytics: jitsuAnalytics(props.options) };\n }\n return <JitsuContext.Provider value={instance}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return { analytics: jitsuInstance.analytics };\n } else {\n throw new Error(`<JitsuProvider /> is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","instance","options","disabled","analytics","emptyAnalytics","host","msg","console","error","jitsuAnalytics","React","Provider","value","children","useJitsu","opts","jitsuInstance","useContext","echoEvents","Error"],"mappings":";;;AAKA,IAAMA,YAAY,GAAGC,mBAAa,CAAuB,IAAI,CAAC;;ACC9D,IAAMC,aAAa,GAAmE,SAAhFA,aAAa,CAAmEC,KAAK;EACzF,IAAIC,QAAuB;EAC3B,IAAID,KAAK,CAACE,OAAO,CAACC,QAAQ,EAAE;IAC1BF,QAAQ,GAAG;MAAEG,SAAS,EAAEC;KAAgB;GACzC,MAAM,IAAI,CAACL,KAAK,CAACE,OAAO,CAACI,IAAI,EAAE;IAC9B,IAAMC,GAAG,GAAG,6EAA6E;IACzFC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;IAC3DN,QAAQ,GAAG;MAAEG,SAAS,EAAEC;KAAgB;GACzC,MAAM;IACLJ,QAAQ,GAAG;MAAEG,SAAS,EAAEM,iBAAc,CAACV,KAAK,CAACE,OAAO;KAAG;;EAEzD,OAAOS,oBAACd,YAAY,CAACe,QAAQ;IAACC,KAAK,EAAEZ;KAAWD,KAAK,CAACc,QAAQ,CAAyB;AACzF,CAAC;;ACED,SAASC,QAAQ,CAACC,IAA2B;EAC3C,IAAIC,aAAa,GAAGC,gBAAU,CAACrB,YAAY,CAAC;EAC5C,IAAImB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEb,QAAQ,EAAE;IAClB,OAAO;MAAEC,SAAS,EAAEC;KAAgB;;EAEtC,IAAI,CAACY,aAAa,EAAE;IAClB,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;MAClC,OAAO;QAAEf,SAAS,EAAEM,iBAAc,CAACM,IAAI;OAAG;KAC3C,MAAM;MACL,IAAMT,GAAG,GACP,iJAAiJ;MACnJC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;;GAEvC,MAAM,IAAIW,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;IACzC,MAAM,IAAIC,KAAK,CACb,2IAA2I,CAC5I;GAEF,MAAM,IAAIH,aAAa,CAACb,SAAS,EAAE;IAClC,OAAO;MAAEA,SAAS,EAAEa,aAAa,CAACb;KAAW;GAC9C,MAAM;IACL,MAAM,IAAIgB,KAAK,0EAA0E;;AAE7F;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext<JitsuInstance | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren, useMemo } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n const instance: JitsuInstance = useMemo(() => {\n if (props.options.disabled) {\n return { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n } else {\n return { analytics: jitsuAnalytics(props.options) };\n }\n }, [props.options.disabled, props.options.host]);\n return <JitsuContext.Provider value={instance}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true; host?: undefined };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return jitsuInstance;\n } else {\n throw new Error(`<JitsuProvider /> is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","instance","useMemo","options","disabled","analytics","emptyAnalytics","host","msg","console","error","jitsuAnalytics","React","Provider","value","children","useJitsu","opts","jitsuInstance","useContext","echoEvents","Error"],"mappings":";;;AAKA,IAAMA,YAAY,GAAGC,mBAAa,CAAuB,IAAI,CAAC;;ACC9D,IAAMC,aAAa,GAAmE,SAAhFA,aAAaA,CAAmEC,KAAK;EACzF,IAAMC,QAAQ,GAAkBC,aAAO,CAAC;IACtC,IAAIF,KAAK,CAACG,OAAO,CAACC,QAAQ,EAAE;MAC1B,OAAO;QAAEC,SAAS,EAAEC;OAAgB;KACrC,MAAM,IAAI,CAACN,KAAK,CAACG,OAAO,CAACI,IAAI,EAAE;MAC9B,IAAMC,GAAG,GAAG,6EAA6E;MACzFC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;KACrC,MAAM;MACL,OAAO;QAAED,SAAS,EAAEM,iBAAc,CAACX,KAAK,CAACG,OAAO;OAAG;;GAEtD,EAAE,CAACH,KAAK,CAACG,OAAO,CAACC,QAAQ,EAAEJ,KAAK,CAACG,OAAO,CAACI,IAAI,CAAC,CAAC;EAChD,OAAOK,oBAACf,YAAY,CAACgB,QAAQ;IAACC,KAAK,EAAEb;KAAWD,KAAK,CAACe,QAAQ,CAAyB;AACzF,CAAC;;ACCD,SAASC,QAAQA,CAACC,IAA2B;EAC3C,IAAIC,aAAa,GAAGC,gBAAU,CAACtB,YAAY,CAAC;EAC5C,IAAIoB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEb,QAAQ,EAAE;IAClB,OAAO;MAAEC,SAAS,EAAEC;KAAgB;;EAEtC,IAAI,CAACY,aAAa,EAAE;IAClB,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;MAClC,OAAO;QAAEf,SAAS,EAAEM,iBAAc,CAACM,IAAI;OAAG;KAC3C,MAAM;MACL,IAAMT,GAAG,GACP,iJAAiJ;MACnJC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;;GAEvC,MAAM,IAAIW,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;IACzC,MAAM,IAAIC,KAAK,CACb,2IAA2I,CAC5I;GAEF,MAAM,IAAIH,aAAa,CAACb,SAAS,EAAE;IAClC,OAAOa,aAAa;GACrB,MAAM;IACL,MAAM,IAAIG,KAAK,0EAA0E;;AAE7F;;;;;;"}
@@ -1,25 +1,26 @@
1
- import { createContext, createElement, useContext } from 'react';
2
- import { jitsuAnalytics, emptyAnalytics } from '@jitsu/js';
1
+ import { createContext, useMemo, createElement, useContext } from 'react';
2
+ import { emptyAnalytics, jitsuAnalytics } from '@jitsu/js';
3
3
 
4
4
  var JitsuContext = createContext(null);
5
5
 
6
6
  var JitsuProvider = function JitsuProvider(props) {
7
- var instance;
8
- if (props.options.disabled) {
9
- instance = {
10
- analytics: emptyAnalytics
11
- };
12
- } else if (!props.options.host) {
13
- var msg = "<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized";
14
- console.error("%c" + msg, "color: red; font-weight: bold;");
15
- instance = {
16
- analytics: emptyAnalytics
17
- };
18
- } else {
19
- instance = {
20
- analytics: jitsuAnalytics(props.options)
21
- };
22
- }
7
+ var instance = useMemo(function () {
8
+ if (props.options.disabled) {
9
+ return {
10
+ analytics: emptyAnalytics
11
+ };
12
+ } else if (!props.options.host) {
13
+ var msg = "<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized";
14
+ console.error("%c" + msg, "color: red; font-weight: bold;");
15
+ return {
16
+ analytics: emptyAnalytics
17
+ };
18
+ } else {
19
+ return {
20
+ analytics: jitsuAnalytics(props.options)
21
+ };
22
+ }
23
+ }, [props.options.disabled, props.options.host]);
23
24
  return createElement(JitsuContext.Provider, {
24
25
  value: instance
25
26
  }, props.children);
@@ -47,9 +48,7 @@ function useJitsu(opts) {
47
48
  } else if (opts !== null && opts !== void 0 && opts.host || opts !== null && opts !== void 0 && opts.echoEvents) {
48
49
  throw new Error("Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react");
49
50
  } else if (jitsuInstance.analytics) {
50
- return {
51
- analytics: jitsuInstance.analytics
52
- };
51
+ return jitsuInstance;
53
52
  } else {
54
53
  throw new Error("<JitsuProvider /> is not initialized with undefined analytics instance");
55
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext<JitsuInstance | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n let instance: JitsuInstance;\n if (props.options.disabled) {\n instance = { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n instance = { analytics: emptyAnalytics };\n } else {\n instance = { analytics: jitsuAnalytics(props.options) };\n }\n return <JitsuContext.Provider value={instance}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return { analytics: jitsuInstance.analytics };\n } else {\n throw new Error(`<JitsuProvider /> is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","instance","options","disabled","analytics","emptyAnalytics","host","msg","console","error","jitsuAnalytics","React","Provider","value","children","useJitsu","opts","jitsuInstance","useContext","echoEvents","Error"],"mappings":";;;AAKA,IAAMA,YAAY,GAAGC,aAAa,CAAuB,IAAI,CAAC;;ACC9D,IAAMC,aAAa,GAAmE,SAAhFA,aAAa,CAAmEC,KAAK;EACzF,IAAIC,QAAuB;EAC3B,IAAID,KAAK,CAACE,OAAO,CAACC,QAAQ,EAAE;IAC1BF,QAAQ,GAAG;MAAEG,SAAS,EAAEC;KAAgB;GACzC,MAAM,IAAI,CAACL,KAAK,CAACE,OAAO,CAACI,IAAI,EAAE;IAC9B,IAAMC,GAAG,GAAG,6EAA6E;IACzFC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;IAC3DN,QAAQ,GAAG;MAAEG,SAAS,EAAEC;KAAgB;GACzC,MAAM;IACLJ,QAAQ,GAAG;MAAEG,SAAS,EAAEM,cAAc,CAACV,KAAK,CAACE,OAAO;KAAG;;EAEzD,OAAOS,cAACd,YAAY,CAACe,QAAQ;IAACC,KAAK,EAAEZ;KAAWD,KAAK,CAACc,QAAQ,CAAyB;AACzF,CAAC;;ACED,SAASC,QAAQ,CAACC,IAA2B;EAC3C,IAAIC,aAAa,GAAGC,UAAU,CAACrB,YAAY,CAAC;EAC5C,IAAImB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEb,QAAQ,EAAE;IAClB,OAAO;MAAEC,SAAS,EAAEC;KAAgB;;EAEtC,IAAI,CAACY,aAAa,EAAE;IAClB,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;MAClC,OAAO;QAAEf,SAAS,EAAEM,cAAc,CAACM,IAAI;OAAG;KAC3C,MAAM;MACL,IAAMT,GAAG,GACP,iJAAiJ;MACnJC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;;GAEvC,MAAM,IAAIW,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;IACzC,MAAM,IAAIC,KAAK,CACb,2IAA2I,CAC5I;GAEF,MAAM,IAAIH,aAAa,CAACb,SAAS,EAAE;IAClC,OAAO;MAAEA,SAAS,EAAEa,aAAa,CAACb;KAAW;GAC9C,MAAM;IACL,MAAM,IAAIgB,KAAK,0EAA0E;;AAE7F;;;;"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/JitsuContext.tsx","../src/JitsuProvider.tsx","../src/useJitsu.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AnalyticsInterface } from \"@jitsu/js\";\n\nexport type JitsuInstance = { analytics: AnalyticsInterface };\n\nconst JitsuContext = createContext<JitsuInstance | null>(null);\n\nexport default JitsuContext;\n","import * as React from \"react\";\nimport { PropsWithChildren, useMemo } from \"react\";\nimport JitsuContext, { JitsuInstance } from \"./JitsuContext\";\nimport { emptyAnalytics, jitsuAnalytics } from \"@jitsu/js\";\nimport { ExtendedJitsuOptions } from \"./useJitsu\";\n\nconst JitsuProvider: React.FC<PropsWithChildren<{ options: ExtendedJitsuOptions }>> = props => {\n const instance: JitsuInstance = useMemo(() => {\n if (props.options.disabled) {\n return { analytics: emptyAnalytics };\n } else if (!props.options.host) {\n const msg = \"<JitsuProvider />. Jitsu host is not defined. Jitsu will not be initialized\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n } else {\n return { analytics: jitsuAnalytics(props.options) };\n }\n }, [props.options.disabled, props.options.host]);\n return <JitsuContext.Provider value={instance}>{props.children}</JitsuContext.Provider>;\n};\n\nexport default JitsuProvider;\n","import { useContext } from \"react\";\nimport JitsuContext from \"./JitsuContext\";\n\nimport { AnalyticsInterface, jitsuAnalytics, JitsuOptions, emptyAnalytics } from \"@jitsu/js\";\n\nexport interface BeforeEffect {\n effect: (analytics: AnalyticsInterface) => any;\n deps: any[];\n}\n\nexport type ExtendedJitsuOptions =\n | (Omit<JitsuOptions, \"host\"> & { host: string } & {\n disabled?: false | undefined;\n echoEvents?: boolean;\n })\n | { disabled: true; host?: undefined };\n\n/**\n * See for details http://jitsu.com/docs/sending-data/js-sdk/react\n */\nfunction useJitsu(opts?: ExtendedJitsuOptions): { analytics: AnalyticsInterface } {\n let jitsuInstance = useContext(JitsuContext);\n if (opts?.disabled) {\n return { analytics: emptyAnalytics };\n }\n if (!jitsuInstance) {\n if (opts?.host || opts?.echoEvents) {\n return { analytics: jitsuAnalytics(opts) };\n } else {\n const msg =\n \"Before calling useJitsu() hook, please wrap your component into <JitsuProvider />. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\";\n console.error(`%c${msg}`, \"color: red; font-weight: bold;\");\n return { analytics: emptyAnalytics };\n }\n } else if (opts?.host || opts?.echoEvents) {\n throw new Error(\n \"Jitsu client already set up with <JitsuProvider /> and cannot be overridden. Read more in http://jitsu.com/docs/sending-data/js-sdk/react\"\n );\n //Jitsu analytics is initialized inside provider\n } else if (jitsuInstance.analytics) {\n return jitsuInstance;\n } else {\n throw new Error(`<JitsuProvider /> is not initialized with undefined analytics instance`);\n }\n}\n\nexport default useJitsu;\nexport { AnalyticsInterface, JitsuOptions };\n"],"names":["JitsuContext","createContext","JitsuProvider","props","instance","useMemo","options","disabled","analytics","emptyAnalytics","host","msg","console","error","jitsuAnalytics","React","Provider","value","children","useJitsu","opts","jitsuInstance","useContext","echoEvents","Error"],"mappings":";;;AAKA,IAAMA,YAAY,GAAGC,aAAa,CAAuB,IAAI,CAAC;;ACC9D,IAAMC,aAAa,GAAmE,SAAhFA,aAAaA,CAAmEC,KAAK;EACzF,IAAMC,QAAQ,GAAkBC,OAAO,CAAC;IACtC,IAAIF,KAAK,CAACG,OAAO,CAACC,QAAQ,EAAE;MAC1B,OAAO;QAAEC,SAAS,EAAEC;OAAgB;KACrC,MAAM,IAAI,CAACN,KAAK,CAACG,OAAO,CAACI,IAAI,EAAE;MAC9B,IAAMC,GAAG,GAAG,6EAA6E;MACzFC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;KACrC,MAAM;MACL,OAAO;QAAED,SAAS,EAAEM,cAAc,CAACX,KAAK,CAACG,OAAO;OAAG;;GAEtD,EAAE,CAACH,KAAK,CAACG,OAAO,CAACC,QAAQ,EAAEJ,KAAK,CAACG,OAAO,CAACI,IAAI,CAAC,CAAC;EAChD,OAAOK,cAACf,YAAY,CAACgB,QAAQ;IAACC,KAAK,EAAEb;KAAWD,KAAK,CAACe,QAAQ,CAAyB;AACzF,CAAC;;ACCD,SAASC,QAAQA,CAACC,IAA2B;EAC3C,IAAIC,aAAa,GAAGC,UAAU,CAACtB,YAAY,CAAC;EAC5C,IAAIoB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEb,QAAQ,EAAE;IAClB,OAAO;MAAEC,SAAS,EAAEC;KAAgB;;EAEtC,IAAI,CAACY,aAAa,EAAE;IAClB,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;MAClC,OAAO;QAAEf,SAAS,EAAEM,cAAc,CAACM,IAAI;OAAG;KAC3C,MAAM;MACL,IAAMT,GAAG,GACP,iJAAiJ;MACnJC,OAAO,CAACC,KAAK,QAAMF,GAAG,EAAI,gCAAgC,CAAC;MAC3D,OAAO;QAAEH,SAAS,EAAEC;OAAgB;;GAEvC,MAAM,IAAIW,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEV,IAAI,IAAIU,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEG,UAAU,EAAE;IACzC,MAAM,IAAIC,KAAK,CACb,2IAA2I,CAC5I;GAEF,MAAM,IAAIH,aAAa,CAACb,SAAS,EAAE;IAClC,OAAOa,aAAa;GACrB,MAAM;IACL,MAAM,IAAIG,KAAK,0EAA0E;;AAE7F;;;;"}
@@ -10,6 +10,7 @@ export declare type ExtendedJitsuOptions = (Omit<JitsuOptions, "host"> & {
10
10
  echoEvents?: boolean;
11
11
  }) | {
12
12
  disabled: true;
13
+ host?: undefined;
13
14
  };
14
15
  /**
15
16
  * See for details http://jitsu.com/docs/sending-data/js-sdk/react
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jitsu/jitsu-react",
3
- "version": "1.1.0-canary.212.20230220173912",
3
+ "version": "1.1.0-canary.344.20230430234929",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -11,20 +11,16 @@
11
11
  "node": ">=10"
12
12
  },
13
13
  "dependencies": {
14
- "@jitsu/js": "1.1.0-canary.212.20230220173912"
14
+ "@jitsu/js": "1.1.0-canary.344.20230430234929"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "react": "15.x || 16.x || 17.x || 18.x",
18
18
  "@types/react": "15.x || 16.x || 17.x || 18.x",
19
- "react-router-dom": "5.x || 6.x",
20
- "next": "12.x || 13.x"
19
+ "react-router-dom": "5.x || 6.x"
21
20
  },
22
21
  "peerDependenciesMeta": {
23
22
  "react-router-dom": {
24
23
  "optional": true
25
- },
26
- "next": {
27
- "optional": true
28
24
  }
29
25
  },
30
26
  "devDependencies": {
@@ -35,8 +31,8 @@
35
31
  "@types/jest": "^29.2.3",
36
32
  "@types/node": "^18.11.9",
37
33
  "microbundle-crl": "^0.13.11",
38
- "typescript": "^4.9.3",
39
- "@jitsu/js": "1.1.0-canary.212.20230220173912"
34
+ "typescript": "^4.9.5",
35
+ "@babel/plugin-transform-regenerator": "^7.20.5"
40
36
  },
41
37
  "files": [
42
38
  "dist"