@coffer-org/sdk 1.1.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/color-names.d.ts +7 -0
- package/dist/color-names.d.ts.map +1 -0
- package/dist/color-names.js +463 -0
- package/dist/color-names.js.map +1 -0
- package/dist/condition.d.ts +38 -0
- package/dist/condition.d.ts.map +1 -0
- package/dist/condition.js +109 -0
- package/dist/condition.js.map +1 -0
- package/dist/countries.d.ts +8 -0
- package/dist/countries.d.ts.map +1 -0
- package/dist/countries.js +197 -0
- package/dist/countries.js.map +1 -0
- package/dist/currencies.d.ts +14 -0
- package/dist/currencies.d.ts.map +1 -0
- package/dist/currencies.js +39 -0
- package/dist/currencies.js.map +1 -0
- package/dist/extend.d.ts +46 -0
- package/dist/extend.d.ts.map +1 -0
- package/dist/extend.js +35 -0
- package/dist/extend.js.map +1 -0
- package/dist/field-helpers.d.ts +9 -0
- package/dist/field-helpers.d.ts.map +1 -0
- package/dist/field-helpers.js +30 -0
- package/dist/field-helpers.js.map +1 -0
- package/dist/field-presets.d.ts +278 -0
- package/dist/field-presets.d.ts.map +1 -0
- package/dist/field-presets.js +303 -0
- package/dist/field-presets.js.map +1 -0
- package/dist/fields.d.ts +817 -0
- package/dist/fields.d.ts.map +1 -0
- package/dist/fields.js +911 -0
- package/dist/fields.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/module.d.ts +164 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +244 -0
- package/dist/module.js.map +1 -0
- package/dist/package.d.ts +30 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/package.js +31 -0
- package/dist/package.js.map +1 -0
- package/dist/plugin.d.ts +77 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +57 -0
- package/dist/plugin.js.map +1 -0
- package/dist/settings.d.ts +9 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +4 -0
- package/dist/settings.js.map +1 -0
- package/dist/units.d.ts +24 -0
- package/dist/units.d.ts.map +1 -0
- package/dist/units.js +125 -0
- package/dist/units.js.map +1 -0
- package/dist/vault.d.ts +18 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +4 -0
- package/dist/vault.js.map +1 -0
- package/package.json +27 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
const isScalar = (v) => typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean';
|
|
2
|
+
const eqLoose = (a, b) => String(a) === String(b);
|
|
3
|
+
const cmpNumber = (a, b, op) => {
|
|
4
|
+
const x = Number(a);
|
|
5
|
+
const y = Number(b);
|
|
6
|
+
if (Number.isNaN(x) || Number.isNaN(y))
|
|
7
|
+
return false;
|
|
8
|
+
return op(x, y);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Нормалізувати значення поля у масив для membership-перевірок.
|
|
12
|
+
* Multiple-поля зберігаються у формі як JSON-рядок масиву ('["a","b"]').
|
|
13
|
+
* Скаляр трактується як масив з одного елемента.
|
|
14
|
+
*/
|
|
15
|
+
const asArray = (v) => {
|
|
16
|
+
if (Array.isArray(v))
|
|
17
|
+
return v;
|
|
18
|
+
if (typeof v === 'string') {
|
|
19
|
+
try {
|
|
20
|
+
const parsed = JSON.parse(v);
|
|
21
|
+
if (Array.isArray(parsed))
|
|
22
|
+
return parsed;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// не JSON — трактуємо як скаляр нижче
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return [v];
|
|
29
|
+
};
|
|
30
|
+
/** Оцінити предикат одного поля проти значення форми. */
|
|
31
|
+
function evalPredicate(pred, value, present) {
|
|
32
|
+
if (isScalar(pred)) {
|
|
33
|
+
return present && eqLoose(value, pred);
|
|
34
|
+
}
|
|
35
|
+
// Об'єкт-предикат: усі задані оператори в кон'юнкції (AND).
|
|
36
|
+
for (const [op, operand] of Object.entries(pred)) {
|
|
37
|
+
if (operand === undefined)
|
|
38
|
+
continue;
|
|
39
|
+
switch (op) {
|
|
40
|
+
case '$eq':
|
|
41
|
+
if (!present || !eqLoose(value, operand))
|
|
42
|
+
return false;
|
|
43
|
+
break;
|
|
44
|
+
case '$ne':
|
|
45
|
+
// Відсутнє значення трактуємо як "не дорівнює" → проходить.
|
|
46
|
+
if (present && eqLoose(value, operand))
|
|
47
|
+
return false;
|
|
48
|
+
break;
|
|
49
|
+
case '$in':
|
|
50
|
+
if (!present || !operand.some((o) => eqLoose(value, o)))
|
|
51
|
+
return false;
|
|
52
|
+
break;
|
|
53
|
+
case '$nin':
|
|
54
|
+
// Відсутнє значення → точно немає у списку → проходить.
|
|
55
|
+
if (present && operand.some((o) => eqLoose(value, o)))
|
|
56
|
+
return false;
|
|
57
|
+
break;
|
|
58
|
+
case '$gt':
|
|
59
|
+
if (!present || !cmpNumber(value, operand, (x, y) => x > y))
|
|
60
|
+
return false;
|
|
61
|
+
break;
|
|
62
|
+
case '$lt':
|
|
63
|
+
if (!present || !cmpNumber(value, operand, (x, y) => x < y))
|
|
64
|
+
return false;
|
|
65
|
+
break;
|
|
66
|
+
case '$gte':
|
|
67
|
+
if (!present || !cmpNumber(value, operand, (x, y) => x >= y))
|
|
68
|
+
return false;
|
|
69
|
+
break;
|
|
70
|
+
case '$lte':
|
|
71
|
+
if (!present || !cmpNumber(value, operand, (x, y) => x <= y))
|
|
72
|
+
return false;
|
|
73
|
+
break;
|
|
74
|
+
case '$contains':
|
|
75
|
+
if (!present || !asArray(value).some((el) => eqLoose(el, operand)))
|
|
76
|
+
return false;
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
// Невідомий оператор — ігноруємо (forward-compat).
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
/** Оцінити умову проти значень форми. Порожня/undefined умова → true. */
|
|
86
|
+
export function evalCondition(cond, values) {
|
|
87
|
+
if (!cond)
|
|
88
|
+
return true;
|
|
89
|
+
for (const [key, spec] of Object.entries(cond)) {
|
|
90
|
+
if (spec === undefined)
|
|
91
|
+
continue;
|
|
92
|
+
if (key === '$and') {
|
|
93
|
+
if (!spec.every((c) => evalCondition(c, values)))
|
|
94
|
+
return false;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (key === '$or') {
|
|
98
|
+
if (!spec.some((c) => evalCondition(c, values)))
|
|
99
|
+
return false;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
// Ключ-поле: implicit AND із рештою.
|
|
103
|
+
const present = Object.prototype.hasOwnProperty.call(values, key) && values[key] != null;
|
|
104
|
+
if (!evalPredicate(spec, values[key], present))
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../src/condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Список країн: ISO 3166-1 alpha-2 → назва (українська). */
|
|
2
|
+
export interface Country {
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const COUNTRIES: Country[];
|
|
7
|
+
export declare const COUNTRIES_BY_CODE: Map<string, Country>;
|
|
8
|
+
//# sourceMappingURL=countries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countries.d.ts","sourceRoot":"","sources":["../src/countries.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,SAAS,EAAE,OAAO,EAkM9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,sBAA6C,CAAC"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
export const COUNTRIES = [
|
|
2
|
+
{ code: 'AF', name: 'Афганістан' },
|
|
3
|
+
{ code: 'AL', name: 'Албанія' },
|
|
4
|
+
{ code: 'DZ', name: 'Алжир' },
|
|
5
|
+
{ code: 'AD', name: 'Андорра' },
|
|
6
|
+
{ code: 'AO', name: 'Ангола' },
|
|
7
|
+
{ code: 'AG', name: 'Антигуа і Барбуда' },
|
|
8
|
+
{ code: 'AR', name: 'Аргентина' },
|
|
9
|
+
{ code: 'AM', name: 'Вірменія' },
|
|
10
|
+
{ code: 'AU', name: 'Австралія' },
|
|
11
|
+
{ code: 'AT', name: 'Австрія' },
|
|
12
|
+
{ code: 'AZ', name: 'Азербайджан' },
|
|
13
|
+
{ code: 'BS', name: 'Багамські Острови' },
|
|
14
|
+
{ code: 'BH', name: 'Бахрейн' },
|
|
15
|
+
{ code: 'BD', name: 'Бангладеш' },
|
|
16
|
+
{ code: 'BY', name: 'Білорусь' },
|
|
17
|
+
{ code: 'BE', name: 'Бельгія' },
|
|
18
|
+
{ code: 'BZ', name: 'Беліз' },
|
|
19
|
+
{ code: 'BJ', name: 'Бенін' },
|
|
20
|
+
{ code: 'BT', name: 'Бутан' },
|
|
21
|
+
{ code: 'BO', name: 'Болівія' },
|
|
22
|
+
{ code: 'BA', name: 'Боснія і Герцеговина' },
|
|
23
|
+
{ code: 'BW', name: 'Ботсвана' },
|
|
24
|
+
{ code: 'BR', name: 'Бразилія' },
|
|
25
|
+
{ code: 'BN', name: 'Бруней' },
|
|
26
|
+
{ code: 'BG', name: 'Болгарія' },
|
|
27
|
+
{ code: 'BF', name: 'Буркіна-Фасо' },
|
|
28
|
+
{ code: 'BI', name: 'Бурунді' },
|
|
29
|
+
{ code: 'CV', name: 'Кабо-Верде' },
|
|
30
|
+
{ code: 'KH', name: 'Камбоджа' },
|
|
31
|
+
{ code: 'CM', name: 'Камерун' },
|
|
32
|
+
{ code: 'CA', name: 'Канада' },
|
|
33
|
+
{ code: 'CF', name: 'ЦАР' },
|
|
34
|
+
{ code: 'TD', name: 'Чад' },
|
|
35
|
+
{ code: 'CL', name: 'Чилі' },
|
|
36
|
+
{ code: 'CN', name: 'Китай' },
|
|
37
|
+
{ code: 'CO', name: 'Колумбія' },
|
|
38
|
+
{ code: 'KM', name: 'Комори' },
|
|
39
|
+
{ code: 'CG', name: 'Конго' },
|
|
40
|
+
{ code: 'CD', name: 'ДР Конго' },
|
|
41
|
+
{ code: 'CR', name: 'Коста-Рика' },
|
|
42
|
+
{ code: 'CI', name: "Кот-д'Івуар" },
|
|
43
|
+
{ code: 'HR', name: 'Хорватія' },
|
|
44
|
+
{ code: 'CU', name: 'Куба' },
|
|
45
|
+
{ code: 'CY', name: 'Кіпр' },
|
|
46
|
+
{ code: 'CZ', name: 'Чехія' },
|
|
47
|
+
{ code: 'DK', name: 'Данія' },
|
|
48
|
+
{ code: 'DJ', name: 'Джибуті' },
|
|
49
|
+
{ code: 'DM', name: 'Домініка' },
|
|
50
|
+
{ code: 'DO', name: 'Домініканська Республіка' },
|
|
51
|
+
{ code: 'EC', name: 'Еквадор' },
|
|
52
|
+
{ code: 'EG', name: 'Єгипет' },
|
|
53
|
+
{ code: 'SV', name: 'Сальвадор' },
|
|
54
|
+
{ code: 'GQ', name: 'Екваторіальна Гвінея' },
|
|
55
|
+
{ code: 'ER', name: 'Еритрея' },
|
|
56
|
+
{ code: 'EE', name: 'Естонія' },
|
|
57
|
+
{ code: 'SZ', name: 'Есватіні' },
|
|
58
|
+
{ code: 'ET', name: 'Ефіопія' },
|
|
59
|
+
{ code: 'FJ', name: 'Фіджі' },
|
|
60
|
+
{ code: 'FI', name: 'Фінляндія' },
|
|
61
|
+
{ code: 'FR', name: 'Франція' },
|
|
62
|
+
{ code: 'GA', name: 'Габон' },
|
|
63
|
+
{ code: 'GM', name: 'Гамбія' },
|
|
64
|
+
{ code: 'GE', name: 'Грузія' },
|
|
65
|
+
{ code: 'DE', name: 'Німеччина' },
|
|
66
|
+
{ code: 'GH', name: 'Гана' },
|
|
67
|
+
{ code: 'GR', name: 'Греція' },
|
|
68
|
+
{ code: 'GD', name: 'Гренада' },
|
|
69
|
+
{ code: 'GT', name: 'Гватемала' },
|
|
70
|
+
{ code: 'GN', name: 'Гвінея' },
|
|
71
|
+
{ code: 'GW', name: 'Гвінея-Бісау' },
|
|
72
|
+
{ code: 'GY', name: 'Гаяна' },
|
|
73
|
+
{ code: 'HT', name: 'Гаїті' },
|
|
74
|
+
{ code: 'HN', name: 'Гондурас' },
|
|
75
|
+
{ code: 'HU', name: 'Угорщина' },
|
|
76
|
+
{ code: 'IS', name: 'Ісландія' },
|
|
77
|
+
{ code: 'IN', name: 'Індія' },
|
|
78
|
+
{ code: 'ID', name: 'Індонезія' },
|
|
79
|
+
{ code: 'IR', name: 'Іран' },
|
|
80
|
+
{ code: 'IQ', name: 'Ірак' },
|
|
81
|
+
{ code: 'IE', name: 'Ірландія' },
|
|
82
|
+
{ code: 'IL', name: 'Ізраїль' },
|
|
83
|
+
{ code: 'IT', name: 'Італія' },
|
|
84
|
+
{ code: 'JM', name: 'Ямайка' },
|
|
85
|
+
{ code: 'JP', name: 'Японія' },
|
|
86
|
+
{ code: 'JO', name: 'Йорданія' },
|
|
87
|
+
{ code: 'KZ', name: 'Казахстан' },
|
|
88
|
+
{ code: 'KE', name: 'Кенія' },
|
|
89
|
+
{ code: 'KI', name: 'Кірибаті' },
|
|
90
|
+
{ code: 'KP', name: 'КНДР' },
|
|
91
|
+
{ code: 'KR', name: 'Південна Корея' },
|
|
92
|
+
{ code: 'KW', name: 'Кувейт' },
|
|
93
|
+
{ code: 'KG', name: 'Киргизстан' },
|
|
94
|
+
{ code: 'LA', name: 'Лаос' },
|
|
95
|
+
{ code: 'LV', name: 'Латвія' },
|
|
96
|
+
{ code: 'LB', name: 'Ліван' },
|
|
97
|
+
{ code: 'LS', name: 'Лесото' },
|
|
98
|
+
{ code: 'LR', name: 'Ліберія' },
|
|
99
|
+
{ code: 'LY', name: 'Лівія' },
|
|
100
|
+
{ code: 'LI', name: 'Ліхтенштейн' },
|
|
101
|
+
{ code: 'LT', name: 'Литва' },
|
|
102
|
+
{ code: 'LU', name: 'Люксембург' },
|
|
103
|
+
{ code: 'MG', name: 'Мадагаскар' },
|
|
104
|
+
{ code: 'MW', name: 'Малаві' },
|
|
105
|
+
{ code: 'MY', name: 'Малайзія' },
|
|
106
|
+
{ code: 'MV', name: 'Мальдіви' },
|
|
107
|
+
{ code: 'ML', name: 'Малі' },
|
|
108
|
+
{ code: 'MT', name: 'Мальта' },
|
|
109
|
+
{ code: 'MH', name: 'Маршаллові Острови' },
|
|
110
|
+
{ code: 'MR', name: 'Мавританія' },
|
|
111
|
+
{ code: 'MU', name: 'Маврикій' },
|
|
112
|
+
{ code: 'MX', name: 'Мексика' },
|
|
113
|
+
{ code: 'FM', name: 'Мікронезія' },
|
|
114
|
+
{ code: 'MD', name: 'Молдова' },
|
|
115
|
+
{ code: 'MC', name: 'Монако' },
|
|
116
|
+
{ code: 'MN', name: 'Монголія' },
|
|
117
|
+
{ code: 'ME', name: 'Чорногорія' },
|
|
118
|
+
{ code: 'MA', name: 'Марокко' },
|
|
119
|
+
{ code: 'MZ', name: 'Мозамбік' },
|
|
120
|
+
{ code: 'MM', name: "М'янма" },
|
|
121
|
+
{ code: 'NA', name: 'Намібія' },
|
|
122
|
+
{ code: 'NR', name: 'Науру' },
|
|
123
|
+
{ code: 'NP', name: 'Непал' },
|
|
124
|
+
{ code: 'NL', name: 'Нідерланди' },
|
|
125
|
+
{ code: 'NZ', name: 'Нова Зеландія' },
|
|
126
|
+
{ code: 'NI', name: 'Нікарагуа' },
|
|
127
|
+
{ code: 'NE', name: 'Нігер' },
|
|
128
|
+
{ code: 'NG', name: 'Нігерія' },
|
|
129
|
+
{ code: 'MK', name: 'Північна Македонія' },
|
|
130
|
+
{ code: 'NO', name: 'Норвегія' },
|
|
131
|
+
{ code: 'OM', name: 'Оман' },
|
|
132
|
+
{ code: 'PK', name: 'Пакистан' },
|
|
133
|
+
{ code: 'PW', name: 'Палау' },
|
|
134
|
+
{ code: 'PA', name: 'Панама' },
|
|
135
|
+
{ code: 'PG', name: 'Папуа Нова Гвінея' },
|
|
136
|
+
{ code: 'PY', name: 'Парагвай' },
|
|
137
|
+
{ code: 'PE', name: 'Перу' },
|
|
138
|
+
{ code: 'PH', name: 'Філіппіни' },
|
|
139
|
+
{ code: 'PL', name: 'Польща' },
|
|
140
|
+
{ code: 'PT', name: 'Португалія' },
|
|
141
|
+
{ code: 'QA', name: 'Катар' },
|
|
142
|
+
{ code: 'RO', name: 'Румунія' },
|
|
143
|
+
{ code: 'RU', name: 'Росія' },
|
|
144
|
+
{ code: 'RW', name: 'Руанда' },
|
|
145
|
+
{ code: 'KN', name: 'Сент-Кітс і Невіс' },
|
|
146
|
+
{ code: 'LC', name: 'Сент-Люсія' },
|
|
147
|
+
{ code: 'VC', name: 'Сент-Вінсент і Гренадіни' },
|
|
148
|
+
{ code: 'WS', name: 'Самоа' },
|
|
149
|
+
{ code: 'SM', name: 'Сан-Марино' },
|
|
150
|
+
{ code: 'ST', name: 'Сан-Томе і Принсіпі' },
|
|
151
|
+
{ code: 'SA', name: 'Саудівська Аравія' },
|
|
152
|
+
{ code: 'SN', name: 'Сенегал' },
|
|
153
|
+
{ code: 'RS', name: 'Сербія' },
|
|
154
|
+
{ code: 'SC', name: 'Сейшели' },
|
|
155
|
+
{ code: 'SL', name: 'Сьєрра-Леоне' },
|
|
156
|
+
{ code: 'SG', name: 'Сінгапур' },
|
|
157
|
+
{ code: 'SK', name: 'Словаччина' },
|
|
158
|
+
{ code: 'SI', name: 'Словенія' },
|
|
159
|
+
{ code: 'SB', name: 'Соломонові Острови' },
|
|
160
|
+
{ code: 'SO', name: 'Сомалі' },
|
|
161
|
+
{ code: 'ZA', name: 'ПАР' },
|
|
162
|
+
{ code: 'SS', name: 'Південний Судан' },
|
|
163
|
+
{ code: 'ES', name: 'Іспанія' },
|
|
164
|
+
{ code: 'LK', name: 'Шрі-Ланка' },
|
|
165
|
+
{ code: 'SD', name: 'Судан' },
|
|
166
|
+
{ code: 'SR', name: 'Суринам' },
|
|
167
|
+
{ code: 'SE', name: 'Швеція' },
|
|
168
|
+
{ code: 'CH', name: 'Швейцарія' },
|
|
169
|
+
{ code: 'SY', name: 'Сирія' },
|
|
170
|
+
{ code: 'TW', name: 'Тайвань' },
|
|
171
|
+
{ code: 'TJ', name: 'Таджикистан' },
|
|
172
|
+
{ code: 'TZ', name: 'Танзанія' },
|
|
173
|
+
{ code: 'TH', name: 'Таїланд' },
|
|
174
|
+
{ code: 'TL', name: 'Тімор-Лесте' },
|
|
175
|
+
{ code: 'TG', name: 'Того' },
|
|
176
|
+
{ code: 'TO', name: 'Тонга' },
|
|
177
|
+
{ code: 'TT', name: 'Тринідад і Тобаго' },
|
|
178
|
+
{ code: 'TN', name: 'Туніс' },
|
|
179
|
+
{ code: 'TR', name: 'Туреччина' },
|
|
180
|
+
{ code: 'TM', name: 'Туркменістан' },
|
|
181
|
+
{ code: 'TV', name: 'Тувалу' },
|
|
182
|
+
{ code: 'UG', name: 'Уганда' },
|
|
183
|
+
{ code: 'UA', name: 'Україна' },
|
|
184
|
+
{ code: 'AE', name: 'ОАЕ' },
|
|
185
|
+
{ code: 'GB', name: 'Велика Британія' },
|
|
186
|
+
{ code: 'US', name: 'США' },
|
|
187
|
+
{ code: 'UY', name: 'Уругвай' },
|
|
188
|
+
{ code: 'UZ', name: 'Узбекистан' },
|
|
189
|
+
{ code: 'VU', name: 'Вануату' },
|
|
190
|
+
{ code: 'VE', name: 'Венесуела' },
|
|
191
|
+
{ code: 'VN', name: "В'єтнам" },
|
|
192
|
+
{ code: 'YE', name: 'Ємен' },
|
|
193
|
+
{ code: 'ZM', name: 'Замбія' },
|
|
194
|
+
{ code: 'ZW', name: 'Зімбабве' },
|
|
195
|
+
];
|
|
196
|
+
export const COUNTRIES_BY_CODE = new Map(COUNTRIES.map((c) => [c.code, c]));
|
|
197
|
+
//# sourceMappingURL=countries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"countries.js","sourceRoot":"","sources":["../src/countries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валюти з вбудованого `Intl` (ISO 4217) — БЕЗ hand-list і без npm-залежності.
|
|
3
|
+
* Коди — `Intl.supportedValuesOf('currency')`; символи/назви локалізовані через
|
|
4
|
+
* `Intl.NumberFormat`/`Intl.DisplayNames`.
|
|
5
|
+
*/
|
|
6
|
+
/** Усі ISO 4217 коди. Fallback — кілька основних (на випадок старого рантайму). */
|
|
7
|
+
export declare const CURRENCY_CODES: string[];
|
|
8
|
+
/** Чи валідний ISO 4217 код. */
|
|
9
|
+
export declare const isCurrencyCode: (c: string) => boolean;
|
|
10
|
+
/** Символ валюти (narrowSymbol) для локалі; fallback — сам код. */
|
|
11
|
+
export declare function currencySymbol(code: string, locale?: string): string;
|
|
12
|
+
/** Локалізована назва валюти; fallback — сам код. */
|
|
13
|
+
export declare function currencyName(code: string, locale?: string): string;
|
|
14
|
+
//# sourceMappingURL=currencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencies.d.ts","sourceRoot":"","sources":["../src/currencies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mFAAmF;AACnF,eAAO,MAAM,cAAc,EAAE,MAAM,EAM/B,CAAC;AAIL,gCAAgC;AAChC,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,KAAG,OAA0B,CAAC;AAEtE,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CASpE;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,MAAM,CAMhE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Валюти з вбудованого `Intl` (ISO 4217) — БЕЗ hand-list і без npm-залежності.
|
|
3
|
+
* Коди — `Intl.supportedValuesOf('currency')`; символи/назви локалізовані через
|
|
4
|
+
* `Intl.NumberFormat`/`Intl.DisplayNames`.
|
|
5
|
+
*/
|
|
6
|
+
/** Усі ISO 4217 коди. Fallback — кілька основних (на випадок старого рантайму). */
|
|
7
|
+
export const CURRENCY_CODES = (() => {
|
|
8
|
+
try {
|
|
9
|
+
return Intl.supportedValuesOf('currency');
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return ['USD', 'EUR', 'UAH', 'GBP', 'PLN'];
|
|
13
|
+
}
|
|
14
|
+
})();
|
|
15
|
+
const CODE_SET = new Set(CURRENCY_CODES);
|
|
16
|
+
/** Чи валідний ISO 4217 код. */
|
|
17
|
+
export const isCurrencyCode = (c) => CODE_SET.has(c);
|
|
18
|
+
/** Символ валюти (narrowSymbol) для локалі; fallback — сам код. */
|
|
19
|
+
export function currencySymbol(code, locale) {
|
|
20
|
+
try {
|
|
21
|
+
const part = new Intl.NumberFormat(locale, { style: 'currency', currency: code, currencyDisplay: 'narrowSymbol' })
|
|
22
|
+
.formatToParts(0)
|
|
23
|
+
.find((p) => p.type === 'currency');
|
|
24
|
+
return part?.value ?? code;
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return code;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/** Локалізована назва валюти; fallback — сам код. */
|
|
31
|
+
export function currencyName(code, locale = 'en') {
|
|
32
|
+
try {
|
|
33
|
+
return new Intl.DisplayNames([locale], { type: 'currency' }).of(code) ?? code;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return code;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=currencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencies.js","sourceRoot":"","sources":["../src/currencies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAa,CAAC,GAAG,EAAE;IAC5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAEzC,gCAAgC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtE,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAe;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;aAC/G,aAAa,CAAC,CAAC,CAAC;aAChB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACtC,OAAO,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAAM,GAAG,IAAI;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/extend.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extend-механізм: 1:1 розширення сутності за правилами прив'язки.
|
|
3
|
+
*
|
|
4
|
+
* Прив'язка (attachTo) — структурна, лише за vault/module:
|
|
5
|
+
* - vault тільки: { vault: 'things' } (будь-який модуль)
|
|
6
|
+
* - vault + module: { vault: 'things', module: 'item' }
|
|
7
|
+
*
|
|
8
|
+
* Показ блоку — окремий UI-концерн через `showWhen` (Condition над
|
|
9
|
+
* значеннями запису). Оцінюється на фронті. Без `showWhen` — блок
|
|
10
|
+
* показується завжди для своїх vault/module.
|
|
11
|
+
*
|
|
12
|
+
* Зберігання: окрема таблиця `extend__<id>` з `base_id TEXT PK (FK → base table)`.
|
|
13
|
+
* API: поле `_extends` у відповіді: { device_info: {...} }.
|
|
14
|
+
* Форма: авто-секція під основними полями.
|
|
15
|
+
*/
|
|
16
|
+
import type { LayoutEl } from './fields.js';
|
|
17
|
+
import type { Condition } from './condition.js';
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
export interface AttachRule {
|
|
20
|
+
vault: string;
|
|
21
|
+
module?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ExtendDef {
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
icon?: string;
|
|
27
|
+
attachTo: AttachRule[];
|
|
28
|
+
showWhen?: Condition;
|
|
29
|
+
fields: LayoutEl[];
|
|
30
|
+
claude?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function defineExtend(e: ExtendDef): ExtendDef;
|
|
33
|
+
/** Перевірити чи extend прив'язується до сутності з даним vault/module. */
|
|
34
|
+
export declare function extendMatches(e: ExtendDef, vault: string, module: string): boolean;
|
|
35
|
+
/** Zod-схема extend'у для PATCH-валідації (усі поля опціональні). */
|
|
36
|
+
export declare function buildExtendZodPartial(e: ExtendDef): z.ZodObject<z.ZodRawShape>;
|
|
37
|
+
/** Серіалізована форма extend'у для клієнта. */
|
|
38
|
+
export declare function extendToClient(e: ExtendDef): {
|
|
39
|
+
id: string;
|
|
40
|
+
label: string;
|
|
41
|
+
icon: string | undefined;
|
|
42
|
+
attachTo: AttachRule[];
|
|
43
|
+
showWhen: Condition | undefined;
|
|
44
|
+
fields: import("./module.js").LayoutElClient[];
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=extend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../src/extend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAKpD;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMlF;AAED,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAE9E;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS;;;;;;;EAS1C"}
|
package/dist/extend.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { layoutToClient, fieldEntries, buildShape } from './module.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export function defineExtend(e) {
|
|
4
|
+
const keys = fieldEntries(e.fields).map(([k]) => k);
|
|
5
|
+
const dup = keys.find((k, i) => keys.indexOf(k) !== i);
|
|
6
|
+
if (dup)
|
|
7
|
+
throw new Error(`[extend] ${e.id}: дубльований key '${dup}'`);
|
|
8
|
+
return e;
|
|
9
|
+
}
|
|
10
|
+
/** Перевірити чи extend прив'язується до сутності з даним vault/module. */
|
|
11
|
+
export function extendMatches(e, vault, module) {
|
|
12
|
+
return e.attachTo.some((rule) => {
|
|
13
|
+
if (rule.vault !== vault)
|
|
14
|
+
return false;
|
|
15
|
+
if (rule.module && rule.module !== module)
|
|
16
|
+
return false;
|
|
17
|
+
return true;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/** Zod-схема extend'у для PATCH-валідації (усі поля опціональні). */
|
|
21
|
+
export function buildExtendZodPartial(e) {
|
|
22
|
+
return z.object(buildShape(e.fields, true));
|
|
23
|
+
}
|
|
24
|
+
/** Серіалізована форма extend'у для клієнта. */
|
|
25
|
+
export function extendToClient(e) {
|
|
26
|
+
return {
|
|
27
|
+
id: e.id,
|
|
28
|
+
label: e.label,
|
|
29
|
+
icon: e.icon,
|
|
30
|
+
attachTo: e.attachTo,
|
|
31
|
+
showWhen: e.showWhen,
|
|
32
|
+
fields: layoutToClient(e.fields),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=extend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend.js","sourceRoot":"","sources":["../src/extend.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,MAAM,UAAU,YAAY,CAAC,CAAY;IACvC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,IAAI,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,sBAAsB,GAAG,GAAG,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,CAAY,EAAE,KAAa,EAAE,MAAc;IACvE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,qBAAqB,CAAC,CAAY;IAChD,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,CAAY;IACzC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function parseMultiple(raw: string | unknown): unknown[];
|
|
2
|
+
export declare function serializeMultiple(items: unknown[]): string;
|
|
3
|
+
export type PerRecordRow = {
|
|
4
|
+
recordId: string;
|
|
5
|
+
value: unknown;
|
|
6
|
+
};
|
|
7
|
+
export declare function parsePerRecord(raw: string | unknown): PerRecordRow[];
|
|
8
|
+
export declare function serializePerRecord(items: PerRecordRow[]): string;
|
|
9
|
+
//# sourceMappingURL=field-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-helpers.d.ts","sourceRoot":"","sources":["../src/field-helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,CAQ9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAE1D;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,EAAE,CAQpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAGhE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function parseMultiple(raw) {
|
|
2
|
+
if (typeof raw !== 'string' || !raw)
|
|
3
|
+
return [];
|
|
4
|
+
try {
|
|
5
|
+
const v = JSON.parse(raw);
|
|
6
|
+
return Array.isArray(v) ? v : [];
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function serializeMultiple(items) {
|
|
13
|
+
return items.length ? JSON.stringify(items) : '';
|
|
14
|
+
}
|
|
15
|
+
export function parsePerRecord(raw) {
|
|
16
|
+
if (typeof raw !== 'string' || !raw)
|
|
17
|
+
return [];
|
|
18
|
+
try {
|
|
19
|
+
const v = JSON.parse(raw);
|
|
20
|
+
return Array.isArray(v) ? v : [];
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function serializePerRecord(items) {
|
|
27
|
+
const filled = items.filter((r) => r.value !== '' && r.value !== undefined);
|
|
28
|
+
return filled.length ? JSON.stringify(filled) : '';
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=field-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-helpers.js","sourceRoot":"","sources":["../src/field-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAID,MAAM,UAAU,cAAc,CAAC,GAAqB;IAClD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC"}
|