-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
64e9e26
commit 6326ae7
Showing
21 changed files
with
222 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Release | ||
|
||
on: | ||
release: | ||
types: | ||
- published | ||
|
||
jobs: | ||
release: | ||
name: Release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Repo | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set env | ||
run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v2 | ||
with: | ||
node-version: 18 | ||
|
||
- name: Set package version | ||
run: echo $(jq --arg v "${{ env.VERSION }}" '(.version) = $v' package.json) > package.json | ||
|
||
- name: Install bun | ||
run: npm install -g bun | ||
|
||
- name: Install dependencies | ||
run: bun install | ||
|
||
- name: Build | ||
run: bun run build | ||
|
||
- name: Add npm token | ||
run: echo "//registry.npmjs.org/:_authToken=${{secrets.NPM_TOKEN}}" > .npmrc | ||
|
||
- name: Publish release candidate | ||
if: "github.event.release.prerelease" | ||
run: npm publish --access public --tag=canary --no-git-checks | ||
|
||
- name: Publish | ||
if: "!github.event.release.prerelease" | ||
run: npm publish --access public --no-git-checks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import { UpstashError } from "@error/index"; | ||
import { Requester } from "@http/index"; | ||
|
||
const ENDPOINTS = ["upsert", "query", "delete", "fetch", "reset", "range"] as const; | ||
|
||
export type EndpointVariants = (typeof ENDPOINTS)[number]; | ||
/** | ||
* TResult is the raw data returned from upstash, which may need to be transformed or parsed. | ||
*/ | ||
export class Command<TResult> { | ||
public readonly payload: Record<string, unknown> | unknown[]; | ||
public readonly endpoint: EndpointVariants; | ||
|
||
constructor(command: Record<string, unknown> | unknown[], endpoint: EndpointVariants) { | ||
this.payload = command; | ||
this.endpoint = endpoint; | ||
} | ||
|
||
/** | ||
* Execute the command using a client. | ||
*/ | ||
public async exec(client: Requester): Promise<TResult> { | ||
const { result, error } = await client.request<TResult>({ | ||
body: this.payload, | ||
path: [this.endpoint], | ||
}); | ||
|
||
if (error) { | ||
throw new UpstashError(error); | ||
} | ||
|
||
if (typeof result === "undefined") { | ||
throw new Error("Request did not return a result"); | ||
} | ||
|
||
return result; | ||
} | ||
} |
Oops, something went wrong.