├── .java-version
├── .mvn
├── maven.config
├── wrapper
│ ├── maven-wrapper.jar
│ ├── maven-wrapper.properties
│ └── MavenWrapperDownloader.java
└── jvm.config
├── .gitignore
├── config
├── logging.properties
└── detekt.yml
├── .gitattributes
├── src
├── test
│ ├── resources
│ │ └── junit-platform.properties
│ └── kotlin
│ │ └── hm
│ │ └── binkley
│ │ └── veil
│ │ └── VeilTest.kt
└── main
│ └── kotlin
│ └── hm
│ └── binkley
│ └── veil
│ ├── noise.kt
│ ├── data-source.kt
│ ├── fake-bob-data-source.kt
│ ├── bob.kt
│ ├── main.kt
│ └── veil.kt
├── .github
├── dependabot.yml
└── workflows
│ └── ci.yml
├── .editorconfig
├── images
└── public-domain.svg
├── batect.yml
├── LICENSE.md
├── run.sh
├── README.md
├── coverage
├── batect
├── mvnw.cmd
├── batect.cmd
├── mvnw
└── pom.xml
/.java-version:
--------------------------------------------------------------------------------
1 | 21
2 |
--------------------------------------------------------------------------------
/.mvn/maven.config:
--------------------------------------------------------------------------------
1 | --strict-checksums
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/
2 | /*.iml
3 | /target/
4 |
--------------------------------------------------------------------------------
/config/logging.properties:
--------------------------------------------------------------------------------
1 | .level = WARNING
2 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.bat text eol=crlf
3 | *.cmd text eol=crlf
4 |
--------------------------------------------------------------------------------
/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.testinstance.lifecycle.default=per_class
2 |
--------------------------------------------------------------------------------
/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binkley/kotlin-veil/HEAD/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/.mvn/jvm.config:
--------------------------------------------------------------------------------
1 | --add-opens java.base/java.lang=ALL-UNNAMED
2 | -Djava.util.logging.config.file=config/logging.properties
3 | -XX:+UseCodeCacheFlushing
4 | -XX:TieredStopAtLevel=1
5 |
--------------------------------------------------------------------------------
/src/main/kotlin/hm/binkley/veil/noise.kt:
--------------------------------------------------------------------------------
1 | package hm.binkley.veil
2 |
3 | /** Yes, a global mutable. This is a proof-of-concept project (spike). */
4 | var beNoisy = false
5 |
6 | fun println(msg: String) {
7 | if (beNoisy) kotlin.io.println(msg)
8 | }
9 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "maven"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 | - package-ecosystem: "github-actions"
8 | directory: "/"
9 | schedule:
10 | interval: "daily"
11 |
--------------------------------------------------------------------------------
/config/detekt.yml:
--------------------------------------------------------------------------------
1 | build:
2 | maxIssues: 0
3 |
4 | console-reports:
5 | exclude:
6 | # - 'ProjectStatisticsReport'
7 | # - 'ComplexityReport'
8 | # - 'NotificationReport'
9 | # - 'FindingsReport'
10 | # - 'FileBasedFindingsReport'
11 | # - 'BuildFailureReport'
12 |
13 | #complexity:
14 | # excludes: '**/test/**'
15 | #
16 | #style:
17 | # excludes: '**/test/**'
18 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [**]
4 | end_of_line = lf
5 | # TODO: Impose max line length
6 | #max_line_length = 80
7 |
8 | [*.{kt,kts}]
9 | ktlint_code_style = intellij_idea
10 | ktlint_standard_filename = disabled
11 | # Oh, the irony. IntelliJ insists on sorting java* imports last
12 | ktlint_standard_import-ordering = disabled
13 | ktlint_standard_trailing-comma-on-call-site = disabled
14 | ktlint_standard_trailing-comma-on-declaration-site = disabled
15 |
--------------------------------------------------------------------------------
/images/public-domain.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/main/kotlin/hm/binkley/veil/data-source.kt:
--------------------------------------------------------------------------------
1 | package hm.binkley.veil
2 |
3 | interface DataSource {
4 | fun fetch(query: String, vararg args: Any?): Sequence