Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate createModel(...) #3607

Merged
merged 1 commit into from
Dec 3, 2022
Merged

Deprecate createModel(...) #3607

merged 1 commit into from
Dec 3, 2022

Conversation

davidkpiano
Copy link
Member

The createModel(...) function is now marked as deprecated, as it will be removed in XState version 5. It is recommended to use Typegen instead.

@changeset-bot
Copy link

changeset-bot bot commented Sep 18, 2022

🦋 Changeset detected

Latest commit: 771ca1f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
xstate Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ghost
Copy link

ghost commented Sep 18, 2022

👇 Click on the image for a new way to code review
  • Make big changes easier — review code in small groups of related files

  • Know where to start — see the whole change at a glance

  • Take a code tour — explore the change with an interactive tour

  • Make comments and review — all fully sync’ed with github

    Try it now!

Review these changes using an interactive CodeSee Map

Legend

CodeSee Map Legend

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 771ca1f:

Sandbox Source
XState Example Template Configuration
XState React Template Configuration

@with-heart
Copy link
Contributor

RIP createModel, you were a good experiment

@farskid
Copy link
Contributor

farskid commented Oct 29, 2022

Oh no 🙊

@gkiely
Copy link

gkiely commented Nov 6, 2022

@davidkpiano Typegen has never been reliable for me, it can never cover all the userland requirements and sometimes it just doesn't work.
image

Is there any other way to allow the typing that createModel allowed, it's a lot nicer than passing generics to the assign method and doesn't require reliance on an extension.

@davidkpiano
Copy link
Member Author

@davidkpiano Typegen has never been reliable for me, it can never cover all the userland requirements and sometimes it just doesn't work. image

Is there any other way to allow the typing that createModel allowed, it's a lot nicer than passing generics to the assign method and doesn't require reliance on an extension.

What specific things are you using createModel for besides assign?

@gkiely
Copy link

gkiely commented Nov 6, 2022

Nothing outside of assign.

Usually actions with assigns, typically invoked.
image

Example of what it looks like after the model:
image
image

@gkiely
Copy link

gkiely commented Nov 8, 2022

@davidkpiano After giving this some more thought, I've moved to using typescript narrowing which achieves the same thing.
image

@davidkpiano davidkpiano merged commit f951805 into main Dec 3, 2022
@davidkpiano davidkpiano deleted the davidkpiano/deprecate-model branch December 3, 2022 17:01
@github-actions github-actions bot mentioned this pull request Dec 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants