props.mjs 661 B

123456789101112131415161718192021222324252627282930313233343536
  1. const unknownProp = null;
  2. const numericProp = [Number, String];
  3. const truthProp = {
  4. type: Boolean,
  5. default: true
  6. };
  7. const makeRequiredProp = (type) => ({
  8. type,
  9. required: true
  10. });
  11. const makeArrayProp = () => ({
  12. type: Array,
  13. default: () => []
  14. });
  15. const makeNumberProp = (defaultVal) => ({
  16. type: Number,
  17. default: defaultVal
  18. });
  19. const makeNumericProp = (defaultVal) => ({
  20. type: numericProp,
  21. default: defaultVal
  22. });
  23. const makeStringProp = (defaultVal) => ({
  24. type: String,
  25. default: defaultVal
  26. });
  27. export {
  28. makeArrayProp,
  29. makeNumberProp,
  30. makeNumericProp,
  31. makeRequiredProp,
  32. makeStringProp,
  33. numericProp,
  34. truthProp,
  35. unknownProp
  36. };