Assist.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import moment from 'moment-jalaali'
  2. moment.loadPersian()
  3. const PersianDate = null
  4. class Assist {
  5. // constructor() {}
  6. static isValidData(data) {
  7. return (typeof data !== 'undefined' && data !== null && data !== '')
  8. }
  9. static optional(data, optionalData, refinementData) {
  10. if (this.isValidData(data)) {
  11. if (typeof refinementData === 'function') {
  12. return refinementData(data)
  13. } else {
  14. return data
  15. }
  16. } else {
  17. if (typeof optionalData !== 'undefined') {
  18. return optionalData
  19. } else {
  20. return null
  21. }
  22. }
  23. }
  24. static miladiToShamsi(miladi, format = 'jYYYY/jMM/jDD HH:mm:ss') {
  25. if (!miladi) {
  26. return null
  27. }
  28. return moment(miladi, 'YYYY/M/D').locale('fa').format(format)
  29. }
  30. static diffDate(date1, date2, diffType) {
  31. const a = new PersianDate(new Date(date1)),
  32. b = new PersianDate(new Date(date2))
  33. return a.diff(b, diffType)
  34. }
  35. static getErrors(errors) {
  36. const errorsArray = []
  37. for (const prop in errors) {
  38. if (Object.prototype.hasOwnProperty.call(errors, prop)) {
  39. for (let i = 0; typeof errors[prop][i] !== 'undefined'; i++) {
  40. errorsArray.push(errors[prop][i])
  41. }
  42. }
  43. }
  44. return errorsArray
  45. }
  46. static stringContain(search, string) {
  47. if (typeof search === 'undefined' || search === null || search.trim().length === 0) {
  48. return true
  49. }
  50. const filterWords = search.split(' ')
  51. for (let i = 0; typeof filterWords[i] !== 'undefined'; i++) {
  52. const exp = '^.*(' + filterWords[i] + ')+.*$',
  53. patt = new RegExp(exp)
  54. if (!patt.test(string)) {
  55. return false
  56. }
  57. }
  58. return true
  59. }
  60. }
  61. export default Assist