insights-sdk 1.0.0 → 1.0.1

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.
@@ -1,14 +1,16 @@
1
1
  import * as React from "react";
2
- type InsightType = "trend" | "contributor";
3
- type TimeGrain = "daily" | "weekly" | "monthly";
4
- interface InsightProps {
2
+ export type InsightType = "trend" | "contributor";
3
+ export type TimeGrain = "daily" | "weekly" | "monthly";
4
+ export type DataResolver = (metric: string, grain: TimeGrain, fromTime: Date, toTime: Date) => Promise<any[]>;
5
+ export type DimensionValuesResolver = (metric: string, dimension: string) => Promise<string[]>;
6
+ export interface InsightProps {
5
7
  type: InsightType;
6
8
  metric: string;
7
9
  dimension?: string;
8
10
  timeGrain: TimeGrain;
9
11
  timeRange: number;
10
- dataResolver: (metric: string, grain: TimeGrain, fromTime: Date, toTime: Date) => Promise<any[]>;
11
- dimensionValuesResolver?: (metric: string, dimension: string) => Promise<string[]>;
12
+ dataResolver: DataResolver;
13
+ dimensionValuesResolver?: DimensionValuesResolver;
12
14
  }
13
15
  declare const Insight: ({ type, metric, dimension, timeGrain, timeRange, dataResolver, dimensionValuesResolver }: InsightProps) => React.JSX.Element;
14
16
  export default Insight;
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { default as Insight } from './components/Insights';
2
+ export { InsightProps, InsightType, TimeGrain, DataResolver, DimensionValuesResolver } from './components/Insights';
package/dist/index.esm.js CHANGED
@@ -92,7 +92,13 @@ const Insight = ({ type, metric, dimension, timeGrain, timeRange, dataResolver,
92
92
  " (",
93
93
  timeGrain,
94
94
  ")"),
95
- React.createElement("pre", { style: { background: '#f4f4f4', padding: '10px' } }, JSON.stringify(data, null, 2)),
95
+ React.createElement("pre", { style: {
96
+ backgroundColor: '#f5f5f5',
97
+ padding: '10px',
98
+ color: '#333',
99
+ borderRadius: '4px',
100
+ overflow: 'auto'
101
+ } }, JSON.stringify(data, null, 2)),
96
102
  dimensionValues.length > 0 && (React.createElement("div", null,
97
103
  React.createElement("p", null,
98
104
  "Dimensions: ",
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/components/Insights.tsx"],"sourcesContent":["import * as React from \"react\"; \r\nimport { useEffect, useState } from 'react'; \r\n\r\n\r\ntype InsightType = \"trend\" | \"contributor\";\r\ntype TimeGrain = \"daily\" | \"weekly\" | \"monthly\";\r\n\r\ninterface InsightProps {\r\n type: InsightType;\r\n metric: string;\r\n dimension?: string;\r\n timeGrain: TimeGrain;\r\n timeRange: number; \r\n dataResolver: (\r\n metric: string,\r\n grain: TimeGrain,\r\n fromTime: Date,\r\n toTime: Date\r\n ) => Promise<any[]>;\r\n dimensionValuesResolver?: (\r\n metric: string,\r\n dimension: string\r\n ) => Promise<string[]>;\r\n}\r\n\r\n// Resolver output\r\n// [\r\n// { \"fromtime\": \"01-01-2025\", \"totime\": \"07-01-2025\", \"Revenue\": 123 },\r\n// { \"fromtime\": \"08-01-2025\", \"totime\": \"14-01-2025\", \"Revenue\": 235 },\r\n// ...\r\n// ]\r\n //geneerate data fro this\r\n\r\n\r\nconst Insight = ({type,\r\n metric, \r\n dimension, \r\n timeGrain, \r\n timeRange,\r\n dataResolver,\r\n dimensionValuesResolver} :InsightProps) => {\r\n\r\n\r\n const [data,setData] = useState<any[]>([]); //populate this based on the metric revenue or anything and timeLine is important \r\n const [loading , setLoading] = useState<boolean>(false); \r\n const [error , setError] = useState<string|null>(null); \r\n const [dimensionValues, setDimensionValues] = useState<string[]>([]);\r\n\r\n //helper functions\r\n\r\n\r\n //dimension - India,NZ and all \r\n //timeRange - \r\n //metric - \r\n //grain - weekly , \r\n //should generate based on this \r\n //then call dataResolcver\r\n\r\n // dataResolver -> // {\r\n// \"fromtime\": \"01-01-2025\",\r\n// \"totime\": \"01-02-2025\",\r\n// \"metric\": \"Revenue\",\r\n// \"grain\": \"weekly\",\r\n// \"type\": \"Trend\"\r\n// }\r\n\r\n const dateRangeCalculator = () => {\r\n const toTime= new Date(); \r\n const fromTime = new Date(); \r\n //they give 30 days lets say \r\n // fromDate(toDate - timeRange); \r\n fromTime.setDate(toTime.getDate() - timeRange); \r\n\r\n return {toTime,fromTime}; \r\n }\r\n\r\n \r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setLoading(true); \r\n setError(null); \r\n try {\r\n const {toTime, fromTime} = dateRangeCalculator(); \r\n if (type === \"contributor\" && !dimension) {\r\n setError(\"Dimension is required for contributor insight\");\r\n setLoading(false);\r\n return;\r\n }\r\n if(type == 'contributor' && dimensionValuesResolver && dimension){\r\n const dim = await dimensionValuesResolver(metric,dimension); \r\n setDimensionValues(dim); \r\n }\r\n const result = await dataResolver(metric, timeGrain, fromTime, toTime);\r\n setData(result);\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n setError(error.message);\r\n } else {\r\n setError(\"Failed to load data!\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n fetchData(); \r\n },[type, metric, dimension, timeGrain, timeRange, dataResolver, dimensionValuesResolver]);\r\n\r\n\r\n if (loading) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>Loading {metric} data...</p>\r\n </div>\r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center', color: 'red' }}>\r\n <p>Error: {error}</p>\r\n </div>\r\n );\r\n }\r\n if (data.length === 0) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>No data available</p>\r\n </div>\r\n );\r\n }\r\nreturn (\r\n <div style={{ padding: '20px' }}>\r\n <h3>{metric} - {type} ({timeGrain})</h3>\r\n <pre style={{ background: '#f4f4f4', padding: '10px' }}>\r\n {JSON.stringify(data, null, 2)}\r\n </pre>\r\n {dimensionValues.length > 0 && (\r\n <div>\r\n <p>Dimensions: {dimensionValues.join(', ')}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\n\r\nexport default Insight; "],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/components/Insights.tsx"],"sourcesContent":["import * as React from \"react\"; \r\nimport { useEffect, useState } from 'react'; \r\n\r\n\r\nexport type InsightType = \"trend\" | \"contributor\";\r\nexport type TimeGrain = \"daily\" | \"weekly\" | \"monthly\";\r\n\r\n\r\nexport type DataResolver = (\r\n metric: string,\r\n grain: TimeGrain,\r\n fromTime: Date,\r\n toTime: Date\r\n) => Promise<any[]>;\r\n\r\nexport type DimensionValuesResolver = (\r\n metric: string,\r\n dimension: string\r\n) => Promise<string[]>;\r\n\r\nexport interface InsightProps {\r\n type: InsightType;\r\n metric: string;\r\n dimension?: string;\r\n timeGrain: TimeGrain;\r\n timeRange: number; \r\n dataResolver: DataResolver,\r\n dimensionValuesResolver?: DimensionValuesResolver\r\n}\r\n\r\n// Resolver output\r\n// [\r\n// { \"fromtime\": \"01-01-2025\", \"totime\": \"07-01-2025\", \"Revenue\": 123 },\r\n// { \"fromtime\": \"08-01-2025\", \"totime\": \"14-01-2025\", \"Revenue\": 235 },\r\n// ...\r\n// ]\r\n //geneerate data fro this\r\n\r\n\r\nconst Insight = ({type,\r\n metric, \r\n dimension, \r\n timeGrain, \r\n timeRange,\r\n dataResolver,\r\n dimensionValuesResolver} :InsightProps) => {\r\n\r\n\r\n const [data,setData] = useState<any[]>([]); //populate this based on the metric revenue or anything and timeLine is important \r\n const [loading , setLoading] = useState<boolean>(false); \r\n const [error , setError] = useState<string|null>(null); \r\n const [dimensionValues, setDimensionValues] = useState<string[]>([]);\r\n\r\n //helper functions\r\n\r\n\r\n //dimension - India,NZ and all \r\n //timeRange - \r\n //metric - \r\n //grain - weekly , \r\n //should generate based on this \r\n //then call dataResolcver\r\n\r\n // dataResolver -> // {\r\n// \"fromtime\": \"01-01-2025\",\r\n// \"totime\": \"01-02-2025\",\r\n// \"metric\": \"Revenue\",\r\n// \"grain\": \"weekly\",\r\n// \"type\": \"Trend\"\r\n// }\r\n\r\n const dateRangeCalculator = () => {\r\n const toTime= new Date(); \r\n const fromTime = new Date(); \r\n //they give 30 days lets say \r\n // fromDate(toDate - timeRange); \r\n fromTime.setDate(toTime.getDate() - timeRange); \r\n\r\n return {toTime,fromTime}; \r\n }\r\n\r\n \r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setLoading(true); \r\n setError(null); \r\n try {\r\n const {toTime, fromTime} = dateRangeCalculator(); \r\n if (type === \"contributor\" && !dimension) {\r\n setError(\"Dimension is required for contributor insight\");\r\n setLoading(false);\r\n return;\r\n }\r\n if(type == 'contributor' && dimensionValuesResolver && dimension){\r\n const dim = await dimensionValuesResolver(metric,dimension); \r\n setDimensionValues(dim); \r\n }\r\n const result = await dataResolver(metric, timeGrain, fromTime, toTime);\r\n setData(result);\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n setError(error.message);\r\n } else {\r\n setError(\"Failed to load data!\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n fetchData(); \r\n },[type, metric, dimension, timeGrain, timeRange, dataResolver, dimensionValuesResolver]);\r\n\r\n\r\n if (loading) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>Loading {metric} data...</p>\r\n </div>\r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center', color: 'red' }}>\r\n <p>Error: {error}</p>\r\n </div>\r\n );\r\n }\r\n if (data.length === 0) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>No data available</p>\r\n </div>\r\n );\r\n }\r\nreturn (\r\n <div style={{ padding: '20px' }}>\r\n <h3>{metric} - {type} ({timeGrain})</h3>\r\n <pre style={{ \r\n backgroundColor: '#f5f5f5',\r\n padding: '10px',\r\n color: '#333', \r\n borderRadius: '4px', \r\n overflow: 'auto' \r\n }}>\r\n {JSON.stringify(data, null, 2)}\r\n </pre>\r\n {dimensionValues.length > 0 && (\r\n <div>\r\n <p>Dimensions: {dimensionValues.join(', ')}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\n\r\nexport default Insight; "],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -112,7 +112,13 @@ const Insight = ({ type, metric, dimension, timeGrain, timeRange, dataResolver,
112
112
  " (",
113
113
  timeGrain,
114
114
  ")"),
115
- React__namespace.createElement("pre", { style: { background: '#f4f4f4', padding: '10px' } }, JSON.stringify(data, null, 2)),
115
+ React__namespace.createElement("pre", { style: {
116
+ backgroundColor: '#f5f5f5',
117
+ padding: '10px',
118
+ color: '#333',
119
+ borderRadius: '4px',
120
+ overflow: 'auto'
121
+ } }, JSON.stringify(data, null, 2)),
116
122
  dimensionValues.length > 0 && (React__namespace.createElement("div", null,
117
123
  React__namespace.createElement("p", null,
118
124
  "Dimensions: ",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/Insights.tsx"],"sourcesContent":["import * as React from \"react\"; \r\nimport { useEffect, useState } from 'react'; \r\n\r\n\r\ntype InsightType = \"trend\" | \"contributor\";\r\ntype TimeGrain = \"daily\" | \"weekly\" | \"monthly\";\r\n\r\ninterface InsightProps {\r\n type: InsightType;\r\n metric: string;\r\n dimension?: string;\r\n timeGrain: TimeGrain;\r\n timeRange: number; \r\n dataResolver: (\r\n metric: string,\r\n grain: TimeGrain,\r\n fromTime: Date,\r\n toTime: Date\r\n ) => Promise<any[]>;\r\n dimensionValuesResolver?: (\r\n metric: string,\r\n dimension: string\r\n ) => Promise<string[]>;\r\n}\r\n\r\n// Resolver output\r\n// [\r\n// { \"fromtime\": \"01-01-2025\", \"totime\": \"07-01-2025\", \"Revenue\": 123 },\r\n// { \"fromtime\": \"08-01-2025\", \"totime\": \"14-01-2025\", \"Revenue\": 235 },\r\n// ...\r\n// ]\r\n //geneerate data fro this\r\n\r\n\r\nconst Insight = ({type,\r\n metric, \r\n dimension, \r\n timeGrain, \r\n timeRange,\r\n dataResolver,\r\n dimensionValuesResolver} :InsightProps) => {\r\n\r\n\r\n const [data,setData] = useState<any[]>([]); //populate this based on the metric revenue or anything and timeLine is important \r\n const [loading , setLoading] = useState<boolean>(false); \r\n const [error , setError] = useState<string|null>(null); \r\n const [dimensionValues, setDimensionValues] = useState<string[]>([]);\r\n\r\n //helper functions\r\n\r\n\r\n //dimension - India,NZ and all \r\n //timeRange - \r\n //metric - \r\n //grain - weekly , \r\n //should generate based on this \r\n //then call dataResolcver\r\n\r\n // dataResolver -> // {\r\n// \"fromtime\": \"01-01-2025\",\r\n// \"totime\": \"01-02-2025\",\r\n// \"metric\": \"Revenue\",\r\n// \"grain\": \"weekly\",\r\n// \"type\": \"Trend\"\r\n// }\r\n\r\n const dateRangeCalculator = () => {\r\n const toTime= new Date(); \r\n const fromTime = new Date(); \r\n //they give 30 days lets say \r\n // fromDate(toDate - timeRange); \r\n fromTime.setDate(toTime.getDate() - timeRange); \r\n\r\n return {toTime,fromTime}; \r\n }\r\n\r\n \r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setLoading(true); \r\n setError(null); \r\n try {\r\n const {toTime, fromTime} = dateRangeCalculator(); \r\n if (type === \"contributor\" && !dimension) {\r\n setError(\"Dimension is required for contributor insight\");\r\n setLoading(false);\r\n return;\r\n }\r\n if(type == 'contributor' && dimensionValuesResolver && dimension){\r\n const dim = await dimensionValuesResolver(metric,dimension); \r\n setDimensionValues(dim); \r\n }\r\n const result = await dataResolver(metric, timeGrain, fromTime, toTime);\r\n setData(result);\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n setError(error.message);\r\n } else {\r\n setError(\"Failed to load data!\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n fetchData(); \r\n },[type, metric, dimension, timeGrain, timeRange, dataResolver, dimensionValuesResolver]);\r\n\r\n\r\n if (loading) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>Loading {metric} data...</p>\r\n </div>\r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center', color: 'red' }}>\r\n <p>Error: {error}</p>\r\n </div>\r\n );\r\n }\r\n if (data.length === 0) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>No data available</p>\r\n </div>\r\n );\r\n }\r\nreturn (\r\n <div style={{ padding: '20px' }}>\r\n <h3>{metric} - {type} ({timeGrain})</h3>\r\n <pre style={{ background: '#f4f4f4', padding: '10px' }}>\r\n {JSON.stringify(data, null, 2)}\r\n </pre>\r\n {dimensionValues.length > 0 && (\r\n <div>\r\n <p>Dimensions: {dimensionValues.join(', ')}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\n\r\nexport default Insight; "],"names":["useState","useEffect","React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/Insights.tsx"],"sourcesContent":["import * as React from \"react\"; \r\nimport { useEffect, useState } from 'react'; \r\n\r\n\r\nexport type InsightType = \"trend\" | \"contributor\";\r\nexport type TimeGrain = \"daily\" | \"weekly\" | \"monthly\";\r\n\r\n\r\nexport type DataResolver = (\r\n metric: string,\r\n grain: TimeGrain,\r\n fromTime: Date,\r\n toTime: Date\r\n) => Promise<any[]>;\r\n\r\nexport type DimensionValuesResolver = (\r\n metric: string,\r\n dimension: string\r\n) => Promise<string[]>;\r\n\r\nexport interface InsightProps {\r\n type: InsightType;\r\n metric: string;\r\n dimension?: string;\r\n timeGrain: TimeGrain;\r\n timeRange: number; \r\n dataResolver: DataResolver,\r\n dimensionValuesResolver?: DimensionValuesResolver\r\n}\r\n\r\n// Resolver output\r\n// [\r\n// { \"fromtime\": \"01-01-2025\", \"totime\": \"07-01-2025\", \"Revenue\": 123 },\r\n// { \"fromtime\": \"08-01-2025\", \"totime\": \"14-01-2025\", \"Revenue\": 235 },\r\n// ...\r\n// ]\r\n //geneerate data fro this\r\n\r\n\r\nconst Insight = ({type,\r\n metric, \r\n dimension, \r\n timeGrain, \r\n timeRange,\r\n dataResolver,\r\n dimensionValuesResolver} :InsightProps) => {\r\n\r\n\r\n const [data,setData] = useState<any[]>([]); //populate this based on the metric revenue or anything and timeLine is important \r\n const [loading , setLoading] = useState<boolean>(false); \r\n const [error , setError] = useState<string|null>(null); \r\n const [dimensionValues, setDimensionValues] = useState<string[]>([]);\r\n\r\n //helper functions\r\n\r\n\r\n //dimension - India,NZ and all \r\n //timeRange - \r\n //metric - \r\n //grain - weekly , \r\n //should generate based on this \r\n //then call dataResolcver\r\n\r\n // dataResolver -> // {\r\n// \"fromtime\": \"01-01-2025\",\r\n// \"totime\": \"01-02-2025\",\r\n// \"metric\": \"Revenue\",\r\n// \"grain\": \"weekly\",\r\n// \"type\": \"Trend\"\r\n// }\r\n\r\n const dateRangeCalculator = () => {\r\n const toTime= new Date(); \r\n const fromTime = new Date(); \r\n //they give 30 days lets say \r\n // fromDate(toDate - timeRange); \r\n fromTime.setDate(toTime.getDate() - timeRange); \r\n\r\n return {toTime,fromTime}; \r\n }\r\n\r\n \r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n setLoading(true); \r\n setError(null); \r\n try {\r\n const {toTime, fromTime} = dateRangeCalculator(); \r\n if (type === \"contributor\" && !dimension) {\r\n setError(\"Dimension is required for contributor insight\");\r\n setLoading(false);\r\n return;\r\n }\r\n if(type == 'contributor' && dimensionValuesResolver && dimension){\r\n const dim = await dimensionValuesResolver(metric,dimension); \r\n setDimensionValues(dim); \r\n }\r\n const result = await dataResolver(metric, timeGrain, fromTime, toTime);\r\n setData(result);\r\n } catch (error) {\r\n if (error instanceof Error) {\r\n setError(error.message);\r\n } else {\r\n setError(\"Failed to load data!\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n fetchData(); \r\n },[type, metric, dimension, timeGrain, timeRange, dataResolver, dimensionValuesResolver]);\r\n\r\n\r\n if (loading) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>Loading {metric} data...</p>\r\n </div>\r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center', color: 'red' }}>\r\n <p>Error: {error}</p>\r\n </div>\r\n );\r\n }\r\n if (data.length === 0) {\r\n return (\r\n <div style={{ padding: '20px', textAlign: 'center' }}>\r\n <p>No data available</p>\r\n </div>\r\n );\r\n }\r\nreturn (\r\n <div style={{ padding: '20px' }}>\r\n <h3>{metric} - {type} ({timeGrain})</h3>\r\n <pre style={{ \r\n backgroundColor: '#f5f5f5',\r\n padding: '10px',\r\n color: '#333', \r\n borderRadius: '4px', \r\n overflow: 'auto' \r\n }}>\r\n {JSON.stringify(data, null, 2)}\r\n </pre>\r\n {dimensionValues.length > 0 && (\r\n <div>\r\n <p>Dimensions: {dimensionValues.join(', ')}</p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\n\r\nexport default Insight; "],"names":["useState","useEffect","React"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "insights-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "React SDK for rendering insights",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -12,7 +12,11 @@
12
12
  "scripts": {
13
13
  "build": "rollup -c"
14
14
  },
15
- "keywords": ["react", "insights", "sdk"],
15
+ "keywords": [
16
+ "react",
17
+ "insights",
18
+ "sdk"
19
+ ],
16
20
  "author": "",
17
21
  "license": "ISC",
18
22
  "peerDependencies": {
@@ -34,4 +38,4 @@
34
38
  "tslib": "^2.8.1",
35
39
  "typescript": "^5.0.0"
36
40
  }
37
- }
41
+ }