@scbt-ecom/ui 0.164.0 → 0.166.0
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/lib/exports/utils.js +1 -1
- package/dist/lib/shared/utils/index.js +1 -1
- package/dist/lib/shared/utils/variables/index.js +2 -0
- package/dist/lib/shared/utils/variables/index.js.map +1 -0
- package/dist/lib/shared/utils/variables/types.js +2 -0
- package/dist/lib/shared/utils/variables/types.js.map +1 -0
- package/dist/lib/shared/utils/variables/variableResolver.js +2 -0
- package/dist/lib/shared/utils/variables/variableResolver.js.map +1 -0
- package/dist/lib/shared/utils/variablesByNikita/VariablesFork.js +2 -0
- package/dist/lib/shared/utils/variablesByNikita/VariablesFork.js.map +1 -0
- package/dist/lib/shared/utils/variablesByNikita/index.js +2 -0
- package/dist/lib/shared/utils/variablesByNikita/index.js.map +1 -0
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/utils/index.d.ts +1 -0
- package/dist/types/lib/shared/utils/variables/index.d.ts +2 -0
- package/dist/types/lib/shared/utils/variables/types.d.ts +17 -0
- package/dist/types/lib/shared/utils/variables/variableResolver.d.ts +10 -0
- package/dist/types/lib/shared/utils/variablesByNikita/VariablesFork.d.ts +28 -0
- package/dist/types/lib/shared/utils/variablesByNikita/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type ReplaceStrings<T> = T extends string ? string : T;
|
|
2
|
+
type ResolveArray<T> = T extends Array<infer U> ? Array<Resolved<U>> : T;
|
|
3
|
+
type ResolveObject<T> = T extends object ? {
|
|
4
|
+
[K in keyof T]: Resolved<T[K]>;
|
|
5
|
+
} : T;
|
|
6
|
+
type ResolveNullish<T> = T extends null | undefined ? T : T;
|
|
7
|
+
export type Resolved<T> = ReplaceStrings<T> extends T ? ResolveArray<T> extends T ? ResolveObject<T> extends T ? ResolveNullish<T> : ResolveObject<T> : ResolveArray<T> : ReplaceStrings<T>;
|
|
8
|
+
export type VariablePattern = {
|
|
9
|
+
start: string;
|
|
10
|
+
end: string;
|
|
11
|
+
};
|
|
12
|
+
export type VariableType = {
|
|
13
|
+
key: string;
|
|
14
|
+
value: string;
|
|
15
|
+
};
|
|
16
|
+
export type AllowedVariablePrefix = '$' | '@' | '#';
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AllowedVariablePrefix, Resolved, VariablePattern, VariableType } from './types';
|
|
2
|
+
export declare const defaultAllowedPrefixes: AllowedVariablePrefix[];
|
|
3
|
+
export declare const variableResolver: <Variable extends VariableType>() => {
|
|
4
|
+
addPattern: (start: VariablePattern["start"], end: VariablePattern["end"]) => /*elided*/ any;
|
|
5
|
+
addVariables: (vars: Variable[]) => /*elided*/ any;
|
|
6
|
+
unwrapVariable: (string: string, allowedPrefixes?: AllowedVariablePrefix[]) => string;
|
|
7
|
+
wrapVariable: (string: string, allowedPrefixes?: AllowedVariablePrefix[]) => string;
|
|
8
|
+
escapeVariable: (string: string) => string;
|
|
9
|
+
resolve: <T>(data: T) => Resolved<T>;
|
|
10
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface Variable {
|
|
2
|
+
key: string;
|
|
3
|
+
value: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
6
|
+
/** Что нам для этого нужно
|
|
7
|
+
* 1. Реализация CRUD для переменных в админке
|
|
8
|
+
* 2.
|
|
9
|
+
* - Нужно реализовать функцию traverseToData чтобы бежать по всей структуре данных
|
|
10
|
+
* - Нужно реализовать функцию, которая ищет в строке переменную matchVarsFromString, и возвращает массив ключей переменных
|
|
11
|
+
* - Для match нужно описать регулярку, которая матчит переменную, а так же добавить возможно прокидывать регулярку в конструктор
|
|
12
|
+
* - Нужно реализовать функцию, которая массив ключей транформирует в entries [[${var}, 'boba'], [${var2}, 'biba']], чтобы трансформировать нужно написать метод entriesOf
|
|
13
|
+
* - entriesOf метод, который сравнивает айтемы с бэка с текущим ключом и возвратает entries [[${var}, 'boba'], [${var2}, 'biba']]
|
|
14
|
+
* - Потом нужно в текущей строке подменить ключ на value, делаем мы это через перебор всех переменных, которые мы нашли в строке
|
|
15
|
+
* - Нужно ещё раз пробежатся по итовой строке, и проверить её на переменные с помощью функции matchVarsFromString
|
|
16
|
+
* - Нужно добавить функции wrap и unwrap
|
|
17
|
+
*/
|
|
18
|
+
export declare class VariablesFork {
|
|
19
|
+
private static regexes;
|
|
20
|
+
private static allowedPrefixes;
|
|
21
|
+
private constructor();
|
|
22
|
+
static matchVariables(string: string): string[];
|
|
23
|
+
static wrap(string: string, prefix: (typeof this.allowedPrefixes)[number] | string): string;
|
|
24
|
+
static unwrap(string: (typeof this.allowedPrefixes)[number] | string): string;
|
|
25
|
+
static mapKeysToVariables(keys: string[] | null, variables: Variable[]): Variable[];
|
|
26
|
+
static interpolate(string: string, variables: Variable[]): string;
|
|
27
|
+
static structureInterpolate<T>(data: T, variables: Variable[]): T;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { VariablesFork, type Variable } from './VariablesFork';
|