mirror of
https://github.com/aykhans/sarin.git
synced 2026-10-16 06:33:53 +00:00
Compare commits
22
Commits
v1.4.3
..
3d535d89e3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3d535d89e3 | ||
|
|
3a23b1b370 | ||
|
|
a37885a308 | ||
|
|
9de1d5ac93 | ||
|
|
6fc17d1e10 | ||
|
|
4518895ab2 | ||
|
|
8b6e88bb74 | ||
|
|
163de9ffc9
|
||
|
|
969337f4ec
|
||
|
|
ce6b60520f
|
||
|
|
ae34ae037a
|
||
|
|
27c00581a9 | ||
|
|
db9a65f35f
|
||
|
|
082851d25e
|
||
|
|
62afa38370 | ||
|
|
373bc39f8e | ||
|
|
2b7c08519e | ||
|
|
f974b5d708 | ||
|
|
74ac84eb31 | ||
|
|
9cd3ec0539 | ||
|
|
42de488430 | ||
|
|
6e984f039c
|
No files matched your search
@@ -16,7 +16,7 @@ jobs:
|
|||||||
- uses: actions/checkout@v7
|
- uses: actions/checkout@v7
|
||||||
- uses: actions/setup-go@v7
|
- uses: actions/setup-go@v7
|
||||||
with:
|
with:
|
||||||
go-version: 1.26.5
|
go-version-file: go.mod
|
||||||
- name: go fix
|
- name: go fix
|
||||||
run: |
|
run: |
|
||||||
go fix ./...
|
go fix ./...
|
||||||
|
|||||||
@@ -88,12 +88,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "VERSION=$(git describe --tags --always)" >> $GITHUB_ENV
|
echo "VERSION=$(git describe --tags --always)" >> $GITHUB_ENV
|
||||||
echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
||||||
echo "GO_VERSION=1.26.5" >> $GITHUB_ENV
|
echo "GO_VERSION=$(sed -n 's/^go //p' go.mod)" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Set up Go
|
- name: Set up Go
|
||||||
uses: actions/setup-go@v7
|
uses: actions/setup-go@v7
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GO_VERSION }}
|
go-version-file: go.mod
|
||||||
cache: true
|
cache: true
|
||||||
|
|
||||||
- name: Build binaries
|
- name: Build binaries
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
version: "2"
|
version: "2"
|
||||||
|
|
||||||
run:
|
run:
|
||||||
go: "1.26"
|
go: "1.27"
|
||||||
concurrency: 12
|
concurrency: 12
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
ARG GO_VERSION=1.26.5
|
ARG GO_VERSION=1.27.1
|
||||||
|
|
||||||
FROM docker.io/library/golang:${GO_VERSION}-alpine AS builder
|
FROM docker.io/library/golang:${GO_VERSION}-alpine AS builder
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Sarin is designed for efficient HTTP load testing with minimal resource consumpt
|
|||||||
| ✅ Supported | ❌ Not Supported |
|
| ✅ Supported | ❌ Not Supported |
|
||||||
| ---------------------------------------------------------- | ------------------------------- |
|
| ---------------------------------------------------------- | ------------------------------- |
|
||||||
| High-performance with low memory footprint | Web UI or complex TUI |
|
| High-performance with low memory footprint | Web UI or complex TUI |
|
||||||
| Dynamic requests via 340+ template functions | Detailed response body analysis |
|
| Dynamic requests via 370+ template functions | Detailed response body analysis |
|
||||||
| Request scripting with Lua and JavaScript | Distributed load testing |
|
| Request scripting with Lua and JavaScript | Distributed load testing |
|
||||||
| Multiple proxy protocols<br>(HTTP, HTTPS, SOCKS5, SOCKS5H) | HTTP/2, HTTP/3, WebSocket, gRPC |
|
| Multiple proxy protocols<br>(HTTP, HTTPS, SOCKS5, SOCKS5H) | HTTP/2, HTTP/3, WebSocket, gRPC |
|
||||||
| Captcha solving<br>(2Captcha, Anti-Captcha, CapSolver) | Plugins / extensions ecosystem |
|
| Captcha solving<br>(2Captcha, Anti-Captcha, CapSolver) | Plugins / extensions ecosystem |
|
||||||
@@ -96,7 +96,7 @@ Download the latest binaries from the [releases](https://github.com/aykhans/sari
|
|||||||
<details>
|
<details>
|
||||||
<summary><b>Building from Source</b></summary>
|
<summary><b>Building from Source</b></summary>
|
||||||
|
|
||||||
Requires [Go 1.26+](https://golang.org/dl/).
|
Requires the [Go version declared in `go.mod`](go.mod).
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/aykhans/sarin.git && cd sarin
|
git clone https://github.com/aykhans/sarin.git && cd sarin
|
||||||
@@ -146,7 +146,7 @@ For detailed documentation on all configuration options (URL, method, timeout, c
|
|||||||
|
|
||||||
## Templating
|
## Templating
|
||||||
|
|
||||||
Sarin supports Go templates in URL paths, methods, bodies, headers, params, cookies, and values. Use the 340+ built-in functions to generate dynamic data for each request.
|
Sarin supports Go templates in URL paths, methods, bodies, headers, params, cookies, and values. Use the 370+ built-in functions to generate dynamic data for each request.
|
||||||
|
|
||||||
**Example:**
|
**Example:**
|
||||||
|
|
||||||
|
|||||||
+3
-2
@@ -3,6 +3,8 @@ version: "3"
|
|||||||
|
|
||||||
vars:
|
vars:
|
||||||
BIN_DIR: ./bin
|
BIN_DIR: ./bin
|
||||||
|
GO_VERSION:
|
||||||
|
sh: sed -n 's/^go //p' go.mod
|
||||||
GOLANGCI_LINT_VERSION: v2.13.2
|
GOLANGCI_LINT_VERSION: v2.13.2
|
||||||
GOLANGCI: "{{.BIN_DIR}}/golangci-lint-{{.GOLANGCI_LINT_VERSION}}"
|
GOLANGCI: "{{.BIN_DIR}}/golangci-lint-{{.GOLANGCI_LINT_VERSION}}"
|
||||||
|
|
||||||
@@ -87,7 +89,6 @@ tasks:
|
|||||||
vars:
|
vars:
|
||||||
IMAGE_NAME: '{{.IMAGE_NAME | default "sarin"}}'
|
IMAGE_NAME: '{{.IMAGE_NAME | default "sarin"}}'
|
||||||
TAG: '{{.TAG | default "latest"}}'
|
TAG: '{{.TAG | default "latest"}}'
|
||||||
GO_VERSION: '{{.GO_VERSION | default ""}}'
|
|
||||||
VERSION:
|
VERSION:
|
||||||
sh: git describe --tags --always
|
sh: git describe --tags --always
|
||||||
GIT_COMMIT:
|
GIT_COMMIT:
|
||||||
@@ -95,7 +96,7 @@ tasks:
|
|||||||
cmds:
|
cmds:
|
||||||
- >-
|
- >-
|
||||||
docker build
|
docker build
|
||||||
{{if .GO_VERSION}}--build-arg GO_VERSION={{.GO_VERSION}}{{end}}
|
--build-arg GO_VERSION={{.GO_VERSION}}
|
||||||
--build-arg VERSION={{.VERSION}}
|
--build-arg VERSION={{.VERSION}}
|
||||||
--build-arg GIT_COMMIT={{.GIT_COMMIT}}
|
--build-arg GIT_COMMIT={{.GIT_COMMIT}}
|
||||||
-t {{.IMAGE_NAME}}:{{.TAG}}
|
-t {{.IMAGE_NAME}}:{{.TAG}}
|
||||||
|
|||||||
+1
-1
@@ -373,7 +373,7 @@ body: '{"ip": "{{ fakeit_IPv4Address }}", "timestamp": "{{ fakeit_Date }}", "act
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
> For the complete list of 340+ template functions, see the **[Templating Guide](templating.md)**.
|
> For the complete list of 370+ template functions, see the **[Templating Guide](templating.md)**.
|
||||||
|
|
||||||
## Solving Captchas
|
## Solving Captchas
|
||||||
|
|
||||||
|
|||||||
+175
-139
@@ -249,7 +249,7 @@ The functions are organized by service: `twocaptcha_*`, `anticaptcha_*`, and `ca
|
|||||||
|
|
||||||
### 2Captcha
|
### 2Captcha
|
||||||
|
|
||||||
Functions for the [2Captcha](https://2captcha.com) service. Note: 2Captcha **does not currently support hCaptcha** through their API.
|
Functions for the [2Captcha](https://2captcha.com) service. Sarin supports reCAPTCHA v2, reCAPTCHA v3, and Cloudflare Turnstile through this integration.
|
||||||
|
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
|
||||||
@@ -259,7 +259,7 @@ Functions for the [2Captcha](https://2captcha.com) service. Note: 2Captcha **doe
|
|||||||
|
|
||||||
### Anti-Captcha
|
### Anti-Captcha
|
||||||
|
|
||||||
Functions for the [Anti-Captcha](https://anti-captcha.com) service. This is currently the only service that supports all four captcha types end-to-end.
|
Functions for the [Anti-Captcha](https://anti-captcha.com) service. This is the only Sarin captcha integration that exposes an hCaptcha function.
|
||||||
|
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||||
@@ -270,7 +270,7 @@ Functions for the [Anti-Captcha](https://anti-captcha.com) service. This is curr
|
|||||||
|
|
||||||
### CapSolver
|
### CapSolver
|
||||||
|
|
||||||
Functions for the [CapSolver](https://capsolver.com) service. Note: CapSolver no longer supports hCaptcha.
|
Functions for the [CapSolver](https://capsolver.com) service. Sarin supports reCAPTCHA v2, reCAPTCHA v3, and Cloudflare Turnstile through this integration.
|
||||||
|
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
||||||
@@ -302,7 +302,7 @@ body: |
|
|||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# hCaptcha via Anti-Captcha (the only service that still supports it)
|
# hCaptcha via Anti-Captcha
|
||||||
method: POST
|
method: POST
|
||||||
url: https://example.com/protected
|
url: https://example.com/protected
|
||||||
body: |
|
body: |
|
||||||
@@ -325,10 +325,10 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### File
|
### File
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ---------------------- | -------------- | -------------------- |
|
| ---------------------- | -------------- | --------------------- |
|
||||||
| `fakeit_FileExtension` | File extension | `"nes"` |
|
| `fakeit_FileExtension` | File extension | `"nes"` |
|
||||||
| `fakeit_FileMimeType` | MIME type | `"application/json"` |
|
| `fakeit_FileMimeType` | MIME type | `"application/x-wri"` |
|
||||||
|
|
||||||
### ID
|
### ID
|
||||||
|
|
||||||
@@ -347,7 +347,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_ProductFeature` | Product feature | `"ultra-lightweight"` |
|
| `fakeit_ProductFeature` | Product feature | `"ultra-lightweight"` |
|
||||||
| `fakeit_ProductMaterial` | Product material | `"brass"` |
|
| `fakeit_ProductMaterial` | Product material | `"brass"` |
|
||||||
| `fakeit_ProductUPC` | UPC code | `"012780949980"` |
|
| `fakeit_ProductUPC` | UPC code | `"012780949980"` |
|
||||||
| `fakeit_ProductAudience` | Target audience | `["adults"]` |
|
| `fakeit_ProductAudience` | Target audience | `[adults]` |
|
||||||
| `fakeit_ProductDimension` | Product dimension | `"medium"` |
|
| `fakeit_ProductDimension` | Product dimension | `"medium"` |
|
||||||
| `fakeit_ProductUseCase` | Use case | `"home"` |
|
| `fakeit_ProductUseCase` | Use case | `"home"` |
|
||||||
| `fakeit_ProductBenefit` | Product benefit | `"comfort"` |
|
| `fakeit_ProductBenefit` | Product benefit | `"comfort"` |
|
||||||
@@ -356,23 +356,25 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### Person
|
### Person
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ----------------------- | ---------------------- | ------------------------ |
|
| ----------------------- | ---------------------- | ------------------------------------------------------------------- |
|
||||||
| `fakeit_Name` | Full name | `"Markus Moen"` |
|
| `fakeit_Name` | Full name | `"Priscilla Thornton"` |
|
||||||
| `fakeit_NamePrefix` | Name prefix | `"Mr."` |
|
| `fakeit_NamePrefix` | Name prefix | `"Mr."` |
|
||||||
| `fakeit_NameSuffix` | Name suffix | `"Jr."` |
|
| `fakeit_NameSuffix` | Name suffix | `"Jr."` |
|
||||||
| `fakeit_FirstName` | First name | `"Markus"` |
|
| `fakeit_FirstName` | First name | `"Priscilla"` |
|
||||||
| `fakeit_MiddleName` | Middle name | `"Belinda"` |
|
| `fakeit_MiddleName` | Middle name | `"Belinda"` |
|
||||||
| `fakeit_LastName` | Last name | `"Daniel"` |
|
| `fakeit_LastName` | Last name | `"Daniel"` |
|
||||||
| `fakeit_Gender` | Gender | `"male"` |
|
| `fakeit_Gender` | Gender | `"male"` |
|
||||||
| `fakeit_Age` | Age | `40` |
|
| `fakeit_Age` | Age | `40` |
|
||||||
| `fakeit_Ethnicity` | Ethnicity | `"German"` |
|
| `fakeit_Ethnicity` | Ethnicity | `"German"` |
|
||||||
| `fakeit_SSN` | Social Security Number | `"296446360"` |
|
| `fakeit_SSN` | Social Security Number | `"296446360"` |
|
||||||
| `fakeit_EIN` | Employer ID Number | `"12-3456789"` |
|
| `fakeit_EIN` | Employer ID Number | `"12-3456789"` |
|
||||||
| `fakeit_Hobby` | Hobby | `"Swimming"` |
|
| `fakeit_Hobby` | Hobby | `"Swimming"` |
|
||||||
| `fakeit_Email` | Email address | `"markusmoen@pagac.net"` |
|
| `fakeit_SocialMedia` | Social media profile | `"https://twitter.com/ImpossibleTrousers"` |
|
||||||
| `fakeit_Phone` | Phone number | `"6136459948"` |
|
| `fakeit_Bio` | Biography | `"Born in New York, John grew up to become a Software Engineer..."` |
|
||||||
| `fakeit_PhoneFormatted` | Formatted phone | `"136-459-9489"` |
|
| `fakeit_Email` | Email address | `"priscilla.thornton@duncan.biz"` |
|
||||||
|
| `fakeit_Phone` | Phone number | `"6136459948"` |
|
||||||
|
| `fakeit_PhoneFormatted` | Formatted phone | `"136-459-9489"` |
|
||||||
|
|
||||||
### Generate
|
### Generate
|
||||||
|
|
||||||
@@ -391,7 +393,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| --------------------------------------------------- | ---------------------------- | ---------------------------------------------------- |
|
| --------------------------------------------------- | ---------------------------- | ---------------------------------------------------- |
|
||||||
| `fakeit_City` | City name | `"Marcelside"` |
|
| `fakeit_City` | City name | `"Reno"` |
|
||||||
| `fakeit_Country` | Country name | `"United States of America"` |
|
| `fakeit_Country` | Country name | `"United States of America"` |
|
||||||
| `fakeit_CountryAbr` | Country abbreviation | `"US"` |
|
| `fakeit_CountryAbr` | Country abbreviation | `"US"` |
|
||||||
| `fakeit_State` | State name | `"Illinois"` |
|
| `fakeit_State` | State name | `"Illinois"` |
|
||||||
@@ -400,7 +402,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_StreetName` | Street name | `"View"` |
|
| `fakeit_StreetName` | Street name | `"View"` |
|
||||||
| `fakeit_StreetNumber` | Street number | `"13645"` |
|
| `fakeit_StreetNumber` | Street number | `"13645"` |
|
||||||
| `fakeit_StreetPrefix` | Street prefix | `"East"` |
|
| `fakeit_StreetPrefix` | Street prefix | `"East"` |
|
||||||
| `fakeit_StreetSuffix` | Street suffix | `"Ave"` |
|
| `fakeit_StreetSuffix` | Street suffix | `"side"` |
|
||||||
| `fakeit_Unit` | Unit | `"Apt 123"` |
|
| `fakeit_Unit` | Unit | `"Apt 123"` |
|
||||||
| `fakeit_Zip` | ZIP code | `"13645"` |
|
| `fakeit_Zip` | ZIP code | `"13645"` |
|
||||||
| `fakeit_Latitude` | Random latitude | `-73.534056` |
|
| `fakeit_Latitude` | Random latitude | `-73.534056` |
|
||||||
@@ -408,11 +410,23 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_LatitudeInRange(min float64, max float64)` | Latitude in specified range | `{{ fakeit_LatitudeInRange 0 90 }}` → `22.921026` |
|
| `fakeit_LatitudeInRange(min float64, max float64)` | Latitude in specified range | `{{ fakeit_LatitudeInRange 0 90 }}` → `22.921026` |
|
||||||
| `fakeit_LongitudeInRange(min float64, max float64)` | Longitude in specified range | `{{ fakeit_LongitudeInRange 0 180 }}` → `122.471830` |
|
| `fakeit_LongitudeInRange(min float64, max float64)` | Longitude in specified range | `{{ fakeit_LongitudeInRange 0 180 }}` → `122.471830` |
|
||||||
|
|
||||||
|
### Airline
|
||||||
|
|
||||||
|
| Function | Description | Example Output |
|
||||||
|
| ----------------------------- | ----------------- | ---------------------------------------------------- |
|
||||||
|
| `fakeit_AirlineAircraftType` | Aircraft type | `"narrowbody"` |
|
||||||
|
| `fakeit_AirlineAirplane` | Airplane model | `"Airbus A320"` |
|
||||||
|
| `fakeit_AirlineAirport` | Airport name | `"Hartsfield-Jackson Atlanta International Airport"` |
|
||||||
|
| `fakeit_AirlineAirportIATA` | Airport IATA code | `"ATL"` |
|
||||||
|
| `fakeit_AirlineFlightNumber` | Flight number | `"AA1234"` |
|
||||||
|
| `fakeit_AirlineRecordLocator` | Booking reference | `"ABCDEF"` |
|
||||||
|
| `fakeit_AirlineSeat` | Seat assignment | `"12A"` |
|
||||||
|
|
||||||
### Game
|
### Game
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ----------------- | ----------- | ------------------- |
|
| ----------------- | ----------- | ----------------- |
|
||||||
| `fakeit_Gamertag` | Gamer tag | `"footinterpret63"` |
|
| `fakeit_Gamertag` | Gamer tag | `"TurkeyThinker"` |
|
||||||
|
|
||||||
### Beer
|
### Beer
|
||||||
|
|
||||||
@@ -443,18 +457,22 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| ---------------------------------- | --------------------------- | ---------------- |
|
| ---------------------------------- | --------------------------- | ---------------- |
|
||||||
| `fakeit_Word` | Random word | `"example"` |
|
| `fakeit_Word` | Random word | `"example"` |
|
||||||
| `fakeit_Noun` | Random noun | `"computer"` |
|
| `fakeit_Noun` | Random noun | `"computer"` |
|
||||||
| `fakeit_NounCommon` | Common noun | `"table"` |
|
| `fakeit_NounCommon` | Common noun | `"group"` |
|
||||||
| `fakeit_NounConcrete` | Concrete noun | `"chair"` |
|
| `fakeit_NounConcrete` | Concrete noun | `"chair"` |
|
||||||
| `fakeit_NounAbstract` | Abstract noun | `"freedom"` |
|
| `fakeit_NounAbstract` | Abstract noun | `"freedom"` |
|
||||||
| `fakeit_NounCollectivePeople` | Collective noun (people) | `"team"` |
|
| `fakeit_NounCollectivePeople` | Collective noun (people) | `"team"` |
|
||||||
| `fakeit_NounCollectiveAnimal` | Collective noun (animal) | `"herd"` |
|
| `fakeit_NounCollectiveAnimal` | Collective noun (animal) | `"leap"` |
|
||||||
| `fakeit_NounCollectiveThing` | Collective noun (thing) | `"bunch"` |
|
| `fakeit_NounCollectiveThing` | Collective noun (thing) | `"bunch"` |
|
||||||
| `fakeit_NounCountable` | Countable noun | `"book"` |
|
| `fakeit_NounCountable` | Countable noun | `"book"` |
|
||||||
| `fakeit_NounUncountable` | Uncountable noun | `"water"` |
|
| `fakeit_NounUncountable` | Uncountable noun | `"water"` |
|
||||||
| `fakeit_Verb` | Random verb | `"run"` |
|
| `fakeit_NounProper` | Proper noun | `"John"` |
|
||||||
|
| `fakeit_NounDeterminer` | Noun determiner | `"your"` |
|
||||||
|
| `fakeit_Verb` | Random verb | `"would"` |
|
||||||
| `fakeit_VerbAction` | Action verb | `"jump"` |
|
| `fakeit_VerbAction` | Action verb | `"jump"` |
|
||||||
| `fakeit_VerbLinking` | Linking verb | `"is"` |
|
| `fakeit_VerbLinking` | Linking verb | `"is"` |
|
||||||
| `fakeit_VerbHelping` | Helping verb | `"can"` |
|
| `fakeit_VerbHelping` | Helping verb | `"can"` |
|
||||||
|
| `fakeit_VerbTransitive` | Transitive verb | `"follow"` |
|
||||||
|
| `fakeit_VerbIntransitive` | Intransitive verb | `"laugh"` |
|
||||||
| `fakeit_Adverb` | Random adverb | `"quickly"` |
|
| `fakeit_Adverb` | Random adverb | `"quickly"` |
|
||||||
| `fakeit_AdverbManner` | Manner adverb | `"carefully"` |
|
| `fakeit_AdverbManner` | Manner adverb | `"carefully"` |
|
||||||
| `fakeit_AdverbDegree` | Degree adverb | `"very"` |
|
| `fakeit_AdverbDegree` | Degree adverb | `"very"` |
|
||||||
@@ -468,7 +486,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_PrepositionDouble` | Double preposition | `"out of"` |
|
| `fakeit_PrepositionDouble` | Double preposition | `"out of"` |
|
||||||
| `fakeit_PrepositionCompound` | Compound preposition | `"according to"` |
|
| `fakeit_PrepositionCompound` | Compound preposition | `"according to"` |
|
||||||
| `fakeit_Adjective` | Random adjective | `"beautiful"` |
|
| `fakeit_Adjective` | Random adjective | `"beautiful"` |
|
||||||
| `fakeit_AdjectiveDescriptive` | Descriptive adjective | `"large"` |
|
| `fakeit_AdjectiveDescriptive` | Descriptive adjective | `"tired"` |
|
||||||
| `fakeit_AdjectiveQuantitative` | Quantitative adjective | `"many"` |
|
| `fakeit_AdjectiveQuantitative` | Quantitative adjective | `"many"` |
|
||||||
| `fakeit_AdjectiveProper` | Proper adjective | `"American"` |
|
| `fakeit_AdjectiveProper` | Proper adjective | `"American"` |
|
||||||
| `fakeit_AdjectiveDemonstrative` | Demonstrative adjective | `"this"` |
|
| `fakeit_AdjectiveDemonstrative` | Demonstrative adjective | `"this"` |
|
||||||
@@ -483,26 +501,33 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_PronounDemonstrative` | Demonstrative pronoun | `"that"` |
|
| `fakeit_PronounDemonstrative` | Demonstrative pronoun | `"that"` |
|
||||||
| `fakeit_PronounInterrogative` | Interrogative pronoun | `"who"` |
|
| `fakeit_PronounInterrogative` | Interrogative pronoun | `"who"` |
|
||||||
| `fakeit_PronounRelative` | Relative pronoun | `"which"` |
|
| `fakeit_PronounRelative` | Relative pronoun | `"which"` |
|
||||||
|
| `fakeit_PronounIndefinite` | Indefinite pronoun | `"few"` |
|
||||||
| `fakeit_Connective` | Random connective | `"however"` |
|
| `fakeit_Connective` | Random connective | `"however"` |
|
||||||
| `fakeit_ConnectiveTime` | Time connective | `"then"` |
|
| `fakeit_ConnectiveTime` | Time connective | `"then"` |
|
||||||
| `fakeit_ConnectiveComparative` | Comparative connective | `"similarly"` |
|
| `fakeit_ConnectiveComparative` | Comparative connective | `"after all"` |
|
||||||
| `fakeit_ConnectiveComplaint` | Complaint connective | `"although"` |
|
| `fakeit_ConnectiveComplaint` | Complaint connective | `"i.e."` |
|
||||||
| `fakeit_ConnectiveListing` | Listing connective | `"firstly"` |
|
| `fakeit_ConnectiveListing` | Listing connective | `"firstly"` |
|
||||||
| `fakeit_ConnectiveCasual` | Casual connective | `"because"` |
|
| `fakeit_ConnectiveCasual` | Casual connective | `"because"` |
|
||||||
| `fakeit_ConnectiveExamplify` | Examplify connective | `"for example"` |
|
| `fakeit_ConnectiveExamplify` | Examplify connective | `"for example"` |
|
||||||
|
| `fakeit_Interjection` | Interjection | `"wow"` |
|
||||||
|
|
||||||
### Text
|
### Text
|
||||||
|
|
||||||
| Function | Description | Example |
|
| Function | Description | Example |
|
||||||
| ---------------------------------------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------- |
|
| ---------------------------------------------------------------------------------------- | ----------------------------------------------- | --------------------------------------------- |
|
||||||
| `fakeit_Sentence(wordCount ...int)` | Random sentence (optional word count) | `{{ fakeit_Sentence }}` or `{{ fakeit_Sentence 10 }}` |
|
| `fakeit_Sentence` | Random sentence | `{{ fakeit_Sentence }}` |
|
||||||
| `fakeit_Paragraph` | Random paragraph | `{{ fakeit_Paragraph }}` |
|
| `fakeit_Paragraph` | Random paragraph | `{{ fakeit_Paragraph }}` |
|
||||||
| `fakeit_LoremIpsumWord` | Lorem ipsum word | `"lorem"` |
|
| `fakeit_LoremIpsumWord` | Lorem ipsum word | `"eveniet"` |
|
||||||
| `fakeit_LoremIpsumSentence(wordCount int)` | Lorem ipsum sentence with specified word count | `{{ fakeit_LoremIpsumSentence 5 }}` |
|
| `fakeit_LoremIpsumSentence(wordCount int)` | Lorem ipsum sentence with specified word count | `{{ fakeit_LoremIpsumSentence 5 }}` |
|
||||||
| `fakeit_LoremIpsumParagraph(paragraphs int, sentences int, words int, separator string)` | Lorem ipsum paragraphs with specified structure | `{{ fakeit_LoremIpsumParagraph 1 3 5 "\n" }}` |
|
| `fakeit_LoremIpsumParagraph(paragraphs int, sentences int, words int, separator string)` | Lorem ipsum paragraphs with specified structure | `{{ fakeit_LoremIpsumParagraph 1 3 5 "\n" }}` |
|
||||||
| `fakeit_Question` | Random question | `"What is your name?"` |
|
| `fakeit_Question` | Random question | `"What is the marginal gain from fear?"` |
|
||||||
| `fakeit_Quote` | Random quote | `"Life is what happens..."` |
|
| `fakeit_Quote` | Random quote | `"Energy is contagious—so is fear"` |
|
||||||
| `fakeit_Phrase` | Random phrase | `"a piece of cake"` |
|
| `fakeit_Phrase` | Random phrase | `"how many siblings do you have"` |
|
||||||
|
| `fakeit_PhraseNoun` | Noun phrase | `"a tribe"` |
|
||||||
|
| `fakeit_PhraseVerb` | Verb phrase | `"fully integrate a system"` |
|
||||||
|
| `fakeit_PhraseAdverb` | Adverb phrase | `"fully gladly"` |
|
||||||
|
| `fakeit_PhrasePreposition` | Preposition phrase | `"out the black thing"` |
|
||||||
|
| `fakeit_Comment` | Comment | `"add some a little bit team"` |
|
||||||
|
|
||||||
### Foods
|
### Foods
|
||||||
|
|
||||||
@@ -515,6 +540,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_Dinner` | Dinner food | `"Wild addicting dip"` |
|
| `fakeit_Dinner` | Dinner food | `"Wild addicting dip"` |
|
||||||
| `fakeit_Snack` | Snack | `"Trail mix"` |
|
| `fakeit_Snack` | Snack | `"Trail mix"` |
|
||||||
| `fakeit_Dessert` | Dessert | `"French napoleons"` |
|
| `fakeit_Dessert` | Dessert | `"French napoleons"` |
|
||||||
|
| `fakeit_Drink` | Drink | `"Soda"` |
|
||||||
|
|
||||||
### Misc
|
### Misc
|
||||||
|
|
||||||
@@ -525,20 +551,23 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### Color
|
### Color
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ------------------- | ------------------ | --------------------------------------------------------- |
|
| ------------------- | ------------------ | ------------------------------------------- |
|
||||||
| `fakeit_Color` | Color name | `"MediumOrchid"` |
|
| `fakeit_Color` | Color name | `"MediumOrchid"` |
|
||||||
| `fakeit_HexColor` | Hex color | `"#a99fb4"` |
|
| `fakeit_HexColor` | Hex color | `"#a99fb4"` |
|
||||||
| `fakeit_RGBColor` | RGB color | `[85, 224, 195]` |
|
| `fakeit_RGBColor` | RGB color | `[85 224 195]` |
|
||||||
| `fakeit_SafeColor` | Safe color | `"black"` |
|
| `fakeit_HSLColor` | HSL color | `[210 85 50]` |
|
||||||
| `fakeit_NiceColors` | Nice color palette | `["#cfffdd", "#b4dec1", "#5c5863", "#a85163", "#ff1f4c"]` |
|
| `fakeit_SafeColor` | Safe color | `"black"` |
|
||||||
|
| `fakeit_NiceColors` | Nice color palette | `[#cfffdd #b4dec1 #5c5863 #a85163 #ff1f4c]` |
|
||||||
|
|
||||||
### Image
|
### Image
|
||||||
|
|
||||||
| Function | Description | Example |
|
| Function | Description | Example |
|
||||||
| ----------------------------------------- | ------------------------- | -------------------------------- |
|
| ----------------------------------------- | -------------------------- | -------------------------------- |
|
||||||
| `fakeit_ImageJpeg(width int, height int)` | Generate JPEG image bytes | `{{ fakeit_ImageJpeg 100 100 }}` |
|
| `fakeit_ImageJpeg(width int, height int)` | Generate a JPEG byte slice | `{{ fakeit_ImageJpeg 100 100 }}` |
|
||||||
| `fakeit_ImagePng(width int, height int)` | Generate PNG image bytes | `{{ fakeit_ImagePng 100 100 }}` |
|
| `fakeit_ImagePng(width int, height int)` | Generate a PNG byte slice | `{{ fakeit_ImagePng 100 100 }}` |
|
||||||
|
|
||||||
|
> **Note:** Go templates render byte slices as decimal lists, not raw binary image data. Use `{{ json_Encode (fakeit_ImagePng 100 100) }}` to produce a Base64-encoded JSON string. These functions cannot write raw image bytes directly through body templating.
|
||||||
|
|
||||||
### Internet
|
### Internet
|
||||||
|
|
||||||
@@ -567,16 +596,16 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ------------------ | --------------- | ------------------ |
|
| ------------------ | --------------- | ------------------ |
|
||||||
| `fakeit_InputName` | HTML input name | `"email"` |
|
| `fakeit_InputName` | HTML input name | `"message"` |
|
||||||
| `fakeit_Svg` | SVG image | `"<svg>...</svg>"` |
|
| `fakeit_Svg` | SVG image | `"<svg>...</svg>"` |
|
||||||
|
|
||||||
### Date/Time
|
### Date/Time
|
||||||
|
|
||||||
| Function | Description | Example |
|
| Function | Description | Example |
|
||||||
| -------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------ |
|
| -------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------ |
|
||||||
| `fakeit_Date` | Random date | `2023-06-15 14:30:00` |
|
| `fakeit_Date` | Random date | `2013-11-07 04:31:13.726582492 +0000 UTC` |
|
||||||
| `fakeit_PastDate` | Past date | `2022-03-10 09:15:00` |
|
| `fakeit_PastDate` | Date 1–12 hours before now | Current time − 1–12 hours |
|
||||||
| `fakeit_FutureDate` | Future date | `2025-12-20 18:45:00` |
|
| `fakeit_FutureDate` | Date 1–12 hours after now | Current time + 1–12 hours |
|
||||||
| `fakeit_DateRange(start time.Time, end time.Time)` | Random date between start and end | `{{ fakeit_DateRange (strings_ToDate "2020-01-01") (strings_ToDate "2025-12-31") }}` |
|
| `fakeit_DateRange(start time.Time, end time.Time)` | Random date between start and end | `{{ fakeit_DateRange (strings_ToDate "2020-01-01") (strings_ToDate "2025-12-31") }}` |
|
||||||
| `fakeit_NanoSecond` | Nanosecond | `123456789` |
|
| `fakeit_NanoSecond` | Nanosecond | `123456789` |
|
||||||
| `fakeit_Second` | Second (0-59) | `45` |
|
| `fakeit_Second` | Second (0-59) | `45` |
|
||||||
@@ -587,11 +616,11 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_Day` | Day (1-31) | `15` |
|
| `fakeit_Day` | Day (1-31) | `15` |
|
||||||
| `fakeit_WeekDay` | Weekday | `"Monday"` |
|
| `fakeit_WeekDay` | Weekday | `"Monday"` |
|
||||||
| `fakeit_Year` | Year | `2024` |
|
| `fakeit_Year` | Year | `2024` |
|
||||||
| `fakeit_TimeZone` | Timezone | `"America/New_York"` |
|
| `fakeit_TimeZone` | Timezone name | `"West Pacific Standard Time"` |
|
||||||
| `fakeit_TimeZoneAbv` | Timezone abbreviation | `"EST"` |
|
| `fakeit_TimeZoneAbv` | Timezone abbreviation | `"EST"` |
|
||||||
| `fakeit_TimeZoneFull` | Full timezone | `"Eastern Standard Time"` |
|
| `fakeit_TimeZoneFull` | Full timezone | `"(UTC+10:00) Guam, Port Moresby"` |
|
||||||
| `fakeit_TimeZoneOffset` | Timezone offset | `-5` |
|
| `fakeit_TimeZoneOffset` | Timezone offset | `-5` |
|
||||||
| `fakeit_TimeZoneRegion` | Timezone region | `"America"` |
|
| `fakeit_TimeZoneRegion` | Timezone region | `"Indian/Chagos"` |
|
||||||
|
|
||||||
### Payment
|
### Payment
|
||||||
|
|
||||||
@@ -607,8 +636,8 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_AchRouting` | ACH routing number | `"513715684"` |
|
| `fakeit_AchRouting` | ACH routing number | `"513715684"` |
|
||||||
| `fakeit_AchAccount` | ACH account number | `"491527954328"` |
|
| `fakeit_AchAccount` | ACH account number | `"491527954328"` |
|
||||||
| `fakeit_BitcoinAddress` | Bitcoin address | `"1BoatSLRHtKNngkdXEeobR76b53LETtpyT"` |
|
| `fakeit_BitcoinAddress` | Bitcoin address | `"1BoatSLRHtKNngkdXEeobR76b53LETtpyT"` |
|
||||||
| `fakeit_BitcoinPrivateKey` | Bitcoin private key | `"5HueCGU8rMjxEXxiPuD5BDuG6o5xjA7QkbPp"` |
|
| `fakeit_BitcoinPrivateKey` | Bitcoin private key | `"5JMZxkQX2PgaasaHc8wnWLNdMu7rxeU7xS64ev7RWNinacicPfm"` |
|
||||||
| `fakeit_BankName` | Bank name | `"Wells Fargo"` |
|
| `fakeit_BankName` | Bank name | `"Toronto Dominion Bank"` |
|
||||||
| `fakeit_BankType` | Bank type | `"Investment Bank"` |
|
| `fakeit_BankType` | Bank type | `"Investment Bank"` |
|
||||||
|
|
||||||
### Finance
|
### Finance
|
||||||
@@ -620,17 +649,17 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### Company
|
### Company
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ---------------------- | -------------- | ------------------------------------------ |
|
| ---------------------- | -------------- | ---------------------- |
|
||||||
| `fakeit_BS` | Business speak | `"front-end"` |
|
| `fakeit_BS` | Business speak | `"front-end"` |
|
||||||
| `fakeit_Blurb` | Company blurb | `"word"` |
|
| `fakeit_Blurb` | Company blurb | `"Teamwork"` |
|
||||||
| `fakeit_BuzzWord` | Buzzword | `"disintermediate"` |
|
| `fakeit_BuzzWord` | Buzzword | `"disintermediate"` |
|
||||||
| `fakeit_Company` | Company name | `"Moen, Pagac and Wuckert"` |
|
| `fakeit_Company` | Company name | `"TransparaGov"` |
|
||||||
| `fakeit_CompanySuffix` | Company suffix | `"Inc"` |
|
| `fakeit_CompanySuffix` | Company suffix | `"Inc"` |
|
||||||
| `fakeit_JobDescriptor` | Job descriptor | `"Central"` |
|
| `fakeit_JobDescriptor` | Job descriptor | `"Central"` |
|
||||||
| `fakeit_JobLevel` | Job level | `"Assurance"` |
|
| `fakeit_JobLevel` | Job level | `"Assurance"` |
|
||||||
| `fakeit_JobTitle` | Job title | `"Director"` |
|
| `fakeit_JobTitle` | Job title | `"Director"` |
|
||||||
| `fakeit_Slogan` | Company slogan | `"Universal seamless Focus, interactive."` |
|
| `fakeit_Slogan` | Company slogan | `"Made of styrofoam."` |
|
||||||
|
|
||||||
### Hacker
|
### Hacker
|
||||||
|
|
||||||
@@ -695,9 +724,9 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_EmojiTools` | Tools emoji | `"🔧"` |
|
| `fakeit_EmojiTools` | Tools emoji | `"🔧"` |
|
||||||
| `fakeit_EmojiWeather` | Weather emoji | `"☀️"` |
|
| `fakeit_EmojiWeather` | Weather emoji | `"☀️"` |
|
||||||
| `fakeit_EmojiJob` | Job emoji | `"👨💻"` |
|
| `fakeit_EmojiJob` | Job emoji | `"👨💻"` |
|
||||||
| `fakeit_EmojiPerson` | Person emoji | `"👤"` |
|
| `fakeit_EmojiPerson` | Person emoji | `"🧓"` |
|
||||||
| `fakeit_EmojiGesture` | Gesture emoji | `"🙌"` |
|
| `fakeit_EmojiGesture` | Gesture emoji | `"🤦♀️"` |
|
||||||
| `fakeit_EmojiCostume` | Costume emoji | `"🎃"` |
|
| `fakeit_EmojiCostume` | Costume emoji | `"🧞"` |
|
||||||
| `fakeit_EmojiSentence` | Emoji sentence with random emojis interspersed | `"Weekends reserve time for 🖼️ Disc 🏨 golf and day."` |
|
| `fakeit_EmojiSentence` | Emoji sentence with random emojis interspersed | `"Weekends reserve time for 🖼️ Disc 🏨 golf and day."` |
|
||||||
|
|
||||||
### Language
|
### Language
|
||||||
@@ -706,31 +735,35 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| ----------------------------- | --------------------- | -------------- |
|
| ----------------------------- | --------------------- | -------------- |
|
||||||
| `fakeit_Language` | Language | `"English"` |
|
| `fakeit_Language` | Language | `"English"` |
|
||||||
| `fakeit_LanguageAbbreviation` | Language abbreviation | `"en"` |
|
| `fakeit_LanguageAbbreviation` | Language abbreviation | `"en"` |
|
||||||
|
| `fakeit_LanguageBCP` | BCP language tag | `"en-US"` |
|
||||||
| `fakeit_ProgrammingLanguage` | Programming language | `"Go"` |
|
| `fakeit_ProgrammingLanguage` | Programming language | `"Go"` |
|
||||||
|
|
||||||
### Number
|
### Number
|
||||||
|
|
||||||
| Function | Description | Example |
|
| Function | Description | Example |
|
||||||
| ----------------------------------------------- | ----------------------------------- | ------------------------------------------ |
|
| ----------------------------------------------- | ----------------------------------- | -------------------------------------------- |
|
||||||
| `fakeit_Number(min int, max int)` | Random number in range | `{{ fakeit_Number 1 100 }}` → `42` |
|
| `fakeit_Number(min int, max int)` | Random number in range | `{{ fakeit_Number 1 100 }}` → `42` |
|
||||||
| `fakeit_Int` | Random int | `{{ fakeit_Int }}` |
|
| `fakeit_Int` | Random int | `{{ fakeit_Int }}` |
|
||||||
| `fakeit_IntN(n int)` | Random int from 0 to n | `{{ fakeit_IntN 100 }}` |
|
| `fakeit_IntN(n int)` | Random int in `[0, n)` | `{{ fakeit_IntN 100 }}` |
|
||||||
| `fakeit_Int8` | Random int8 | `{{ fakeit_Int8 }}` |
|
| `fakeit_Int8` | Random int8 | `{{ fakeit_Int8 }}` |
|
||||||
| `fakeit_Int16` | Random int16 | `{{ fakeit_Int16 }}` |
|
| `fakeit_Int16` | Random int16 | `{{ fakeit_Int16 }}` |
|
||||||
| `fakeit_Int32` | Random int32 | `{{ fakeit_Int32 }}` |
|
| `fakeit_Int32` | Random int32 | `{{ fakeit_Int32 }}` |
|
||||||
| `fakeit_Int64` | Random int64 | `{{ fakeit_Int64 }}` |
|
| `fakeit_Int64` | Random int64 | `{{ fakeit_Int64 }}` |
|
||||||
| `fakeit_Uint` | Random uint | `{{ fakeit_Uint }}` |
|
| `fakeit_IntRange(min int, max int)` | Random int in range | `{{ fakeit_IntRange -10 10 }}` |
|
||||||
| `fakeit_UintN(n uint)` | Random uint from 0 to n | `{{ fakeit_UintN 100 }}` |
|
| `fakeit_Uint` | Random uint | `{{ fakeit_Uint }}` |
|
||||||
| `fakeit_Uint8` | Random uint8 | `{{ fakeit_Uint8 }}` |
|
| `fakeit_UintN(n uint)` | Random uint in `[0, n)` | `{{ fakeit_UintN 100 }}` |
|
||||||
| `fakeit_Uint16` | Random uint16 | `{{ fakeit_Uint16 }}` |
|
| `fakeit_Uint8` | Random uint8 | `{{ fakeit_Uint8 }}` |
|
||||||
| `fakeit_Uint32` | Random uint32 | `{{ fakeit_Uint32 }}` |
|
| `fakeit_Uint16` | Random uint16 | `{{ fakeit_Uint16 }}` |
|
||||||
| `fakeit_Uint64` | Random uint64 | `{{ fakeit_Uint64 }}` |
|
| `fakeit_Uint32` | Random uint32 | `{{ fakeit_Uint32 }}` |
|
||||||
| `fakeit_Float32` | Random float32 | `{{ fakeit_Float32 }}` |
|
| `fakeit_Uint64` | Random uint64 | `{{ fakeit_Uint64 }}` |
|
||||||
| `fakeit_Float32Range(min float32, max float32)` | Random float32 in range | `{{ fakeit_Float32Range 0 100 }}` |
|
| `fakeit_UintRange(min uint, max uint)` | Random uint in range | `{{ fakeit_UintRange 10 100 }}` |
|
||||||
| `fakeit_Float64` | Random float64 | `{{ fakeit_Float64 }}` |
|
| `fakeit_Float32` | Random float32 | `{{ fakeit_Float32 }}` |
|
||||||
| `fakeit_Float64Range(min float64, max float64)` | Random float64 in range | `{{ fakeit_Float64Range 0 100 }}` |
|
| `fakeit_Float32Range(min float32, max float32)` | Random float32 in range | `{{ fakeit_Float32Range 0 100 }}` |
|
||||||
| `fakeit_RandomInt(slice []int)` | Random int from slice | `{{ fakeit_RandomInt (slice_Int 1 2 3) }}` |
|
| `fakeit_Float64` | Random float64 | `{{ fakeit_Float64 }}` |
|
||||||
| `fakeit_HexUint(bits int)` | Random hex uint with specified bits | `{{ fakeit_HexUint 8 }}` → `"0xff"` |
|
| `fakeit_Float64Range(min float64, max float64)` | Random float64 in range | `{{ fakeit_Float64Range 0 100 }}` |
|
||||||
|
| `fakeit_RandomInt(slice []int)` | Random int from slice | `{{ fakeit_RandomInt (slice_Int 1 2 3) }}` |
|
||||||
|
| `fakeit_RandomUint(slice []uint)` | Random uint from slice | `{{ fakeit_RandomUint (slice_Uint 1 2 3) }}` |
|
||||||
|
| `fakeit_HexUint(bits int)` | Random hex uint with specified bits | `{{ fakeit_HexUint 8 }}` → `"0xff"` |
|
||||||
|
|
||||||
### String
|
### String
|
||||||
|
|
||||||
@@ -740,6 +773,7 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
| `fakeit_DigitN(n uint)` | Generate `n` random digits | `{{ fakeit_DigitN 5 }}` → `"71364"` |
|
| `fakeit_DigitN(n uint)` | Generate `n` random digits | `{{ fakeit_DigitN 5 }}` → `"71364"` |
|
||||||
| `fakeit_Letter` | Single random letter | `"g"` |
|
| `fakeit_Letter` | Single random letter | `"g"` |
|
||||||
| `fakeit_LetterN(n uint)` | Generate `n` random letters | `{{ fakeit_LetterN 10 }}` → `"gbRMaRxHki"` |
|
| `fakeit_LetterN(n uint)` | Generate `n` random letters | `{{ fakeit_LetterN 10 }}` → `"gbRMaRxHki"` |
|
||||||
|
| `fakeit_Vowel` | Single lowercase vowel | `"a"` |
|
||||||
| `fakeit_Lexify(pattern string)` | Replace `?` with random letters | `{{ fakeit_Lexify "?????@??????.com" }}` → `"billy@mister.com"` |
|
| `fakeit_Lexify(pattern string)` | Replace `?` with random letters | `{{ fakeit_Lexify "?????@??????.com" }}` → `"billy@mister.com"` |
|
||||||
| `fakeit_Numerify(pattern string)` | Replace `#` with random digits | `{{ fakeit_Numerify "(###)###-####" }}` → `"(555)867-5309"` |
|
| `fakeit_Numerify(pattern string)` | Replace `#` with random digits | `{{ fakeit_Numerify "(###)###-####" }}` → `"(555)867-5309"` |
|
||||||
| `fakeit_RandomString(slice []string)` | Random string from slice | `{{ fakeit_RandomString (slice_Str "a" "b" "c") }}` |
|
| `fakeit_RandomString(slice []string)` | Random string from slice | `{{ fakeit_RandomString (slice_Str "a" "b" "c") }}` |
|
||||||
@@ -754,26 +788,26 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### Minecraft
|
### Minecraft
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| --------------------------------- | ----------------- | ---------------- |
|
| --------------------------------- | ----------------- | ------------------- |
|
||||||
| `fakeit_MinecraftOre` | Minecraft ore | `"coal"` |
|
| `fakeit_MinecraftOre` | Minecraft ore | `"coal"` |
|
||||||
| `fakeit_MinecraftWood` | Minecraft wood | `"oak"` |
|
| `fakeit_MinecraftWood` | Minecraft wood | `"oak"` |
|
||||||
| `fakeit_MinecraftArmorTier` | Armor tier | `"iron"` |
|
| `fakeit_MinecraftArmorTier` | Armor tier | `"iron"` |
|
||||||
| `fakeit_MinecraftArmorPart` | Armor part | `"helmet"` |
|
| `fakeit_MinecraftArmorPart` | Armor part | `"helmet"` |
|
||||||
| `fakeit_MinecraftWeapon` | Minecraft weapon | `"bow"` |
|
| `fakeit_MinecraftWeapon` | Minecraft weapon | `"bow"` |
|
||||||
| `fakeit_MinecraftTool` | Minecraft tool | `"shovel"` |
|
| `fakeit_MinecraftTool` | Minecraft tool | `"shovel"` |
|
||||||
| `fakeit_MinecraftDye` | Minecraft dye | `"white"` |
|
| `fakeit_MinecraftDye` | Minecraft dye | `"white"` |
|
||||||
| `fakeit_MinecraftFood` | Minecraft food | `"apple"` |
|
| `fakeit_MinecraftFood` | Minecraft food | `"apple"` |
|
||||||
| `fakeit_MinecraftAnimal` | Minecraft animal | `"chicken"` |
|
| `fakeit_MinecraftAnimal` | Minecraft animal | `"chicken"` |
|
||||||
| `fakeit_MinecraftVillagerJob` | Villager job | `"farmer"` |
|
| `fakeit_MinecraftVillagerJob` | Villager job | `"farmer"` |
|
||||||
| `fakeit_MinecraftVillagerStation` | Villager station | `"furnace"` |
|
| `fakeit_MinecraftVillagerStation` | Villager station | `"stonecutter"` |
|
||||||
| `fakeit_MinecraftVillagerLevel` | Villager level | `"master"` |
|
| `fakeit_MinecraftVillagerLevel` | Villager level | `"master"` |
|
||||||
| `fakeit_MinecraftMobPassive` | Passive mob | `"cow"` |
|
| `fakeit_MinecraftMobPassive` | Passive mob | `"cow"` |
|
||||||
| `fakeit_MinecraftMobNeutral` | Neutral mob | `"bee"` |
|
| `fakeit_MinecraftMobNeutral` | Neutral mob | `"bee"` |
|
||||||
| `fakeit_MinecraftMobHostile` | Hostile mob | `"spider"` |
|
| `fakeit_MinecraftMobHostile` | Hostile mob | `"wither skeleton"` |
|
||||||
| `fakeit_MinecraftMobBoss` | Boss mob | `"ender dragon"` |
|
| `fakeit_MinecraftMobBoss` | Boss mob | `"ender dragon"` |
|
||||||
| `fakeit_MinecraftBiome` | Minecraft biome | `"forest"` |
|
| `fakeit_MinecraftBiome` | Minecraft biome | `"forest"` |
|
||||||
| `fakeit_MinecraftWeather` | Minecraft weather | `"rain"` |
|
| `fakeit_MinecraftWeather` | Minecraft weather | `"rain"` |
|
||||||
|
|
||||||
### Book
|
### Book
|
||||||
|
|
||||||
@@ -792,26 +826,28 @@ These functions are powered by [gofakeit](https://github.com/brianvoe/gofakeit)
|
|||||||
|
|
||||||
### Error
|
### Error
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ------------------------ | ----------------- | ---------------------------------- |
|
| ------------------------ | ----------------- | ----------------------------------------------- |
|
||||||
| `fakeit_Error` | Random error | `"connection refused"` |
|
| `fakeit_Error` | Random error | `"variable assigned before declaration"` |
|
||||||
| `fakeit_ErrorDatabase` | Database error | `"database connection failed"` |
|
| `fakeit_ErrorObject` | Error object | `"protocol"` |
|
||||||
| `fakeit_ErrorGRPC` | gRPC error | `"rpc error: code = Unavailable"` |
|
| `fakeit_ErrorDatabase` | Database error | `"destination pointer is nil"` |
|
||||||
| `fakeit_ErrorHTTP` | HTTP error | `"HTTP 500 Internal Server Error"` |
|
| `fakeit_ErrorGRPC` | gRPC error | `"connection refused"` |
|
||||||
| `fakeit_ErrorHTTPClient` | HTTP client error | `"HTTP 404 Not Found"` |
|
| `fakeit_ErrorHTTP` | HTTP error | `"wrote more than the declared Content-Length"` |
|
||||||
| `fakeit_ErrorHTTPServer` | HTTP server error | `"HTTP 503 Service Unavailable"` |
|
| `fakeit_ErrorHTTPClient` | HTTP client error | `"expectation failed"` |
|
||||||
| `fakeit_ErrorRuntime` | Runtime error | `"panic: runtime error"` |
|
| `fakeit_ErrorHTTPServer` | HTTP server error | `"not extended"` |
|
||||||
|
| `fakeit_ErrorRuntime` | Runtime error | `"expected 2 arguments, got 3"` |
|
||||||
|
| `fakeit_ErrorValidation` | Validation error | `"missing required field"` |
|
||||||
|
|
||||||
### School
|
### School
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| --------------- | ----------- | ---------------------- |
|
| --------------- | ----------- | ---------------------------- |
|
||||||
| `fakeit_School` | School name | `"Harvard University"` |
|
| `fakeit_School` | School name | `"Hillside Private Academy"` |
|
||||||
|
|
||||||
### Song
|
### Song
|
||||||
|
|
||||||
| Function | Description | Example Output |
|
| Function | Description | Example Output |
|
||||||
| ------------------- | ----------- | --------------------- |
|
| ------------------- | ----------- | ------------------------ |
|
||||||
| `fakeit_SongName` | Song name | `"Bohemian Rhapsody"` |
|
| `fakeit_SongName` | Song name | `"What Was I Made For?"` |
|
||||||
| `fakeit_SongArtist` | Song artist | `"Queen"` |
|
| `fakeit_SongArtist` | Song artist | `"Queen"` |
|
||||||
| `fakeit_SongGenre` | Song genre | `"Rock"` |
|
| `fakeit_SongGenre` | Song genre | `"Rock"` |
|
||||||
Generated
+3
-3
@@ -2,11 +2,11 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784796856,
|
"lastModified": 1789006805,
|
||||||
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=",
|
"narHash": "sha256-xB8mKMOx1IA9vTDNLmJZ6n4wCMq/cuWBBOzGCRnqxrU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
"rev": "8ce4ef6cb6f871616146b9fe26d2a5ae594e94fe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -36,14 +36,14 @@
|
|||||||
apps = forAllSystems (pkgs: {
|
apps = forAllSystems (pkgs: {
|
||||||
default = {
|
default = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = "${self.packages.${pkgs.system}.default}/bin/sarin";
|
program = "${self.packages.${pkgs.stdenv.hostPlatform.system}.default}/bin/sarin";
|
||||||
meta.description = "High-performance HTTP load testing tool";
|
meta.description = "High-performance HTTP load testing tool";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
devShells = forAllSystems (pkgs: {
|
devShells = forAllSystems (pkgs: {
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
packages = [ pkgs.go_1_26 pkgs.golangci-lint pkgs.go-task ];
|
packages = [ pkgs.go_1_27 pkgs.golangci-lint pkgs.go-task ];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,53 +1,53 @@
|
|||||||
module go.aykhans.me/sarin
|
module go.aykhans.me/sarin
|
||||||
|
|
||||||
go 1.26.5
|
go 1.27.1
|
||||||
|
|
||||||
require (
|
require (
|
||||||
charm.land/bubbles/v2 v2.2.1
|
charm.land/bubbles/v2 v2.2.1
|
||||||
charm.land/bubbletea/v2 v2.0.9
|
charm.land/bubbletea/v2 v2.0.10
|
||||||
charm.land/glamour/v2 v2.0.1
|
charm.land/glamour/v2 v2.0.1
|
||||||
charm.land/lipgloss/v2 v2.0.6
|
charm.land/lipgloss/v2 v2.0.6
|
||||||
github.com/brianvoe/gofakeit/v7 v7.16.0
|
github.com/brianvoe/gofakeit/v7 v7.17.1
|
||||||
github.com/charmbracelet/x/term v0.2.2
|
github.com/charmbracelet/x/term v0.2.2
|
||||||
github.com/dop251/goja v0.0.0-20260901132549-43234fa61381
|
github.com/dop251/goja v0.0.0-20260911104922-fabc3b8078ad
|
||||||
github.com/joho/godotenv v1.5.1
|
github.com/joho/godotenv v1.5.1
|
||||||
github.com/valyala/fasthttp v1.73.0
|
github.com/valyala/fasthttp v1.74.0
|
||||||
github.com/yuin/gopher-lua v1.1.2
|
github.com/yuin/gopher-lua v1.1.2
|
||||||
go.aykhans.me/utils v1.0.7
|
go.aykhans.me/utils v1.0.7
|
||||||
go.yaml.in/yaml/v4 v4.0.0-rc.6
|
go.yaml.in/yaml/v4 v4.0.0-rc.6
|
||||||
golang.org/x/net v0.58.0
|
golang.org/x/net v0.59.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/alecthomas/chroma/v2 v2.27.0 // indirect
|
github.com/alecthomas/chroma/v2 v2.27.0 // indirect
|
||||||
github.com/andybalholm/brotli v1.2.3 // indirect
|
|
||||||
github.com/aymerick/douceur v0.2.0 // indirect
|
github.com/aymerick/douceur v0.2.0 // indirect
|
||||||
github.com/charmbracelet/colorprofile v0.4.3 // indirect
|
github.com/charmbracelet/colorprofile v0.4.3 // indirect
|
||||||
github.com/charmbracelet/harmonica v0.2.0 // indirect
|
github.com/charmbracelet/harmonica v0.2.0 // indirect
|
||||||
github.com/charmbracelet/ultraviolet v0.0.0-20260902113444-043ea8a7d37d // indirect
|
github.com/charmbracelet/ultraviolet v0.0.0-20260910203606-6c9e17dc7a16 // indirect
|
||||||
github.com/charmbracelet/x/ansi v0.11.8 // indirect
|
github.com/charmbracelet/x/ansi v0.11.8 // indirect
|
||||||
github.com/charmbracelet/x/exp/slice v0.0.0-20260902165432-6f6ad8b37b0a // indirect
|
github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9 // indirect
|
||||||
github.com/charmbracelet/x/termios v0.1.1 // indirect
|
github.com/charmbracelet/x/termios v0.1.1 // indirect
|
||||||
github.com/charmbracelet/x/windows v0.2.2 // indirect
|
github.com/charmbracelet/x/windows v0.2.2 // indirect
|
||||||
github.com/clipperhouse/displaywidth v0.11.0 // indirect
|
github.com/clipperhouse/displaywidth v0.11.0 // indirect
|
||||||
github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
|
github.com/clipperhouse/uax29/v2 v2.7.0 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/dlclark/regexp2/v2 v2.7.1 // indirect
|
github.com/dlclark/regexp2/v2 v2.8.0 // indirect
|
||||||
github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect
|
github.com/go-sourcemap/sourcemap v2.1.4+incompatible // indirect
|
||||||
github.com/google/pprof v0.0.0-20260902005441-ca85771921e4 // indirect
|
github.com/google/pprof v0.0.0-20260906184651-6331bc6350fe // indirect
|
||||||
github.com/gorilla/css v1.0.1 // indirect
|
github.com/gorilla/css v1.0.1 // indirect
|
||||||
github.com/klauspost/compress v1.20.0 // indirect
|
github.com/klauspost/compress v1.20.0 // indirect
|
||||||
github.com/lucasb-eyer/go-colorful v1.4.1 // indirect
|
github.com/lucasb-eyer/go-colorful v1.4.1 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.29 // indirect
|
github.com/mattn/go-runewidth v0.0.30 // indirect
|
||||||
github.com/microcosm-cc/bluemonday v1.0.27 // indirect
|
github.com/microcosm-cc/bluemonday v1.0.27 // indirect
|
||||||
|
github.com/molecule-man/go-brrr v1.1.0 // indirect
|
||||||
github.com/muesli/cancelreader v0.2.2 // indirect
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||||
github.com/rivo/uniseg v0.4.7 // indirect
|
github.com/rivo/uniseg v0.4.7 // indirect
|
||||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||||
github.com/xo/terminfo v1.0.0 // indirect
|
github.com/xo/terminfo v1.0.0 // indirect
|
||||||
github.com/yuin/goldmark v1.8.5 // indirect
|
github.com/yuin/goldmark v1.8.6 // indirect
|
||||||
github.com/yuin/goldmark-emoji v1.0.6 // indirect
|
github.com/yuin/goldmark-emoji v1.0.6 // indirect
|
||||||
golang.org/x/sync v0.22.0 // indirect
|
golang.org/x/sync v0.23.0 // indirect
|
||||||
golang.org/x/sys v0.47.0 // indirect
|
golang.org/x/sys v0.48.0 // indirect
|
||||||
golang.org/x/text v0.41.0 // indirect
|
golang.org/x/text v0.42.0 // indirect
|
||||||
)
|
)
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
charm.land/bubbles/v2 v2.2.1 h1:Fq1+qm5hV6GkvzLQDhCBpXXE5tLgvh1PRriCLwSvIQU=
|
charm.land/bubbles/v2 v2.2.1 h1:Fq1+qm5hV6GkvzLQDhCBpXXE5tLgvh1PRriCLwSvIQU=
|
||||||
charm.land/bubbles/v2 v2.2.1/go.mod h1:wdMgn+sje1KNXdwFizIWjbf328fIUBxqEmJ/vYPo8yc=
|
charm.land/bubbles/v2 v2.2.1/go.mod h1:wdMgn+sje1KNXdwFizIWjbf328fIUBxqEmJ/vYPo8yc=
|
||||||
charm.land/bubbletea/v2 v2.0.9 h1:DpJCMWKgzQK8SJv4zbKKFHAI10ymWy/evClPFk0k0f8=
|
charm.land/bubbletea/v2 v2.0.10 h1:oolvo20VBpI0PfqE7iFjkZ1bx0WpmXGfnKz5Yldjq5o=
|
||||||
charm.land/bubbletea/v2 v2.0.9/go.mod h1:2SkdgoTXluXJHOUwAoRlRXF/28vklb1rFl6GcgV1/ss=
|
charm.land/bubbletea/v2 v2.0.10/go.mod h1:QOatcnhOjYIfxzUSTz6raF7Ex4R/rIuHa3SnBdCCpMc=
|
||||||
charm.land/glamour/v2 v2.0.1 h1:xl+r00A4aJWU0z8fgwKd9fQQ4rsphqGUzuEiXZP5n+c=
|
charm.land/glamour/v2 v2.0.1 h1:xl+r00A4aJWU0z8fgwKd9fQQ4rsphqGUzuEiXZP5n+c=
|
||||||
charm.land/glamour/v2 v2.0.1/go.mod h1:jo9z8XqVKPeEFMVdvCRLGk++RyJ3CdUwgNr7EvXLw3k=
|
charm.land/glamour/v2 v2.0.1/go.mod h1:jo9z8XqVKPeEFMVdvCRLGk++RyJ3CdUwgNr7EvXLw3k=
|
||||||
charm.land/lipgloss/v2 v2.0.6 h1:EaGKeuA8FvF+v2BT5VmZd2LoYLaMZJXA5n34th8nCIQ=
|
charm.land/lipgloss/v2 v2.0.6 h1:EaGKeuA8FvF+v2BT5VmZd2LoYLaMZJXA5n34th8nCIQ=
|
||||||
@@ -14,26 +14,24 @@ github.com/alecthomas/chroma/v2 v2.27.0 h1:FodwmyOBgJULFYmDqibcp9pvfDLWdtPRh9v/r
|
|||||||
github.com/alecthomas/chroma/v2 v2.27.0/go.mod h1:NjJ3ciIgrqBNeIkWZ4e46nseoLDslxU1LmfCoL+wcY8=
|
github.com/alecthomas/chroma/v2 v2.27.0/go.mod h1:NjJ3ciIgrqBNeIkWZ4e46nseoLDslxU1LmfCoL+wcY8=
|
||||||
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
github.com/alecthomas/repr v0.5.2 h1:SU73FTI9D1P5UNtvseffFSGmdNci/O6RsqzeXJtP0Qs=
|
||||||
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
github.com/alecthomas/repr v0.5.2/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||||
github.com/andybalholm/brotli v1.2.3 h1:8H1qwOkl2LPfjf3YezB90JnCliZb6SInJ/OJkEbA5NQ=
|
|
||||||
github.com/andybalholm/brotli v1.2.3/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
|
|
||||||
github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ12Gv5o=
|
github.com/aymanbagabas/go-udiff v0.4.1 h1:OEIrQ8maEeDBXQDoGCbbTTXYJMYRCRO1fnodZ12Gv5o=
|
||||||
github.com/aymanbagabas/go-udiff v0.4.1/go.mod h1:0L9PGwj20lrtmEMeyw4WKJ/TMyDtvAoK9bf2u/mNo3w=
|
github.com/aymanbagabas/go-udiff v0.4.1/go.mod h1:0L9PGwj20lrtmEMeyw4WKJ/TMyDtvAoK9bf2u/mNo3w=
|
||||||
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
|
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
|
||||||
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
|
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
|
||||||
github.com/brianvoe/gofakeit/v7 v7.16.0 h1:LXNcvT4Klw72/hqpLNNdEWFIcP7G0VFPNsqvEIGONBE=
|
github.com/brianvoe/gofakeit/v7 v7.17.1 h1:50FLBhTGVJQaj6ysRUu0it8wCdYO2uGM9VfuxI+csEc=
|
||||||
github.com/brianvoe/gofakeit/v7 v7.16.0/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA=
|
github.com/brianvoe/gofakeit/v7 v7.17.1/go.mod h1:QXuPeBw164PJCzCUZVmgpgHJ3Llj49jSLVkKPMtxtxA=
|
||||||
github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q=
|
github.com/charmbracelet/colorprofile v0.4.3 h1:QPa1IWkYI+AOB+fE+mg/5/4HRMZcaXex9t5KX76i20Q=
|
||||||
github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q=
|
github.com/charmbracelet/colorprofile v0.4.3/go.mod h1:/zT4BhpD5aGFpqQQqw7a+VtHCzu+zrQtt1zhMt9mR4Q=
|
||||||
github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ=
|
github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ=
|
||||||
github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao=
|
github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao=
|
||||||
github.com/charmbracelet/ultraviolet v0.0.0-20260902113444-043ea8a7d37d h1:RtgSelzdULNQfTpvmDi+v45OmZ+BaqYQch/tC940+IQ=
|
github.com/charmbracelet/ultraviolet v0.0.0-20260910203606-6c9e17dc7a16 h1:/hSCZO1puetbGd2JikHKN0nAcb2mFevzxJElFoduhaw=
|
||||||
github.com/charmbracelet/ultraviolet v0.0.0-20260902113444-043ea8a7d37d/go.mod h1:nAw0d9PhFp1qdzi2xhQU5YOu5sVpDIHWlaW2Uz/bCro=
|
github.com/charmbracelet/ultraviolet v0.0.0-20260910203606-6c9e17dc7a16/go.mod h1:JFvmQPZh3uAu7PpSZU91bcR0BrIy24HhW+0EsW1uGxE=
|
||||||
github.com/charmbracelet/x/ansi v0.11.8 h1:JMFwp0CgDC2+jcOB162HH5k7I3FVbgFSMMYg7dSPBQQ=
|
github.com/charmbracelet/x/ansi v0.11.8 h1:JMFwp0CgDC2+jcOB162HH5k7I3FVbgFSMMYg7dSPBQQ=
|
||||||
github.com/charmbracelet/x/ansi v0.11.8/go.mod h1:ZNN+3mXny/516oTQPLMPIBeSINvNJJQ8uQXDgbeJxY0=
|
github.com/charmbracelet/x/ansi v0.11.8/go.mod h1:ZNN+3mXny/516oTQPLMPIBeSINvNJJQ8uQXDgbeJxY0=
|
||||||
github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA=
|
github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA=
|
||||||
github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I=
|
github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I=
|
||||||
github.com/charmbracelet/x/exp/slice v0.0.0-20260902165432-6f6ad8b37b0a h1:V2rGRIGqWWv9BuYW2ObrtLy6uE48b+X4cAUKkUgTTBs=
|
github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9 h1:zW96vcZ3zDetccerbN7sS/sCydOE/l/9S+C94pozsaU=
|
||||||
github.com/charmbracelet/x/exp/slice v0.0.0-20260902165432-6f6ad8b37b0a/go.mod h1:vqEfX6xzqW1pKKZUUiFOKg0OQ7bCh54Q2vR/tserrRA=
|
github.com/charmbracelet/x/exp/slice v0.0.0-20260906004030-3986e9119cf9/go.mod h1:vqEfX6xzqW1pKKZUUiFOKg0OQ7bCh54Q2vR/tserrRA=
|
||||||
github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
|
github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk=
|
||||||
github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI=
|
github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI=
|
||||||
github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY=
|
github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY=
|
||||||
@@ -46,16 +44,16 @@ github.com/clipperhouse/uax29/v2 v2.7.0 h1:+gs4oBZ2gPfVrKPthwbMzWZDaAFPGYK72F0NJ
|
|||||||
github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM=
|
github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM=
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/dlclark/regexp2/v2 v2.7.1 h1:yqDtwI1ptXXvEUNpYTk2lad4jLtAcKqkzepn4savSk4=
|
github.com/dlclark/regexp2/v2 v2.8.0 h1:CekDhPLGfm+GAJmPVFIG+5dqMIQPkyHJll7BbdneDfw=
|
||||||
github.com/dlclark/regexp2/v2 v2.7.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
|
github.com/dlclark/regexp2/v2 v2.8.0/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU=
|
||||||
github.com/dop251/goja v0.0.0-20260901132549-43234fa61381 h1:vzmJ+R9qxuaksCAB+Kn6wtGgQ01cIfKzUGwWWcX5zXI=
|
github.com/dop251/goja v0.0.0-20260911104922-fabc3b8078ad h1:5gT9hQ9h8CplLZfAGgFMcoLqQS6I9T2sZwQOCXy8/3s=
|
||||||
github.com/dop251/goja v0.0.0-20260901132549-43234fa61381/go.mod h1:u8yZRUavu+N4EnFFy6J5fVtjE7lEcZ2YyV2GcBXY9c8=
|
github.com/dop251/goja v0.0.0-20260911104922-fabc3b8078ad/go.mod h1:u8yZRUavu+N4EnFFy6J5fVtjE7lEcZ2YyV2GcBXY9c8=
|
||||||
github.com/go-sourcemap/sourcemap v2.1.4+incompatible h1:a+iTbH5auLKxaNwQFg0B+TCYl6lbukKPc7b5x0n1s6Q=
|
github.com/go-sourcemap/sourcemap v2.1.4+incompatible h1:a+iTbH5auLKxaNwQFg0B+TCYl6lbukKPc7b5x0n1s6Q=
|
||||||
github.com/go-sourcemap/sourcemap v2.1.4+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
|
github.com/go-sourcemap/sourcemap v2.1.4+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
|
||||||
github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
|
github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
|
||||||
github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
|
github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
|
||||||
github.com/google/pprof v0.0.0-20260902005441-ca85771921e4 h1:/6mPXfWmhv8eKck12I0YNIcIjwHtxP3YRIMKiEgTjWg=
|
github.com/google/pprof v0.0.0-20260906184651-6331bc6350fe h1:QAinXoAFJdGQYztXn3VpFey7KCwpedbZ/EkzbplQ0cY=
|
||||||
github.com/google/pprof v0.0.0-20260902005441-ca85771921e4/go.mod h1:jl5iWTm0/hd5PjEYEOuwAJ57L/CibdZfrqZ5XA5GrCk=
|
github.com/google/pprof v0.0.0-20260906184651-6331bc6350fe/go.mod h1:jl5iWTm0/hd5PjEYEOuwAJ57L/CibdZfrqZ5XA5GrCk=
|
||||||
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
|
github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8=
|
||||||
github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0=
|
github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0=
|
||||||
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
|
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
|
||||||
@@ -66,10 +64,12 @@ github.com/klauspost/compress v1.20.0 h1:a3C1ke2ohxFymNlb2HWAHjDeKCI90scRskErZkR
|
|||||||
github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
|
github.com/klauspost/compress v1.20.0/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI=
|
||||||
github.com/lucasb-eyer/go-colorful v1.4.1 h1:1EO+WB73+EH8EVbzlrG3KLAfEypQWVHIBqlTf+2hNss=
|
github.com/lucasb-eyer/go-colorful v1.4.1 h1:1EO+WB73+EH8EVbzlrG3KLAfEypQWVHIBqlTf+2hNss=
|
||||||
github.com/lucasb-eyer/go-colorful v1.4.1/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
github.com/lucasb-eyer/go-colorful v1.4.1/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||||
github.com/mattn/go-runewidth v0.0.29 h1:3oGF3R/S2N9DQ3ptftzVIvg2eicmojCzlwBEmqEPDfQ=
|
github.com/mattn/go-runewidth v0.0.30 h1:+KUuiDA4fF0R1p5FeueHefjDm+GIM+kWfFnDjybOPgk=
|
||||||
github.com/mattn/go-runewidth v0.0.29/go.mod h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8=
|
github.com/mattn/go-runewidth v0.0.30/go.mod h1:3qAiGCV4Koz/yuveO58qUefmUTRm8r0IGEXZ9jeHp/8=
|
||||||
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
|
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
|
||||||
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
|
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
|
||||||
|
github.com/molecule-man/go-brrr v1.1.0 h1:rLBGSXA393y+5ttCBLkW34CHESop5tahrOFxVv/XDEU=
|
||||||
|
github.com/molecule-man/go-brrr v1.1.0/go.mod h1:7ybW6/7gA3oKY45jOfVNjSJDtrr6ea4tzbsTkjmQDC4=
|
||||||
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
|
github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
|
||||||
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
|
||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||||
@@ -80,14 +80,12 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu
|
|||||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||||
github.com/valyala/fasthttp v1.73.0 h1:ocTOORnBWtJ+P8t/6wAjdkchMzdfHmWx2VD/DPbgZ7s=
|
github.com/valyala/fasthttp v1.74.0 h1:wMS9fnO2QTALozYx5pId2Vi7ZwU/epUkY8i/KPWCHoU=
|
||||||
github.com/valyala/fasthttp v1.73.0/go.mod h1:EtXQDHaR+5P18p8wqDRFpUhxr108Ga9mXvVJXHRrN2k=
|
github.com/valyala/fasthttp v1.74.0/go.mod h1:3ARmLamUcw7ElxVtC8PXaGzQ6VEuvnetlkrwIklQBSE=
|
||||||
github.com/xo/terminfo v1.0.0 h1:2ZpYzqWzyyytjk3TP6aJVDhkMAkc99/1xKQdA3TDTBY=
|
github.com/xo/terminfo v1.0.0 h1:2ZpYzqWzyyytjk3TP6aJVDhkMAkc99/1xKQdA3TDTBY=
|
||||||
github.com/xo/terminfo v1.0.0/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
github.com/xo/terminfo v1.0.0/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
|
||||||
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
|
github.com/yuin/goldmark v1.8.6 h1:d0VcaP1sx9GkFVkoW+KtggpGi2KZ965i14b0+bDQST4=
|
||||||
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
|
github.com/yuin/goldmark v1.8.6/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
||||||
github.com/yuin/goldmark v1.8.5 h1:r6N5afV5qj/5S4UTch8agZHJ8UxNCMwX7WjkkJam2NA=
|
|
||||||
github.com/yuin/goldmark v1.8.5/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
|
||||||
github.com/yuin/goldmark-emoji v1.0.6 h1:QWfF2FYaXwL74tfGOW5izeiZepUDroDJfWubQI9HTHs=
|
github.com/yuin/goldmark-emoji v1.0.6 h1:QWfF2FYaXwL74tfGOW5izeiZepUDroDJfWubQI9HTHs=
|
||||||
github.com/yuin/goldmark-emoji v1.0.6/go.mod h1:ukxJDKFpdFb5x0a5HqbdlcKtebh086iJpI31LTKmWuA=
|
github.com/yuin/goldmark-emoji v1.0.6/go.mod h1:ukxJDKFpdFb5x0a5HqbdlcKtebh086iJpI31LTKmWuA=
|
||||||
github.com/yuin/gopher-lua v1.1.2 h1:yF/FjE3hD65tBbt0VXLE13HWS9h34fdzJmrWRXwobGA=
|
github.com/yuin/gopher-lua v1.1.2 h1:yF/FjE3hD65tBbt0VXLE13HWS9h34fdzJmrWRXwobGA=
|
||||||
@@ -98,13 +96,15 @@ go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4=
|
|||||||
go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
|
go.yaml.in/yaml/v4 v4.0.0-rc.6/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
|
||||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
|
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
|
||||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
|
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
|
||||||
golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To=
|
golang.org/x/net v0.59.0 h1:5zfYln+w5XCxwrnMMJPufRgNoXEaGxl0wo5GqPXyues=
|
||||||
golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU=
|
golang.org/x/net v0.59.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg=
|
||||||
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
|
golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
|
||||||
golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
|
||||||
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
|
golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo=
|
||||||
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og=
|
||||||
golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8=
|
golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI=
|
||||||
golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M=
|
golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E=
|
||||||
|
golang.org/x/tools v0.49.0 h1:3NI7VXzL9+1WZD52Dx2ttoPwD5DWrFGpl9mFZDlmisI=
|
||||||
|
golang.org/x/tools v0.49.0/go.mod h1:SJNXV9DBKT0UbdttsQjbfJlAE/q+y36++zo3uL3N0Oo=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
+53
-19
@@ -207,18 +207,20 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
|
|
||||||
// Fakeit / Person
|
// Fakeit / Person
|
||||||
// "fakeit_Person": fakeit.Person() *PersonInfo,
|
// "fakeit_Person": fakeit.Person() *PersonInfo,
|
||||||
"fakeit_Name": fakeit.Name,
|
"fakeit_Name": fakeit.Name,
|
||||||
"fakeit_NamePrefix": fakeit.NamePrefix,
|
"fakeit_NamePrefix": fakeit.NamePrefix,
|
||||||
"fakeit_NameSuffix": fakeit.NameSuffix,
|
"fakeit_NameSuffix": fakeit.NameSuffix,
|
||||||
"fakeit_FirstName": fakeit.FirstName,
|
"fakeit_FirstName": fakeit.FirstName,
|
||||||
"fakeit_MiddleName": fakeit.MiddleName,
|
"fakeit_MiddleName": fakeit.MiddleName,
|
||||||
"fakeit_LastName": fakeit.LastName,
|
"fakeit_LastName": fakeit.LastName,
|
||||||
"fakeit_Gender": fakeit.Gender,
|
"fakeit_Gender": fakeit.Gender,
|
||||||
"fakeit_Age": fakeit.Age,
|
"fakeit_Age": fakeit.Age,
|
||||||
"fakeit_Ethnicity": fakeit.Ethnicity,
|
"fakeit_Ethnicity": fakeit.Ethnicity,
|
||||||
"fakeit_SSN": fakeit.SSN,
|
"fakeit_SSN": fakeit.SSN,
|
||||||
"fakeit_EIN": fakeit.EIN,
|
"fakeit_EIN": fakeit.EIN,
|
||||||
"fakeit_Hobby": fakeit.Hobby,
|
"fakeit_Hobby": fakeit.Hobby,
|
||||||
|
"fakeit_SocialMedia": fakeit.SocialMedia,
|
||||||
|
"fakeit_Bio": fakeit.Bio,
|
||||||
// "fakeit_Contact": fakeit.Contact() *ContactInfo,
|
// "fakeit_Contact": fakeit.Contact() *ContactInfo,
|
||||||
"fakeit_Email": fakeit.Email,
|
"fakeit_Email": fakeit.Email,
|
||||||
"fakeit_Phone": fakeit.Phone,
|
"fakeit_Phone": fakeit.Phone,
|
||||||
@@ -232,6 +234,9 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
// "fakeit_Generate": fakeit.Generate(value string) string,
|
// "fakeit_Generate": fakeit.Generate(value string) string,
|
||||||
"fakeit_Regex": fakeit.Regex,
|
"fakeit_Regex": fakeit.Regex,
|
||||||
|
|
||||||
|
// Fakeit / Database
|
||||||
|
// "fakeit_SQL": fakeit.SQL(so *SQLOptions) (string, error),
|
||||||
|
|
||||||
// Fakeit / Auth
|
// Fakeit / Auth
|
||||||
"fakeit_Username": fakeit.Username,
|
"fakeit_Username": fakeit.Username,
|
||||||
"fakeit_Password": fakeit.Password,
|
"fakeit_Password": fakeit.Password,
|
||||||
@@ -269,6 +274,15 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
return value
|
return value
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Fakeit / Airline
|
||||||
|
"fakeit_AirlineAircraftType": fakeit.AirlineAircraftType,
|
||||||
|
"fakeit_AirlineAirplane": fakeit.AirlineAirplane,
|
||||||
|
"fakeit_AirlineAirport": fakeit.AirlineAirport,
|
||||||
|
"fakeit_AirlineAirportIATA": fakeit.AirlineAirportIATA,
|
||||||
|
"fakeit_AirlineFlightNumber": fakeit.AirlineFlightNumber,
|
||||||
|
"fakeit_AirlineRecordLocator": fakeit.AirlineRecordLocator,
|
||||||
|
"fakeit_AirlineSeat": fakeit.AirlineSeat,
|
||||||
|
|
||||||
// Fakeit / Game
|
// Fakeit / Game
|
||||||
"fakeit_Gamertag": fakeit.Gamertag,
|
"fakeit_Gamertag": fakeit.Gamertag,
|
||||||
// "fakeit_Dice": fakeit.Dice(numDice uint, sides []uint) []uint,
|
// "fakeit_Dice": fakeit.Dice(numDice uint, sides []uint) []uint,
|
||||||
@@ -302,12 +316,16 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_NounCollectiveThing": fakeit.NounCollectiveThing,
|
"fakeit_NounCollectiveThing": fakeit.NounCollectiveThing,
|
||||||
"fakeit_NounCountable": fakeit.NounCountable,
|
"fakeit_NounCountable": fakeit.NounCountable,
|
||||||
"fakeit_NounUncountable": fakeit.NounUncountable,
|
"fakeit_NounUncountable": fakeit.NounUncountable,
|
||||||
|
"fakeit_NounProper": fakeit.NounProper,
|
||||||
|
"fakeit_NounDeterminer": fakeit.NounDeterminer,
|
||||||
|
|
||||||
// Verbs
|
// Verbs
|
||||||
"fakeit_Verb": fakeit.Verb,
|
"fakeit_Verb": fakeit.Verb,
|
||||||
"fakeit_VerbAction": fakeit.VerbAction,
|
"fakeit_VerbAction": fakeit.VerbAction,
|
||||||
"fakeit_VerbLinking": fakeit.VerbLinking,
|
"fakeit_VerbLinking": fakeit.VerbLinking,
|
||||||
"fakeit_VerbHelping": fakeit.VerbHelping,
|
"fakeit_VerbHelping": fakeit.VerbHelping,
|
||||||
|
"fakeit_VerbTransitive": fakeit.VerbTransitive,
|
||||||
|
"fakeit_VerbIntransitive": fakeit.VerbIntransitive,
|
||||||
|
|
||||||
// Adverbs
|
// Adverbs
|
||||||
"fakeit_Adverb": fakeit.Adverb,
|
"fakeit_Adverb": fakeit.Adverb,
|
||||||
@@ -344,6 +362,7 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_PronounDemonstrative": fakeit.PronounDemonstrative,
|
"fakeit_PronounDemonstrative": fakeit.PronounDemonstrative,
|
||||||
"fakeit_PronounInterrogative": fakeit.PronounInterrogative,
|
"fakeit_PronounInterrogative": fakeit.PronounInterrogative,
|
||||||
"fakeit_PronounRelative": fakeit.PronounRelative,
|
"fakeit_PronounRelative": fakeit.PronounRelative,
|
||||||
|
"fakeit_PronounIndefinite": fakeit.PronounIndefinite,
|
||||||
|
|
||||||
// Connectives
|
// Connectives
|
||||||
"fakeit_Connective": fakeit.Connective,
|
"fakeit_Connective": fakeit.Connective,
|
||||||
@@ -355,7 +374,8 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_ConnectiveExamplify": fakeit.ConnectiveExamplify,
|
"fakeit_ConnectiveExamplify": fakeit.ConnectiveExamplify,
|
||||||
|
|
||||||
// Words
|
// Words
|
||||||
"fakeit_Word": fakeit.Word,
|
"fakeit_Word": fakeit.Word,
|
||||||
|
"fakeit_Interjection": fakeit.Interjection,
|
||||||
|
|
||||||
// Text
|
// Text
|
||||||
"fakeit_Sentence": fakeit.Sentence,
|
"fakeit_Sentence": fakeit.Sentence,
|
||||||
@@ -366,6 +386,11 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_Question": fakeit.Question,
|
"fakeit_Question": fakeit.Question,
|
||||||
"fakeit_Quote": fakeit.Quote,
|
"fakeit_Quote": fakeit.Quote,
|
||||||
"fakeit_Phrase": fakeit.Phrase,
|
"fakeit_Phrase": fakeit.Phrase,
|
||||||
|
"fakeit_PhraseNoun": fakeit.PhraseNoun,
|
||||||
|
"fakeit_PhraseVerb": fakeit.PhraseVerb,
|
||||||
|
"fakeit_PhraseAdverb": fakeit.PhraseAdverb,
|
||||||
|
"fakeit_PhrasePreposition": fakeit.PhrasePreposition,
|
||||||
|
"fakeit_Comment": fakeit.Comment,
|
||||||
|
|
||||||
// Fakeit / Foods
|
// Fakeit / Foods
|
||||||
"fakeit_Fruit": fakeit.Fruit,
|
"fakeit_Fruit": fakeit.Fruit,
|
||||||
@@ -375,6 +400,7 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_Dinner": fakeit.Dinner,
|
"fakeit_Dinner": fakeit.Dinner,
|
||||||
"fakeit_Snack": fakeit.Snack,
|
"fakeit_Snack": fakeit.Snack,
|
||||||
"fakeit_Dessert": fakeit.Dessert,
|
"fakeit_Dessert": fakeit.Dessert,
|
||||||
|
"fakeit_Drink": fakeit.Drink,
|
||||||
|
|
||||||
// Fakeit / Misc
|
// Fakeit / Misc
|
||||||
"fakeit_Bool": fakeit.Bool,
|
"fakeit_Bool": fakeit.Bool,
|
||||||
@@ -387,6 +413,7 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_Color": fakeit.Color,
|
"fakeit_Color": fakeit.Color,
|
||||||
"fakeit_HexColor": fakeit.HexColor,
|
"fakeit_HexColor": fakeit.HexColor,
|
||||||
"fakeit_RGBColor": fakeit.RGBColor,
|
"fakeit_RGBColor": fakeit.RGBColor,
|
||||||
|
"fakeit_HSLColor": fakeit.HSLColor,
|
||||||
"fakeit_SafeColor": fakeit.SafeColor,
|
"fakeit_SafeColor": fakeit.SafeColor,
|
||||||
"fakeit_NiceColors": fakeit.NiceColors,
|
"fakeit_NiceColors": fakeit.NiceColors,
|
||||||
|
|
||||||
@@ -530,6 +557,7 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
// Fakeit / Language
|
// Fakeit / Language
|
||||||
"fakeit_Language": fakeit.Language,
|
"fakeit_Language": fakeit.Language,
|
||||||
"fakeit_LanguageAbbreviation": fakeit.LanguageAbbreviation,
|
"fakeit_LanguageAbbreviation": fakeit.LanguageAbbreviation,
|
||||||
|
"fakeit_LanguageBCP": fakeit.LanguageBCP,
|
||||||
"fakeit_ProgrammingLanguage": fakeit.ProgrammingLanguage,
|
"fakeit_ProgrammingLanguage": fakeit.ProgrammingLanguage,
|
||||||
|
|
||||||
// Fakeit / Number
|
// Fakeit / Number
|
||||||
@@ -540,25 +568,29 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
"fakeit_Int16": fakeit.Int16,
|
"fakeit_Int16": fakeit.Int16,
|
||||||
"fakeit_Int32": fakeit.Int32,
|
"fakeit_Int32": fakeit.Int32,
|
||||||
"fakeit_Int64": fakeit.Int64,
|
"fakeit_Int64": fakeit.Int64,
|
||||||
|
"fakeit_IntRange": fakeit.IntRange,
|
||||||
"fakeit_Uint": fakeit.Uint,
|
"fakeit_Uint": fakeit.Uint,
|
||||||
"fakeit_UintN": fakeit.UintN,
|
"fakeit_UintN": fakeit.UintN,
|
||||||
"fakeit_Uint8": fakeit.Uint8,
|
"fakeit_Uint8": fakeit.Uint8,
|
||||||
"fakeit_Uint16": fakeit.Uint16,
|
"fakeit_Uint16": fakeit.Uint16,
|
||||||
"fakeit_Uint32": fakeit.Uint32,
|
"fakeit_Uint32": fakeit.Uint32,
|
||||||
"fakeit_Uint64": fakeit.Uint64,
|
"fakeit_Uint64": fakeit.Uint64,
|
||||||
|
"fakeit_UintRange": fakeit.UintRange,
|
||||||
"fakeit_Float32": fakeit.Float32,
|
"fakeit_Float32": fakeit.Float32,
|
||||||
"fakeit_Float32Range": fakeit.Float32Range,
|
"fakeit_Float32Range": fakeit.Float32Range,
|
||||||
"fakeit_Float64": fakeit.Float64,
|
"fakeit_Float64": fakeit.Float64,
|
||||||
"fakeit_Float64Range": fakeit.Float64Range,
|
"fakeit_Float64Range": fakeit.Float64Range,
|
||||||
// "fakeit_ShuffleInts": fakeit.ShuffleInts,
|
// "fakeit_ShuffleInts": fakeit.ShuffleInts,
|
||||||
"fakeit_RandomInt": fakeit.RandomInt,
|
"fakeit_RandomInt": fakeit.RandomInt,
|
||||||
"fakeit_HexUint": fakeit.HexUint,
|
"fakeit_RandomUint": fakeit.RandomUint,
|
||||||
|
"fakeit_HexUint": fakeit.HexUint,
|
||||||
|
|
||||||
// Fakeit / String
|
// Fakeit / String
|
||||||
"fakeit_Digit": fakeit.Digit,
|
"fakeit_Digit": fakeit.Digit,
|
||||||
"fakeit_DigitN": fakeit.DigitN,
|
"fakeit_DigitN": fakeit.DigitN,
|
||||||
"fakeit_Letter": fakeit.Letter,
|
"fakeit_Letter": fakeit.Letter,
|
||||||
"fakeit_LetterN": fakeit.LetterN,
|
"fakeit_LetterN": fakeit.LetterN,
|
||||||
|
"fakeit_Vowel": fakeit.Vowel,
|
||||||
"fakeit_Lexify": fakeit.Lexify,
|
"fakeit_Lexify": fakeit.Lexify,
|
||||||
"fakeit_Numerify": fakeit.Numerify,
|
"fakeit_Numerify": fakeit.Numerify,
|
||||||
// "fakeit_ShuffleStrings": fakeit.ShuffleStrings,
|
// "fakeit_ShuffleStrings": fakeit.ShuffleStrings,
|
||||||
@@ -602,12 +634,14 @@ func NewDefaultTemplateFuncMap(randSource rand.Source, fileCache *FileCache) tem
|
|||||||
|
|
||||||
// Fakeit / Error
|
// Fakeit / Error
|
||||||
"fakeit_Error": func() string { return fakeit.Error().Error() },
|
"fakeit_Error": func() string { return fakeit.Error().Error() },
|
||||||
|
"fakeit_ErrorObject": func() string { return fakeit.ErrorObject().Error() },
|
||||||
"fakeit_ErrorDatabase": func() string { return fakeit.ErrorDatabase().Error() },
|
"fakeit_ErrorDatabase": func() string { return fakeit.ErrorDatabase().Error() },
|
||||||
"fakeit_ErrorGRPC": func() string { return fakeit.ErrorGRPC().Error() },
|
"fakeit_ErrorGRPC": func() string { return fakeit.ErrorGRPC().Error() },
|
||||||
"fakeit_ErrorHTTP": func() string { return fakeit.ErrorHTTP().Error() },
|
"fakeit_ErrorHTTP": func() string { return fakeit.ErrorHTTP().Error() },
|
||||||
"fakeit_ErrorHTTPClient": func() string { return fakeit.ErrorHTTPClient().Error() },
|
"fakeit_ErrorHTTPClient": func() string { return fakeit.ErrorHTTPClient().Error() },
|
||||||
"fakeit_ErrorHTTPServer": func() string { return fakeit.ErrorHTTPServer().Error() },
|
"fakeit_ErrorHTTPServer": func() string { return fakeit.ErrorHTTPServer().Error() },
|
||||||
"fakeit_ErrorRuntime": func() string { return fakeit.ErrorRuntime().Error() },
|
"fakeit_ErrorRuntime": func() string { return fakeit.ErrorRuntime().Error() },
|
||||||
|
"fakeit_ErrorValidation": func() string { return fakeit.ErrorValidation().Error() },
|
||||||
|
|
||||||
// Fakeit / School
|
// Fakeit / School
|
||||||
"fakeit_School": fakeit.School,
|
"fakeit_School": fakeit.School,
|
||||||
|
|||||||
+9
-8
@@ -1,17 +1,18 @@
|
|||||||
{ lib
|
{
|
||||||
, buildGoModule
|
lib,
|
||||||
, go_1_26
|
buildGoModule,
|
||||||
, rev ? "unknown"
|
go_1_27,
|
||||||
, buildDate ? "unknown"
|
rev ? "unknown",
|
||||||
|
buildDate ? "unknown",
|
||||||
}:
|
}:
|
||||||
|
|
||||||
(buildGoModule.override { go = go_1_26; }) (finalAttrs: {
|
(buildGoModule.override { go = go_1_27; }) (finalAttrs: {
|
||||||
pname = "sarin";
|
pname = "sarin";
|
||||||
version = "1.4.3"; # bump per release
|
version = "1.4.4"; # bump per release
|
||||||
|
|
||||||
src = lib.cleanSource ../.;
|
src = lib.cleanSource ../.;
|
||||||
|
|
||||||
vendorHash = "sha256-dSPX3PVDrSyvDVZfXkoaT5VBhIBY4E5hUwwC1XhAdQ4=";
|
vendorHash = "sha256-77wMBIhsXUwZ97iAaJivB7qOuQhBZ1LJphnRWfUTjJo=";
|
||||||
|
|
||||||
subPackages = [ "cmd/cli" ];
|
subPackages = [ "cmd/cli" ];
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user