@pyreon/feature 0.3.0 → 0.7.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/lib/analysis/index.js.html +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/types/index.d.ts +238 -480
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/define-feature.ts +9 -9
- package/src/index.ts +3 -5
- package/src/tests/{feature.test.ts → feature.test.tsx} +15 -12
- package/src/types.ts +3 -4
- package/lib/types/index2.d.ts +0 -259
- package/lib/types/index2.d.ts.map +0 -1
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["_useQuery","_useMutation","_useForm","_useTable"],"sources":["../../src/schema.ts","../../src/define-feature.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../../src/schema.ts","../../../src/types.ts","../../../src/define-feature.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pyreon/feature",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Schema-driven feature primitives — define once, get CRUD hooks, forms, tables, and stores",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"typecheck": "tsc --noEmit"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@pyreon/core": ">=0.
|
|
44
|
-
"@pyreon/reactivity": ">=0.
|
|
43
|
+
"@pyreon/core": ">=0.5.0 <1.0.0",
|
|
44
|
+
"@pyreon/reactivity": ">=0.5.0 <1.0.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@pyreon/form": "^0.
|
|
48
|
-
"@pyreon/query": "^0.
|
|
49
|
-
"@pyreon/store": "^0.
|
|
50
|
-
"@pyreon/table": "^0.
|
|
51
|
-
"@pyreon/validation": "^0.
|
|
47
|
+
"@pyreon/form": "^0.7.0",
|
|
48
|
+
"@pyreon/query": "^0.7.0",
|
|
49
|
+
"@pyreon/store": "^0.7.0",
|
|
50
|
+
"@pyreon/table": "^0.7.0",
|
|
51
|
+
"@pyreon/validation": "^0.7.0"
|
|
52
52
|
}
|
|
53
53
|
}
|
package/src/define-feature.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { signal, batch } from '@pyreon/reactivity'
|
|
2
|
-
import { useForm as _useForm } from '@pyreon/form'
|
|
3
1
|
import type { SchemaValidateFn } from '@pyreon/form'
|
|
4
|
-
import {
|
|
2
|
+
import { useForm as _useForm } from '@pyreon/form'
|
|
3
|
+
import type { QueryKey } from '@pyreon/query'
|
|
5
4
|
import {
|
|
6
|
-
useQuery as _useQuery,
|
|
7
5
|
useMutation as _useMutation,
|
|
6
|
+
useQuery as _useQuery,
|
|
8
7
|
useQueryClient,
|
|
9
8
|
} from '@pyreon/query'
|
|
10
|
-
import
|
|
9
|
+
import { batch, signal } from '@pyreon/reactivity'
|
|
10
|
+
import { defineStore } from '@pyreon/store'
|
|
11
|
+
import type { ColumnDef, SortingState } from '@pyreon/table'
|
|
11
12
|
import {
|
|
12
13
|
useTable as _useTable,
|
|
13
14
|
getCoreRowModel,
|
|
14
|
-
getSortedRowModel,
|
|
15
15
|
getFilteredRowModel,
|
|
16
16
|
getPaginationRowModel,
|
|
17
|
+
getSortedRowModel,
|
|
17
18
|
} from '@pyreon/table'
|
|
18
|
-
import
|
|
19
|
-
import {
|
|
20
|
-
import { extractFields, defaultInitialValues } from './schema'
|
|
19
|
+
import { zodSchema } from '@pyreon/validation'
|
|
20
|
+
import { defaultInitialValues, extractFields } from './schema'
|
|
21
21
|
import type {
|
|
22
22
|
Feature,
|
|
23
23
|
FeatureConfig,
|
package/src/index.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export { defineFeature } from './define-feature'
|
|
2
|
+
export type { FieldInfo, FieldType, ReferenceSchema } from './schema'
|
|
2
3
|
export {
|
|
3
|
-
extractFields,
|
|
4
4
|
defaultInitialValues,
|
|
5
|
-
|
|
5
|
+
extractFields,
|
|
6
6
|
isReference,
|
|
7
|
+
reference,
|
|
7
8
|
} from './schema'
|
|
8
|
-
|
|
9
9
|
export type {
|
|
10
10
|
Feature,
|
|
11
11
|
FeatureConfig,
|
|
@@ -15,5 +15,3 @@ export type {
|
|
|
15
15
|
FeatureTableResult,
|
|
16
16
|
ListOptions,
|
|
17
17
|
} from './types'
|
|
18
|
-
|
|
19
|
-
export type { FieldInfo, FieldType, ReferenceSchema } from './schema'
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueryClient, QueryClientProvider } from '@pyreon/query'
|
|
2
2
|
import { signal } from '@pyreon/reactivity'
|
|
3
3
|
import { mount } from '@pyreon/runtime-dom'
|
|
4
|
-
import { QueryClient, QueryClientProvider } from '@pyreon/query'
|
|
5
4
|
import { resetAllStores } from '@pyreon/store'
|
|
6
5
|
import { z } from 'zod'
|
|
7
6
|
import { defineFeature } from '../define-feature'
|
|
8
7
|
import {
|
|
9
|
-
extractFields,
|
|
10
8
|
defaultInitialValues,
|
|
11
|
-
|
|
9
|
+
extractFields,
|
|
12
10
|
isReference,
|
|
11
|
+
reference,
|
|
13
12
|
} from '../schema'
|
|
14
13
|
|
|
15
14
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
16
15
|
|
|
16
|
+
function Capture<T>({ fn }: { fn: () => T }) {
|
|
17
|
+
fn()
|
|
18
|
+
return null
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
function mountWith<T>(
|
|
18
22
|
client: QueryClient,
|
|
19
23
|
fn: () => T,
|
|
@@ -22,14 +26,13 @@ function mountWith<T>(
|
|
|
22
26
|
const el = document.createElement('div')
|
|
23
27
|
document.body.appendChild(el)
|
|
24
28
|
const unmount = mount(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
),
|
|
29
|
+
<QueryClientProvider client={client}>
|
|
30
|
+
<Capture
|
|
31
|
+
fn={() => {
|
|
32
|
+
result = fn()
|
|
33
|
+
}}
|
|
34
|
+
/>
|
|
35
|
+
</QueryClientProvider>,
|
|
33
36
|
el,
|
|
34
37
|
)
|
|
35
38
|
return {
|
package/src/types.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { Signal, Computed } from '@pyreon/reactivity'
|
|
2
1
|
import type { FormState, SchemaValidateFn } from '@pyreon/form'
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { SortingState } from '@pyreon/table'
|
|
2
|
+
import type { QueryKey, UseMutationResult, UseQueryResult } from '@pyreon/query'
|
|
3
|
+
import type { Computed, Signal } from '@pyreon/reactivity'
|
|
6
4
|
import type { StoreApi } from '@pyreon/store'
|
|
5
|
+
import type { SortingState } from '@pyreon/table'
|
|
7
6
|
import type { FieldInfo } from './schema'
|
|
8
7
|
|
|
9
8
|
/**
|
package/lib/types/index2.d.ts
DELETED
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import { Computed, Signal } from "@pyreon/reactivity";
|
|
2
|
-
import { FormState, SchemaValidateFn } from "@pyreon/form";
|
|
3
|
-
import { QueryKey, UseMutationResult, UseQueryResult } from "@pyreon/query";
|
|
4
|
-
import * as _pyreon_table0 from "@pyreon/table";
|
|
5
|
-
import { SortingState } from "@pyreon/table";
|
|
6
|
-
import { StoreApi } from "@pyreon/store";
|
|
7
|
-
|
|
8
|
-
//#region src/schema.d.ts
|
|
9
|
-
/**
|
|
10
|
-
* Schema introspection utilities.
|
|
11
|
-
*
|
|
12
|
-
* Extracts field names, types, and metadata from Zod schemas at runtime
|
|
13
|
-
* without importing Zod types directly (duck-typed).
|
|
14
|
-
*/
|
|
15
|
-
interface FieldInfo {
|
|
16
|
-
/** Field name (key in the schema object). */
|
|
17
|
-
name: string;
|
|
18
|
-
/** Inferred type: 'string' | 'number' | 'boolean' | 'date' | 'enum' | 'array' | 'object' | 'reference' | 'unknown'. */
|
|
19
|
-
type: FieldType;
|
|
20
|
-
/** Whether the field is optional. */
|
|
21
|
-
optional: boolean;
|
|
22
|
-
/** For enum fields, the list of allowed values. */
|
|
23
|
-
enumValues?: (string | number)[];
|
|
24
|
-
/** For reference fields, the name of the referenced feature. */
|
|
25
|
-
referenceTo?: string;
|
|
26
|
-
/** Human-readable label derived from field name. */
|
|
27
|
-
label: string;
|
|
28
|
-
}
|
|
29
|
-
type FieldType = 'string' | 'number' | 'boolean' | 'date' | 'enum' | 'array' | 'object' | 'reference' | 'unknown';
|
|
30
|
-
/**
|
|
31
|
-
* Metadata carried by a reference schema.
|
|
32
|
-
*/
|
|
33
|
-
interface ReferenceSchema {
|
|
34
|
-
/** Marker symbol for detection. */
|
|
35
|
-
[key: symbol]: true;
|
|
36
|
-
/** Name of the referenced feature. */
|
|
37
|
-
_featureName: string;
|
|
38
|
-
/** Duck-typed Zod-like interface: validates as string | number. */
|
|
39
|
-
safeParse: (value: unknown) => {
|
|
40
|
-
success: boolean;
|
|
41
|
-
error?: {
|
|
42
|
-
issues: {
|
|
43
|
-
message: string;
|
|
44
|
-
}[];
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
/** Async variant for compatibility. */
|
|
48
|
-
safeParseAsync: (value: unknown) => Promise<{
|
|
49
|
-
success: boolean;
|
|
50
|
-
error?: {
|
|
51
|
-
issues: {
|
|
52
|
-
message: string;
|
|
53
|
-
}[];
|
|
54
|
-
};
|
|
55
|
-
}>;
|
|
56
|
-
/** Shape-like marker for schema introspection. */
|
|
57
|
-
_def: {
|
|
58
|
-
typeName: string;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Check if a value is a reference schema created by `reference()`.
|
|
63
|
-
*/
|
|
64
|
-
declare function isReference(value: unknown): value is ReferenceSchema;
|
|
65
|
-
/**
|
|
66
|
-
* Create a reference field that links to another feature.
|
|
67
|
-
*
|
|
68
|
-
* Returns a Zod-compatible schema that validates as `string | number` and
|
|
69
|
-
* carries metadata about the referenced feature for form dropdowns and table links.
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```ts
|
|
73
|
-
* import { defineFeature, reference } from '@pyreon/feature'
|
|
74
|
-
*
|
|
75
|
-
* const posts = defineFeature({
|
|
76
|
-
* name: 'posts',
|
|
77
|
-
* schema: z.object({
|
|
78
|
-
* title: z.string(),
|
|
79
|
-
* authorId: reference(users),
|
|
80
|
-
* }),
|
|
81
|
-
* api: '/api/posts',
|
|
82
|
-
* })
|
|
83
|
-
* ```
|
|
84
|
-
*/
|
|
85
|
-
declare function reference(feature: {
|
|
86
|
-
name: string;
|
|
87
|
-
}): ReferenceSchema;
|
|
88
|
-
/**
|
|
89
|
-
* Extract field information from a Zod object schema.
|
|
90
|
-
* Returns an array of FieldInfo objects describing each field.
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* ```ts
|
|
94
|
-
* const schema = z.object({ name: z.string(), age: z.number().optional() })
|
|
95
|
-
* const fields = extractFields(schema)
|
|
96
|
-
* // [
|
|
97
|
-
* // { name: 'name', type: 'string', optional: false, label: 'Name' },
|
|
98
|
-
* // { name: 'age', type: 'number', optional: true, label: 'Age' },
|
|
99
|
-
* // ]
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
declare function extractFields(schema: unknown): FieldInfo[];
|
|
103
|
-
/**
|
|
104
|
-
* Generate default initial values from a schema's field types.
|
|
105
|
-
*/
|
|
106
|
-
declare function defaultInitialValues(fields: FieldInfo[]): Record<string, unknown>;
|
|
107
|
-
//#endregion
|
|
108
|
-
//#region src/types.d.ts
|
|
109
|
-
/**
|
|
110
|
-
* Configuration for defining a feature.
|
|
111
|
-
*/
|
|
112
|
-
interface FeatureConfig<TValues extends Record<string, unknown>> {
|
|
113
|
-
/** Unique feature name — used for store ID and query key namespace. */
|
|
114
|
-
name: string;
|
|
115
|
-
/** Validation schema (Zod, Valibot, or ArkType). Duck-typed — must have `safeParseAsync` for auto-validation. */
|
|
116
|
-
schema: unknown;
|
|
117
|
-
/** Custom schema-level validation function. If provided, overrides auto-detection from schema. */
|
|
118
|
-
validate?: SchemaValidateFn<TValues>;
|
|
119
|
-
/** API base path (e.g., '/api/users'). */
|
|
120
|
-
api: string;
|
|
121
|
-
/** Default initial values for create forms. If not provided, auto-generated from schema field types. */
|
|
122
|
-
initialValues?: Partial<TValues>;
|
|
123
|
-
/** Custom fetch function. Defaults to global fetch. */
|
|
124
|
-
fetcher?: typeof fetch;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Query options for useList.
|
|
128
|
-
*/
|
|
129
|
-
interface ListOptions {
|
|
130
|
-
/** Additional query parameters appended to the URL. */
|
|
131
|
-
params?: Record<string, string | number | boolean>;
|
|
132
|
-
/** Reactive page number. When provided, `page` and `pageSize` are appended to query params. */
|
|
133
|
-
page?: number | Signal<number>;
|
|
134
|
-
/** Items per page. Defaults to 20 when `page` is provided. */
|
|
135
|
-
pageSize?: number;
|
|
136
|
-
/** Override stale time for this query. */
|
|
137
|
-
staleTime?: number;
|
|
138
|
-
/** Enable/disable the query. */
|
|
139
|
-
enabled?: boolean;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Form options for useForm.
|
|
143
|
-
*/
|
|
144
|
-
interface FeatureFormOptions<TValues extends Record<string, unknown>> {
|
|
145
|
-
/** 'create' (default) or 'edit'. Edit mode uses PUT instead of POST. */
|
|
146
|
-
mode?: 'create' | 'edit';
|
|
147
|
-
/** Item ID — required when mode is 'edit'. Used to PUT to api/:id and auto-fetch data. */
|
|
148
|
-
id?: string | number;
|
|
149
|
-
/** Override initial values (merged with feature defaults). */
|
|
150
|
-
initialValues?: Partial<TValues>;
|
|
151
|
-
/** When to validate: 'blur' (default), 'change', or 'submit'. */
|
|
152
|
-
validateOn?: 'blur' | 'change' | 'submit';
|
|
153
|
-
/** Callback after successful create/update. */
|
|
154
|
-
onSuccess?: (result: unknown) => void;
|
|
155
|
-
/** Callback on submit error. */
|
|
156
|
-
onError?: (error: unknown) => void;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Table options for useTable.
|
|
160
|
-
*/
|
|
161
|
-
interface FeatureTableOptions<TValues extends Record<string, unknown>> {
|
|
162
|
-
/** Subset of schema fields to show as columns. If not provided, all fields are shown. */
|
|
163
|
-
columns?: (keyof TValues & string)[];
|
|
164
|
-
/** Per-column overrides (header text, cell renderer, size, etc.). */
|
|
165
|
-
columnOverrides?: Partial<Record<keyof TValues & string, Record<string, unknown>>>;
|
|
166
|
-
/** Page size for pagination. If not provided, pagination is disabled. */
|
|
167
|
-
pageSize?: number;
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Return type of feature.useTable().
|
|
171
|
-
*/
|
|
172
|
-
interface FeatureTableResult<TValues extends Record<string, unknown>> {
|
|
173
|
-
/** The reactive TanStack Table instance. */
|
|
174
|
-
table: Computed<_pyreon_table0.Table<TValues>>;
|
|
175
|
-
/** Sorting state signal — bind to UI controls. */
|
|
176
|
-
sorting: Signal<SortingState>;
|
|
177
|
-
/** Global filter signal — bind to search input. */
|
|
178
|
-
globalFilter: Signal<string>;
|
|
179
|
-
/** Column metadata from schema introspection. */
|
|
180
|
-
columns: FieldInfo[];
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Reactive store for a feature's cached data.
|
|
184
|
-
*/
|
|
185
|
-
interface FeatureStore<TValues extends Record<string, unknown>> {
|
|
186
|
-
/** Cached list of items. */
|
|
187
|
-
items: Signal<TValues[]>;
|
|
188
|
-
/** Currently selected item. */
|
|
189
|
-
selected: Signal<TValues | null>;
|
|
190
|
-
/** Loading state. */
|
|
191
|
-
loading: Signal<boolean>;
|
|
192
|
-
/** Set the selected item by ID (finds from items list). */
|
|
193
|
-
select: (id: string | number) => void;
|
|
194
|
-
/** Clear the current selection. */
|
|
195
|
-
clear: () => void;
|
|
196
|
-
/** Index signature for Record<string, unknown> compatibility. */
|
|
197
|
-
[key: string]: unknown;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* The feature object returned by defineFeature().
|
|
201
|
-
*/
|
|
202
|
-
interface Feature<TValues extends Record<string, unknown>> {
|
|
203
|
-
/** Feature name. */
|
|
204
|
-
name: string;
|
|
205
|
-
/** API base path. */
|
|
206
|
-
api: string;
|
|
207
|
-
/** The schema passed to defineFeature. */
|
|
208
|
-
schema: unknown;
|
|
209
|
-
/** Introspected field information from the schema. */
|
|
210
|
-
fields: FieldInfo[];
|
|
211
|
-
/** Fetch a paginated/filtered list. */
|
|
212
|
-
useList: (options?: ListOptions) => UseQueryResult<TValues[], unknown>;
|
|
213
|
-
/** Fetch a single item by ID. */
|
|
214
|
-
useById: (id: string | number) => UseQueryResult<TValues, unknown>;
|
|
215
|
-
/** Search with a reactive signal term. */
|
|
216
|
-
useSearch: (searchTerm: Signal<string>, options?: ListOptions) => UseQueryResult<TValues[], unknown>;
|
|
217
|
-
/** Create mutation — POST to api. */
|
|
218
|
-
useCreate: () => UseMutationResult<TValues, unknown, Partial<TValues>>;
|
|
219
|
-
/** Update mutation — PUT to api/:id with optimistic updates. */
|
|
220
|
-
useUpdate: () => UseMutationResult<TValues, unknown, {
|
|
221
|
-
id: string | number;
|
|
222
|
-
data: Partial<TValues>;
|
|
223
|
-
}>;
|
|
224
|
-
/** Delete mutation — DELETE to api/:id. */
|
|
225
|
-
useDelete: () => UseMutationResult<void, unknown, string | number>;
|
|
226
|
-
/** Create a form pre-wired with schema validation and API submit. In edit mode with an ID, auto-fetches data. */
|
|
227
|
-
useForm: (options?: FeatureFormOptions<TValues>) => FormState<TValues>;
|
|
228
|
-
/** Create a reactive table with columns inferred from schema. */
|
|
229
|
-
useTable: (data: TValues[] | (() => TValues[]), options?: FeatureTableOptions<TValues>) => FeatureTableResult<TValues>;
|
|
230
|
-
/** Reactive store for cached items, selection, and loading state. */
|
|
231
|
-
useStore: () => StoreApi<FeatureStore<TValues>>;
|
|
232
|
-
/** Generate namespaced query keys. */
|
|
233
|
-
queryKey: (suffix?: string | number) => QueryKey;
|
|
234
|
-
}
|
|
235
|
-
//#endregion
|
|
236
|
-
//#region src/define-feature.d.ts
|
|
237
|
-
/**
|
|
238
|
-
* Define a schema-driven feature with auto-generated CRUD hooks.
|
|
239
|
-
*
|
|
240
|
-
* @example
|
|
241
|
-
* ```ts
|
|
242
|
-
* import { defineFeature } from '@pyreon/feature'
|
|
243
|
-
* import { z } from 'zod'
|
|
244
|
-
*
|
|
245
|
-
* const users = defineFeature({
|
|
246
|
-
* name: 'users',
|
|
247
|
-
* schema: z.object({
|
|
248
|
-
* name: z.string().min(2),
|
|
249
|
-
* email: z.string().email(),
|
|
250
|
-
* role: z.enum(['admin', 'editor', 'viewer']),
|
|
251
|
-
* }),
|
|
252
|
-
* api: '/api/users',
|
|
253
|
-
* })
|
|
254
|
-
* ```
|
|
255
|
-
*/
|
|
256
|
-
declare function defineFeature<TValues extends Record<string, unknown>>(config: FeatureConfig<TValues>): Feature<TValues>;
|
|
257
|
-
//#endregion
|
|
258
|
-
export { type Feature, type FeatureConfig, type FeatureFormOptions, type FeatureStore, type FeatureTableOptions, type FeatureTableResult, type FieldInfo, type FieldType, type ListOptions, type ReferenceSchema, defaultInitialValues, defineFeature, extractFields, isReference, reference };
|
|
259
|
-
//# sourceMappingURL=index2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index2.d.ts","names":[],"sources":["../../src/schema.ts","../../src/types.ts","../../src/define-feature.ts"],"mappings":"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"}
|