// Copyright © 2016 Abcum Ltd // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package fncs import ( "context" "github.com/abcum/surreal/util/fake" ) func rand(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.DecimalBetween(0, 1), nil } func randBool(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.Bool(), nil } func randGuid(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.Guid(), nil } func randUuid(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.Uuid(), nil } func randEnum(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 0: return nil, nil default: return args[fake.IntegerBetween(0, len(args))], nil } } func randTime(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 2: if b, ok := ensureTime(args[0]); ok { if e, ok := ensureTime(args[1]); ok { return fake.TimeBetween(b, e), nil } } } return fake.Time(), nil } func randString(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 1: if l, ok := ensureInt(args[0]); ok { return fake.StringLength(int(l)), nil } case 2: if b, ok := ensureInt(args[0]); ok { if e, ok := ensureInt(args[1]); ok { return fake.StringBetween(int(b), int(e)), nil } } } return fake.String(), nil } func randInteger(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 2: if b, ok := ensureInt(args[0]); ok { if e, ok := ensureInt(args[1]); ok { return float64(fake.IntegerBetween(int(b), int(e))), nil } } } return float64(fake.Integer()), nil } func randDecimal(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 2: if b, ok := ensureFloat(args[0]); ok { if e, ok := ensureFloat(args[1]); ok { return fake.DecimalBetween(b, e), nil } } } return fake.Decimal(), nil } func randWord(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.Word(), nil } func randSentence(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 2: if b, ok := ensureInt(args[0]); ok { if e, ok := ensureInt(args[1]); ok { return fake.SentenceBetween(int(b), int(e)), nil } } } return fake.Sentence(), nil } func randParagraph(ctx context.Context, args ...interface{}) (interface{}, error) { switch len(args) { case 2: if b, ok := ensureInt(args[0]); ok { if e, ok := ensureInt(args[1]); ok { return fake.ParagraphBetween(int(b), int(e)), nil } } } return fake.Paragraph(), nil } func randPersonEmail(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonEmail(), nil } func randPersonPhone(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonPhone(), nil } func randPersonFullname(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonFullname(), nil } func randPersonFirstname(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonFirstname(), nil } func randPersonLastname(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonLastname(), nil } func randPersonUsername(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonUsername(), nil } func randPersonJobtitle(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.PersonJobtitle(), nil } func randCompanyName(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.CompanyName(), nil } func randCompanyIndustry(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.CompanyIndustry(), nil } func randLocationName(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationName(), nil } func randLocationAddress(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationAddress(), nil } func randLocationStreet(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationStreet(), nil } func randLocationCity(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationCity(), nil } func randLocationState(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationState(), nil } func randLocationCounty(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationCounty(), nil } func randLocationZipcode(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationZipcode(), nil } func randLocationPostcode(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationPostcode(), nil } func randLocationCountry(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationCountry(), nil } func randLocationAltitude(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationAltitude(), nil } func randLocationLatitude(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationLatitude(), nil } func randLocationLongitude(ctx context.Context, args ...interface{}) (interface{}, error) { return fake.LocationLongitude(), nil }