diff --git a/docs/package.json b/docs/package.json index 2ae7354..9f1a2c7 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,8 +13,8 @@ "browserslist": "defaults, not ie <= 11", "dependencies": { "@algolia/autocomplete-core": "^1.9.2", - "@coltorapps/builder": "^0.2.1", - "@coltorapps/builder-react": "^0.2.1", + "@coltorapps/builder": "^0.2.2", + "@coltorapps/builder-react": "^0.2.2", "@dnd-kit/core": "^6.1.0", "@dnd-kit/modifiers": "^7.0.0", "@dnd-kit/sortable": "^8.0.0", diff --git a/docs/src/app/docs/api/create-interpreter-store/page.md b/docs/src/app/docs/api/create-interpreter-store/page.md index 786ad50..2abdfd5 100644 --- a/docs/src/app/docs/api/create-interpreter-store/page.md +++ b/docs/src/app/docs/api/create-interpreter-store/page.md @@ -50,10 +50,10 @@ In the example above, we've hardcoded the schema, but typically, you would retri The `options` parameter properties: -| Property | Type | Description {% class="api-description" %} | -| ----------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------ | -| `initialData` | {% badge content="object" /%} {% badge content="optional" /%} | The optional partial initial data. | -| `initialEntitiesValuesWithDefaults` | {% badge content="boolean" /%} {% badge content="optional" /%} | A flag to disable the automatic setting of default values. Defaults to `true`. | +| Property | Type | Description {% class="api-description" %} | +| ----------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `initialData` | {% badge content="object" /%} {% badge content="optional" /%} | The optional partial initial data. | +| `initialEntitiesValuesWithDefaults` | {% badge content="boolean" /%} {% badge content="optional" /%} | A flag to enable or disable the automatic setting of default values. Defaults to `true`. | ### Returns diff --git a/docs/src/app/docs/api/react/use-interpreter-store/page.md b/docs/src/app/docs/api/react/use-interpreter-store/page.md index d55424e..ae44dba 100644 --- a/docs/src/app/docs/api/react/use-interpreter-store/page.md +++ b/docs/src/app/docs/api/react/use-interpreter-store/page.md @@ -50,10 +50,11 @@ In the example above, we've hardcoded the schema, but typically, you would retri The `options` parameter properties: -| Property | Type | Description {% class="api-description" %} | -| ------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | -| `initialData` | {% badge content="object" /%} {% badge content="optional" /%} | The optional partial initial data of the [interpreter store](/docs/api/create-interpreter-store#data). | -| `events` | {% badge content="object" /%} {% badge content="optional" /%} | An optional partial object with [events callbacks](#events-callbacks). | +| Property | Type | Description {% class="api-description" %} | +| ----------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | +| `initialData` | {% badge content="object" /%} {% badge content="optional" /%} | The optional partial initial data of the [interpreter store](/docs/api/create-interpreter-store#data). | +| `initialEntitiesValuesWithDefaults` | {% badge content="boolean" /%} {% badge content="optional" /%} | A flag to enable or disable the automatic setting of default values. Defaults to `true`. | +| `events` | {% badge content="object" /%} {% badge content="optional" /%} | An optional partial object with [events callbacks](#events-callbacks). | ### Returns diff --git a/packages/builder-react/CHANGELOG.md b/packages/builder-react/CHANGELOG.md index 9547dd1..cec0be2 100644 --- a/packages/builder-react/CHANGELOG.md +++ b/packages/builder-react/CHANGELOG.md @@ -1,5 +1,11 @@ # @coltorapps/builder-react +## 0.2.2 + +### Patch Changes + +- Expose all interpreter store options and make them available in useInterpreterStore. + ## 0.2.1 ### Patch Changes diff --git a/packages/builder-react/package.json b/packages/builder-react/package.json index 99b16eb..cecdf3c 100644 --- a/packages/builder-react/package.json +++ b/packages/builder-react/package.json @@ -1,7 +1,7 @@ { "name": "@coltorapps/builder-react", "private": false, - "version": "0.2.1", + "version": "0.2.2", "homepage": "https://builder.coltorapps.com/", "repository": { "type": "git", @@ -32,7 +32,7 @@ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist" }, "devDependencies": { - "@coltorapps/builder": "^0.2.1", + "@coltorapps/builder": "^0.2.2", "@coltorapps/eslint-config": "0.1.0", "@types/react": "^18.2.32", "eslint": "^8.52.0", @@ -41,7 +41,7 @@ "vitest": "^0.34.6" }, "peerDependencies": { - "@coltorapps/builder": "^0.2.0", + "@coltorapps/builder": "^0.2.2", "react": "^18.0.0 || ^19.0.0" }, "publishConfig": { diff --git a/packages/builder-react/src/interpreter.tsx b/packages/builder-react/src/interpreter.tsx index 8ca5854..b09c89d 100644 --- a/packages/builder-react/src/interpreter.tsx +++ b/packages/builder-react/src/interpreter.tsx @@ -9,6 +9,7 @@ import { type InterpreterStore, type InterpreterStoreData, type InterpreterStoreEvent, + type InterpreterStoreOptions, type Schema, } from "@coltorapps/builder"; @@ -24,15 +25,11 @@ export function useInterpreterStore( builder: TBuilder, schema: Schema, options: { - initialData?: Partial>; events?: EventsListeners>; - } = {}, + } & InterpreterStoreOptions = {}, ): InterpreterStore { const interpreterStore = useMemo( - () => - createInterpreterStore(builder, schema, { - initialData: options.initialData, - }), + () => createInterpreterStore(builder, schema, options), // eslint-disable-next-line react-hooks/exhaustive-deps [builder, schema], ); diff --git a/packages/builder/CHANGELOG.md b/packages/builder/CHANGELOG.md index f058903..b738c92 100644 --- a/packages/builder/CHANGELOG.md +++ b/packages/builder/CHANGELOG.md @@ -1,5 +1,11 @@ # @coltorapps/builder +## 0.2.2 + +### Patch Changes + +- Expose all interpreter store options and make them available in useInterpreterStore. + ## 0.2.1 ### Patch Changes diff --git a/packages/builder/package.json b/packages/builder/package.json index b20344e..bf32efd 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,7 +1,7 @@ { "name": "@coltorapps/builder", "private": false, - "version": "0.2.1", + "version": "0.2.2", "homepage": "https://builder.coltorapps.com/", "repository": { "type": "git", diff --git a/packages/builder/src/index.ts b/packages/builder/src/index.ts index 39fc0f3..b73951c 100644 --- a/packages/builder/src/index.ts +++ b/packages/builder/src/index.ts @@ -29,6 +29,7 @@ export type { InterpreterStore, InterpreterStoreData, InterpreterStoreEvent, + InterpreterStoreOptions, InterpreterStoreEventName, } from "./interpreter-store"; diff --git a/packages/builder/src/interpreter-store.ts b/packages/builder/src/interpreter-store.ts index 5a314ab..7f90185 100644 --- a/packages/builder/src/interpreter-store.ts +++ b/packages/builder/src/interpreter-store.ts @@ -488,15 +488,17 @@ function ensureEntityProcessable( } } +export type InterpreterStoreOptions = { + initialData?: Partial< + Omit, "unprocessableEntitiesIds"> + >; + initialEntitiesValuesWithDefaults?: boolean; +}; + export function createInterpreterStore( builder: TBuilder, schema: Schema, - options?: { - initialData?: Partial< - Omit, "unprocessableEntitiesIds"> - >; - initialEntitiesValuesWithDefaults?: boolean; - }, + options?: InterpreterStoreOptions, ): InterpreterStore { const schemaValidationResult = validateSchemaShape(schema, builder); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a3c94ee..17efcf6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,10 +57,10 @@ importers: specifier: ^1.9.2 version: 1.17.7(@algolia/client-search@5.15.0)(algoliasearch@5.15.0)(search-insights@2.17.3) '@coltorapps/builder': - specifier: ^0.2.1 + specifier: ^0.2.2 version: link:../packages/builder '@coltorapps/builder-react': - specifier: ^0.2.1 + specifier: ^0.2.2 version: link:../packages/builder-react '@dnd-kit/core': specifier: ^6.1.0 @@ -256,7 +256,7 @@ importers: packages/builder-react: devDependencies: '@coltorapps/builder': - specifier: ^0.2.1 + specifier: ^0.2.2 version: link:../builder '@coltorapps/eslint-config': specifier: 0.1.0