drashland / sinco

Browser Automation and Testing Tool for Deno, written in full TypeScript
https://drash.land/sinco
MIT License
57 stars 3 forks source link

BREAKING: Improve UX and support multiple pages #103

Closed ebebbington closed 2 years ago

ebebbington commented 2 years ago

Why? Sinco only really supported one page, and sometimes it made no sense.. Say you click a link and it opens a new tab, you still only have one 'page' and there's no way to get back to your original page. Some methods (such as click()) were using a hacky approach to get a solution. A lot of properties and methods on classes (internal methods) didnt make sense for them being on those classes

What?


So: client has a protocol, and a client has many pages, and each page has their own protocol
ebebbington commented 2 years ago

I dont want to make another major version, but the internal code and API needed to change

ebebbington commented 2 years ago

and a bunch of QOL stuff for us:

crookse commented 2 years ago

we mixing and matching camel case and snake case object keys 😬 . honestly, i don't know if we should continue to be uniform with these. reason being in the Open API service i'm working on in Drash, Open API Specification uses camel case for object keys, so the Open API service needs to build Open API Specification objects using camel case. kinda sucks, but it killed our uniformity. i know a solution would be to use snake case and then convert all snake case keys to camel case, but that seems unnecessary.

want your thoughts though on if we should continue to enforce snake case in our codebase OR do it based on requirements. like since Open API Specification requires camel case, then the Open API service should use camel case.

ebebbington commented 2 years ago

lets just do snake case all the way