You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
1.6 KiB

2 years ago
  1. package builder
  2. func CondType(cond Cond) string {
  3. switch cond.(type) {
  4. case condAnd:
  5. return "and"
  6. case condOr:
  7. return "or"
  8. case condIn:
  9. return "in"
  10. case condNotIn:
  11. return "not in"
  12. case condIf:
  13. return "if"
  14. }
  15. return ""
  16. }
  17. func GetCondAnd(cond Cond) condAnd {
  18. switch cond.(type) {
  19. case condAnd:
  20. return cond.(condAnd)
  21. }
  22. return nil
  23. }
  24. func GetCondOr(cond Cond) condOr {
  25. switch cond.(type) {
  26. case condOr:
  27. return cond.(condOr)
  28. }
  29. return nil
  30. }
  31. func GetCondEq(cond Cond) Eq {
  32. switch cond.(type) {
  33. case Eq:
  34. return cond.(Eq)
  35. }
  36. return nil
  37. }
  38. func GetCondNeq(cond Cond) Neq {
  39. switch cond.(type) {
  40. case Neq:
  41. return cond.(Neq)
  42. }
  43. return nil
  44. }
  45. func GetCondGt(cond Cond) Gt {
  46. switch cond.(type) {
  47. case Gt:
  48. return cond.(Gt)
  49. }
  50. return nil
  51. }
  52. func GetCondGte(cond Cond) Gte {
  53. switch cond.(type) {
  54. case Gte:
  55. return cond.(Gte)
  56. }
  57. return nil
  58. }
  59. func GetCondLt(cond Cond) Lt {
  60. switch cond.(type) {
  61. case Lt:
  62. return cond.(Lt)
  63. }
  64. return nil
  65. }
  66. func GetCondLte(cond Cond) Lte {
  67. switch cond.(type) {
  68. case Lte:
  69. return cond.(Lte)
  70. }
  71. return nil
  72. }
  73. func GetCondLike(cond Cond) (l Like) {
  74. switch cond.(type) {
  75. case Like:
  76. return cond.(Like)
  77. }
  78. return
  79. }
  80. func GetCondIn(cond Cond) (i condIn) {
  81. switch cond.(type) {
  82. case condIn:
  83. return cond.(condIn)
  84. }
  85. return
  86. }
  87. func GetCondNotIn(cond Cond) (i condNotIn) {
  88. switch cond.(type) {
  89. case condNotIn:
  90. return cond.(condNotIn)
  91. }
  92. return
  93. }
  94. func GetCondIF(cond Cond) (i condIf) {
  95. switch cond.(type) {
  96. case condIf:
  97. return cond.(condIf)
  98. }
  99. return
  100. }
  101. func GetCondByBuilder(b Builder) (cond Cond) {
  102. return b.cond
  103. }
  104. type Field string