rimecms 0.30.2 → 0.31.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/README.md +2 -40
- package/dist/.rime-modules.d.ts +23 -0
- package/dist/.rime-modules.json +1 -0
- package/dist/adapter-sqlite/generate-schema/column.server.js +1 -4
- package/dist/adapter-sqlite/generate-schema/write.server.js +7 -9
- package/dist/core/areas/config/builder.server.d.ts +0 -1
- package/dist/core/collections/auth/hooks/before-upsert/augment-fields-password.server.d.ts +1 -1
- package/dist/core/collections/config/builder.server.d.ts +0 -1
- package/dist/core/collections/upload/hooks/convert-base64.server.d.ts +1 -1
- package/dist/core/collections/upload/hooks/extract-path.server.d.ts +1 -1
- package/dist/core/collections/upload/hooks/handle-path-creation.server.d.ts +1 -1
- package/dist/core/collections/upload/hooks/process-file-upload.server.d.ts +1 -1
- package/dist/core/config/auth/better-auth-hooks.server.js +6 -3
- package/dist/core/config/auth/better-auth.server.d.ts +3 -3
- package/dist/core/config/client/augment-plugins.d.ts +1 -5
- package/dist/core/config/client/augment-plugins.js +3 -3
- package/dist/core/config/client/build-config.d.ts +1 -5
- package/dist/core/config/config-context.server.d.ts +1 -1
- package/dist/core/config/server/augment-plugins.server.d.ts +2 -42
- package/dist/core/config/server/augment-plugins.server.js +11 -6
- package/dist/core/config/server/build-config.server.d.ts +9 -4007
- package/dist/core/config/types.d.ts +12 -11
- package/dist/core/dev/cache/index.server.js +1 -1
- package/dist/core/dev/cli/build/index.d.ts +1 -0
- package/dist/core/dev/cli/build/index.js +10 -5
- package/dist/core/dev/cli/build/templates.d.ts +1 -1
- package/dist/core/dev/cli/build/templates.js +10 -7
- package/dist/core/dev/cli/clear/index.server.js +2 -0
- package/dist/core/dev/cli/generate-manifest/index.server.d.ts +17 -0
- package/dist/core/dev/cli/generate-manifest/index.server.js +221 -0
- package/dist/core/dev/cli/index.js +43 -0
- package/dist/core/dev/cli/init/index.server.js +13 -6
- package/dist/core/dev/cli/init/templates.d.ts +1 -1
- package/dist/core/dev/cli/init/templates.js +13 -4
- package/dist/core/dev/cli/util/package-manager.server.js +29 -26
- package/dist/core/dev/constants.d.ts +21 -2
- package/dist/core/dev/constants.js +26 -0
- package/dist/core/dev/generate/routes/common.server.js +4 -7
- package/dist/core/dev/generate/routes/index.server.js +25 -4
- package/dist/core/dev/generate/runtime/index.server.d.ts +40 -0
- package/dist/core/dev/generate/runtime/index.server.js +85 -0
- package/dist/core/dev/generate/runtime/parse-exports.server.d.ts +7 -0
- package/dist/core/dev/generate/runtime/parse-exports.server.js +40 -0
- package/dist/core/dev/generate/sanitize/index.server.d.ts +0 -7
- package/dist/core/dev/generate/sanitize/index.server.js +57 -5
- package/dist/core/dev/generate/types/index.server.js +21 -20
- package/dist/core/dev/vite/index.server.js +227 -33
- package/dist/core/ensure.server.d.ts +4 -3
- package/dist/core/ensure.server.js +8 -8
- package/dist/core/fields/builders/boolean-builder.d.ts +1 -2
- package/dist/core/fields/builders/field-builder.d.ts +11 -6
- package/dist/core/fields/builders/field-builder.js +12 -5
- package/dist/core/fields/builders/form-field-builder.d.ts +11 -14
- package/dist/core/fields/builders/form-field-builder.js +17 -15
- package/dist/core/fields/util.js +1 -1
- package/dist/core/handlers/index.js +2 -2
- package/dist/core/operations/blocks/extract.server.js +1 -1
- package/dist/core/operations/hooks/before-read/process-document-fields.server.js +3 -3
- package/dist/core/operations/hooks/before-upsert/data-config-map.server.d.ts +1 -1
- package/dist/core/operations/hooks/before-upsert/handle-new-version.server.d.ts +1 -1
- package/dist/core/operations/hooks/before-upsert/original-config-map.server.d.ts +1 -1
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.d.ts +1 -1
- package/dist/core/operations/hooks/before-upsert/set-default-values.server.js +3 -3
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.d.ts +1 -1
- package/dist/core/operations/hooks/before-upsert/validate-fields.server.js +7 -7
- package/dist/core/operations/hooks/index.server.d.ts +0 -4
- package/dist/core/operations/hooks/index.server.js +0 -4
- package/dist/core/operations/shared/fallback-data-from-original.js +1 -1
- package/dist/core/operations/tree/extract.server.js +1 -1
- package/dist/core/plugins/api-init/index.d.ts +2 -0
- package/dist/core/plugins/api-init/index.js +1 -0
- package/dist/core/plugins/api-init/{index.server.d.ts → module.server.d.ts} +0 -1
- package/dist/core/plugins/api-init/{index.server.js → module.server.js} +2 -3
- package/dist/core/plugins/cache/index.d.ts +2 -5
- package/dist/core/plugins/cache/index.js +1 -21
- package/dist/core/plugins/cache/module.d.ts +4 -0
- package/dist/core/plugins/cache/module.js +22 -0
- package/dist/core/plugins/cache/{index.server.d.ts → module.server.d.ts} +1 -2
- package/dist/core/plugins/cache/{index.server.js → module.server.js} +0 -1
- package/dist/core/plugins/index.d.ts +1 -8
- package/dist/core/plugins/index.js +0 -3
- package/dist/core/plugins/mailer/index.d.ts +2 -0
- package/dist/core/plugins/mailer/index.js +1 -0
- package/dist/core/plugins/mailer/{index.server.d.ts → module.server.d.ts} +0 -1
- package/dist/core/plugins/mailer/{index.server.js → module.server.js} +0 -1
- package/dist/core/plugins/sse/index.d.ts +2 -0
- package/dist/core/plugins/sse/index.js +1 -0
- package/dist/core/plugins/sse/{index.server.d.ts → module.server.d.ts} +0 -1
- package/dist/core/plugins/sse/{index.server.js → module.server.js} +0 -1
- package/dist/core/rime.server.d.ts +16 -16
- package/dist/fields/blocks/index.d.ts +1 -1
- package/dist/fields/blocks/index.js +5 -2
- package/dist/fields/checkbox/index.d.ts +1 -1
- package/dist/fields/checkbox/index.js +3 -2
- package/dist/fields/combobox/index.d.ts +1 -1
- package/dist/fields/combobox/index.js +4 -2
- package/dist/fields/date/index.d.ts +2 -2
- package/dist/fields/date/index.js +7 -5
- package/dist/fields/email/index.d.ts +3 -3
- package/dist/fields/email/index.js +9 -8
- package/dist/fields/group/component/Group.svelte +1 -1
- package/dist/fields/group/index.d.ts +1 -1
- package/dist/fields/group/index.js +4 -2
- package/dist/fields/link/index.d.ts +1 -1
- package/dist/fields/link/index.js +63 -56
- package/dist/fields/link/module.server.d.ts +2 -0
- package/dist/fields/link/{runtime.server.js → module.server.js} +0 -8
- package/dist/fields/number/index.d.ts +1 -1
- package/dist/fields/number/index.js +3 -2
- package/dist/fields/radio/index.d.ts +1 -1
- package/dist/fields/radio/index.js +4 -2
- package/dist/fields/relation/index.d.ts +2 -6
- package/dist/fields/relation/index.js +64 -75
- package/dist/fields/relation/{runtime.d.ts → module.d.ts} +2 -2
- package/dist/fields/relation/module.js +4 -0
- package/dist/fields/relation/module.server.d.ts +5 -0
- package/dist/fields/relation/{runtime.server.js → module.server.js} +3 -6
- package/dist/fields/rich-text/index.d.ts +1 -1
- package/dist/fields/rich-text/index.js +3 -2
- package/dist/fields/select/index.d.ts +1 -1
- package/dist/fields/select/index.js +4 -1
- package/dist/fields/slug/index.d.ts +1 -1
- package/dist/fields/slug/index.js +3 -2
- package/dist/fields/tabs/index.d.ts +1 -1
- package/dist/fields/tabs/index.js +10 -2
- package/dist/fields/text/index.d.ts +1 -1
- package/dist/fields/text/index.js +3 -2
- package/dist/fields/textarea/index.d.ts +1 -1
- package/dist/fields/textarea/index.js +3 -2
- package/dist/fields/time/index.d.ts +1 -1
- package/dist/fields/time/index.js +3 -2
- package/dist/fields/toggle/index.d.ts +1 -1
- package/dist/fields/toggle/index.js +3 -3
- package/dist/fields/tree/index.d.ts +1 -1
- package/dist/fields/tree/index.js +4 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/panel/components/fields/RenderFields.svelte +1 -1
- package/dist/panel/context/collection.svelte.js +5 -3
- package/dist/panel/context/config.svelte.d.ts +2 -2
- package/dist/panel/context/documentForm.svelte.d.ts +2 -2
- package/dist/panel/context/documentForm.svelte.js +47 -28
- package/dist/panel/context/form.svelte.js +3 -3
- package/dist/panel/context/live.svelte.js +1 -1
- package/dist/panel/pages/auth/sign-in/SignIn.svelte +6 -1
- package/dist/server.d.ts +4 -4
- package/dist/server.js +4 -4
- package/dist/types.d.ts +1 -1
- package/dist/util/doc.js +1 -1
- package/package.json +2 -9
- package/dist/fields/blocks/index.server.d.ts +0 -3
- package/dist/fields/blocks/index.server.js +0 -5
- package/dist/fields/checkbox/index.server.d.ts +0 -3
- package/dist/fields/checkbox/index.server.js +0 -3
- package/dist/fields/combobox/index.server.d.ts +0 -3
- package/dist/fields/combobox/index.server.js +0 -4
- package/dist/fields/date/index.server.d.ts +0 -3
- package/dist/fields/date/index.server.js +0 -3
- package/dist/fields/email/index.server.d.ts +0 -4
- package/dist/fields/email/index.server.js +0 -3
- package/dist/fields/group/index.server.d.ts +0 -2
- package/dist/fields/group/index.server.js +0 -12
- package/dist/fields/index.server.d.ts +0 -14
- package/dist/fields/index.server.js +0 -65
- package/dist/fields/link/runtime.server.d.ts +0 -5
- package/dist/fields/number/index.server.d.ts +0 -3
- package/dist/fields/number/index.server.js +0 -3
- package/dist/fields/radio/index.server.d.ts +0 -3
- package/dist/fields/radio/index.server.js +0 -4
- package/dist/fields/relation/runtime.js +0 -4
- package/dist/fields/relation/runtime.server.d.ts +0 -8
- package/dist/fields/rich-text/index.server.d.ts +0 -3
- package/dist/fields/rich-text/index.server.js +0 -3
- package/dist/fields/select/index.server.d.ts +0 -3
- package/dist/fields/select/index.server.js +0 -4
- package/dist/fields/slug/index.server.d.ts +0 -3
- package/dist/fields/slug/index.server.js +0 -3
- package/dist/fields/tabs/index.server.d.ts +0 -3
- package/dist/fields/tabs/index.server.js +0 -18
- package/dist/fields/text/index.server.d.ts +0 -3
- package/dist/fields/text/index.server.js +0 -3
- package/dist/fields/textarea/index.server.d.ts +0 -3
- package/dist/fields/textarea/index.server.js +0 -3
- package/dist/fields/time/index.server.d.ts +0 -3
- package/dist/fields/time/index.server.js +0 -3
- package/dist/fields/toggle/index.server.d.ts +0 -3
- package/dist/fields/toggle/index.server.js +0 -3
- package/dist/fields/tree/index.server.d.ts +0 -3
- package/dist/fields/tree/index.server.js +0 -4
- /package/dist/fields/link/{runtime.d.ts → module.d.ts} +0 -0
- /package/dist/fields/link/{runtime.js → module.js} +0 -0
package/dist/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import handlers from './core/handlers/index.js';
|
|
2
2
|
import { registerTranslation } from './core/i18n/register.server.js';
|
|
3
|
-
import { apiInit } from './core/plugins/api-init/index.
|
|
4
|
-
import { cache } from './core/plugins/cache/index.
|
|
5
|
-
import { mailer } from './core/plugins/mailer/index.
|
|
6
|
-
import { sse } from './core/plugins/sse/index.
|
|
3
|
+
import { apiInit } from './core/plugins/api-init/index.js';
|
|
4
|
+
import { cache } from './core/plugins/cache/index.js';
|
|
5
|
+
import { mailer } from './core/plugins/mailer/index.js';
|
|
6
|
+
import { sse } from './core/plugins/sse/index.js';
|
|
7
7
|
export { apiInit, cache, handlers, mailer, registerTranslation, sse };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { User } from './core/collections/auth/types.js';
|
|
2
|
-
export type { AdditionalStaffConfig, Area, AreaHooks, BuiltArea, BuiltCollection, BuiltConfig, BuiltConfigClient, Collection, CollectionHooks, Config, CustomPanelRoute, ImageSizesConfig, LocaleConfig, LocalizationConfig, RouteConfig } from './core/config/types.js';
|
|
2
|
+
export type { AdditionalStaffConfig, Area, AreaHooks, BuiltArea, BuiltAreaClient, BuiltCollection, BuiltCollectionClient, BuiltConfig, BuiltConfigClient, Collection, CollectionHooks, Config, CustomPanelRoute, ImageSizesConfig, LocaleConfig, LocalizationConfig, RouteConfig, SanitizedConfigClient } from './core/config/types.js';
|
|
3
3
|
export type { AreaSlug, BaseDoc, CollectionSlug, GenericBlock, GenericDoc, Prototype, PrototypeSlug, UploadDoc } from './core/types/doc.js';
|
|
4
4
|
export type * from './fields/types.js';
|
|
5
5
|
export type { CollectionProps, FieldPanelTableConfig, FormErrors, Navigation, Route } from './panel/types.js';
|
package/dist/util/doc.js
CHANGED
|
@@ -38,7 +38,7 @@ export const createBlankDocument = (config, event) => {
|
|
|
38
38
|
// than assigned `prev['']` (they never got a real name) — that used
|
|
39
39
|
// to corrupt the parent object into looking array-like once
|
|
40
40
|
// flattened/unflattened.
|
|
41
|
-
const defaultValue = curr.
|
|
41
|
+
const defaultValue = curr.use.defaultValue({ event });
|
|
42
42
|
prev[curr.name] = defaultValue !== undefined ? defaultValue : null;
|
|
43
43
|
}
|
|
44
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rimecms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"homepage": "https://github.com/bienbiendev/rime",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "vite dev",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"build:css": "postcss dist/**/*.css --replace --config ./postcss.config.cjs",
|
|
9
9
|
"rime:use": "bun ./src/scripts/useConfig.js",
|
|
10
10
|
"preview": "vite preview",
|
|
11
|
-
"package": "bun ./src/lib/core/dev/cli/index.ts clear --force &&
|
|
11
|
+
"package": "bun ./src/lib/core/dev/cli/index.ts clear --force && bun ./src/lib/core/dev/cli/index.ts package && publint",
|
|
12
12
|
"prepublishOnly": "rm -fr src/lib/site && npm run package && pnpm build:css",
|
|
13
13
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
14
14
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
@@ -179,18 +179,11 @@
|
|
|
179
179
|
"magic-string-ast": "^1.0.2",
|
|
180
180
|
"nodemailer": "^8.0.5",
|
|
181
181
|
"paneforge": "^1.0.2",
|
|
182
|
-
"polka": "^0.5.2",
|
|
183
182
|
"postcss-import": "^16.1.1",
|
|
184
183
|
"qs": "^6.14.0",
|
|
185
184
|
"runed": "^0.37.1",
|
|
186
185
|
"sharp": "^0.35.3",
|
|
187
186
|
"sortablejs": "^1.15.6",
|
|
188
187
|
"svelte-sonner": "^1.0.5"
|
|
189
|
-
},
|
|
190
|
-
"pnpm": {
|
|
191
|
-
"onlyBuiltDependencies": [
|
|
192
|
-
"sharp",
|
|
193
|
-
"esbuild"
|
|
194
|
-
]
|
|
195
188
|
}
|
|
196
189
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { getFieldPrivateModule } from '../index.server.js';
|
|
2
|
-
export async function toType(group) {
|
|
3
|
-
const fieldsTypes = [];
|
|
4
|
-
for (const field of group.get.fields) {
|
|
5
|
-
const fieldServerMethods = await getFieldPrivateModule(field);
|
|
6
|
-
if (fieldServerMethods) {
|
|
7
|
-
const result = await Promise.resolve(fieldServerMethods.toType(field));
|
|
8
|
-
fieldsTypes.push(result);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
return group.get.fields.length ? `${group.name}: {${fieldsTypes.join(',\n\t')}}` : '';
|
|
12
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FieldBuilder } from '../core/fields/builders/field-builder.js';
|
|
2
|
-
export type ToType<T extends FieldBuilder<any> = FieldBuilder<any>> = (field: T) => Promise<string> | string;
|
|
3
|
-
/**
|
|
4
|
-
* Dynamically imports the server-side module for a form field if it exists
|
|
5
|
-
* Returns the imported module or false if no server module is found or import fails
|
|
6
|
-
* @example
|
|
7
|
-
* const serverModule = await getFieldPrivateModule(fieldBuilder);
|
|
8
|
-
* if (serverModule) {
|
|
9
|
-
* serverModule.toType(fieldBuilder)
|
|
10
|
-
* }
|
|
11
|
-
*/
|
|
12
|
-
export declare function getFieldPrivateModule(field: FieldBuilder<any>): Promise<{
|
|
13
|
-
toType: ToType;
|
|
14
|
-
} | null>;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'fs';
|
|
2
|
-
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import { dirname, extname, join } from 'path';
|
|
4
|
-
/**
|
|
5
|
-
* Converts a file URL to its corresponding server module path and checks if the file exists.
|
|
6
|
-
* Prefers a sibling `runtime.server.ts` (the generic per-field server-only file, also used to
|
|
7
|
-
* resolve `$rime/runtime` — see relation/ for the first user), falling back to the older
|
|
8
|
-
* `<basename>.server.ts` convention most fields still use. Tries both .ts and .js extensions
|
|
9
|
-
* either way.
|
|
10
|
-
* @example
|
|
11
|
-
* convertToServerModulePath('file:///path/to/relation/index.ts') // '/path/to/relation/runtime.server.ts'
|
|
12
|
-
* convertToServerModulePath('file:///path/to/text/index.ts') // '/path/to/text/index.server.ts'
|
|
13
|
-
*/
|
|
14
|
-
function convertToServerModulePath(metaUrl) {
|
|
15
|
-
try {
|
|
16
|
-
// Convert file:// URL to file path
|
|
17
|
-
const filePath = fileURLToPath(metaUrl);
|
|
18
|
-
const dir = dirname(filePath);
|
|
19
|
-
// Get the filename without extension
|
|
20
|
-
const baseName = filePath.replace(extname(filePath), '');
|
|
21
|
-
const candidates = [join(dir, 'runtime.server'), `${baseName}.server`];
|
|
22
|
-
for (const candidate of candidates) {
|
|
23
|
-
for (const ext of ['.ts', '.js']) {
|
|
24
|
-
const fullPath = `${candidate}${ext}`;
|
|
25
|
-
if (existsSync(fullPath)) {
|
|
26
|
-
return fullPath;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error('Error converting metaUrl to server module path:', error);
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Dynamically imports the server-side module for a form field if it exists
|
|
39
|
-
* Returns the imported module or false if no server module is found or import fails
|
|
40
|
-
* @example
|
|
41
|
-
* const serverModule = await getFieldPrivateModule(fieldBuilder);
|
|
42
|
-
* if (serverModule) {
|
|
43
|
-
* serverModule.toType(fieldBuilder)
|
|
44
|
-
* }
|
|
45
|
-
*/
|
|
46
|
-
export async function getFieldPrivateModule(field) {
|
|
47
|
-
if (field._metaUrl) {
|
|
48
|
-
const serverModulePath = convertToServerModulePath(field._metaUrl);
|
|
49
|
-
if (serverModulePath) {
|
|
50
|
-
try {
|
|
51
|
-
const serverField = await import(/* @vite-ignore */ serverModulePath);
|
|
52
|
-
return serverField;
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
console.error('Error importing server module:', error);
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
console.warn('Server module not found for:', field._metaUrl);
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ToType } from '../index.server.js';
|
|
2
|
-
import type { FieldHook, LinkField } from '../types.js';
|
|
3
|
-
import type { LinkFieldBuilder } from './index.js';
|
|
4
|
-
export declare const toType: ToType<LinkFieldBuilder>;
|
|
5
|
-
export declare const populateRessourceURL: FieldHook<LinkField>;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** Client-side no-op — resolved via `$rime/runtime` when bundling for the browser (see
|
|
2
|
-
* relation/index.ts). The panel never needs to validate a relation actually exists;
|
|
3
|
-
* the real check (relation/runtime.server.ts) runs server-side before any write lands. */
|
|
4
|
-
export const ensureRelationExists = async (value) => value;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { FieldHookShared } from '../types.js';
|
|
2
|
-
import type { ToType } from '../index.server.js';
|
|
3
|
-
import type { RelationFieldBuilder } from './index.js';
|
|
4
|
-
export declare const toType: ToType<RelationFieldBuilder<any>>;
|
|
5
|
-
/** Real implementation — resolved server-side via `$rime/runtime` (see relation/index.ts,
|
|
6
|
-
* relation/runtime.ts for the client-side no-op counterpart). Uses a plain static import of
|
|
7
|
-
* `$app/server`, which SvelteKit's build blocks from ever reaching client code. */
|
|
8
|
-
export declare const ensureRelationExists: FieldHookShared;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { getFieldPrivateModule } from '../index.server.js';
|
|
2
|
-
export const toType = async (field) => {
|
|
3
|
-
const types = [];
|
|
4
|
-
for (const tab of field.get.tabs) {
|
|
5
|
-
const fieldsTypes = [];
|
|
6
|
-
for (const field of tab.get.fields) {
|
|
7
|
-
const fieldServerMethods = await getFieldPrivateModule(field);
|
|
8
|
-
if (fieldServerMethods) {
|
|
9
|
-
const result = await Promise.resolve(fieldServerMethods.toType(field));
|
|
10
|
-
fieldsTypes.push(result);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
if (fieldsTypes.length) {
|
|
14
|
-
types.push(`${tab.name}: {${fieldsTypes.join(',\n\t\t')}}`);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return types.length ? types.join(',\n\t').replaceAll(',,', ',') : '';
|
|
18
|
-
};
|
|
File without changes
|
|
File without changes
|