@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 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @coffer-org/sdk — ізоморфний контракт плагінів (типи + фабрики + довідкові дані). */
|
|
2
|
+
export * from './field-helpers.js';
|
|
3
|
+
export * from './fields.js';
|
|
4
|
+
export * from './field-presets.js';
|
|
5
|
+
export * from './module.js';
|
|
6
|
+
export * from './vault.js';
|
|
7
|
+
export * from './extend.js';
|
|
8
|
+
export * from './package.js';
|
|
9
|
+
export * from './plugin.js';
|
|
10
|
+
export * from './condition.js';
|
|
11
|
+
export * from './countries.js';
|
|
12
|
+
export * from './color-names.js';
|
|
13
|
+
export * from './units.js';
|
|
14
|
+
export * from './currencies.js';
|
|
15
|
+
export * from './settings.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** @coffer-org/sdk — ізоморфний контракт плагінів (типи + фабрики + довідкові дані). */
|
|
2
|
+
export * from './field-helpers.js';
|
|
3
|
+
export * from './fields.js';
|
|
4
|
+
export * from './field-presets.js';
|
|
5
|
+
export * from './module.js';
|
|
6
|
+
export * from './vault.js';
|
|
7
|
+
export * from './extend.js';
|
|
8
|
+
export * from './package.js';
|
|
9
|
+
export * from './plugin.js';
|
|
10
|
+
export * from './condition.js';
|
|
11
|
+
export * from './countries.js';
|
|
12
|
+
export * from './color-names.js';
|
|
13
|
+
export * from './units.js';
|
|
14
|
+
export * from './currencies.js';
|
|
15
|
+
export * from './settings.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
package/dist/module.d.ts
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { FieldMeta, LayoutEl } from './fields.js';
|
|
3
|
+
import type { FieldClient, GroupEl, PseudoEl } from './fields.js';
|
|
4
|
+
/**
|
|
5
|
+
* Ієрархія: vault → module → type (в контенті)
|
|
6
|
+
*
|
|
7
|
+
* - vault: namespace проекту ('things', 'health')
|
|
8
|
+
* - module: ідентифікатор схеми + таблиці ('item', 'vitamin') ← це поле
|
|
9
|
+
* - type: класифікація запису в контенті ('device', 'drone') ← поле в сутності
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Три контексти відображення запису. Кожен модуль може оголосити, які поля
|
|
13
|
+
* показувати в кожному з них:
|
|
14
|
+
*
|
|
15
|
+
* 1. inline — компактне представлення ОДНОГО запису в маленькому місці:
|
|
16
|
+
* привязка людини (ім'я + прізвище), чип, елемент списку зв'язків.
|
|
17
|
+
* Може містити image/images-поле → показується як аватар + текст.
|
|
18
|
+
* Default: ['name'].
|
|
19
|
+
*
|
|
20
|
+
* 2. table — колонки таблиці-списку, де не влазять усі поля.
|
|
21
|
+
* Default: явний views.table (без евристики).
|
|
22
|
+
*
|
|
23
|
+
* 3. full — усі поля (неявно). Сторінка запису показує все.
|
|
24
|
+
*/
|
|
25
|
+
export interface ModuleViews {
|
|
26
|
+
/** Явний ключ поля-заголовка запису. Якщо не заданий — резолвиться (див. titleKey). */
|
|
27
|
+
title?: string;
|
|
28
|
+
/** Компактне представлення одного запису. Напр. ['logo','name','surname']. */
|
|
29
|
+
inline?: string[];
|
|
30
|
+
/** Колонки таблиці-списку. Напр. ['name','price','inStock']. */
|
|
31
|
+
table?: string[];
|
|
32
|
+
/**
|
|
33
|
+
* Поля-кандидати для групувальної панелі списку (override авто-евристики).
|
|
34
|
+
* Список і порядок використовуються як є. Напр. ['type','brand'].
|
|
35
|
+
*/
|
|
36
|
+
groupBy?: string[];
|
|
37
|
+
/** Поле групування, обране у панелі за замовчуванням. Напр. 'type'. */
|
|
38
|
+
defaultGroupBy?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Рендер запису як опції select (record-джерело). Трійка:
|
|
41
|
+
* icon — ключ поля-іконки (image→avatar, select-зі-swatch→колір, інакше icon)
|
|
42
|
+
* title — ключ або масив ключів; рендериться Inline-логікою
|
|
43
|
+
* subtitle — ключ поля-технічного значення
|
|
44
|
+
* Відсутній → fallback: title = inline-ключі, icon = inline-image, без subtitle.
|
|
45
|
+
*/
|
|
46
|
+
select?: {
|
|
47
|
+
icon?: string;
|
|
48
|
+
title: string | string[];
|
|
49
|
+
subtitle?: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface ModuleDef {
|
|
53
|
+
module: string;
|
|
54
|
+
vault: string;
|
|
55
|
+
label: string;
|
|
56
|
+
icon?: string;
|
|
57
|
+
claude?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Якщо false — модуль не відображається в навігації.
|
|
60
|
+
* Використовується для sub-модулів (рейси, проживання тощо),
|
|
61
|
+
* які існують тільки як зв'язані записи батьківського модуля.
|
|
62
|
+
* За замовчуванням: true.
|
|
63
|
+
*/
|
|
64
|
+
standalone?: boolean;
|
|
65
|
+
/** Набори полів для трьох контекстів відображення (inline / table / full). */
|
|
66
|
+
views?: ModuleViews;
|
|
67
|
+
fields: LayoutEl[];
|
|
68
|
+
}
|
|
69
|
+
/** Плоскі пари [storageKey, FieldMeta] колонок батьківської таблиці.
|
|
70
|
+
* layout-група → плоско; embedded-група → префікс `key__`; collection → пропуск. */
|
|
71
|
+
export declare function fieldEntries(items: LayoutEl[]): [string, FieldMeta][];
|
|
72
|
+
export interface CollectionEntry {
|
|
73
|
+
/** Storage-ключ collection-групи (ім'я під child-таблицю). */
|
|
74
|
+
key: string;
|
|
75
|
+
group: GroupEl;
|
|
76
|
+
}
|
|
77
|
+
/** Усі collection-групи (рекурсивно крізь layout та embedded). Top-level зверху. */
|
|
78
|
+
export declare function collectionGroups(items: LayoutEl[]): CollectionEntry[];
|
|
79
|
+
/** Мапа key → FieldMeta (кеш по масиву). */
|
|
80
|
+
export declare function fieldMap(items: LayoutEl[]): Record<string, FieldMeta>;
|
|
81
|
+
export declare function defineModule(m: ModuleDef): ModuleDef;
|
|
82
|
+
export declare const SYSTEM_FIELDS: readonly ["id", "createdAt", "updatedAt"];
|
|
83
|
+
/**
|
|
84
|
+
* Контракт реальної сутності:
|
|
85
|
+
* id — uuid (ЄДИНЕ обов'язкове системне поле, авто).
|
|
86
|
+
* Решта (включно з name) — звичайні поля у ModuleDef.fields.
|
|
87
|
+
* created_at/updated_at — системна інфраструктура (поза fields, авто-керована).
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* Ключ поля-заголовка запису (таблиці, пікери зв'язків, інлайни, заголовок форми).
|
|
91
|
+
* Пріоритет: views.title → перший не-image inline → 'name' (якщо є) →
|
|
92
|
+
* перше текстове поле → 'id'.
|
|
93
|
+
*/
|
|
94
|
+
export declare function titleKey(m: ModuleDef): string;
|
|
95
|
+
/** Заголовок запису (значення поля titleKey, fallback id). */
|
|
96
|
+
export declare function recordTitle(m: ModuleDef, record: Record<string, unknown>): string;
|
|
97
|
+
export declare const isImageKind: (kind: string) => boolean;
|
|
98
|
+
/** Ключі текстових колонок модуля (придатних для LIKE-пошуку). Виключає virtual, image, relation. */
|
|
99
|
+
export declare function textSearchKeys(m: ModuleDef): string[];
|
|
100
|
+
/**
|
|
101
|
+
* Поля для компактного представлення одного запису (привязка / чип / елемент списку).
|
|
102
|
+
* Пріоритет: views.inline → [titleKey(m)].
|
|
103
|
+
*/
|
|
104
|
+
export declare function inlineKeys(m: ModuleDef): string[];
|
|
105
|
+
/** Перше image-поле серед inline-полів (аватар у компактному представленні). */
|
|
106
|
+
export declare function inlineImageKey(m: ModuleDef): string | undefined;
|
|
107
|
+
/** Текстова частина компактного представлення (без зображень), напр. "Іван Петренко". */
|
|
108
|
+
export declare function inlineText(m: ModuleDef, row: Record<string, unknown>): string;
|
|
109
|
+
/**
|
|
110
|
+
* Колонки для таблиці-списку.
|
|
111
|
+
* Єдине джерело: views.table. Без евристик і showInTable.
|
|
112
|
+
*/
|
|
113
|
+
export declare function tableKeys(m: ModuleDef): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Поля-кандидати для групувальної панелі списку.
|
|
116
|
+
* Пріоритет: views.groupBy (список і порядок як є, лише реальні не-virtual поля).
|
|
117
|
+
* Інакше евристика: select | checkbox | relation + текстові поля. Текстові з
|
|
118
|
+
* завеликою кардинальністю відсіює клієнт за фактичними даними (core про дані
|
|
119
|
+
* не знає).
|
|
120
|
+
*/
|
|
121
|
+
export declare function groupableFields(m: ModuleDef): string[];
|
|
122
|
+
/**
|
|
123
|
+
* Поле групування за замовчуванням (обране у панелі при відкритті).
|
|
124
|
+
* Пріоритет: views.defaultGroupBy (якщо реальне) → перший із groupableFields.
|
|
125
|
+
*/
|
|
126
|
+
export declare function defaultGroupField(m: ModuleDef): string | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* Спільна побудова zod-shape з layout-полів (virtual пропускаються).
|
|
129
|
+
* partial=true → кожне поле опціональне (для PATCH-семантики оновлення).
|
|
130
|
+
*
|
|
131
|
+
* Примітка: для optional-полів zod уже опціоналізований (optionalize),
|
|
132
|
+
* для required та boolean (default) `.optional()` обов'язковий у partial-режимі;
|
|
133
|
+
* повторний `.optional()` на вже-опціональній схемі — ідемпотентний no-op,
|
|
134
|
+
* тому застосовуємо його до всіх полів у partial-режимі (поведінка незмінна).
|
|
135
|
+
*/
|
|
136
|
+
/** zod-shape запису: скаляри/layout плоско; embedded → nested object; collection → array. */
|
|
137
|
+
export declare function buildShape(fields: LayoutEl[], partial: boolean): z.ZodRawShape;
|
|
138
|
+
export declare function buildZodObject(m: ModuleDef): z.ZodObject<z.ZodRawShape>;
|
|
139
|
+
export declare function buildZodObjectPartial(m: ModuleDef): z.ZodObject<z.ZodRawShape>;
|
|
140
|
+
export interface StaticElClient {
|
|
141
|
+
el: 'static';
|
|
142
|
+
type: FieldClient;
|
|
143
|
+
value: unknown;
|
|
144
|
+
}
|
|
145
|
+
export type LayoutElClient = {
|
|
146
|
+
key: string;
|
|
147
|
+
type: FieldClient;
|
|
148
|
+
} | (Omit<GroupEl, 'fields'> & {
|
|
149
|
+
fields: ({
|
|
150
|
+
key: string;
|
|
151
|
+
type: FieldClient;
|
|
152
|
+
} | StaticElClient | PseudoEl)[];
|
|
153
|
+
}) | StaticElClient | PseudoEl;
|
|
154
|
+
export declare function layoutToClient(items: LayoutEl[]): LayoutElClient[];
|
|
155
|
+
export declare function moduleToClient(m: ModuleDef): {
|
|
156
|
+
module: string;
|
|
157
|
+
vault: string;
|
|
158
|
+
label: string;
|
|
159
|
+
icon: string | undefined;
|
|
160
|
+
views: ModuleViews | undefined;
|
|
161
|
+
standalone: boolean | undefined;
|
|
162
|
+
fields: LayoutElClient[];
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AAE5E;;;;;;GAMG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAID;qFACqF;AACrF,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAcrE;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAYrE;AAGD,4CAA4C;AAC5C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAOrE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAQpD;AAED,eAAO,MAAM,aAAa,2CAA4C,CAAC;AAEvE;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAS7C;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEjF;AASD,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAAgC,CAAC;AAG5E,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAIrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAIjD;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAU7E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAUhD;AAOD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAKtD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAOlE;AAED;;;;;;;;GAQG;AACH,6FAA6F;AAC7F,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,WAAW,CAqB9E;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAE9E;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAClC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,cAAc,GAAG,QAAQ,CAAC,EAAE,CAAA;CAAE,CAAC,GAC1G,cAAc,GACd,QAAQ,CAAC;AAEb,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAiBlE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS;;;;;;;;EAU1C"}
|
package/dist/module.js
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { toClient, isField, isGroup, isStatic, isCollectionGroup, isEmbeddedGroup } from './fields.js';
|
|
3
|
+
// ─── Helpers доступу до полів ────────────────────────────────────────────────
|
|
4
|
+
/** Плоскі пари [storageKey, FieldMeta] колонок батьківської таблиці.
|
|
5
|
+
* layout-група → плоско; embedded-група → префікс `key__`; collection → пропуск. */
|
|
6
|
+
export function fieldEntries(items) {
|
|
7
|
+
const out = [];
|
|
8
|
+
for (const it of items) {
|
|
9
|
+
if (isField(it)) {
|
|
10
|
+
out.push([it.key, it.type]);
|
|
11
|
+
}
|
|
12
|
+
else if (isGroup(it)) {
|
|
13
|
+
if (isCollectionGroup(it))
|
|
14
|
+
continue; // живе в child-таблиці
|
|
15
|
+
const prefix = it.key ? `${it.key}__` : '';
|
|
16
|
+
for (const [sub, fm] of fieldEntries(it.fields)) {
|
|
17
|
+
out.push([prefix + sub, fm]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
/** Усі collection-групи (рекурсивно крізь layout та embedded). Top-level зверху. */
|
|
24
|
+
export function collectionGroups(items) {
|
|
25
|
+
const out = [];
|
|
26
|
+
for (const it of items) {
|
|
27
|
+
if (!isGroup(it))
|
|
28
|
+
continue;
|
|
29
|
+
if (isCollectionGroup(it)) {
|
|
30
|
+
out.push({ key: it.key, group: it });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// layout або embedded — спускаємось глибше шукати collection
|
|
34
|
+
out.push(...collectionGroups(it.fields));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return out;
|
|
38
|
+
}
|
|
39
|
+
const mapCache = new WeakMap();
|
|
40
|
+
/** Мапа key → FieldMeta (кеш по масиву). */
|
|
41
|
+
export function fieldMap(items) {
|
|
42
|
+
let m = mapCache.get(items);
|
|
43
|
+
if (!m) {
|
|
44
|
+
m = Object.fromEntries(fieldEntries(items));
|
|
45
|
+
mapCache.set(items, m);
|
|
46
|
+
}
|
|
47
|
+
return m;
|
|
48
|
+
}
|
|
49
|
+
export function defineModule(m) {
|
|
50
|
+
const keys = fieldEntries(m.fields).map(([k]) => k);
|
|
51
|
+
const dup = keys.find((k, i) => keys.indexOf(k) !== i);
|
|
52
|
+
if (dup)
|
|
53
|
+
throw new Error(`[module] ${m.vault}/${m.module}: дубльований key '${dup}'`);
|
|
54
|
+
// name — звичайне поле (оголошується у fields де треба); системне лише id.
|
|
55
|
+
if (m.standalone !== false && !m.views?.table?.length)
|
|
56
|
+
console.warn(`[module] ${m.vault}/${m.module}: standalone-модуль без явного views.table`);
|
|
57
|
+
return m;
|
|
58
|
+
}
|
|
59
|
+
export const SYSTEM_FIELDS = ['id', 'createdAt', 'updatedAt'];
|
|
60
|
+
/**
|
|
61
|
+
* Контракт реальної сутності:
|
|
62
|
+
* id — uuid (ЄДИНЕ обов'язкове системне поле, авто).
|
|
63
|
+
* Решта (включно з name) — звичайні поля у ModuleDef.fields.
|
|
64
|
+
* created_at/updated_at — системна інфраструктура (поза fields, авто-керована).
|
|
65
|
+
*/
|
|
66
|
+
/**
|
|
67
|
+
* Ключ поля-заголовка запису (таблиці, пікери зв'язків, інлайни, заголовок форми).
|
|
68
|
+
* Пріоритет: views.title → перший не-image inline → 'name' (якщо є) →
|
|
69
|
+
* перше текстове поле → 'id'.
|
|
70
|
+
*/
|
|
71
|
+
export function titleKey(m) {
|
|
72
|
+
if (m.views?.title)
|
|
73
|
+
return m.views.title;
|
|
74
|
+
const fm = fieldMap(m.fields);
|
|
75
|
+
const inlineNonImage = m.views?.inline?.find((k) => fm[k] && !isImageKind(fm[k].kind));
|
|
76
|
+
if (inlineNonImage)
|
|
77
|
+
return inlineNonImage;
|
|
78
|
+
if (fm['name'])
|
|
79
|
+
return 'name';
|
|
80
|
+
const firstText = fieldEntries(m.fields).find(([, f]) => !f.virtual && isTextPrim(f.prim));
|
|
81
|
+
if (firstText)
|
|
82
|
+
return firstText[0];
|
|
83
|
+
return 'id';
|
|
84
|
+
}
|
|
85
|
+
/** Заголовок запису (значення поля titleKey, fallback id). */
|
|
86
|
+
export function recordTitle(m, record) {
|
|
87
|
+
return String(record[titleKey(m)] ?? record['id'] ?? '');
|
|
88
|
+
}
|
|
89
|
+
/** Поля, які існують і не віртуальні (фільтр для view-наборів, заданих вручну). */
|
|
90
|
+
function realKeys(m, keys) {
|
|
91
|
+
const fm = fieldMap(m.fields);
|
|
92
|
+
return keys.filter((k) => fm[k] && !fm[k].virtual);
|
|
93
|
+
}
|
|
94
|
+
const IMAGE_KINDS = new Set(['image', 'media']);
|
|
95
|
+
export const isImageKind = (kind) => IMAGE_KINDS.has(kind);
|
|
96
|
+
const isTextPrim = (p) => p === 'string' || p === 'text';
|
|
97
|
+
/** Ключі текстових колонок модуля (придатних для LIKE-пошуку). Виключає virtual, image, relation. */
|
|
98
|
+
export function textSearchKeys(m) {
|
|
99
|
+
return fieldEntries(m.fields)
|
|
100
|
+
.filter(([, f]) => !f.virtual && isTextPrim(f.prim))
|
|
101
|
+
.map(([k]) => k);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Поля для компактного представлення одного запису (привязка / чип / елемент списку).
|
|
105
|
+
* Пріоритет: views.inline → [titleKey(m)].
|
|
106
|
+
*/
|
|
107
|
+
export function inlineKeys(m) {
|
|
108
|
+
const ks = m.views?.inline?.length ? realKeys(m, m.views.inline) : [];
|
|
109
|
+
if (ks.length)
|
|
110
|
+
return ks;
|
|
111
|
+
return [titleKey(m)];
|
|
112
|
+
}
|
|
113
|
+
/** Перше image-поле серед inline-полів (аватар у компактному представленні). */
|
|
114
|
+
export function inlineImageKey(m) {
|
|
115
|
+
const fm = fieldMap(m.fields);
|
|
116
|
+
return inlineKeys(m).find((k) => fm[k] && isImageKind(fm[k].kind));
|
|
117
|
+
}
|
|
118
|
+
/** Текстова частина компактного представлення (без зображень), напр. "Іван Петренко". */
|
|
119
|
+
export function inlineText(m, row) {
|
|
120
|
+
const fm = fieldMap(m.fields);
|
|
121
|
+
const parts = inlineKeys(m).reduce((acc, k) => {
|
|
122
|
+
if (!fm[k] || !isImageKind(fm[k].kind)) {
|
|
123
|
+
const v = row[k];
|
|
124
|
+
if (v != null && v !== '')
|
|
125
|
+
acc.push(String(v));
|
|
126
|
+
}
|
|
127
|
+
return acc;
|
|
128
|
+
}, []);
|
|
129
|
+
return parts.join(' ').trim() || recordTitle(m, row);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Колонки для таблиці-списку.
|
|
133
|
+
* Єдине джерело: views.table. Без евристик і showInTable.
|
|
134
|
+
*/
|
|
135
|
+
export function tableKeys(m) {
|
|
136
|
+
// Заголовок (titleKey) — завжди перша колонка; решта з views.table (без дублю).
|
|
137
|
+
const tk = titleKey(m);
|
|
138
|
+
const rest = m.views?.table?.length
|
|
139
|
+
? realKeys(m, m.views.table.filter((k) => k !== tk))
|
|
140
|
+
: [];
|
|
141
|
+
return [tk, ...rest];
|
|
142
|
+
}
|
|
143
|
+
// ─── Групування у панелі списку ──────────────────────────────────────────────
|
|
144
|
+
/** Примітиви, придатні для групування «з коробки» (категоріальні за типом). */
|
|
145
|
+
const GROUPABLE_PRIMS = new Set(['select', 'checkbox', 'relation']);
|
|
146
|
+
/**
|
|
147
|
+
* Поля-кандидати для групувальної панелі списку.
|
|
148
|
+
* Пріоритет: views.groupBy (список і порядок як є, лише реальні не-virtual поля).
|
|
149
|
+
* Інакше евристика: select | checkbox | relation + текстові поля. Текстові з
|
|
150
|
+
* завеликою кардинальністю відсіює клієнт за фактичними даними (core про дані
|
|
151
|
+
* не знає).
|
|
152
|
+
*/
|
|
153
|
+
export function groupableFields(m) {
|
|
154
|
+
if (m.views?.groupBy?.length)
|
|
155
|
+
return realKeys(m, m.views.groupBy);
|
|
156
|
+
return fieldEntries(m.fields)
|
|
157
|
+
.filter(([, f]) => !f.virtual && (GROUPABLE_PRIMS.has(f.prim) || isTextPrim(f.prim)))
|
|
158
|
+
.map(([k]) => k);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Поле групування за замовчуванням (обране у панелі при відкритті).
|
|
162
|
+
* Пріоритет: views.defaultGroupBy (якщо реальне) → перший із groupableFields.
|
|
163
|
+
*/
|
|
164
|
+
export function defaultGroupField(m) {
|
|
165
|
+
const dg = m.views?.defaultGroupBy;
|
|
166
|
+
if (dg) {
|
|
167
|
+
const fm = fieldMap(m.fields);
|
|
168
|
+
if (fm[dg] && !fm[dg].virtual)
|
|
169
|
+
return dg;
|
|
170
|
+
}
|
|
171
|
+
return groupableFields(m)[0];
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Спільна побудова zod-shape з layout-полів (virtual пропускаються).
|
|
175
|
+
* partial=true → кожне поле опціональне (для PATCH-семантики оновлення).
|
|
176
|
+
*
|
|
177
|
+
* Примітка: для optional-полів zod уже опціоналізований (optionalize),
|
|
178
|
+
* для required та boolean (default) `.optional()` обов'язковий у partial-режимі;
|
|
179
|
+
* повторний `.optional()` на вже-опціональній схемі — ідемпотентний no-op,
|
|
180
|
+
* тому застосовуємо його до всіх полів у partial-режимі (поведінка незмінна).
|
|
181
|
+
*/
|
|
182
|
+
/** zod-shape запису: скаляри/layout плоско; embedded → nested object; collection → array. */
|
|
183
|
+
export function buildShape(fields, partial) {
|
|
184
|
+
const shape = {};
|
|
185
|
+
for (const it of fields) {
|
|
186
|
+
if (isField(it)) {
|
|
187
|
+
if (it.type.virtual)
|
|
188
|
+
continue;
|
|
189
|
+
shape[it.key] = partial ? it.type.zod.optional() : it.type.zod;
|
|
190
|
+
}
|
|
191
|
+
else if (isGroup(it)) {
|
|
192
|
+
if (isCollectionGroup(it)) {
|
|
193
|
+
const inner = z.object(buildShape(it.fields, partial)).passthrough();
|
|
194
|
+
const arr = z.array(inner);
|
|
195
|
+
shape[it.key] = partial ? arr.optional() : it.required ? arr : arr.optional();
|
|
196
|
+
}
|
|
197
|
+
else if (isEmbeddedGroup(it)) {
|
|
198
|
+
const inner = z.object(buildShape(it.fields, partial)).passthrough();
|
|
199
|
+
shape[it.key] = partial ? inner.optional() : it.required ? inner : inner.optional();
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// layout group — діти плоско в той самий shape
|
|
203
|
+
Object.assign(shape, buildShape(it.fields, partial));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return shape;
|
|
208
|
+
}
|
|
209
|
+
export function buildZodObject(m) {
|
|
210
|
+
return z.object(buildShape(m.fields, false));
|
|
211
|
+
}
|
|
212
|
+
export function buildZodObjectPartial(m) {
|
|
213
|
+
return z.object(buildShape(m.fields, true));
|
|
214
|
+
}
|
|
215
|
+
export function layoutToClient(items) {
|
|
216
|
+
return items.map((it) => {
|
|
217
|
+
if (isField(it))
|
|
218
|
+
return { key: it.key, type: toClient(it.type) };
|
|
219
|
+
if (isStatic(it))
|
|
220
|
+
return { el: 'static', type: toClient(it.type), value: it.value };
|
|
221
|
+
if (isGroup(it))
|
|
222
|
+
return {
|
|
223
|
+
...it,
|
|
224
|
+
fields: it.fields.map((s) => isField(s)
|
|
225
|
+
? { key: s.key, type: toClient(s.type) }
|
|
226
|
+
: isStatic(s)
|
|
227
|
+
? { el: 'static', type: toClient(s.type), value: s.value }
|
|
228
|
+
: s),
|
|
229
|
+
};
|
|
230
|
+
return it;
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
export function moduleToClient(m) {
|
|
234
|
+
return {
|
|
235
|
+
module: m.module,
|
|
236
|
+
vault: m.vault,
|
|
237
|
+
label: m.label,
|
|
238
|
+
icon: m.icon,
|
|
239
|
+
views: m.views,
|
|
240
|
+
standalone: m.standalone,
|
|
241
|
+
fields: layoutToClient(m.fields),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Контракт пакету модулів.
|
|
3
|
+
*
|
|
4
|
+
* Кожен модуль-пакет (src/modules/<name>/index.ts) повинен виконувати default export
|
|
5
|
+
* типу ModulePackage. Реєстр збирає всі пакети через assemblePackages.
|
|
6
|
+
*
|
|
7
|
+
* Три точки розширення:
|
|
8
|
+
* vaults — нові vault'и, що визначаються цим пакетом
|
|
9
|
+
* vaultModules — ModuleDef'и, що ін'єктуються в vault'и інших пакетів
|
|
10
|
+
* extends_ — нові extends
|
|
11
|
+
*/
|
|
12
|
+
import type { VaultBundle } from './vault.js';
|
|
13
|
+
import type { ModuleDef } from './module.js';
|
|
14
|
+
import type { ExtendDef } from './extend.js';
|
|
15
|
+
export interface ModulePackage {
|
|
16
|
+
vaults?: VaultBundle[];
|
|
17
|
+
vaultModules?: ModuleDef[];
|
|
18
|
+
extends_?: ExtendDef[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Збирає пакети в єдиний реєстр.
|
|
22
|
+
* Порядок масиву важливий: vaultModules ін'єктуються тільки в vault'и,
|
|
23
|
+
* що вже оголошені в packages (попередніх або поточному).
|
|
24
|
+
*/
|
|
25
|
+
export declare function assemblePackages(packages: ModulePackage[]): {
|
|
26
|
+
vaults: VaultBundle[];
|
|
27
|
+
modules: ModuleDef[];
|
|
28
|
+
extends_: ExtendDef[];
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG;IAC3D,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB,CA0BA"}
|
package/dist/package.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Збирає пакети в єдиний реєстр.
|
|
3
|
+
* Порядок масиву важливий: vaultModules ін'єктуються тільки в vault'и,
|
|
4
|
+
* що вже оголошені в packages (попередніх або поточному).
|
|
5
|
+
*/
|
|
6
|
+
export function assemblePackages(packages) {
|
|
7
|
+
// Збираємо власні vault'и в Map (копія, щоб не мутувати оригінал)
|
|
8
|
+
const vaultMap = new Map();
|
|
9
|
+
for (const pkg of packages) {
|
|
10
|
+
for (const bundle of pkg.vaults ?? []) {
|
|
11
|
+
vaultMap.set(bundle.meta.id, { ...bundle, modules: [...bundle.modules] });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
// Ін'єкція vaultModules в існуючі vault'и
|
|
15
|
+
for (const pkg of packages) {
|
|
16
|
+
for (const mod of pkg.vaultModules ?? []) {
|
|
17
|
+
const bundle = vaultMap.get(mod.vault);
|
|
18
|
+
if (bundle) {
|
|
19
|
+
bundle.modules.push(mod);
|
|
20
|
+
}
|
|
21
|
+
// Якщо vault не знайдено — пакет-залежність не підключено, ігноруємо
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const vaults = [...vaultMap.values()];
|
|
25
|
+
return {
|
|
26
|
+
vaults,
|
|
27
|
+
modules: vaults.flatMap((v) => v.modules),
|
|
28
|
+
extends_: packages.flatMap((pkg) => pkg.extends_ ?? []),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../src/package.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAyB;IAKxD,kEAAkE;IAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO;QACL,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC"}
|