@ohbug/extension-uuid 2.0.0 → 2.0.3
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.d.ts +15 -15
- package/dist/index.js +1 -102
- package/dist/index.mjs +1 -78
- package/package.json +4 -5
- package/src/cookie.ts +0 -60
- package/src/extension.ts +0 -11
- package/src/index.ts +0 -3
- package/src/uuid.ts +0 -24
package/dist/index.d.ts
CHANGED
|
@@ -19,14 +19,14 @@ type OhbugGetDevice = (client?: OhbugClient) => OhbugDevice
|
|
|
19
19
|
|
|
20
20
|
interface OhbugUser {
|
|
21
21
|
uuid?: string
|
|
22
|
-
|
|
22
|
+
ipAddress?: string
|
|
23
23
|
id?: number | string
|
|
24
24
|
name?: string
|
|
25
25
|
email?: string
|
|
26
26
|
[key: string]: any
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
type
|
|
29
|
+
type OhbugMetadata = Record<string, any>
|
|
30
30
|
|
|
31
31
|
type OhbugReleaseStage = 'development' | 'production' | string
|
|
32
32
|
type OhbugCategory =
|
|
@@ -55,7 +55,7 @@ interface OhbugEvent<D> {
|
|
|
55
55
|
device: OhbugDevice
|
|
56
56
|
user?: OhbugUser
|
|
57
57
|
actions?: OhbugAction[]
|
|
58
|
-
|
|
58
|
+
metadata?: OhbugMetadata
|
|
59
59
|
}
|
|
60
60
|
interface OhbugEventWithMethods<D> extends OhbugEvent<D> {
|
|
61
61
|
addAction: (
|
|
@@ -66,9 +66,9 @@ interface OhbugEventWithMethods<D> extends OhbugEvent<D> {
|
|
|
66
66
|
) => void
|
|
67
67
|
getUser: () => OhbugUser | undefined
|
|
68
68
|
setUser: (user: OhbugUser) => OhbugUser | undefined
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
addMetadata: (section: string, data: any) => any
|
|
70
|
+
getMetadata: (section: string) => any
|
|
71
|
+
deleteMetadata: (section: string) => any
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
interface OhbugCreateEvent<D> {
|
|
@@ -80,11 +80,11 @@ interface OhbugCreateEvent<D> {
|
|
|
80
80
|
interface OhbugExtension {
|
|
81
81
|
name: string
|
|
82
82
|
setup?: (client: OhbugClient, ...args: any[]) => void
|
|
83
|
-
|
|
83
|
+
onEvent?: <D = any>(
|
|
84
84
|
event: OhbugEventWithMethods<D>,
|
|
85
85
|
client: OhbugClient
|
|
86
86
|
) => OhbugEventWithMethods<D> | null
|
|
87
|
-
|
|
87
|
+
onNotify?: <D = any>(
|
|
88
88
|
event: OhbugEventWithMethods<D>,
|
|
89
89
|
client: OhbugClient
|
|
90
90
|
) => void
|
|
@@ -106,17 +106,17 @@ interface OhbugConfig {
|
|
|
106
106
|
endpoint?: string
|
|
107
107
|
maxActions?: number
|
|
108
108
|
// hooks
|
|
109
|
-
|
|
109
|
+
onEvent?: <D = any>(
|
|
110
110
|
event: OhbugEventWithMethods<D>,
|
|
111
111
|
client: OhbugClient
|
|
112
112
|
) => OhbugEventWithMethods<D> | null
|
|
113
|
-
|
|
113
|
+
onNotify?: <D = any>(
|
|
114
114
|
event: OhbugEventWithMethods<D>,
|
|
115
115
|
client: OhbugClient
|
|
116
116
|
) => void
|
|
117
117
|
// data
|
|
118
118
|
user?: OhbugUser
|
|
119
|
-
|
|
119
|
+
metadata?: OhbugMetadata
|
|
120
120
|
// utils
|
|
121
121
|
logger?: OhbugLoggerConfig
|
|
122
122
|
}
|
|
@@ -136,7 +136,7 @@ interface OhbugClient {
|
|
|
136
136
|
|
|
137
137
|
readonly __actions: OhbugAction[]
|
|
138
138
|
__user: OhbugUser
|
|
139
|
-
readonly
|
|
139
|
+
readonly __metadata: OhbugMetadata
|
|
140
140
|
|
|
141
141
|
use: (extension: OhbugExtension) => OhbugClient
|
|
142
142
|
createEvent: <D = any>(
|
|
@@ -156,9 +156,9 @@ interface OhbugClient {
|
|
|
156
156
|
) => void
|
|
157
157
|
getUser: () => OhbugUser | undefined
|
|
158
158
|
setUser: (user: OhbugUser) => OhbugUser | undefined
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
addMetadata: (section: string, data: any) => any
|
|
160
|
+
getMetadata: (section: string) => any
|
|
161
|
+
deleteMetadata: (section: string) => any
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
declare const extension: OhbugExtension;
|
package/dist/index.js
CHANGED
|
@@ -1,102 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key2 of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key2) && key2 !== except)
|
|
13
|
-
__defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
|
|
19
|
-
// src/index.ts
|
|
20
|
-
var src_exports = {};
|
|
21
|
-
__export(src_exports, {
|
|
22
|
-
default: () => src_default
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(src_exports);
|
|
25
|
-
|
|
26
|
-
// src/extension.ts
|
|
27
|
-
var import_core = require("@ohbug/core");
|
|
28
|
-
|
|
29
|
-
// src/uuid.ts
|
|
30
|
-
var import_uuid = require("uuid");
|
|
31
|
-
var import_utils = require("@ohbug/utils");
|
|
32
|
-
|
|
33
|
-
// src/cookie.ts
|
|
34
|
-
var docCookies = {
|
|
35
|
-
getItem(sKey) {
|
|
36
|
-
return decodeURIComponent(document.cookie.replace(new RegExp(`(?:(?:^|.*;)\\s*${encodeURIComponent(sKey).replace(/[-.+*]/g, "\\$&")}\\s*\\=\\s*([^;]*).*$)|^.*$`), "$1")) || null;
|
|
37
|
-
},
|
|
38
|
-
setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {
|
|
39
|
-
if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey))
|
|
40
|
-
return false;
|
|
41
|
-
let sExpires = "";
|
|
42
|
-
if (vEnd) {
|
|
43
|
-
switch (vEnd.constructor) {
|
|
44
|
-
case Number:
|
|
45
|
-
sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : `; max-age=${vEnd}`;
|
|
46
|
-
break;
|
|
47
|
-
case String:
|
|
48
|
-
sExpires = `; expires=${vEnd}`;
|
|
49
|
-
break;
|
|
50
|
-
case Date:
|
|
51
|
-
sExpires = `; expires=${vEnd.toUTCString()}`;
|
|
52
|
-
break;
|
|
53
|
-
default:
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
const value = `${encodeURIComponent(sKey)}=${encodeURIComponent(sValue)}${sExpires}${sDomain ? `; domain=${sDomain}` : ""}${sPath ? `; path=${sPath}` : ""}${bSecure ? "; secure" : ""}`;
|
|
58
|
-
document.cookie = value;
|
|
59
|
-
return value;
|
|
60
|
-
},
|
|
61
|
-
removeItem(sKey, sPath, sDomain) {
|
|
62
|
-
if (!sKey || !this.getItem(sKey))
|
|
63
|
-
return false;
|
|
64
|
-
document.cookie = `${encodeURIComponent(sKey)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${sDomain ? `; domain=${sDomain}` : ""}${sPath ? `; path=${sPath}` : ""}`;
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// src/uuid.ts
|
|
70
|
-
var key = "OhbugUUID";
|
|
71
|
-
function getUUID() {
|
|
72
|
-
if ((0, import_utils.isBrowser)()) {
|
|
73
|
-
const UUID = docCookies.getItem(key);
|
|
74
|
-
if (!UUID) {
|
|
75
|
-
const extraTime = 60 * 30 * 24 * 3600 * 1e3;
|
|
76
|
-
const endTime = new Date();
|
|
77
|
-
endTime.setTime(endTime.getTime() + extraTime);
|
|
78
|
-
const uuid = (0, import_uuid.v4)();
|
|
79
|
-
docCookies.setItem(key, uuid, endTime);
|
|
80
|
-
return uuid;
|
|
81
|
-
}
|
|
82
|
-
return UUID;
|
|
83
|
-
}
|
|
84
|
-
if ((0, import_utils.isNode)())
|
|
85
|
-
return (0, import_uuid.v4)();
|
|
86
|
-
return "";
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// src/extension.ts
|
|
90
|
-
var extension = (0, import_core.defineExtension)({
|
|
91
|
-
name: "OhbugExtensionUUID",
|
|
92
|
-
created: (event) => {
|
|
93
|
-
const uuid = getUUID();
|
|
94
|
-
event.setUser({ uuid });
|
|
95
|
-
return event;
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
// src/index.ts
|
|
100
|
-
var src_default = extension;
|
|
101
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
102
|
-
0 && (module.exports = {});
|
|
1
|
+
var m=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var k=(e,r)=>{for(var t in r)m(e,t,{get:r[t],enumerable:!0})},b=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of U(r))!l.call(e,o)&&o!==t&&m(e,o,{get:()=>r[o],enumerable:!(n=I(r,o))||n.enumerable});return e};var T=e=>b(m({},"__esModule",{value:!0}),e);var D={};k(D,{default:()=>C});module.exports=T(D);var f=require("@ohbug/core");var a=require("uuid"),s=require("@ohbug/utils");var u={getItem(e){return decodeURIComponent(document.cookie.replace(new RegExp(`(?:(?:^|.*;)\\s*${encodeURIComponent(e).replace(/[-.+*]/g,"\\$&")}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1"))||null},setItem(e,r,t,n,o,d){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;let i="";if(t)switch(t.constructor){case Number:i=t===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":`; max-age=${t}`;break;case String:i=`; expires=${t}`;break;case Date:i=`; expires=${t.toUTCString()}`;break;default:break}let p=`${encodeURIComponent(e)}=${encodeURIComponent(r)}${i}${o?`; domain=${o}`:""}${n?`; path=${n}`:""}${d?"; secure":""}`;return document.cookie=p,p},removeItem(e,r,t){return!e||!this.getItem(e)?!1:(document.cookie=`${encodeURIComponent(e)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${t?`; domain=${t}`:""}${r?`; path=${r}`:""}`,!0)}};var g="OhbugUUID";function $(){if((0,s.isBrowser)()){let e=u.getItem(g);if(!e){let t=new Date;t.setTime(t.getTime()+15552e7);let n=(0,a.v4)();return u.setItem(g,n,t),n}return e}return(0,s.isNode)()?(0,a.v4)():""}var x=(0,f.defineExtension)({name:"OhbugExtensionUUID",onEvent:e=>{let r=$();return e.setUser({uuid:r}),e}});var C=x;0&&(module.exports={});
|
package/dist/index.mjs
CHANGED
|
@@ -1,78 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { defineExtension } from "@ohbug/core";
|
|
3
|
-
|
|
4
|
-
// src/uuid.ts
|
|
5
|
-
import { v4 as uuidv4 } from "uuid";
|
|
6
|
-
import { isBrowser, isNode } from "@ohbug/utils";
|
|
7
|
-
|
|
8
|
-
// src/cookie.ts
|
|
9
|
-
var docCookies = {
|
|
10
|
-
getItem(sKey) {
|
|
11
|
-
return decodeURIComponent(document.cookie.replace(new RegExp(`(?:(?:^|.*;)\\s*${encodeURIComponent(sKey).replace(/[-.+*]/g, "\\$&")}\\s*\\=\\s*([^;]*).*$)|^.*$`), "$1")) || null;
|
|
12
|
-
},
|
|
13
|
-
setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {
|
|
14
|
-
if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey))
|
|
15
|
-
return false;
|
|
16
|
-
let sExpires = "";
|
|
17
|
-
if (vEnd) {
|
|
18
|
-
switch (vEnd.constructor) {
|
|
19
|
-
case Number:
|
|
20
|
-
sExpires = vEnd === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : `; max-age=${vEnd}`;
|
|
21
|
-
break;
|
|
22
|
-
case String:
|
|
23
|
-
sExpires = `; expires=${vEnd}`;
|
|
24
|
-
break;
|
|
25
|
-
case Date:
|
|
26
|
-
sExpires = `; expires=${vEnd.toUTCString()}`;
|
|
27
|
-
break;
|
|
28
|
-
default:
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
const value = `${encodeURIComponent(sKey)}=${encodeURIComponent(sValue)}${sExpires}${sDomain ? `; domain=${sDomain}` : ""}${sPath ? `; path=${sPath}` : ""}${bSecure ? "; secure" : ""}`;
|
|
33
|
-
document.cookie = value;
|
|
34
|
-
return value;
|
|
35
|
-
},
|
|
36
|
-
removeItem(sKey, sPath, sDomain) {
|
|
37
|
-
if (!sKey || !this.getItem(sKey))
|
|
38
|
-
return false;
|
|
39
|
-
document.cookie = `${encodeURIComponent(sKey)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${sDomain ? `; domain=${sDomain}` : ""}${sPath ? `; path=${sPath}` : ""}`;
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
// src/uuid.ts
|
|
45
|
-
var key = "OhbugUUID";
|
|
46
|
-
function getUUID() {
|
|
47
|
-
if (isBrowser()) {
|
|
48
|
-
const UUID = docCookies.getItem(key);
|
|
49
|
-
if (!UUID) {
|
|
50
|
-
const extraTime = 60 * 30 * 24 * 3600 * 1e3;
|
|
51
|
-
const endTime = new Date();
|
|
52
|
-
endTime.setTime(endTime.getTime() + extraTime);
|
|
53
|
-
const uuid = uuidv4();
|
|
54
|
-
docCookies.setItem(key, uuid, endTime);
|
|
55
|
-
return uuid;
|
|
56
|
-
}
|
|
57
|
-
return UUID;
|
|
58
|
-
}
|
|
59
|
-
if (isNode())
|
|
60
|
-
return uuidv4();
|
|
61
|
-
return "";
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// src/extension.ts
|
|
65
|
-
var extension = defineExtension({
|
|
66
|
-
name: "OhbugExtensionUUID",
|
|
67
|
-
created: (event) => {
|
|
68
|
-
const uuid = getUUID();
|
|
69
|
-
event.setUser({ uuid });
|
|
70
|
-
return event;
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
// src/index.ts
|
|
75
|
-
var src_default = extension;
|
|
76
|
-
export {
|
|
77
|
-
src_default as default
|
|
78
|
-
};
|
|
1
|
+
import{defineExtension as I}from"@ohbug/core";import{v4 as a}from"uuid";import{isBrowser as x,isNode as d}from"@ohbug/utils";var m={getItem(e){return decodeURIComponent(document.cookie.replace(new RegExp(`(?:(?:^|.*;)\\s*${encodeURIComponent(e).replace(/[-.+*]/g,"\\$&")}\\s*\\=\\s*([^;]*).*$)|^.*$`),"$1"))||null},setItem(e,r,t,n,c,f){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;let o="";if(t)switch(t.constructor){case Number:o=t===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":`; max-age=${t}`;break;case String:o=`; expires=${t}`;break;case Date:o=`; expires=${t.toUTCString()}`;break;default:break}let u=`${encodeURIComponent(e)}=${encodeURIComponent(r)}${o}${c?`; domain=${c}`:""}${n?`; path=${n}`:""}${f?"; secure":""}`;return document.cookie=u,u},removeItem(e,r,t){return!e||!this.getItem(e)?!1:(document.cookie=`${encodeURIComponent(e)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${t?`; domain=${t}`:""}${r?`; path=${r}`:""}`,!0)}};var p="OhbugUUID";function g(){if(x()){let e=m.getItem(p);if(!e){let t=new Date;t.setTime(t.getTime()+15552e7);let n=a();return m.setItem(p,n,t),n}return e}return d()?a():""}var $=I({name:"OhbugExtensionUUID",onEvent:e=>{let r=g();return e.setUser({uuid:r}),e}});var w=$;export{w as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ohbug/extension-uuid",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"description": "Ohbug extension to add uuid",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "chenyueban <jasonchan0527@gmail.com>",
|
|
@@ -23,13 +23,12 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
|
-
"dist"
|
|
27
|
-
"src"
|
|
26
|
+
"dist"
|
|
28
27
|
],
|
|
29
28
|
"sideEffects": false,
|
|
30
29
|
"dependencies": {
|
|
31
|
-
"@ohbug/core": "2.0.
|
|
32
|
-
"@ohbug/utils": "2.0.
|
|
30
|
+
"@ohbug/core": "2.0.3",
|
|
31
|
+
"@ohbug/utils": "2.0.3",
|
|
33
32
|
"uuid": "^8.3.2"
|
|
34
33
|
},
|
|
35
34
|
"devDependencies": {
|
package/src/cookie.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
// https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie
|
|
2
|
-
export const docCookies = {
|
|
3
|
-
getItem(sKey: string): string | null {
|
|
4
|
-
return (
|
|
5
|
-
decodeURIComponent(document.cookie.replace(
|
|
6
|
-
new RegExp(`(?:(?:^|.*;)\\s*${encodeURIComponent(sKey).replace(
|
|
7
|
-
/[-.+*]/g,
|
|
8
|
-
'\\$&',
|
|
9
|
-
)}\\s*\\=\\s*([^;]*).*$)|^.*$`),
|
|
10
|
-
'$1',
|
|
11
|
-
)) || null
|
|
12
|
-
)
|
|
13
|
-
},
|
|
14
|
-
setItem(
|
|
15
|
-
sKey: string,
|
|
16
|
-
sValue: string,
|
|
17
|
-
vEnd?: number | string | Date,
|
|
18
|
-
sPath?: string,
|
|
19
|
-
sDomain?: string,
|
|
20
|
-
bSecure?: boolean,
|
|
21
|
-
): string | false {
|
|
22
|
-
if (!sKey || /^(?:expires|max\-age|path|domain|secure)$/i.test(sKey))
|
|
23
|
-
return false
|
|
24
|
-
|
|
25
|
-
let sExpires = ''
|
|
26
|
-
if (vEnd) {
|
|
27
|
-
switch (vEnd.constructor) {
|
|
28
|
-
case Number:
|
|
29
|
-
sExpires
|
|
30
|
-
= vEnd === Infinity
|
|
31
|
-
? '; expires=Fri, 31 Dec 9999 23:59:59 GMT'
|
|
32
|
-
: `; max-age=${vEnd}`
|
|
33
|
-
break
|
|
34
|
-
case String:
|
|
35
|
-
sExpires = `; expires=${vEnd}`
|
|
36
|
-
break
|
|
37
|
-
case Date:
|
|
38
|
-
sExpires = `; expires=${(vEnd as Date).toUTCString()}`
|
|
39
|
-
break
|
|
40
|
-
default:
|
|
41
|
-
break
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const value = `${encodeURIComponent(sKey)}=${encodeURIComponent(sValue)}${sExpires}${sDomain ? `; domain=${sDomain}` : ''}${
|
|
45
|
-
sPath ? `; path=${sPath}` : ''
|
|
46
|
-
}${bSecure ? '; secure' : ''}`
|
|
47
|
-
document.cookie = value
|
|
48
|
-
|
|
49
|
-
return value
|
|
50
|
-
},
|
|
51
|
-
removeItem(sKey: string, sPath?: string, sDomain?: string) {
|
|
52
|
-
if (!sKey || !this.getItem(sKey))
|
|
53
|
-
return false
|
|
54
|
-
|
|
55
|
-
document.cookie = `${encodeURIComponent(sKey)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${
|
|
56
|
-
sDomain ? `; domain=${sDomain}` : ''
|
|
57
|
-
}${sPath ? `; path=${sPath}` : ''}`
|
|
58
|
-
return true
|
|
59
|
-
},
|
|
60
|
-
}
|
package/src/extension.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { defineExtension } from '@ohbug/core'
|
|
2
|
-
import { getUUID } from './uuid'
|
|
3
|
-
|
|
4
|
-
export const extension = defineExtension({
|
|
5
|
-
name: 'OhbugExtensionUUID',
|
|
6
|
-
created: (event) => {
|
|
7
|
-
const uuid = getUUID()
|
|
8
|
-
event.setUser({ uuid })
|
|
9
|
-
return event
|
|
10
|
-
},
|
|
11
|
-
})
|
package/src/index.ts
DELETED
package/src/uuid.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { v4 as uuidv4 } from 'uuid'
|
|
2
|
-
import { isBrowser, isNode } from '@ohbug/utils'
|
|
3
|
-
import { docCookies } from './cookie'
|
|
4
|
-
|
|
5
|
-
const key = 'OhbugUUID'
|
|
6
|
-
|
|
7
|
-
export function getUUID(): string {
|
|
8
|
-
if (isBrowser()) {
|
|
9
|
-
const UUID = docCookies.getItem(key)
|
|
10
|
-
if (!UUID) {
|
|
11
|
-
const extraTime = 60 * 30 * 24 * 3600 * 1000 // 30天后过期
|
|
12
|
-
const endTime = new Date()
|
|
13
|
-
endTime.setTime(endTime.getTime() + extraTime)
|
|
14
|
-
const uuid = uuidv4()
|
|
15
|
-
docCookies.setItem(key, uuid, endTime)
|
|
16
|
-
return uuid
|
|
17
|
-
}
|
|
18
|
-
return UUID
|
|
19
|
-
}
|
|
20
|
-
if (isNode())
|
|
21
|
-
return uuidv4()
|
|
22
|
-
|
|
23
|
-
return ''
|
|
24
|
-
}
|