Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ee94ddc133 | |||
| 651c7aa3f4 |
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
# Maintainer: Hein (Warky Devs) <hein@warky.dev>
|
# Maintainer: Hein (Warky Devs) <hein@warky.dev>
|
||||||
pkgname=relspec
|
pkgname=relspec
|
||||||
pkgver=1.0.60
|
pkgver=1.0.61
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs."
|
pkgdesc="RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs."
|
||||||
arch=('x86_64' 'aarch64')
|
arch=('x86_64' 'aarch64')
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
Name: relspec
|
Name: relspec
|
||||||
Version: 1.0.60
|
Version: 1.0.61
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs.
|
Summary: RelSpec is a comprehensive database relations management tool that reads, transforms, and writes database table specifications across multiple formats and ORMs.
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import (
|
|||||||
// Deref dereferences pointers until it reaches a non-pointer value
|
// Deref dereferences pointers until it reaches a non-pointer value
|
||||||
// Returns the dereferenced value and true if successful, or the original value and false if nil
|
// Returns the dereferenced value and true if successful, or the original value and false if nil
|
||||||
func Deref(v reflect.Value) (reflect.Value, bool) {
|
func Deref(v reflect.Value) (reflect.Value, bool) {
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
return v, false
|
return v, false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ func Has(m interface{}, key interface{}) bool {
|
|||||||
v := reflect.ValueOf(m)
|
v := reflect.ValueOf(m)
|
||||||
|
|
||||||
// Dereference pointers
|
// Dereference pointers
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,7 @@ func Merge(maps ...interface{}) map[interface{}]interface{} {
|
|||||||
v := reflect.ValueOf(m)
|
v := reflect.ValueOf(m)
|
||||||
|
|
||||||
// Dereference pointers
|
// Dereference pointers
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -129,7 +129,7 @@ func Pick(m interface{}, keys ...interface{}) map[interface{}]interface{} {
|
|||||||
v := reflect.ValueOf(m)
|
v := reflect.ValueOf(m)
|
||||||
|
|
||||||
// Dereference pointers
|
// Dereference pointers
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
@@ -158,7 +158,7 @@ func Omit(m interface{}, keys ...interface{}) map[interface{}]interface{} {
|
|||||||
v := reflect.ValueOf(m)
|
v := reflect.ValueOf(m)
|
||||||
|
|
||||||
// Dereference pointers
|
// Dereference pointers
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@ func Pluck(slice interface{}, field string) []interface{} {
|
|||||||
v := reflect.ValueOf(slice)
|
v := reflect.ValueOf(slice)
|
||||||
|
|
||||||
// Dereference pointers
|
// Dereference pointers
|
||||||
for v.Kind() == reflect.Ptr {
|
for v.Kind() == reflect.Pointer {
|
||||||
if v.IsNil() {
|
if v.IsNil() {
|
||||||
return []interface{}{}
|
return []interface{}{}
|
||||||
}
|
}
|
||||||
@@ -253,13 +253,18 @@ func Pluck(slice interface{}, field string) []interface{} {
|
|||||||
item := v.Index(i)
|
item := v.Index(i)
|
||||||
|
|
||||||
// Dereference item pointers
|
// Dereference item pointers
|
||||||
for item.Kind() == reflect.Ptr {
|
nilItem := false
|
||||||
|
for item.Kind() == reflect.Pointer {
|
||||||
if item.IsNil() {
|
if item.IsNil() {
|
||||||
result = append(result, nil)
|
result = append(result, nil)
|
||||||
continue
|
nilItem = true
|
||||||
|
break
|
||||||
}
|
}
|
||||||
item = item.Elem()
|
item = item.Elem()
|
||||||
}
|
}
|
||||||
|
if nilItem {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
switch item.Kind() {
|
switch item.Kind() {
|
||||||
case reflect.Struct:
|
case reflect.Struct:
|
||||||
|
|||||||
Reference in New Issue
Block a user