Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec, for custom Scalars, cannot be satisfied #9

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

se-neaxplore
Copy link

Changing the evaluation order of :extend specs, in order to make cojure.spec.gen.alpha/sample

satisfiable for custom scalars, by moving the any? spec to the end, but keeping all other semantics the same.

I actually liked the default any? for custom scalars, and decided to keep it that way.

scalar Timestamp

{:extend {:Timestamp `inst?}}

Before

(clojure.spec.alpha/def :neax.xplore.graphql-spec/Timestamp
  (clojure.spec.alpha/and clojure.core/any? clojure.core/inst?))

After

(clojure.spec.alpha/def :neax.xplore.graphql-spec/Timestamp
  (clojure.spec.alpha/and clojure.core/inst? clojure.core/any?))

…lojure.spec.gen.alpha/sample`

satisfiable for custom scalars, by moving the `any?` spec to the end, but keeping all other semantics the same.
@domkm
Copy link
Member

domkm commented Nov 12, 2023

Thanks and sorry for the slow response.

I'm having issues building on MacOS Sonoma due to Boot incompatibility. Unfortunately, I'm not using Serene (or even Clojure) these days so, while I would like to fix this, I cannot justify spending too much more time on this (I've already tried several steps to get this to work but each problem resolved exposes a new problem). Are you able to build the project?

@se-neaxplore
Copy link
Author

Thank you for taking the time. Honestly, I didnt expect any response, to the issue.

Yes, I am able to build the project and run the tests. I am already using this in my code.

image

- Restructure project directories to adhere to Clojure's convention.
- Update .gitignore to include more development-related files.
- Remove boot.properties and build.boot as the project transitions from Boot to tools.deps.
- Introduce deps.edn to manage project dependencies, aliases, and build configurations.
- Update the project to use the latest Clojure version and other dependencies.
- Modify serene schema and test files to reflect the latest changes in the project.
- Rename files and directories to match the new project structure.
- Remove unnecessary cljs-specific code in serene_test.cljc.
- Update GraphQL schema to include new scalar type Scalar_Instant and modify Object_EmailOrUsername to implement multiple interfaces.
- Added 'target' directory to .gitignore file to prevent compiled files from being tracked by git.
- Created a new Clojure build script, build.clj, which includes functions for testing, compiling, cleaning, building and deploying the serene library.
- Updated deps.edn file to include dependencies necessary for the build and deployment process.
- Removed the com.github.seancorfield/expectations dependency from the cider and kaocha aliases in the deps.edn file.
- Updated the source-uri in the codox alias in the deps.edn file to point to the new serene repository.
- Added the com.walmartlabs/lacinia dependency to the test alias in the deps.edn file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants