Bruno Predot

typage des props.

... ... @@ -10,14 +10,6 @@ import { FilmIcon } from "lucide-vue-next";
defineProps<{
movie: MovieInterface;
}>();
/** Ancien typage */
// defineProps({
// movie: {
// type: Object,
// required: true,
// nullable: false,
// },
// });
// #endregion
</script>
... ...
... ... @@ -9,14 +9,6 @@ import { MessageSquareIcon } from "lucide-vue-next";
const props = defineProps<{
comments: Array<MovieCommentInterface>;
}>();
/** Ancien typage */
// const props = defineProps({
// comments: {
// type: Array<MovieCommentInterface>,
// required: true,
// nullable: false,
// },
// });
// #endregion
// #region --Watch--.
... ...
... ... @@ -4,13 +4,9 @@ import type { Genre } from "~/interfaces/movie";
// #endregion
// #region --Props--.
defineProps({
genres: {
type: Array<Genre>,
required: true,
nullable: false,
},
});
defineProps<{
genres: Array<Genre>;
}>();
// #endregion
</script>
... ...
... ... @@ -5,19 +5,6 @@ defineProps<{
score: number;
nbVote: number;
}>();
/** Ancien typage */
// defineProps({
// score: {
// type: Number,
// required: true,
// nullable: false,
// },
// nbVote: {
// type: Number,
// required: true,
// nullable: false,
// },
// });
// #endregion
// #region --Function--.
... ...
... ... @@ -6,13 +6,10 @@ import { helpers, maxLength, maxValue, minLength, minValue, required } from "@vu
// #endregion
// #region --Props--.
defineProps({
isSubmitting: {
type: Boolean,
required: false,
nullable: false,
default: false,
},
withDefaults(defineProps<{
isSubmitting?: boolean;
}>(), {
isSubmitting: false,
});
// #endregion
... ...
<script lang="ts" setup>
// #region --Props--.
defineProps({
src: {
type: String,
required: true,
nullable: false,
},
title: {
type: String,
required: true,
nullable: false,
},
});
defineProps<{
src: string;
title: string;
}>();
// #endregion
// #region --Declaration--.
... ...
<script lang="ts" setup>
// #region --Props--.
defineProps({
isLoading: {
type: Boolean,
required: true,
nullable: false,
},
isInitialLoading: {
type: Boolean,
required: false,
nullable: false,
default: false,
},
withDefaults(defineProps<{
isLoading: boolean;
isInitialLoading?: boolean;
}>(), {
isInitialLoading: false,
});
// #endregion
</script>
... ...
... ... @@ -2,18 +2,10 @@
// #region --Props--.
import { FilmIcon } from "lucide-vue-next";
defineProps({
src: {
type: String,
required: true,
nullable: false,
},
title: {
type: String,
required: true,
nullable: false,
},
});
defineProps<{
src: string;
title: string;
}>();
// #endregion
</script>
... ...
... ... @@ -6,13 +6,10 @@ import { ref } from "vue";
// #endregion
// #region --Props--.
defineProps({
placeholder: {
type: String,
required: false,
nullable: false,
default: "",
},
withDefaults(defineProps<{
placeholder?: string;
}>(), {
placeholder: "",
});
// #endregion
... ...
<script lang="ts" setup>
// #region --Props--.
defineProps({
isInitialLoading: {
type: Boolean,
required: true,
nullable: false,
},
skeletonNumber: {
type: Number,
required: false,
nullable: false,
default: 12,
},
withDefaults(defineProps<{
isInitialLoading: boolean;
skeletonNumber?: number;
}>(), {
skeletonNumber: 12,
});
// #endregion
</script>
... ...