1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-06-23 00:28:10 +02:00

Move value specific Iterable and Iterator interfaces into core module (#233)

* Move value specific Iterable and Iterator interfaces into core module

* Update Makefile

Reverted test command

* Update collection.go

* Fixed wrong iterator usage

* Updated use of switch statements
This commit is contained in:
Tim Voronov
2019-02-15 07:41:08 -05:00
committed by GitHub
parent 1af8b37a0f
commit f8e061cc80
13 changed files with 82 additions and 93 deletions

View File

@ -41,7 +41,7 @@ func WaitClass(_ context.Context, args ...core.Value) (core.Value, error) {
timeout := values.NewInt(defaultTimeout)
// lets figure out what is passed as 1st argument
switch args[0].(type) {
switch obj := args[0].(type) {
case values.DHTMLDocument:
// revalidate args with more accurate amount
err := core.ValidateArgs(args, 3, 4)
@ -57,12 +57,6 @@ func WaitClass(_ context.Context, args ...core.Value) (core.Value, error) {
return values.None, err
}
doc, ok := args[0].(values.DHTMLDocument)
if !ok {
return values.None, core.Errors(core.ErrInvalidType, ErrNotDynamic)
}
selector := args[1].(values.String)
class := args[2].(values.String)
@ -76,14 +70,8 @@ func WaitClass(_ context.Context, args ...core.Value) (core.Value, error) {
timeout = args[3].(values.Int)
}
return values.None, doc.WaitForClass(selector, class, timeout)
return values.None, obj.WaitForClass(selector, class, timeout)
case values.DHTMLNode:
el, ok := args[0].(values.DHTMLNode)
if !ok {
return values.None, core.Errors(core.ErrInvalidType, ErrNotDynamic)
}
class := args[1].(values.String)
if len(args) == 3 {
@ -96,7 +84,7 @@ func WaitClass(_ context.Context, args ...core.Value) (core.Value, error) {
timeout = args[2].(values.Int)
}
return values.None, el.WaitForClass(class, timeout)
return values.None, obj.WaitForClass(class, timeout)
default:
return values.None, core.Errors(core.ErrInvalidType, ErrNotDynamic)
}