Commit Graph

45 Commits

Author SHA1 Message Date
11d20935c6
feat: extract client (#48)
This extracts the client (strategy pattern), this is so that it is will be possible to test the actual querier, without hitting / requiring the dagger-engine running.
2023-03-19 00:01:24 +00:00
756a080533 fix: stable input fields and args 2023-03-14 22:21:35 +01:00
71f98d0293 fix: stable enum entries 2023-03-14 22:21:35 +01:00
8fd6bb983e
fix: serialization of enum args for graphql (#34) 2023-03-14 13:56:49 +00:00
c025d17424 fix: add support for String as well 2023-03-13 21:07:14 +01:00
d7317e5cf3 fix: add public tuple field and into func 2023-03-13 21:07:14 +01:00
5f9b3a19c0 feat: set internal warnings as errors 2023-02-25 02:01:13 +01:00
ecca036bc6 fix(sdk): fix builder pattern to actually work with default values
In previous versions the builder pattern required all values to be set.
This has not been fixed, so that default values are allowed.
2023-02-25 01:47:57 +01:00
e578b0e371 fix: set deserialize on enums as well 2023-02-25 00:10:46 +01:00
266ad32dff
feat(sdk): with clone 2023-02-22 22:38:15 +01:00
a13a2a9ecb
fix(all): race condition in process 2023-02-20 11:42:03 +01:00
803cfc4f8c
chore(sdk): ran clippy 2023-02-20 10:42:00 +01:00
978ede68ae feat(sdk): add documentation strings 2023-02-19 22:43:12 +01:00
9be6f435d9 feat(sdk,core): Use async runtime instead of blocking.
Default to using async runtime instead of blocking. I.e.

```rust
fn main() -> eyre::Result<()> {
  // ...

  client.container().from("rust").publish("somewhere")?;

  // ...
}

// to

async fn main() -> eyre::Result<()> {
  // ...

  client.container().from("rust").publish("somewhere").await?;

  // ...
}
```
2023-02-19 21:47:40 +01:00
c627595fd2 fix: cargo clippy 2023-02-19 18:00:04 +01:00
f29ff836cf feat(sdk): without Some in _opts functions
Option has been removed as a wrapper around opts. This makes it much
more convenient to use

```rust
client.container_opts(Some(ContainerOpts{}))
// ->
client.container_opts(ContainerOpts{})
```

The same options are still available, either an empty object can be
passed, or a non _opts function can be used
2023-02-19 18:00:04 +01:00
9762da895a feat(sdk): with _opts methods
Now all opt values enter into a _opts function instead of the original.
This avoids a lot of verbosity for both None in the case opts are
unwanted, and Some() if they actually are.

They are used like so:

```rust
client.container().from("...");
client.container_opts(Some(ContainerOpts{ ... }))
```

Some from opts will be removed in a future commit/pr
2023-02-19 18:00:04 +01:00
02006d40fc fix(sdk): without phantom data 2023-02-19 18:00:04 +01:00
94336d0637 feat(sdk): move to &str instead of String and introduce builder.
This will make the api much easier to use, as we can now rely on ""
instead of "".into() for normal string values.

Introduced builder as well, which makes it much easier to use *Opts, as
it can handle the building of that, and get the benefits from String ->
&str, as that is currently not allowed for optional values
2023-02-19 18:00:04 +01:00
de063eae85 feat(sdk): with return result instead of unwrap 2023-02-19 15:29:03 +01:00
5d66736990 feat(core,sdk): remove unnecessary option returns 2023-02-19 15:29:03 +01:00
6e5f407432 feat(sdk): update to dagger v0.3.12 2023-02-19 12:23:20 +01:00
6be8482b46
fix all clippy 2023-02-17 17:51:39 +01:00
4a4c03f3c2
feature/add impl (#6)
* format code

* with object gen and args

* add implementation

* add rust generator

* reset generated code

* add basic output

* reset output

* add object

* add format function

* with opts

* fix vec

* add context to unwrap

* fix arguments

* with function body

* first complete generation: Still missing Vec<Obj>

* run full alpine

* add roadmap item
2023-02-17 12:33:16 +01:00
2eb027754b
fmt tests 2023-02-11 15:27:37 +01:00
19b46b6cf0
add tests 2023-02-11 15:23:41 +01:00
c4edd29f50
pull out args wip 2023-02-11 14:38:58 +01:00
d9b51c1ac9
implement sort by name and type 2023-02-01 16:42:50 +01:00
26069a82a6
fix optional types for real 2023-02-01 16:34:59 +01:00
f4581ba4cd
fix description 2023-02-01 15:32:38 +01:00
f4a812a7d2
with proper optional types 2023-02-01 15:27:44 +01:00
8549cfc3a7
set proper option type 2023-02-01 15:06:28 +01:00
496a687bc3
add fields 2023-01-30 22:21:16 +01:00
d2cddff365
add input_fields 2023-01-30 20:53:53 +01:00
5fef514801
with objects 2023-01-30 20:44:48 +01:00
910ff4a72e
remove hardcoded test 2023-01-29 22:41:30 +01:00
6afe141d34
clippy: fix 2023-01-29 22:26:23 +01:00
3a7ee33e1e
formatting 2023-01-29 22:25:38 +01:00
e7f6560247
remove dummy string 2023-01-29 22:20:43 +01:00
dc53fc1d47
with input objects 2023-01-29 22:17:36 +01:00
2a1f7c3f26
with enum 2023-01-29 20:14:52 +01:00
0bf6b0e91e
with codegen output 2023-01-29 15:23:03 +01:00
e5874141b3
added scalars 2023-01-29 15:19:21 +01:00
0d6e6e57ae
with scalars 2023-01-29 13:29:11 +01:00
3263f1d589
split out codegen parts 2023-01-29 12:58:57 +01:00