Skip to content
This repository has been archived by the owner on Nov 24, 2018. It is now read-only.

Commit

Permalink
Merge pull request #185 from adieuadieu/cookiesSet-rename
Browse files Browse the repository at this point in the history
rename cookieSet() to setCookies()
  • Loading branch information
schickling authored Aug 6, 2017
2 parents 27abc23 + ed41e51 commit 715d4ce
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 49 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,9 @@ const chromeless = new Chromeless({
- [`cookies(name: string)`](docs/api.md#api-cookies-name)
- [`cookies(query: CookieQuery)`](docs/api.md#api-cookies-query) - Not implemented yet
- [`allCookies()`](docs/api.md#api-all-cookies)
- [`cookiesSet(name: string, value: string)`](docs/api.md#api-cookiesset)
- [`cookiesSet(cookie: Cookie)`](docs/api.md#api-cookiesset-one)
- [`cookiesSet(cookies: Cookie[])`](docs/api.md#api-cookiesset-many)
- [`setCookies(name: string, value: string)`](docs/api.md#api-setcookies)
- [`setCookies(cookie: Cookie)`](docs/api.md#api-setcookies-one)
- [`setCookies(cookies: Cookie[])`](docs/api.md#api-setcookies-many)
- [`deleteCookies(name: string)`](docs/api.md#api-deletecookies)
- [`clearCookies()`](docs/api.md#api-clearcookies)
- [`clearInput(selector: string)`](docs/api.md#api-clearInput)
Expand Down
28 changes: 14 additions & 14 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ Chromeless provides TypeScript typings.
- [`cookies(name: string)`](#api-cookies-name)
- [`cookies(query: CookieQuery)`](#api-cookies-query) - Not implemented yet
- [`allCookies()`](#api-all-cookies)
- [`cookiesSet(name: string, value: string)`](#api-cookiesset)
- [`cookiesSet(cookie: Cookie)`](#api-cookiesset-one)
- [`cookiesSet(cookies: Cookie[])`](#api-cookiesset-many)
- [`setCookies(name: string, value: string)`](#api-setcookies)
- [`setCookies(cookie: Cookie)`](#api-setcookies-one)
- [`setCookies(cookies: Cookie[])`](#api-setcookies-many)
- [`deleteCookies(name: string)`](#api-deletecookies)
- [`clearCookies()`](#api-clearcookies)

Expand Down Expand Up @@ -166,7 +166,7 @@ await chromeless.wait(() => { return console.log('@TODO: put a better example he

### clearCache(): Chromeless<T>

Clears browser cache.
Clears browser cache.

Service workers and Storage (IndexedDB, WebSQL, etc) needs to be cleared separately. More information at the [Chrome Devtools Protocol website](https://chromedevtools.github.io/devtools-protocol/tot).

Expand Down Expand Up @@ -537,9 +537,9 @@ await chromeless.allCookies()

---------------------------------------

<a name="api-cookiesset" />
<a name="api-setcookies" />

### cookiesSet(name: string, value: string): Chromeless<T>
### setCookies(name: string, value: string): Chromeless<T>

Sets a cookie with the given name and value.

Expand All @@ -550,14 +550,14 @@ __Arguments__
__Example__

```js
await chromeless.cookiesSet('visited', '1')
await chromeless.setCookies('visited', '1')
```

---------------------------------------

<a name="api-cookiesset-one" />
<a name="api-setcookies-one" />

### cookiesSet(cookie: Cookie): Chromeless<T>
### setCookies(cookie: Cookie): Chromeless<T>

Sets a cookie with the given cookie data; may overwrite equivalent cookies if they exist.

Expand All @@ -567,7 +567,7 @@ __Arguments__
__Example__

```js
await chromeless.cookiesSet({
await chromeless.setCookies({
url: 'http://google.com/',
domain: 'google.com',
name: 'userData',
Expand All @@ -583,9 +583,9 @@ await chromeless.cookiesSet({

---------------------------------------

<a name="api-cookiesset-many" />
<a name="api-setcookies-many" />

### cookiesSet(cookies: Cookie[]): Chromeless<T>
### setCookies(cookies: Cookie[]): Chromeless<T>

Sets many cookies with the given cookie data; may overwrite equivalent cookies if they exist.

Expand All @@ -595,7 +595,7 @@ __Arguments__
__Example__

```js
await chromeless.cookiesSet([
await chromeless.setCookies([
{
url: 'http://google.com/',
domain: 'google.com',
Expand Down Expand Up @@ -679,4 +679,4 @@ __Example__

```js
await chromeless.setFileInput('.uploader', '/User/Me/Documents/img.jpg')
```
```
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"prettier": "prettier --no-semi --single-quote --trailing-comma all --write \"src/**/*.ts\"",
"release": "np",
"test": "npm run tslint && npm run ava",
"lint": "npm run lint",
"tslint": "tslint -c tslint.json -p tsconfig.json --exclude node_modules/**",
"watch": "tsc -w",
"watch:test": "tsc -w & ava --watch"
Expand Down Expand Up @@ -59,7 +60,7 @@
"lint-staged": {
"*.{ts,js}": [
"prettier --no-semi --single-quote --trailing-comma all --write",
"npm run lint",
"lint",
"git add"
]
}
Expand Down
28 changes: 17 additions & 11 deletions src/api.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import ChromeLocal from './chrome/local'
import ChromeRemote from './chrome/remote'
import Queue from './queue'
import { ChromelessOptions, Cookie, CookieQuery, PdfOptions, DeviceMetrics } from './types'
import {
ChromelessOptions,
Cookie,
CookieQuery,
PdfOptions,
DeviceMetrics,
} from './types'
import { getDebugOption } from './util'
import { isArray } from 'util'

Expand Down Expand Up @@ -252,7 +258,7 @@ export default class Chromeless<T extends any> implements Promise<T> {
nameOrQuery?: string | CookieQuery,
): Chromeless<Cookie | Cookie[] | null> {
if (typeof nameOrQuery !== 'undefined' && typeof nameOrQuery !== 'string') {
throw new Error('Querying cookies is not implemented yet')
throw new Error('Querying cookies is not implemented yet')
}

this.lastReturnPromise = this.queue.process<Cookie[] | Cookie | null>({
Expand All @@ -271,11 +277,11 @@ export default class Chromeless<T extends any> implements Promise<T> {
return new Chromeless<Cookie[]>({}, this)
}

cookiesSet(name: string, value: string): Chromeless<T>
cookiesSet(cookie: Cookie): Chromeless<T>
cookiesSet(cookies: Cookie[]): Chromeless<T>
cookiesSet(nameOrCookies, value?: string): Chromeless<T> {
this.queue.enqueue({ type: 'cookiesSet', nameOrCookies, value })
setCookies(name: string, value: string): Chromeless<T>
setCookies(cookie: Cookie): Chromeless<T>
setCookies(cookies: Cookie[]): Chromeless<T>
setCookies(nameOrCookies, value?: string): Chromeless<T> {
this.queue.enqueue({ type: 'setCookies', nameOrCookies, value })

return this
}
Expand All @@ -287,19 +293,19 @@ export default class Chromeless<T extends any> implements Promise<T> {
if (typeof url === 'undefined') {
throw new Error('Cookie url should be defined.')
}
this.queue.enqueue({type: 'deleteCookies', name, url})
this.queue.enqueue({ type: 'deleteCookies', name, url })

return this
}

clearCookies(): Chromeless<T> {
this.queue.enqueue({type: 'clearCookies'})
this.queue.enqueue({ type: 'clearCookies' })

return this
}

clearInput(selector: string): Chromeless<T> {
this.queue.enqueue({type: 'clearInput', selector})
this.queue.enqueue({ type: 'clearInput', selector })
return this
}

Expand All @@ -309,7 +315,7 @@ export default class Chromeless<T extends any> implements Promise<T> {
if (!isArray(files)) {
files = [files]
}
this.queue.enqueue({type: 'setFileInput', selector, files})
this.queue.enqueue({ type: 'setFileInput', selector, files })
return this
}

Expand Down
34 changes: 23 additions & 11 deletions src/chrome/local-runtime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ export default class LocalRuntime {
switch (command.type) {
case 'goto':
return this.goto(command.url)
case 'setViewport':
return setViewport(this.client, command.options)
case 'setViewport':
return setViewport(this.client, command.options)
case 'wait': {
if (command.timeout) {
return this.waitTimeout(command.timeout)
Expand Down Expand Up @@ -101,8 +101,8 @@ export default class LocalRuntime {
return this.cookies(command.nameOrQuery)
case 'allCookies':
return this.allCookies()
case 'cookiesSet':
return this.cookiesSet(command.nameOrCookies, command.value)
case 'setCookies':
return this.setCookies(command.nameOrCookies, command.value)
case 'mousedown':
return this.mousedown(command.selector)
case 'mouseup':
Expand All @@ -129,7 +129,7 @@ export default class LocalRuntime {
}

private async clearCache(): Promise<void> {
const {Network} = this.client
const { Network } = this.client
const canClearCache = await Network.canClearBrowserCache
if (canClearCache) {
await Network.clearBrowserCache()
Expand Down Expand Up @@ -291,7 +291,7 @@ export default class LocalRuntime {
return await getAllCookies(this.client)
}

async cookiesSet(
async setCookies(
nameOrCookies: string | Cookie | Cookie[],
value?: string,
): Promise<void> {
Expand All @@ -313,7 +313,7 @@ export default class LocalRuntime {
return await setCookies(this.client, [cookie])
}

throw new Error(`cookiesSet(): Invalid input ${nameOrCookies}, ${value}`)
throw new Error(`setCookies(): Invalid input ${nameOrCookies}, ${value}`)
}

async deleteCookies(name: string, url: string): Promise<void> {
Expand Down Expand Up @@ -425,12 +425,18 @@ export default class LocalRuntime {
if (selector) {
if (this.chromelessOptions.implicitWait) {
this.log(`clearInput(): Waiting for ${selector}`)
await waitForNode(this.client, selector, this.chromelessOptions.waitTimeout)
await waitForNode(
this.client,
selector,
this.chromelessOptions.waitTimeout,
)
}

const exists = await nodeExists(this.client, selector)
if (!exists) {
throw new Error(`clearInput(): Node not found for selector: ${selector}`)
throw new Error(
`clearInput(): Node not found for selector: ${selector}`,
)
}
}
await clearInput(this.client, selector)
Expand All @@ -440,12 +446,18 @@ export default class LocalRuntime {
async setFileInput(selector: string, files: string[]): Promise<void> {
if (this.chromelessOptions.implicitWait) {
this.log(`setFileInput(): Waiting for ${selector}`)
await waitForNode(this.client, selector, this.chromelessOptions.waitTimeout)
await waitForNode(
this.client,
selector,
this.chromelessOptions.waitTimeout,
)
}

const exists = await nodeExists(this.client, selector)
if (!exists) {
throw new Error(`setFileInput(): node for selector ${selector} doesn't exist`)
throw new Error(
`setFileInput(): node for selector ${selector} doesn't exist`,
)
}

await setFileInput(this.client, selector, files)
Expand Down
18 changes: 9 additions & 9 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ export type Command =
| {
type: 'scrollToElement'
selector: string
}
}
| {
type: 'setHtml'
html: string
Expand All @@ -144,7 +144,7 @@ export type Command =
url: string
}
| {
type: 'cookiesSet'
type: 'setCookies'
nameOrCookies: string | Cookie | Cookie[]
value?: string
}
Expand All @@ -168,14 +168,14 @@ export type Command =
selector: string
}
| {
type: 'clearInput'
selector: string
}
type: 'clearInput'
selector: string
}
| {
type: 'setFileInput',
selector: string,
files: string[]
}
type: 'setFileInput'
selector: string
files: string[]
}

export interface Cookie {
url?: string
Expand Down

0 comments on commit 715d4ce

Please sign in to comment.