@inzombieland/core 1.18.2 → 1.18.4
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/api-client.mjs +4 -6
- package/comet-client.mjs +1 -1
- package/composables/index.d.ts +7 -0
- package/composables/index.mjs +7 -0
- package/composables/use-visitor.d.ts +12 -0
- package/composables/use-visitor.mjs +5 -0
- package/get-user.mjs +1 -2
- package/get-visitor.d.ts +1 -3
- package/get-visitor.mjs +5 -9
- package/helpers/index.d.ts +2 -0
- package/helpers/index.mjs +2 -0
- package/helpers/phone-helper.d.ts +13 -0
- package/helpers/phone-helper.mjs +58 -0
- package/helpers/string-helper.d.ts +4 -0
- package/helpers/string-helper.mjs +8 -0
- package/index.d.ts +6 -11
- package/index.mjs +3 -7
- package/init-application.mjs +4 -5
- package/package.json +1 -1
- package/user-actions.mjs +1 -1
package/api-client.mjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import bus from "./bus.mjs";
|
|
2
|
-
import { useApiActions } from "./composables/
|
|
3
|
-
import { useUser } from "./composables/use-user.mjs";
|
|
4
|
-
import { getVisitor } from "./get-visitor.mjs";
|
|
2
|
+
import { useApiActions, useUser, useVisitor } from "./composables/index.mjs";
|
|
5
3
|
import { apiHelper, once } from "./helpers/index.mjs";
|
|
6
4
|
let token = null;
|
|
7
5
|
export const setUser = (newUser) => {
|
|
@@ -93,9 +91,9 @@ const optionsHandler = (options = {}, config) => {
|
|
|
93
91
|
visitor.hostname = location.hostname;
|
|
94
92
|
}
|
|
95
93
|
const { platform, hostname } = visitor;
|
|
96
|
-
const visitorIdentifier =
|
|
97
|
-
if (visitorIdentifier) {
|
|
98
|
-
const { id, ip, device, appName } = visitorIdentifier;
|
|
94
|
+
const visitorIdentifier = useVisitor();
|
|
95
|
+
if (visitorIdentifier.value) {
|
|
96
|
+
const { id, ip, device, appName } = visitorIdentifier.value;
|
|
99
97
|
headers.visitor = btoa(`${platform}|:|${hostname}|:|${id}|:|${ip}|:|${device}|:|${appName}`);
|
|
100
98
|
} else {
|
|
101
99
|
headers.visitor = btoa(`${platform}|:|${hostname}`);
|
package/comet-client.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Centrifuge } from "centrifuge";
|
|
2
2
|
import { getToken } from "./api-client.mjs";
|
|
3
3
|
import bus from "./bus.mjs";
|
|
4
|
-
import { useApiActions } from "./composables/
|
|
4
|
+
import { useApiActions } from "./composables/index.mjs";
|
|
5
5
|
import { apiHelper } from "./helpers/index.mjs";
|
|
6
6
|
if (typeof window !== "undefined" && import.meta.env.MODE !== "production") {
|
|
7
7
|
window.wsPublish = (eventName, data) => {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { useActiveSessions } from "./use-active-sessions";
|
|
2
|
+
export { useApiActions } from "./use-api-actions";
|
|
3
|
+
export { useAppLocale } from "./use-app-locale";
|
|
4
|
+
export { useSubscribe } from "./use-subscribe";
|
|
5
|
+
export { useThemeMode } from "./use-theme-mode";
|
|
6
|
+
export { useUser } from "./use-user";
|
|
7
|
+
export { useVisitor } from "./use-visitor";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { useActiveSessions } from "./use-active-sessions.mjs";
|
|
2
|
+
export { useApiActions } from "./use-api-actions.mjs";
|
|
3
|
+
export { useAppLocale } from "./use-app-locale.mjs";
|
|
4
|
+
export { useSubscribe } from "./use-subscribe.mjs";
|
|
5
|
+
export { useThemeMode } from "./use-theme-mode.mjs";
|
|
6
|
+
export { useUser } from "./use-user.mjs";
|
|
7
|
+
export { useVisitor } from "./use-visitor.mjs";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Visitor } from "../types";
|
|
2
|
+
export declare function useVisitor(): import("vue").Ref<{
|
|
3
|
+
id?: string | undefined;
|
|
4
|
+
ip?: string | undefined;
|
|
5
|
+
device?: string | undefined;
|
|
6
|
+
appName?: string | undefined;
|
|
7
|
+
} | null | undefined, Visitor | {
|
|
8
|
+
id?: string | undefined;
|
|
9
|
+
ip?: string | undefined;
|
|
10
|
+
device?: string | undefined;
|
|
11
|
+
appName?: string | undefined;
|
|
12
|
+
} | null | undefined>;
|
package/get-user.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { useLocalStorage } from "@vueuse/core";
|
|
2
2
|
import { flush, getToken, setUser } from "./api-client.mjs";
|
|
3
|
-
import { useApiActions } from "./composables/
|
|
4
|
-
import { useUser } from "./composables/use-user.mjs";
|
|
3
|
+
import { useApiActions, useUser } from "./composables/index.mjs";
|
|
5
4
|
import { createSingletonAsync, once } from "./helpers/index.mjs";
|
|
6
5
|
async function getUserRequest(fetch, config) {
|
|
7
6
|
const token = getToken();
|
package/get-visitor.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import type { FetchConfig
|
|
2
|
-
export declare const getVisitorId: () => string | undefined;
|
|
3
|
-
export declare const getVisitor: () => Visitor | null;
|
|
1
|
+
import type { FetchConfig } from "./types";
|
|
4
2
|
export declare const createApiGetVisitorIdentifier: (config: FetchConfig) => () => Promise<void>;
|
package/get-visitor.mjs
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { hashComponents, load } from "@fingerprintjs/fingerprintjs";
|
|
2
2
|
import { ofetch } from "ofetch";
|
|
3
|
+
import { useVisitor } from "./composables/index.mjs";
|
|
3
4
|
import { createSingletonAsync, once } from "./helpers/index.mjs";
|
|
4
|
-
let visitor = null;
|
|
5
|
-
export const getVisitorId = () => {
|
|
6
|
-
return visitor?.id;
|
|
7
|
-
};
|
|
8
|
-
export const getVisitor = () => {
|
|
9
|
-
return visitor;
|
|
10
|
-
};
|
|
11
5
|
const setVisitor = (newVisitor) => {
|
|
12
|
-
visitor =
|
|
6
|
+
const visitor = useVisitor();
|
|
7
|
+
visitor.value = !visitor.value ? newVisitor : { ...visitor.value, ...newVisitor };
|
|
13
8
|
};
|
|
14
9
|
const getVisitorRequest = async (config) => {
|
|
15
|
-
|
|
10
|
+
const visitor = useVisitor();
|
|
11
|
+
if (typeof window === "undefined" || visitor.value) {
|
|
16
12
|
return;
|
|
17
13
|
}
|
|
18
14
|
const fp = await load();
|
package/helpers/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { apiHelper } from "./api-helper";
|
|
2
2
|
export { dateHelper } from "./date-helper";
|
|
3
|
+
export { phoneHelper } from "./phone-helper";
|
|
4
|
+
export { stringHelper } from "./string-helper";
|
|
3
5
|
export { deviceHelper, type Device } from "./device-helper";
|
|
4
6
|
export declare function once<T extends (...args: any[]) => any>(fn: T): T;
|
|
5
7
|
export declare function createSingletonAsync<T, Args extends unknown[]>(fn: (...args: Args) => Promise<T>): (...args: Args) => Promise<T>;
|
package/helpers/index.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { apiHelper } from "./api-helper.mjs";
|
|
2
2
|
export { dateHelper } from "./date-helper.mjs";
|
|
3
|
+
export { phoneHelper } from "./phone-helper.mjs";
|
|
4
|
+
export { stringHelper } from "./string-helper.mjs";
|
|
3
5
|
export { deviceHelper } from "./device-helper.mjs";
|
|
4
6
|
export function once(fn) {
|
|
5
7
|
let executed = false;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function getPlainPhoneNumber(value: string): string;
|
|
2
|
+
/**
|
|
3
|
+
* Преобразование номера телефона в формат: +7 (987) 777-88-99
|
|
4
|
+
* @param value - номер телефона
|
|
5
|
+
* @param addLastSymbol -
|
|
6
|
+
*/
|
|
7
|
+
export declare function convertToPhone(value: string, addLastSymbol?: boolean): string;
|
|
8
|
+
export declare function maskPhone(phone?: string): string;
|
|
9
|
+
export declare const phoneHelper: {
|
|
10
|
+
getPlainPhoneNumber: typeof getPlainPhoneNumber;
|
|
11
|
+
convertToPhone: typeof convertToPhone;
|
|
12
|
+
maskPhone: typeof maskPhone;
|
|
13
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function getPlainPhoneNumber(value) {
|
|
2
|
+
const symbol = "+ ";
|
|
3
|
+
const tempNumber = value.replace(symbol, "").replace(symbol.trim(), "");
|
|
4
|
+
return tempNumber.replaceAll(/\D+/g, "");
|
|
5
|
+
}
|
|
6
|
+
export function convertToPhone(value, addLastSymbol = true) {
|
|
7
|
+
const plainNumber = getPlainPhoneNumber(value);
|
|
8
|
+
if (plainNumber.length === 0) {
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
const mask = getCountryMask(plainNumber);
|
|
12
|
+
return getFormattedByMask(plainNumber, mask, addLastSymbol);
|
|
13
|
+
}
|
|
14
|
+
function getCountryMask(value = "") {
|
|
15
|
+
if (value.length === 0) {
|
|
16
|
+
return "";
|
|
17
|
+
}
|
|
18
|
+
if (value.startsWith("7")) {
|
|
19
|
+
return "+# (###) ###-##-###########";
|
|
20
|
+
}
|
|
21
|
+
if (value.startsWith("8")) {
|
|
22
|
+
return "# (###) ###-##-###########";
|
|
23
|
+
}
|
|
24
|
+
if (value.startsWith("1")) {
|
|
25
|
+
return "+# ### ### ## ###########";
|
|
26
|
+
}
|
|
27
|
+
if (value.startsWith("375")) {
|
|
28
|
+
return "+### ## ### ## ##########";
|
|
29
|
+
}
|
|
30
|
+
if (value.startsWith("380")) {
|
|
31
|
+
return "+### ## ### ## ##########";
|
|
32
|
+
}
|
|
33
|
+
return "+####################";
|
|
34
|
+
}
|
|
35
|
+
function getFormattedByMask(plainNumber, mask, addLastSymbol) {
|
|
36
|
+
let number = "";
|
|
37
|
+
let symbolIterator = 0;
|
|
38
|
+
[...mask].forEach((value) => {
|
|
39
|
+
if (plainNumber.length >= symbolIterator) {
|
|
40
|
+
if (value === "#") {
|
|
41
|
+
if (plainNumber.length > symbolIterator) {
|
|
42
|
+
number += plainNumber[symbolIterator];
|
|
43
|
+
}
|
|
44
|
+
symbolIterator++;
|
|
45
|
+
} else {
|
|
46
|
+
const notPasteSymbol = symbolIterator === plainNumber.length && !addLastSymbol;
|
|
47
|
+
if (!notPasteSymbol) {
|
|
48
|
+
number += value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return number;
|
|
54
|
+
}
|
|
55
|
+
export function maskPhone(phone = "") {
|
|
56
|
+
return `+${phone.slice(0, 1)} *****${phone.slice(-4)}`;
|
|
57
|
+
}
|
|
58
|
+
export const phoneHelper = { getPlainPhoneNumber, convertToPhone, maskPhone };
|
package/index.d.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { type Ref } from "vue";
|
|
2
|
-
import type {
|
|
3
|
-
export type { ActiveSession, Fetch, FetchConfig, User, Visitor };
|
|
2
|
+
import type { Fetch, FetchConfig } from "./types";
|
|
4
3
|
export { default as AppProvider } from "./AppProvider.vue";
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export { useActiveSessions } from "./composables/use-active-sessions";
|
|
8
|
-
export { useThemeMode } from "./composables/use-theme-mode";
|
|
9
|
-
export { useAppLocale } from "./composables/use-app-locale";
|
|
10
|
-
export { getVisitor, getVisitorId } from "./get-visitor";
|
|
4
|
+
export * from "./composables";
|
|
5
|
+
export * from "./types";
|
|
11
6
|
export declare function initApiFetch($fetch: Fetch, config: FetchConfig): {
|
|
12
7
|
fetch: Fetch;
|
|
13
8
|
getUser: () => Promise<import("./types").GetUserResponse>;
|
|
@@ -22,7 +17,7 @@ export declare function initApiFetch($fetch: Fetch, config: FetchConfig): {
|
|
|
22
17
|
}>;
|
|
23
18
|
logout: () => Promise<void>;
|
|
24
19
|
fetchActiveSessions: () => Promise<{
|
|
25
|
-
sessions: ActiveSession[];
|
|
20
|
+
sessions: import("./types").ActiveSession[];
|
|
26
21
|
}>;
|
|
27
22
|
};
|
|
28
23
|
};
|
|
@@ -36,7 +31,7 @@ export declare const useUserActions: () => Ref<{
|
|
|
36
31
|
}>;
|
|
37
32
|
logout: () => Promise<void>;
|
|
38
33
|
fetchActiveSessions: () => Promise<{
|
|
39
|
-
sessions: ActiveSession[];
|
|
34
|
+
sessions: import("./types").ActiveSession[];
|
|
40
35
|
}>;
|
|
41
36
|
}, {
|
|
42
37
|
signIn: (body: {
|
|
@@ -48,6 +43,6 @@ export declare const useUserActions: () => Ref<{
|
|
|
48
43
|
}>;
|
|
49
44
|
logout: () => Promise<void>;
|
|
50
45
|
fetchActiveSessions: () => Promise<{
|
|
51
|
-
sessions: ActiveSession[];
|
|
46
|
+
sessions: import("./types").ActiveSession[];
|
|
52
47
|
}>;
|
|
53
48
|
}> | undefined;
|
package/index.mjs
CHANGED
|
@@ -3,19 +3,15 @@ import { ref } from "vue";
|
|
|
3
3
|
import { createApiFetch } from "./api-client.mjs";
|
|
4
4
|
import bus from "./bus.mjs";
|
|
5
5
|
import { newCometClient } from "./comet-client.mjs";
|
|
6
|
-
import { useApiActions } from "./composables/
|
|
6
|
+
import { useApiActions } from "./composables/index.mjs";
|
|
7
7
|
import { createApiGetUser } from "./get-user.mjs";
|
|
8
8
|
import { createApiGetVisitorIdentifier } from "./get-visitor.mjs";
|
|
9
9
|
import { createInitApplication } from "./init-application.mjs";
|
|
10
10
|
import { createApiRefreshToken } from "./refresh-token.mjs";
|
|
11
11
|
import { createApiUserActions } from "./user-actions.mjs";
|
|
12
12
|
export { default as AppProvider } from "./AppProvider.vue";
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export { useActiveSessions } from "./composables/use-active-sessions.mjs";
|
|
16
|
-
export { useThemeMode } from "./composables/use-theme-mode.mjs";
|
|
17
|
-
export { useAppLocale } from "./composables/use-app-locale.mjs";
|
|
18
|
-
export { getVisitor, getVisitorId } from "./get-visitor.mjs";
|
|
13
|
+
export * from "./composables/index.mjs";
|
|
14
|
+
export * from "./types.mjs";
|
|
19
15
|
const apiActions = useApiActions();
|
|
20
16
|
let userActions;
|
|
21
17
|
export function initApiFetch($fetch, config) {
|
package/init-application.mjs
CHANGED
|
@@ -5,11 +5,9 @@ import ruRU from "vant/es/locale/lang/ru-RU";
|
|
|
5
5
|
import { watch } from "vue";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
7
7
|
import { useRouter } from "vue-router";
|
|
8
|
-
import { useActiveSessions } from "./composables/
|
|
9
|
-
import { useSubscribe } from "./composables/use-subscribe.mjs";
|
|
10
|
-
import { useUser } from "./composables/use-user.mjs";
|
|
8
|
+
import { useActiveSessions, useSubscribe, useUser } from "./composables/index.mjs";
|
|
11
9
|
import { once } from "./helpers/index.mjs";
|
|
12
|
-
import {
|
|
10
|
+
import { useAppLocale, useThemeMode, useUserActions, useVisitor } from "./index.mjs";
|
|
13
11
|
function initApplication() {
|
|
14
12
|
const router = useRouter();
|
|
15
13
|
const user = useUser();
|
|
@@ -73,7 +71,8 @@ function initApplication() {
|
|
|
73
71
|
return activeSession;
|
|
74
72
|
});
|
|
75
73
|
}
|
|
76
|
-
|
|
74
|
+
const visitor = useVisitor();
|
|
75
|
+
if (session?.status === "SignedOut" && session?.visitorId === visitor.value?.id) {
|
|
77
76
|
const userActions = useUserActions();
|
|
78
77
|
const data = await userActions?.value.fetchActiveSessions();
|
|
79
78
|
const isCurrentSession = data?.sessions.some((s) => s.isCurrentSession && s.id === session?.sessionId);
|
package/package.json
CHANGED
package/user-actions.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { flush, setToken } from "./api-client.mjs";
|
|
2
|
-
import { useUser } from "./composables/
|
|
2
|
+
import { useUser } from "./composables/index.mjs";
|
|
3
3
|
import { once } from "./helpers/index.mjs";
|
|
4
4
|
export const createApiUserActions = once(
|
|
5
5
|
(fetch, config, getUser) => {
|