@shamar/core 0.3.0 → 1.0.1

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.
@@ -1,6 +1,6 @@
1
- import { form } from './form.js';
2
- import { infolist } from './infolist.js';
3
- import { table } from './table.js';
1
+ import { acceptForm, FormBuilder } from './form.js';
2
+ import { acceptInfolist, InfolistBuilder } from './infolist.js';
3
+ import { acceptTable, TableBuilder } from './table.js';
4
4
  export class PageSectionDefinition {
5
5
  meta;
6
6
  handlers;
@@ -10,13 +10,22 @@ export class PageSectionDefinition {
10
10
  }
11
11
  }
12
12
  function resolveFormSchema(value) {
13
- return typeof value === 'function' ? value() : value;
13
+ if (typeof value !== 'function')
14
+ return value;
15
+ const builder = new FormBuilder();
16
+ return acceptForm(value(builder), builder);
14
17
  }
15
18
  function resolveTableSchema(value) {
16
- return typeof value === 'function' ? value() : value;
19
+ if (typeof value !== 'function')
20
+ return value;
21
+ const builder = new TableBuilder();
22
+ return acceptTable(value(builder), builder);
17
23
  }
18
24
  function resolveInfolistSchema(value) {
19
- return typeof value === 'function' ? value() : value;
25
+ if (typeof value !== 'function')
26
+ return value;
27
+ const builder = new InfolistBuilder();
28
+ return acceptInfolist(value(builder)) ?? { entries: [], sections: [], schema: [] };
20
29
  }
21
30
  function buildTableListResource(sectionKey, options, tableSchema) {
22
31
  const searchableFields = tableSchema.columns
@@ -123,6 +132,4 @@ export function pageContent(fn) {
123
132
  fn(builder);
124
133
  return builder.build();
125
134
  }
126
- /** Convenience re-exports for section builders. */
127
- export { form, table, infolist };
128
135
  //# sourceMappingURL=page-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-content.js","sourceRoot":"","sources":["../src/page-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-content.js","sourceRoot":"","sources":["../src/page-content.ts"],"names":[],"mappings":"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"}
package/dist/page.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { form } from './form.js';
2
- import { infolist } from './infolist.js';
3
- import { table } from './table.js';
1
+ import { ActionBuilder } from './actions.js';
2
+ import { FormBuilder } from './form.js';
3
+ import { InfolistBuilder } from './infolist.js';
4
+ import { TableBuilder } from './table.js';
4
5
  import type { PageSectionDefinition, PageSectionMeta } from './page-content.js';
5
- import type { ActionConfig, FieldConfig, FormSchema, ResourceMeta, ResourceModel, ShamarUser } from './types.js';
6
+ import type { ActionConfig, FieldConfig, FormSchema, InfolistSchema, ResourceMeta, ResourceModel, ShamarUser, TableSchema } from './types.js';
6
7
  export type PageKind = 'custom' | 'form' | 'list' | 'composite';
7
8
  /** Minimal request context passed into page lifecycle hooks. */
8
9
  export interface PageRequestContext {
@@ -64,7 +65,7 @@ export declare abstract class Page {
64
65
  static view?: string;
65
66
  static contentMaxWidth?: string;
66
67
  static canAccess(_user: ShamarUser | null | undefined): boolean;
67
- static headerActions(): ActionConfig[];
68
+ static headerActions(_actions: ActionBuilder): ActionBuilder | ActionConfig[];
68
69
  /**
69
70
  * Extra locals for the page view (merged after fill for form pages).
70
71
  */
@@ -81,7 +82,13 @@ export declare abstract class Page {
81
82
  * Filament-style settings / form page — mount/fill data, save on POST.
82
83
  */
83
84
  export declare abstract class FormPage extends Page {
84
- static form(): ReturnType<typeof form>;
85
+ static form(form: FormBuilder): FormBuilder | FormSchema;
86
+ /**
87
+ * Whether the signed-in user may submit / mutate this form.
88
+ * When false, the Save control is hidden and fields render read-only.
89
+ * Defaults to true; override for settings / restricted pages.
90
+ */
91
+ static canSave(_user: ShamarUser | null | undefined): boolean;
85
92
  /**
86
93
  * Initial form state. Defaults to `{}`; override to load a singleton / settings row.
87
94
  */
@@ -112,13 +119,13 @@ export declare abstract class ListPage extends Page {
112
119
  field?: string;
113
120
  };
114
121
  static defaultPerPage?: number;
115
- static table(): ReturnType<typeof table>;
122
+ static table(table: TableBuilder): TableBuilder | TableSchema;
116
123
  /**
117
124
  * Optional show/infolist for row clicks (`GET /:slug/:id`).
118
125
  * Defaults to entries derived from {@link table} columns.
119
126
  */
120
- static infolist(): ReturnType<typeof infolist> | undefined;
121
- static listActions(): ActionConfig[];
127
+ static infolist(_infolist: InfolistBuilder): InfolistBuilder | InfolistSchema | undefined;
128
+ static listActions(_actions: ActionBuilder): ActionBuilder | ActionConfig[];
122
129
  static configure(): PageMeta;
123
130
  }
124
131
  export type PageClass = typeof Page;
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
package/dist/page.js CHANGED
@@ -1,6 +1,11 @@
1
- import { form } from './form.js';
2
- import { columnsToInfolistSchema } from './infolist.js';
3
- import { table } from './table.js';
1
+ import { acceptActions, ActionBuilder } from './actions.js';
2
+ import { acceptForm, FormBuilder } from './form.js';
3
+ import { acceptInfolist, columnsToInfolistSchema, InfolistBuilder } from './infolist.js';
4
+ import { acceptTable, TableBuilder } from './table.js';
5
+ function headerActionList(page) {
6
+ const builder = new ActionBuilder();
7
+ return acceptActions(page.headerActions(builder), builder);
8
+ }
4
9
  /**
5
10
  * Filament-style panel page — custom view, declarative sections, or header actions.
6
11
  * Use {@link FormPage} or {@link ListPage} for a single form or table shortcut.
@@ -19,7 +24,7 @@ export class Page {
19
24
  static canAccess(_user) {
20
25
  return true;
21
26
  }
22
- static headerActions() {
27
+ static headerActions(_actions) {
23
28
  return [];
24
29
  }
25
30
  /**
@@ -62,7 +67,7 @@ export class Page {
62
67
  icon: this.icon,
63
68
  view: this.view ?? 'shamar::page-sections',
64
69
  contentMaxWidth: this.contentMaxWidth,
65
- actions: this.headerActions(),
70
+ actions: headerActionList(this),
66
71
  sections,
67
72
  };
68
73
  }
@@ -77,7 +82,7 @@ export class Page {
77
82
  icon: this.icon,
78
83
  view: this.view,
79
84
  contentMaxWidth: this.contentMaxWidth,
80
- actions: this.headerActions(),
85
+ actions: headerActionList(this),
81
86
  };
82
87
  }
83
88
  }
@@ -85,8 +90,16 @@ export class Page {
85
90
  * Filament-style settings / form page — mount/fill data, save on POST.
86
91
  */
87
92
  export class FormPage extends Page {
88
- static form() {
89
- return form(() => undefined);
93
+ static form(form) {
94
+ return form;
95
+ }
96
+ /**
97
+ * Whether the signed-in user may submit / mutate this form.
98
+ * When false, the Save control is hidden and fields render read-only.
99
+ * Defaults to true; override for settings / restricted pages.
100
+ */
101
+ static canSave(_user) {
102
+ return true;
90
103
  }
91
104
  /**
92
105
  * Initial form state. Defaults to `{}`; override to load a singleton / settings row.
@@ -101,7 +114,8 @@ export class FormPage extends Page {
101
114
  return undefined;
102
115
  }
103
116
  static configure() {
104
- const formSchema = this.form();
117
+ const formBuilder = new FormBuilder();
118
+ const formSchema = acceptForm(this.form(formBuilder), formBuilder);
105
119
  return {
106
120
  ...super.configure(),
107
121
  kind: 'form',
@@ -129,24 +143,27 @@ export class ListPage extends Page {
129
143
  static recordTitleField = 'name';
130
144
  static softDelete;
131
145
  static defaultPerPage;
132
- static table() {
133
- return table(() => undefined);
146
+ static table(table) {
147
+ return table;
134
148
  }
135
149
  /**
136
150
  * Optional show/infolist for row clicks (`GET /:slug/:id`).
137
151
  * Defaults to entries derived from {@link table} columns.
138
152
  */
139
- static infolist() {
153
+ static infolist(_infolist) {
140
154
  return undefined;
141
155
  }
142
- static listActions() {
156
+ static listActions(_actions) {
143
157
  // Read-only list by default — no create/edit/delete chrome.
144
158
  return [];
145
159
  }
146
160
  static configure() {
147
- const tableSchema = this.table();
148
- const actionList = this.listActions();
149
- const explicitInfolist = this.infolist();
161
+ const tableBuilder = new TableBuilder();
162
+ const tableSchema = acceptTable(this.table(tableBuilder), tableBuilder);
163
+ const actionBuilder = new ActionBuilder();
164
+ const actionList = acceptActions(this.listActions(actionBuilder), actionBuilder);
165
+ const infolistBuilder = new InfolistBuilder();
166
+ const explicitInfolist = acceptInfolist(this.infolist(infolistBuilder));
150
167
  const infolistSchema = explicitInfolist ?? columnsToInfolistSchema(tableSchema.columns);
151
168
  const searchableFields = tableSchema.columns
152
169
  .filter((column) => column.searchable)
@@ -180,7 +197,7 @@ export class ListPage extends Page {
180
197
  ...super.configure(),
181
198
  kind: 'list',
182
199
  defaultPerPage: this.defaultPerPage,
183
- actions: [...this.headerActions(), ...actionList.filter((a) => a.placement === 'header')],
200
+ actions: [...headerActionList(this), ...actionList.filter((a) => a.placement === 'header')],
184
201
  view: this.view ?? 'shamar::page-list',
185
202
  listResource,
186
203
  };
package/dist/page.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
package/dist/panel.d.ts CHANGED
@@ -6,7 +6,7 @@ import type { Resource } from './resource.js';
6
6
  * Filament-style panel builder.
7
7
  *
8
8
  * @example
9
- * panel('admin').path('/admin').discoverResources('app/resources/admin')
9
+ * panel('admin').path('/admin').discoverResources('app/panels/admin/resources')
10
10
  */
11
11
  export declare class PanelBuilder {
12
12
  private config;
@@ -75,6 +75,16 @@ export declare class PanelBuilder {
75
75
  * @example panel('admin').dashboardPage(AdminDashboard)
76
76
  */
77
77
  dashboardPage(pageClass: typeof DashboardPage): this;
78
+ /**
79
+ * Extra links in the user avatar dropdown (other panels, docs, marketing site).
80
+ *
81
+ * @example
82
+ * panel('admin').userMenuLinks([
83
+ * { label: 'App panel', href: '/app' },
84
+ * { label: 'shamar.dev', href: 'https://shamar.dev', external: true },
85
+ * ])
86
+ */
87
+ userMenuLinks(links: NonNullable<PanelConfig['userMenuLinks']>): this;
78
88
  build(): PanelConfig;
79
89
  }
80
90
  export declare function panel(id: string): PanelBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;gBAEhB,EAAE,EAAE,MAAM;IAStB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKtC,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,gBAAgB,IAAI,IAAI;IAIxB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK1B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,GAAG,IAAI;IAK7C,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI;IAKrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,UAAO,GAAG,IAAI;IAK1C;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,OAAO,aAAa,GAAG,IAAI;IAKpD,KAAK,IAAI,WAAW;CAOrB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAE9C"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;gBAEhB,EAAE,EAAE,MAAM;IAStB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKtC,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,aAAa,IAAI,IAAI;IAIrB,0CAA0C;IAC1C,gBAAgB,IAAI,IAAI;IAIxB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK1B,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,QAAQ,CAAC,GAAG,IAAI;IAK7C,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI;IAKrC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKhC;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC;;;OAGG;IACH,sBAAsB,CAAC,KAAK,UAAO,GAAG,IAAI;IAK1C;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,OAAO,aAAa,GAAG,IAAI;IAKpD;;;;;;;;OAQG;IACH,aAAa,CACX,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,GAC/C,IAAI;IAKP,KAAK,IAAI,WAAW;CAUrB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAE9C"}
package/dist/panel.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Filament-style panel builder.
3
3
  *
4
4
  * @example
5
- * panel('admin').path('/admin').discoverResources('app/resources/admin')
5
+ * panel('admin').path('/admin').discoverResources('app/panels/admin/resources')
6
6
  */
7
7
  export class PanelBuilder {
8
8
  config;
@@ -120,11 +120,27 @@ export class PanelBuilder {
120
120
  this.config.dashboardPage = pageClass;
121
121
  return this;
122
122
  }
123
+ /**
124
+ * Extra links in the user avatar dropdown (other panels, docs, marketing site).
125
+ *
126
+ * @example
127
+ * panel('admin').userMenuLinks([
128
+ * { label: 'App panel', href: '/app' },
129
+ * { label: 'shamar.dev', href: 'https://shamar.dev', external: true },
130
+ * ])
131
+ */
132
+ userMenuLinks(links) {
133
+ this.config.userMenuLinks = [...links];
134
+ return this;
135
+ }
123
136
  build() {
124
137
  return {
125
138
  ...this.config,
126
139
  resources: [...this.config.resources],
127
140
  pages: [...(this.config.pages ?? [])],
141
+ userMenuLinks: this.config.userMenuLinks
142
+ ? [...this.config.userMenuLinks]
143
+ : undefined,
128
144
  };
129
145
  }
130
146
  }
package/dist/panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { defaultActions } from './actions.js';
2
- import { form, FormBuilder } from './form.js';
3
- import { infolist, InfolistBuilder } from './infolist.js';
1
+ import { ActionBuilder } from './actions.js';
2
+ import { FormBuilder } from './form.js';
3
+ import { InfolistBuilder } from './infolist.js';
4
4
  import type { PolicyClass } from './policy-types.js';
5
- import { table, TableBuilder } from './table.js';
6
- import type { DataAdapter, ResourceMeta, ResourceModel, ShamarUser } from './types.js';
5
+ import { TableBuilder } from './table.js';
6
+ import type { ActionConfig, DataAdapter, FormSchema, InfolistSchema, ResourceMeta, ResourceModel, ShamarUser, TableSchema } from './types.js';
7
7
  /** Result of {@link Resource.prepareCreate} before adapter.create. */
8
8
  export interface PrepareCreateResult {
9
9
  data: Record<string, unknown>;
@@ -66,16 +66,22 @@ export declare abstract class Resource {
66
66
  static defaultPerPage?: number;
67
67
  /** Optional record-level policy (Loom / Laravel style). */
68
68
  static policy?: PolicyClass;
69
- static form(): ReturnType<typeof form>;
70
- static table(): ReturnType<typeof table>;
69
+ /**
70
+ * Create/edit fields. Chain on the builder Filament passes in:
71
+ * `return form.schema([...])`.
72
+ */
73
+ static form(form: FormBuilder): FormBuilder | FormSchema;
74
+ /** List columns. `return table.schema([...]).defaultSort('name')`. */
75
+ static table(table: TableBuilder): TableBuilder | TableSchema;
71
76
  /**
72
77
  * Detail/infolist schema. When not overridden, derived from form fields.
73
78
  * Alias: `detail()`.
74
79
  */
75
- static infolist(): ReturnType<typeof infolist> | undefined;
80
+ static infolist(_infolist: InfolistBuilder): InfolistBuilder | InfolistSchema | undefined;
76
81
  /** Alias for `infolist()` (Filament naming). */
77
- static detail(): ReturnType<typeof infolist> | undefined;
78
- static resourceActions(): ReturnType<typeof defaultActions>;
82
+ static detail(infolist: InfolistBuilder): InfolistBuilder | InfolistSchema | undefined;
83
+ /** Header, row, and bulk actions. Call methods on `actions`, then return it. */
84
+ static resourceActions(_actions: ActionBuilder): ActionBuilder | ActionConfig[];
79
85
  /**
80
86
  * Extra abilities beyond CRUD (`viewAny` / `view` / `create` / `edit` / `delete`).
81
87
  * Seeded as `{slug}:{ability}` unless the name already contains `:`.
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAkB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAc,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAA8C,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,8BAAsB,QAAQ;IAC5B,MAAM,CAAC,IAAI,SAAe;IAC1B,MAAM,CAAC,KAAK,SAAe;IAC3B,MAAM,CAAC,aAAa,SAAc;IAClC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAc;IACzC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACnC,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU;IAIxD,sEAAsE;IACtE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,WAAW;IAI7D;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,SAAS,EAAE,eAAe,GACzB,eAAe,GAAG,cAAc,GAAG,SAAS;IAI/C,gDAAgD;IAChD,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,eAAe,GACxB,eAAe,GAAG,cAAc,GAAG,SAAS;IAI/C,gFAAgF;IAChF,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,aAAa,GACtB,aAAa,GAAG,YAAY,EAAE;IAIjC;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAItE;;;OAGG;IACH,MAAM,CAAC,aAAa,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,oBAAoB,GACzB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIrD;;;OAGG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACnC,IAAI,EAAE,mBAAmB,GAEvB,kBAAkB,GAClB,IAAI,GACJ,IAAI,GACJ,OAAO,CAAC,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAAC;IAI7C,mEAAmE;IACnE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAI3C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAK5C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAK3E,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAK3C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAK3E,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAK7E,MAAM,CAAC,SAAS,IAAI,YAAY;IAmDhC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;CAO5D;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,OAAO,QAAQ,EACzD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/C,GACA,OAAO,QAAQ,CA4BjB"}
package/dist/resource.js CHANGED
@@ -1,8 +1,8 @@
1
- import { defaultActions } from './actions.js';
2
- import { form } from './form.js';
3
- import { infolist, formSchemaToInfolistSchema } from './infolist.js';
1
+ import { acceptActions, ActionBuilder, defaultActions } from './actions.js';
2
+ import { acceptForm, FormBuilder } from './form.js';
3
+ import { acceptInfolist, formSchemaToInfolistSchema, InfolistBuilder } from './infolist.js';
4
4
  import { userHasPermission, normalizeCustomPermissions } from './permissions.js';
5
- import { table } from './table.js';
5
+ import { acceptTable, TableBuilder } from './table.js';
6
6
  /**
7
7
  * Base resource class — Filament `Resource` equivalent.
8
8
  *
@@ -40,24 +40,30 @@ export class Resource {
40
40
  static defaultPerPage;
41
41
  /** Optional record-level policy (Loom / Laravel style). */
42
42
  static policy;
43
- static form() {
44
- return form(() => undefined);
43
+ /**
44
+ * Create/edit fields. Chain on the builder Filament passes in:
45
+ * `return form.schema([...])`.
46
+ */
47
+ static form(form) {
48
+ return form;
45
49
  }
46
- static table() {
47
- return table(() => undefined);
50
+ /** List columns. `return table.schema([...]).defaultSort('name')`. */
51
+ static table(table) {
52
+ return table;
48
53
  }
49
54
  /**
50
55
  * Detail/infolist schema. When not overridden, derived from form fields.
51
56
  * Alias: `detail()`.
52
57
  */
53
- static infolist() {
58
+ static infolist(_infolist) {
54
59
  return undefined;
55
60
  }
56
61
  /** Alias for `infolist()` (Filament naming). */
57
- static detail() {
58
- return this.infolist();
62
+ static detail(infolist) {
63
+ return this.infolist(infolist);
59
64
  }
60
- static resourceActions() {
65
+ /** Header, row, and bulk actions. Call methods on `actions`, then return it. */
66
+ static resourceActions(_actions) {
61
67
  return defaultActions();
62
68
  }
63
69
  /**
@@ -111,10 +117,18 @@ export class Resource {
111
117
  return userHasPermission(user, this.slug, 'delete');
112
118
  }
113
119
  static configure() {
114
- const formSchema = this.form();
115
- const tableSchema = this.table();
116
- const actionList = this.resourceActions();
117
- const explicitInfolist = this.infolist() ?? this.detail();
120
+ const formBuilder = new FormBuilder();
121
+ const formSchema = acceptForm(this.form(formBuilder), formBuilder);
122
+ const tableBuilder = new TableBuilder();
123
+ const tableSchema = acceptTable(this.table(tableBuilder), tableBuilder);
124
+ const actionBuilder = new ActionBuilder();
125
+ const actionList = acceptActions(this.resourceActions(actionBuilder), actionBuilder);
126
+ const infolistBuilder = new InfolistBuilder();
127
+ let explicitInfolist = acceptInfolist(this.infolist(infolistBuilder));
128
+ if (!explicitInfolist) {
129
+ const detailBuilder = new InfolistBuilder();
130
+ explicitInfolist = acceptInfolist(this.detail(detailBuilder));
131
+ }
118
132
  const hasExplicitInfolist = explicitInfolist !== undefined;
119
133
  const infolistSchema = explicitInfolist ?? formSchemaToInfolistSchema(formSchema);
120
134
  const searchableFields = [
@@ -167,20 +181,23 @@ export function extendResource(Base, overrides) {
167
181
  static model = overrides.model ?? Base.model;
168
182
  static connection = overrides.connection ?? Base.connection;
169
183
  static navigationGroup = overrides.navigationGroup ?? Base.navigationGroup;
170
- static form() {
184
+ static form(form) {
171
185
  if (!overrides.form)
172
- return Base.form();
173
- return form(overrides.form);
186
+ return Base.form(form);
187
+ overrides.form(form);
188
+ return form;
174
189
  }
175
- static table() {
190
+ static table(table) {
176
191
  if (!overrides.table)
177
- return Base.table();
178
- return table(overrides.table);
192
+ return Base.table(table);
193
+ overrides.table(table);
194
+ return table;
179
195
  }
180
- static infolist() {
196
+ static infolist(infolist) {
181
197
  if (!overrides.infolist)
182
- return Base.infolist();
183
- return infolist(overrides.infolist);
198
+ return Base.infolist(infolist);
199
+ overrides.infolist(infolist);
200
+ return infolist;
184
201
  }
185
202
  };
186
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuCvD;;;;GAIG;AACH,MAAM,OAAgB,QAAQ;IAC5B,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,KAAK,GAAkB,UAAU,CAAC;IACzC,MAAM,CAAC,UAAU,CAAU;IAC3B,MAAM,CAAC,eAAe,CAAU;IAChC;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAU;IACnC,MAAM,CAAC,cAAc,CAAU;IAC/B,kEAAkE;IAClE,MAAM,CAAC,gBAAgB,CAAW;IAClC,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACjC,MAAM,CAAC,IAAI,CAAU;IACrB,MAAM,CAAC,aAAa,CAAW;IAC/B,MAAM,CAAC,UAAU,CAAgC;IACjD;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAU;IAChC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAU;IAC/B,2DAA2D;IAC3D,MAAM,CAAC,MAAM,CAAe;IAE5B;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAiB;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,KAAK,CAAC,KAAmB;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAQ,CACb,SAA0B;QAE1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gDAAgD;IAChD,MAAM,CAAC,MAAM,CACX,QAAyB;QAEzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,MAAM,CAAC,eAAe,CACpB,QAAuB;QAEvB,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAClB,IAA6B,EAC7B,IAA0B;QAE1B,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,CACjB,OAAe,EACf,QAAmC,EACnC,IAAyB;QAMzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IACnE,MAAM,CAAC,SAAS,CAAC,IAAgB;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAgB;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAgB,EAAE,MAAgC;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAgB;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAgB,EAAE,MAAgC;QAC/D,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,IAAgB,EAAE,MAAgC;QACjE,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,SAAS;QACd,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QACrF,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;YAC5C,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,mBAAmB,GAAG,gBAAgB,KAAK,SAAS,CAAC;QAC3D,MAAM,cAAc,GAAG,gBAAgB,IAAI,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAElF,MAAM,gBAAgB,GAAG;YACvB,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtE,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,cAAc;YACxB,mBAAmB;YACnB,OAAO,EAAE,UAAU;YACnB,gBAAgB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAChD,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,iBAAiB,EAAE,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5E,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA+B;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC;QACnC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1C,CAAC;;AAGH,MAAM,UAAU,cAAc,CAC5B,IAAU,EACV,SAUC;IAED,OAAO,MAAM,gBAAiB,SAAQ,QAAQ;QAC5C,MAAM,CAAU,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACnD,MAAM,CAAU,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACtD,MAAM,CAAU,aAAa,GAAG,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;QAC9E,MAAM,CAAU,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QACtD,MAAM,CAAU,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QACrE,MAAM,CAAU,eAAe,GAC7B,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC;QAEpD,MAAM,CAAU,IAAI,CAAC,IAAiB;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAU,KAAK,CAAC,KAAmB;YACvC,IAAI,CAAC,SAAS,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/C,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,CAAU,QAAQ,CAAC,QAAyB;YAChD,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/table.d.ts CHANGED
@@ -67,5 +67,7 @@ export declare class TableBuilder {
67
67
  build(): TableSchema;
68
68
  }
69
69
  export declare function table(callback: (builder: TableBuilder) => void): TableSchema;
70
+ /** `static table(table: TableBuilder)` returns the builder or a built schema. */
71
+ export declare function acceptTable(result: TableBuilder | TableSchema | void, builder: TableBuilder): TableSchema;
70
72
  export declare function columnTypeLabel(type: FieldType): string;
71
73
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO;IAIP,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,UAAU,CAAC,KAAK,UAAO,GAAG,IAAI;IAK9B,QAAQ,CAAC,KAAK,UAAO,GAAG,IAAI;IAK5B,wCAAwC;IACxC,UAAU,CAAC,KAAK,UAAO,GAAG,IAAI;IAK9B,qDAAqD;IACrD,SAAS,CAAC,KAAK,UAAO,GAAG,IAAI;IAK7B,OAAO,IAAI,IAAI;IAMf,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAMZ,QAAQ,IAAI,IAAI;IAMhB;;;;OAIG;IACH,QAAQ,CACN,aAAa,GAAE,aAAqB,EACpC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GACtC,IAAI;IAUP,KAAK,IAAI,IAAI;IAKb,EAAE,IAAI,IAAI;IAKV,0CAA0C;IAC1C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,UAAU,IAAI,IAAI;IAIlB,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,0BAA0B;IAC1B,SAAS,IAAI,IAAI;IAIjB,2BAA2B;IAC3B,UAAU,IAAI,IAAI;IAIlB,uCAAuC;IACvC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAKjD,oBAAoB,IAAI,IAAI;IAI5B,qBAAqB,IAAI,IAAI;IAI7B,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB;IAChB,KAAK,IAAI,YAAY;CAGtB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,IAAI,CAAC,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI;IAKhC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,aAAsB,GAAG,IAAI;IAKnE;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAK3C,6EAA6E;IAC7E,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,KAAK,IAAI,WAAW;CAQrB;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW,CAI5E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO;IAIP,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAIrC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,UAAU,CAAC,KAAK,UAAO,GAAG,IAAI;IAK9B,QAAQ,CAAC,KAAK,UAAO,GAAG,IAAI;IAK5B,wCAAwC;IACxC,UAAU,CAAC,KAAK,UAAO,GAAG,IAAI;IAK9B,qDAAqD;IACrD,SAAS,CAAC,KAAK,UAAO,GAAG,IAAI;IAK7B,OAAO,IAAI,IAAI;IAMf,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAMZ,QAAQ,IAAI,IAAI;IAMhB;;;;OAIG;IACH,QAAQ,CACN,aAAa,GAAE,aAAqB,EACpC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GACtC,IAAI;IAUP,KAAK,IAAI,IAAI;IAKb,EAAE,IAAI,IAAI;IAKV,0CAA0C;IAC1C,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,UAAU,IAAI,IAAI;IAIlB,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,IAAI;IAIhB,YAAY,IAAI,IAAI;IAIpB,0BAA0B;IAC1B,SAAS,IAAI,IAAI;IAIjB,2BAA2B;IAC3B,UAAU,IAAI,IAAI;IAIlB,uCAAuC;IACvC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAKjD,oBAAoB,IAAI,IAAI;IAI5B,qBAAqB,IAAI,IAAI;IAI7B,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB;IAChB,KAAK,IAAI,YAAY;CAGtB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,IAAI,CAAC,CAA8C;IAC3D,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI;IAKhC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,aAAsB,GAAG,IAAI;IAKnE;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAK3C,6EAA6E;IAC7E,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,KAAK,IAAI,WAAW;CAQrB;AAED,wBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW,CAI5E;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,EACzC,OAAO,EAAE,YAAY,GACpB,WAAW,CAIb;AAcD,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAEvD"}
package/dist/table.js CHANGED
@@ -166,6 +166,22 @@ export function table(callback) {
166
166
  callback(builder);
167
167
  return builder.build();
168
168
  }
169
+ /** `static table(table: TableBuilder)` returns the builder or a built schema. */
170
+ export function acceptTable(result, builder) {
171
+ if (isTableBuilder(result))
172
+ return result.build();
173
+ if (isTableSchema(result))
174
+ return result;
175
+ return builder.build();
176
+ }
177
+ function isTableBuilder(value) {
178
+ return (!!value &&
179
+ typeof value.build === 'function' &&
180
+ typeof value.schema === 'function');
181
+ }
182
+ function isTableSchema(value) {
183
+ return !!value && Array.isArray(value.columns);
184
+ }
169
185
  export function columnTypeLabel(type) {
170
186
  return type;
171
187
  }