@bigbinary/neeto-commons-frontend 4.13.67 → 4.13.69
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/configs/babel.js +2 -0
- package/configs/esbuild/alias.js +6 -0
- package/configs/esbuild/constants.js +4 -0
- package/dist/cjs/initializers/dayjs.js +1 -1
- package/dist/cjs/initializers/index.js +1 -1
- package/dist/cjs/react-utils/index.js +1 -0
- package/dist/cjs/react-utils/index.js.map +1 -1
- package/dist/cjs/react-utils/useLocalStorage/index.js +1 -0
- package/dist/cjs/react-utils/useLocalStorage/index.js.map +1 -1
- package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js +2 -1
- package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/cjs/utils/customParseFormatPlugin.js +308 -0
- package/dist/cjs/utils/customParseFormatPlugin.js.map +1 -0
- package/dist/cjs/utils/deviceInformation.js +255 -0
- package/dist/cjs/utils/deviceInformation.js.map +1 -0
- package/dist/cjs/utils/index.js +3 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/timezonePlugin.js +4 -4
- package/dist/cjs/utils/timezonePlugin.js.map +1 -1
- package/dist/initializers/dayjs.js +1 -1
- package/dist/initializers/index.js +1 -1
- package/dist/react-utils/index.js +1 -0
- package/dist/react-utils/index.js.map +1 -1
- package/dist/react-utils/useLocalStorage/index.js +1 -0
- package/dist/react-utils/useLocalStorage/index.js.map +1 -1
- package/dist/react-utils/useLocalStorage/useLocalStorage.js +2 -1
- package/dist/react-utils/useLocalStorage/useLocalStorage.js.map +1 -1
- package/dist/utils/customParseFormatPlugin.js +306 -0
- package/dist/utils/customParseFormatPlugin.js.map +1 -0
- package/dist/utils/deviceInformation.js +253 -0
- package/dist/utils/deviceInformation.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/timezonePlugin.js +4 -4
- package/dist/utils/timezonePlugin.js.map +1 -1
- package/package.json +5 -3
- package/utils.d.ts +141 -1
|
@@ -5,6 +5,10 @@ import '../typeof-D-UKOauR.js';
|
|
|
5
5
|
|
|
6
6
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
|
+
/* eslint-disable */
|
|
9
|
+
// Temporary patch file. We can remove this file after the issue is fixed in Day.js.
|
|
10
|
+
// Ref: https://github.com/iamkun/dayjs/pull/2019
|
|
11
|
+
|
|
8
12
|
var typeToPos = {
|
|
9
13
|
year: 0,
|
|
10
14
|
month: 1,
|
|
@@ -51,8 +55,6 @@ var getLocaleStringifier = function getLocaleStringifier(timezone) {
|
|
|
51
55
|
}
|
|
52
56
|
return localeStringifier;
|
|
53
57
|
};
|
|
54
|
-
|
|
55
|
-
// eslint-disable-next-line no-unused-vars
|
|
56
58
|
var timezonePlugin = (function (o, c, d) {
|
|
57
59
|
var defaultTimezone;
|
|
58
60
|
var makeFormatParts = function makeFormatParts(timestamp, timezone) {
|
|
@@ -111,8 +113,6 @@ var timezonePlugin = (function (o, c, d) {
|
|
|
111
113
|
return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];
|
|
112
114
|
};
|
|
113
115
|
var proto = c.prototype;
|
|
114
|
-
|
|
115
|
-
// eslint-disable-next-line default-param-last
|
|
116
116
|
proto.tz = function () {
|
|
117
117
|
var timezone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultTimezone;
|
|
118
118
|
var keepLocalTime = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezonePlugin.js","sources":["../../src/utils/timezonePlugin.js"],"sourcesContent":["const typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\n// Cache time-zone lookups from Intl.DateTimeFormat,\n// as it is a *very* slow method.\nconst dtfCache = {};\nconst getDateTimeFormat = (timezone, options = {}) => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache[key] = dtf;\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = {};\nconst getLocaleStringifier = timezone => {\n let localeStringifier = localeStringifierCache[timezone];\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache[timezone] = localeStringifier;\n }\n\n return localeStringifier;\n};\n\n// eslint-disable-next-line no-unused-vars\nexport default (o, c, d) => {\n let defaultTimezone;\n\n const makeFormatParts = (timestamp, timezone, options = {}) => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp, timezone) => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n // Workaround for the same behavior in different node version\n // https://github.com/nodejs/node/issues/33027\n /* istanbul ignore next */\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = d.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n // find the right offset a given local time. The o input is our guess, which determines which\n // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\n // https://github.com/moment/luxon/blob/master/src/datetime.js#L76\n const fixOffset = (localTS, o0, tz) => {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o0 * 60 * 1000;\n // Test whether the zone matches the offset for this ts\n const o2 = tzOffset(utcGuess, tz);\n // If so, offset didn't change and we're done\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o0) * 60 * 1000;\n // If that gives us the local time we want, we're done\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time.\n // The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = c.prototype;\n\n // eslint-disable-next-line default-param-last\n proto.tz = function (timezone = defaultTimezone, keepLocalTime) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round((date - new Date(target)) / 1000 / 60);\n let ins = d(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(-Math.round(date.getTimezoneOffset() / 15) * 15 - diff, true);\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\");\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type) {\n // type: short(default) / long\n const zone = this.$x.$timezone || d.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(m => m.type.toLowerCase() === \"timezonename\");\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units, startOf) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = d(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return startOfWithoutTz.tz(this.$x.$timezone, true);\n };\n\n d.tz = function (input, arg1, arg2) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(d()), timezone);\n if (typeof input !== \"string\") {\n // timestamp number || js Date || Day.js\n return d(input).tz(timezone);\n }\n const localTs = d.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone\n );\n const ins = d(targetTs).utcOffset(targetOffset);\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n d.tz.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n d.tz.setDefault = function (timezone) {\n defaultTimezone = timezone;\n };\n};\n"],"names":["typeToPos","year","month","day","hour","minute","second","dateTimeFormatDefaults","dtfCache","getDateTimeFormat","timezone","options","arguments","length","undefined","timeZoneName","key","concat","dtf","Intl","DateTimeFormat","_objectSpread","hour12","timeZone","localeStringifierCache","getLocaleStringifier","localeStringifier","o","c","d","defaultTimezone","makeFormatParts","timestamp","date","Date","formatToParts","tzOffset","formatResult","filled","i","_formatResult$i","type","value","pos","parseInt","fixedHour","utcString","utcTs","utc","valueOf","asTS","Number","over","fixOffset","localTS","o0","tz","utcGuess","o2","o3","Math","min","max","proto","prototype","keepLocalTime","oldOffset","utcOffset","toDate","target","format","diff","round","ins","$set","$ms","getTimezoneOffset","newOffset","add","$x","$timezone","offsetName","zone","guess","result","find","m","toLowerCase","oldStartOf","startOf","units","call","withoutTz","startOfWithoutTz","input","arg1","arg2","parseFormat","previousOffset","localTs","_fixOffset","_fixOffset2","_slicedToArray","targetTs","targetOffset","resolvedOptions","setDefault"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"timezonePlugin.js","sources":["../../src/utils/timezonePlugin.js"],"sourcesContent":["/* eslint-disable */\n// Temporary patch file. We can remove this file after the issue is fixed in Day.js.\n// Ref: https://github.com/iamkun/dayjs/pull/2019\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\n// Cache time-zone lookups from Intl.DateTimeFormat,\n// as it is a *very* slow method.\nconst dtfCache = {};\nconst getDateTimeFormat = (timezone, options = {}) => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache[key] = dtf;\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = {};\nconst getLocaleStringifier = timezone => {\n let localeStringifier = localeStringifierCache[timezone];\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache[timezone] = localeStringifier;\n }\n\n return localeStringifier;\n};\n\n \nexport default (o, c, d) => {\n let defaultTimezone;\n\n const makeFormatParts = (timestamp, timezone, options = {}) => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp, timezone) => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n // Workaround for the same behavior in different node version\n // https://github.com/nodejs/node/issues/33027\n /* istanbul ignore next */\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = d.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n // find the right offset a given local time. The o input is our guess, which determines which\n // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\n // https://github.com/moment/luxon/blob/master/src/datetime.js#L76\n const fixOffset = (localTS, o0, tz) => {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o0 * 60 * 1000;\n // Test whether the zone matches the offset for this ts\n const o2 = tzOffset(utcGuess, tz);\n // If so, offset didn't change and we're done\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o0) * 60 * 1000;\n // If that gives us the local time we want, we're done\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time.\n // The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = c.prototype;\n\n \n proto.tz = function (timezone = defaultTimezone, keepLocalTime) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round((date - new Date(target)) / 1000 / 60);\n let ins = d(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(-Math.round(date.getTimezoneOffset() / 15) * 15 - diff, true);\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\");\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type) {\n // type: short(default) / long\n const zone = this.$x.$timezone || d.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(m => m.type.toLowerCase() === \"timezonename\");\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units, startOf) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = d(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return startOfWithoutTz.tz(this.$x.$timezone, true);\n };\n\n d.tz = function (input, arg1, arg2) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(d()), timezone);\n if (typeof input !== \"string\") {\n // timestamp number || js Date || Day.js\n return d(input).tz(timezone);\n }\n const localTs = d.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone\n );\n const ins = d(targetTs).utcOffset(targetOffset);\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n d.tz.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n d.tz.setDefault = function (timezone) {\n defaultTimezone = timezone;\n };\n};\n"],"names":["typeToPos","year","month","day","hour","minute","second","dateTimeFormatDefaults","dtfCache","getDateTimeFormat","timezone","options","arguments","length","undefined","timeZoneName","key","concat","dtf","Intl","DateTimeFormat","_objectSpread","hour12","timeZone","localeStringifierCache","getLocaleStringifier","localeStringifier","o","c","d","defaultTimezone","makeFormatParts","timestamp","date","Date","formatToParts","tzOffset","formatResult","filled","i","_formatResult$i","type","value","pos","parseInt","fixedHour","utcString","utcTs","utc","valueOf","asTS","Number","over","fixOffset","localTS","o0","tz","utcGuess","o2","o3","Math","min","max","proto","prototype","keepLocalTime","oldOffset","utcOffset","toDate","target","format","diff","round","ins","$set","$ms","getTimezoneOffset","newOffset","add","$x","$timezone","offsetName","zone","guess","result","find","m","toLowerCase","oldStartOf","startOf","units","call","withoutTz","startOfWithoutTz","input","arg1","arg2","parseFormat","previousOffset","localTs","_fixOffset","_fixOffset2","_slicedToArray","targetTs","targetOffset","resolvedOptions","setDefault"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "4.13.
|
|
3
|
+
"version": "4.13.69",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
"jest": "27.5.1",
|
|
176
176
|
"js-logger": "1.6.1",
|
|
177
177
|
"linkify-react": "4.1.3",
|
|
178
|
-
"linkifyjs": "4.
|
|
178
|
+
"linkifyjs": "4.3.2",
|
|
179
179
|
"lint-staged": "12.4.1",
|
|
180
180
|
"mixpanel-browser": "^2.50.0",
|
|
181
181
|
"nock": "^13.3.2",
|
|
@@ -206,6 +206,7 @@
|
|
|
206
206
|
"sass": "1.62.0",
|
|
207
207
|
"sass-loader": "^13.0.2",
|
|
208
208
|
"tailwindcss": "^3.4.1",
|
|
209
|
+
"ua-parser-js": "^2.0.3",
|
|
209
210
|
"unified": "11.0.0",
|
|
210
211
|
"util": "^0.12.5",
|
|
211
212
|
"uuid": "10.0.0",
|
|
@@ -252,7 +253,7 @@
|
|
|
252
253
|
"i18next": "22.5.1",
|
|
253
254
|
"js-logger": "1.6.1",
|
|
254
255
|
"linkify-react": "4.1.3",
|
|
255
|
-
"linkifyjs": "4.
|
|
256
|
+
"linkifyjs": "4.3.2",
|
|
256
257
|
"qs": "6.13.0",
|
|
257
258
|
"ramda": "0.29.1",
|
|
258
259
|
"react": "18.2.0",
|
|
@@ -267,6 +268,7 @@
|
|
|
267
268
|
"sass": "1.62.0",
|
|
268
269
|
"shakapacker": "^6.5.5",
|
|
269
270
|
"tailwindcss": "^3.4.1",
|
|
271
|
+
"ua-parser-js": "^2.0.3",
|
|
270
272
|
"util": "^0.12.5",
|
|
271
273
|
"uuid": "10.0.0",
|
|
272
274
|
"vite": "^6.0.3",
|
package/utils.d.ts
CHANGED
|
@@ -680,4 +680,144 @@ export function buildNestedAttributesPayload(modifiedValues: {
|
|
|
680
680
|
* }, []);
|
|
681
681
|
* @endexample
|
|
682
682
|
*/
|
|
683
|
-
export function loadGoogleFonts(fontFamilies: string[]): void;
|
|
683
|
+
export function loadGoogleFonts(fontFamilies: string[]): void;
|
|
684
|
+
|
|
685
|
+
// Device Information Types
|
|
686
|
+
export interface DeviceInformationOptions {
|
|
687
|
+
appType?: string;
|
|
688
|
+
}
|
|
689
|
+
export interface DeviceInfo {
|
|
690
|
+
type: string;
|
|
691
|
+
os: string;
|
|
692
|
+
osVersion: string;
|
|
693
|
+
screen: {
|
|
694
|
+
width: number;
|
|
695
|
+
height: number;
|
|
696
|
+
pixelRatio: number;
|
|
697
|
+
colorDepth: number;
|
|
698
|
+
};
|
|
699
|
+
viewport: {
|
|
700
|
+
width: number;
|
|
701
|
+
height: number;
|
|
702
|
+
};
|
|
703
|
+
memoryGB: number | null;
|
|
704
|
+
}
|
|
705
|
+
export interface BrowserInfo {
|
|
706
|
+
name: string;
|
|
707
|
+
version: string;
|
|
708
|
+
userAgent: string;
|
|
709
|
+
javaScriptEnabled: boolean;
|
|
710
|
+
cookiesEnabled: boolean;
|
|
711
|
+
websockets: boolean;
|
|
712
|
+
webgl: boolean;
|
|
713
|
+
doNotTrack: string | null;
|
|
714
|
+
mimeTypes: string[];
|
|
715
|
+
network: {
|
|
716
|
+
effectiveType: string;
|
|
717
|
+
downlink: number;
|
|
718
|
+
rtt: number;
|
|
719
|
+
saveData: boolean;
|
|
720
|
+
} | null;
|
|
721
|
+
}
|
|
722
|
+
export interface PermissionsInfo {
|
|
723
|
+
microphone: string;
|
|
724
|
+
camera: string;
|
|
725
|
+
geolocation: string;
|
|
726
|
+
notifications: string;
|
|
727
|
+
media: {
|
|
728
|
+
hasMic: boolean | null;
|
|
729
|
+
hasCamera: boolean | null;
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
export interface MetaInfo {
|
|
733
|
+
timezone: string | null;
|
|
734
|
+
referrer: string;
|
|
735
|
+
appType: string;
|
|
736
|
+
}
|
|
737
|
+
export interface DeviceInformationResult {
|
|
738
|
+
device: DeviceInfo;
|
|
739
|
+
browser: BrowserInfo;
|
|
740
|
+
permissions: PermissionsInfo;
|
|
741
|
+
meta: MetaInfo;
|
|
742
|
+
serverDerived: any;
|
|
743
|
+
}
|
|
744
|
+
/**
|
|
745
|
+
*
|
|
746
|
+
* The deviceInformation function collects comprehensive device and browser
|
|
747
|
+
*
|
|
748
|
+
* information including device specifications, browser details, permissions, and
|
|
749
|
+
*
|
|
750
|
+
* network information. This function is useful for analytics, debugging, feature
|
|
751
|
+
*
|
|
752
|
+
* detection, and providing device-specific experiences.
|
|
753
|
+
*
|
|
754
|
+
* A Promise that resolves to an object containing:
|
|
755
|
+
*
|
|
756
|
+
* @example
|
|
757
|
+
*
|
|
758
|
+
* const deviceInfo = await deviceInformation();
|
|
759
|
+
*
|
|
760
|
+
* console.log(deviceInfo.device.type); // "desktop", "mobile", or "tablet"
|
|
761
|
+
* console.log(deviceInfo.browser.name); // "Chrome", "Firefox", "Safari", etc.
|
|
762
|
+
* console.log(deviceInfo.permissions.microphone); // "granted", "denied", "prompt", or "unsupported"
|
|
763
|
+
* @endexample
|
|
764
|
+
* @example
|
|
765
|
+
*
|
|
766
|
+
* {
|
|
767
|
+
* device: {
|
|
768
|
+
* type: "desktop",
|
|
769
|
+
* os: "macOS",
|
|
770
|
+
* osVersion: "13.0",
|
|
771
|
+
* screen: {
|
|
772
|
+
* width: 1920,
|
|
773
|
+
* height: 1080,
|
|
774
|
+
* pixelRatio: 2,
|
|
775
|
+
* colorDepth: 24
|
|
776
|
+
* },
|
|
777
|
+
* viewport: {
|
|
778
|
+
* width: 1440,
|
|
779
|
+
* height: 900
|
|
780
|
+
* },
|
|
781
|
+
* memoryGB: 16
|
|
782
|
+
* },
|
|
783
|
+
* browser: {
|
|
784
|
+
* name: "Chrome",
|
|
785
|
+
* version: "119.0.0.0",
|
|
786
|
+
* userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
|
|
787
|
+
* javaScriptEnabled: true,
|
|
788
|
+
* cookiesEnabled: true,
|
|
789
|
+
* websockets: true,
|
|
790
|
+
* webgl: true,
|
|
791
|
+
* doNotTrack: null,
|
|
792
|
+
* mimeTypes: ["text/html", "text/plain", ...],
|
|
793
|
+
* network: {
|
|
794
|
+
* effectiveType: "4g",
|
|
795
|
+
* downlink: 10,
|
|
796
|
+
* rtt: 50,
|
|
797
|
+
* saveData: false
|
|
798
|
+
* }
|
|
799
|
+
* },
|
|
800
|
+
* permissions: {
|
|
801
|
+
* microphone: "prompt",
|
|
802
|
+
* camera: "denied",
|
|
803
|
+
* geolocation: "granted",
|
|
804
|
+
* notifications: "unsupported",
|
|
805
|
+
* media: {
|
|
806
|
+
* hasMic: true,
|
|
807
|
+
* hasCamera: true
|
|
808
|
+
* }
|
|
809
|
+
* },
|
|
810
|
+
* meta: {
|
|
811
|
+
* timezone: "America/New_York",
|
|
812
|
+
* referrer: "https://example.com"
|
|
813
|
+
* },
|
|
814
|
+
* serverDerived: {
|
|
815
|
+
* country: "US",
|
|
816
|
+
* region: "California",
|
|
817
|
+
* city: "San Francisco"
|
|
818
|
+
* }
|
|
819
|
+
* }
|
|
820
|
+
* @endexample
|
|
821
|
+
*/
|
|
822
|
+
export function deviceInformation(options?: DeviceInformationOptions): Promise<DeviceInformationResult>;
|
|
823
|
+
export function getAppType(): "extension" | "desktop" | "mobile" | "web";
|