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

move declarations to bundle #3138

Conversation

samuelstroschein
Copy link
Member

@samuelstroschein samuelstroschein commented Sep 20, 2024

Closes opral/inlang-sdk#206. Merging this without review to baller durch.

Changes

@inlang/sdk2

@inlang/bundle-component

event.entityId must be provided for deletions

Deleting an entity like bundle, message or variant is not possible if newData is undefined and the change event contains no information about the id.

In case the id is contained in meta?, that is not discoverable.

export type DispatchChangeInterface = {
	type: "Bundle" | "Message" | "Variant"
+   entityId: string
	operation: "create" | "update" | "delete"
	newData: Bundle | Message | Variant | undefined
	meta?: Record<string, any>
}

event.operation was redundant

If newData is undefined, it has to be a delete. A create or update is always interpreted as an upsert in apps to avoid duplicate insert/update logic.

export type DispatchChangeInterface = {
	type: "Bundle" | "Message" | "Variant"
-	operation: "create" | "update" | "delete"
	newData: Bundle | Message | Variant | undefined
	meta?: Record<string, any>
}

event.detail.argument

What is the argument prop for? Seems like it can be removed?

export const createChangeEvent = (props: DispatchChangeInterface) => {
	const onChangeEvent = new CustomEvent("change", {
		bubbles: true,
		composed: true,
		detail: {
-			argument: {
				type: props.type,
				operation: props.operation,
				newData: props.newData,
				meta: props.meta,
-			},
		},
	})
	return onChangeEvent
}

Copy link

changeset-bot bot commented Sep 20, 2024

⚠️ No Changeset found

Latest commit: 1bee589

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@samuelstroschein samuelstroschein marked this pull request as ready for review September 21, 2024 00:24
@samuelstroschein samuelstroschein merged commit 1180dc9 into lix-integration Sep 21, 2024
2 of 4 checks passed
@samuelstroschein samuelstroschein deleted the mesdk-249-add-bundledeclarations-and-disallow-messagedeclarationstype branch September 21, 2024 00:26
@github-actions github-actions bot locked and limited conversation to collaborators Sep 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant