jmespath.js
jmespath.js copied to clipboard
unexpected parse result
jmespath: ^0.16.0
# good result
jmespath.search({desc: "a55555e"}, "starts_with(desc, 'a')") => true
jmespath.search({desc: "ae55555e"}, "starts_with(desc, 'a')") => true
jmespath.search({desc: "e55555e"}, "desc") => "e55555e"
jmespath.search({desc: "c5555e"}, "starts_with(desc, 'c')") => true
jmespath.search({desc: "f5555e"}, "starts_with(desc, 'f')") => true
# bad result
jmespath.search({desc: "e55555e"}, "starts_with(desc, 'e')") => false # we should get true
jmespath.search({desc: "55555e"}, "starts_with(desc, '5')") => false # we should get true
jmespath.search({name: "e5555e"}, "starts_with(name, 'e')") => false # we should get true
jmespath.search({name: "5555e"}, "starts_with(name, '5')") => false # we should get true
it seems that we get error to use starts_with for strings that starts with number or e
You may want to use the JMESPath Community fork of this library, which is fully standards compliant and includes many improvements and fixes.
That particular issue no longer happens in the community port.