@greenpandastudios/aug-cli 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -6
- package/THIRD_PARTY_NOTICES.md +4 -0
- package/bin/aug.mjs +12 -2
- package/docs/about.md +27 -0
- package/docs/api/crypto.md +103 -69
- package/docs/api/io.md +35 -33
- package/docs/api/json.md +3 -3
- package/docs/api/memory.md +23 -19
- package/docs/api/time.md +10 -9
- package/docs/api/web.md +33 -38
- package/docs/compatibility.md +3 -3
- package/docs/contributing-benchmarks.md +38 -0
- package/docs/dev-containers.md +95 -0
- package/docs/diagnostics.md +15 -5
- package/docs/docker.md +174 -12
- package/docs/editor.md +35 -0
- package/docs/example-projects.json +206 -24
- package/docs/examples/approved-design/counters.md +34 -126
- package/docs/examples/approved-design/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/approved-design/domain/app.md +13 -77
- package/docs/examples/approved-design/domain/export.md +5 -19
- package/docs/examples/approved-design/domain/models.md +4 -23
- package/docs/examples/approved-design/domain/numbers.md +24 -114
- package/docs/examples/approved-design/index.md +16 -7
- package/docs/examples/approved-design/main.md +19 -96
- package/docs/examples/benchmark/index.md +6 -5
- package/docs/examples/benchmark/main.md +7 -35
- package/docs/examples/cli-args/index.md +6 -5
- package/docs/examples/cli-args/main.md +6 -31
- package/docs/examples/collections/index.md +6 -5
- package/docs/examples/collections/main.md +7 -35
- package/docs/examples/collections-benchmark/index.md +6 -5
- package/docs/examples/collections-benchmark/main.md +7 -35
- package/docs/examples/cpu-benchmark/index.md +6 -5
- package/docs/examples/cpu-benchmark/main.md +5 -24
- package/docs/examples/developer-workflow/calculator.md +39 -186
- package/docs/examples/developer-workflow/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/developer-workflow/index.md +16 -7
- package/docs/examples/developer-workflow/logging/console.md +10 -56
- package/docs/examples/developer-workflow/logging/export.md +4 -14
- package/docs/examples/developer-workflow/logging/logger.md +7 -43
- package/docs/examples/developer-workflow/main.md +17 -69
- package/docs/examples/drop/index.md +6 -5
- package/docs/examples/drop/main.md +7 -27
- package/docs/examples/drop/resource.md +7 -30
- package/docs/examples/errors/errors.md +7 -27
- package/docs/examples/errors/index.md +6 -5
- package/docs/examples/errors/main.md +7 -28
- package/docs/examples/ffi/index.md +6 -5
- package/docs/examples/ffi/main.md +6 -20
- package/docs/examples/ffi/native.md +8 -34
- package/docs/examples/generic-di/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/generic-di/index.md +6 -5
- package/docs/examples/generic-di/main.md +9 -39
- package/docs/examples/generic-di/types.md +23 -92
- package/docs/examples/generics/index.md +6 -5
- package/docs/examples/generics/main.md +10 -47
- package/docs/examples/generics/types.md +25 -100
- package/docs/examples/hello/app/export.md +4 -12
- package/docs/examples/hello/app/greeter.md +13 -91
- package/docs/examples/hello/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/hello/index.md +17 -6
- package/docs/examples/hello/logging/console.md +10 -54
- package/docs/examples/hello/logging/export.md +4 -14
- package/docs/examples/hello/logging/logger.md +7 -45
- package/docs/examples/hello/main.md +9 -39
- package/docs/examples/http-benchmark/index.md +6 -5
- package/docs/examples/http-benchmark/main.md +6 -20
- package/docs/examples/http-benchmark/routes.md +9 -31
- package/docs/examples/index.md +46 -29
- package/docs/examples/interceptors/app.md +20 -139
- package/docs/examples/interceptors/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/interceptors/index.md +6 -5
- package/docs/examples/interceptors/interceptors.md +24 -148
- package/docs/examples/interceptors/logging.md +13 -76
- package/docs/examples/interceptors/main.md +10 -65
- package/docs/examples/json-benchmark/data.md +4 -20
- package/docs/examples/json-benchmark/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/json-benchmark/index.md +7 -5
- package/docs/examples/json-benchmark/main-yaml.md +20 -0
- package/docs/examples/json-benchmark/main.md +10 -49
- package/docs/examples/new-syntax/console.md +10 -52
- package/docs/examples/new-syntax/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/new-syntax/greeter.md +13 -71
- package/docs/examples/new-syntax/index.md +6 -5
- package/docs/examples/new-syntax/logger.md +7 -43
- package/docs/examples/new-syntax/main.md +10 -53
- package/docs/examples/new-syntax/math.md +6 -24
- package/docs/examples/oidc-login/client/contracts.md +10 -61
- package/docs/examples/oidc-login/client/endpoints.md +32 -154
- package/docs/examples/oidc-login/client/export.md +5 -23
- package/docs/examples/oidc-login/client/login.md +234 -344
- package/docs/examples/oidc-login/client/logout.md +38 -143
- package/docs/examples/oidc-login/client/protocol.md +183 -304
- package/docs/examples/oidc-login/client/session.md +41 -149
- package/docs/examples/oidc-login/client/views.md +13 -58
- package/docs/examples/oidc-login/common/export.md +6 -26
- package/docs/examples/oidc-login/common/headers.md +42 -72
- package/docs/examples/oidc-login/common/keys.md +40 -164
- package/docs/examples/oidc-login/common/settings.md +24 -40
- package/docs/examples/oidc-login/common/views.md +7 -28
- package/docs/examples/oidc-login/dependencies/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.md +205 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +67 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +267 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.md +415 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.md +271 -0
- package/docs/examples/oidc-login/dependencies/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.md +89 -0
- package/docs/examples/oidc-login/index.md +8 -7
- package/docs/examples/oidc-login/main-yaml.md +7 -0
- package/docs/examples/oidc-login/main.md +26 -153
- package/docs/examples/oidc-login/provider/authorization.md +232 -275
- package/docs/examples/oidc-login/provider/contracts.md +24 -146
- package/docs/examples/oidc-login/provider/credentials.md +24 -57
- package/docs/examples/oidc-login/provider/discovery.md +48 -122
- package/docs/examples/oidc-login/provider/export.md +11 -37
- package/docs/examples/oidc-login/provider/token.md +159 -237
- package/docs/examples/oidc-login/provider/userinfo.md +47 -102
- package/docs/examples/oidc-login/provider/views.md +13 -53
- package/docs/examples/ownership/counter.md +17 -63
- package/docs/examples/ownership/index.md +6 -5
- package/docs/examples/ownership/main.md +7 -30
- package/docs/examples/ownership-transfer/dependencies/august/0.20.1/io/contracts.md +178 -0
- package/docs/examples/ownership-transfer/index.md +6 -5
- package/docs/examples/ownership-transfer/main.md +10 -52
- package/docs/examples/ownership-transfer/resource.md +15 -67
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +12 -50
- package/docs/examples/packages-app/index.md +7 -6
- package/docs/examples/packages-app/main.md +7 -25
- package/docs/examples/packages-math/aug-package-json.md +1 -1
- package/docs/examples/packages-math/index.md +7 -6
- package/docs/examples/packages-math/src/arithmetic.md +12 -50
- package/docs/examples/packages-math/src/export.md +4 -12
- package/docs/examples/startup-benchmark/index.md +6 -5
- package/docs/examples/startup-benchmark/main.md +5 -17
- package/docs/examples/visibility/counter.md +19 -67
- package/docs/examples/visibility/index.md +6 -5
- package/docs/examples/visibility/main.md +7 -31
- package/docs/examples/weather-api/forecasts.md +168 -0
- package/docs/examples/weather-api/index.md +42 -0
- package/docs/examples/weather-api/main-yaml.md +21 -0
- package/docs/examples/weather-api/main.md +65 -0
- package/docs/examples.json +10 -0
- package/docs/getting-started.md +105 -2
- package/docs/grammar.md +6 -4
- package/docs/guides/change-a-module.md +64 -0
- package/docs/guides/index.md +27 -0
- package/docs/index.md +51 -29
- package/docs/language-conformance.md +1 -1
- package/docs/language-constructs.md +22 -22
- package/docs/language-design-audit.md +1 -1
- package/docs/learn/data-and-errors.md +77 -0
- package/docs/learn/index.md +30 -0
- package/docs/learn/modules-and-dependencies.md +73 -0
- package/docs/learn/state-and-tests.md +71 -0
- package/docs/learn/values-and-functions.md +62 -0
- package/docs/lesson-failures.json +8 -0
- package/docs/maintaining-docs.md +16 -4
- package/docs/packages.md +72 -126
- package/docs/performance.md +13 -41
- package/docs/production-readiness.md +5 -4
- package/docs/public/downloads/approved-design.zip +0 -0
- package/docs/public/downloads/benchmark.zip +0 -0
- package/docs/public/downloads/cli-args.zip +0 -0
- package/docs/public/downloads/collections-benchmark.zip +0 -0
- package/docs/public/downloads/collections.zip +0 -0
- package/docs/public/downloads/cpu-benchmark.zip +0 -0
- package/docs/public/downloads/developer-workflow.zip +0 -0
- package/docs/public/downloads/drop.zip +0 -0
- package/docs/public/downloads/errors.zip +0 -0
- package/docs/public/downloads/ffi.zip +0 -0
- package/docs/public/downloads/generic-di.zip +0 -0
- package/docs/public/downloads/generics.zip +0 -0
- package/docs/public/downloads/hello.zip +0 -0
- package/docs/public/downloads/http-benchmark.zip +0 -0
- package/docs/public/downloads/interceptors.zip +0 -0
- package/docs/public/downloads/json-benchmark.zip +0 -0
- package/docs/public/downloads/new-syntax.zip +0 -0
- package/docs/public/downloads/oidc-login.zip +0 -0
- package/docs/public/downloads/ownership-transfer.zip +0 -0
- package/docs/public/downloads/ownership.zip +0 -0
- package/docs/public/downloads/packages-app.zip +0 -0
- package/docs/public/downloads/packages-math.zip +0 -0
- package/docs/public/downloads/startup-benchmark.zip +0 -0
- package/docs/public/downloads/visibility.zip +0 -0
- package/docs/public/downloads/weather-api.zip +0 -0
- package/docs/reference.md +23 -17
- package/docs/releasing.md +29 -15
- package/docs/research/code-to-natural-language.md +108 -0
- package/docs/research/ecosystem-workflow.md +41 -0
- package/docs/research/wiki-editorial-design.md +71 -0
- package/docs/roadmap.md +1 -1
- package/docs/specifications.md +27 -11
- package/docs/testing.md +19 -5
- package/docs/tooling.md +25 -12
- package/docs/weather-api.md +65 -0
- package/docs/web.md +50 -18
- package/docs/writing-docs.md +49 -0
- package/examples/{hello/.aug-spec/august/0.19.0 → approved-design/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
- package/examples/approved-design/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/approved-design/.aug-spec/manifest.json +3 -3
- package/examples/approved-design/counters.aug +5 -4
- package/examples/approved-design/counters.aug.md +25 -132
- package/examples/approved-design/domain/app.aug +2 -1
- package/examples/approved-design/domain/app.aug.md +10 -80
- package/examples/approved-design/domain/export.aug +1 -0
- package/examples/approved-design/domain/export.aug.md +4 -20
- package/examples/approved-design/domain/models.aug +1 -0
- package/examples/approved-design/domain/models.aug.md +3 -25
- package/examples/approved-design/domain/numbers.aug +3 -2
- package/examples/approved-design/domain/numbers.aug.md +19 -116
- package/examples/approved-design/main.aug +1 -0
- package/examples/approved-design/main.aug.md +12 -95
- package/examples/benchmark/.aug-spec/manifest.json +1 -1
- package/examples/benchmark/main.aug +1 -0
- package/examples/benchmark/main.aug.md +6 -36
- package/examples/cli-args/.aug-spec/manifest.json +1 -1
- package/examples/cli-args/main.aug +1 -0
- package/examples/cli-args/main.aug.md +5 -32
- package/examples/collections/.aug-spec/manifest.json +1 -1
- package/examples/collections/main.aug +1 -0
- package/examples/collections/main.aug.md +6 -36
- package/examples/{generic-di/.aug-spec/august/0.19.0 → developer-workflow/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
- package/examples/developer-workflow/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +3 -3
- package/examples/developer-workflow/calculator.aug +3 -2
- package/examples/developer-workflow/calculator.aug.md +28 -189
- package/examples/developer-workflow/logging/console.aug +2 -1
- package/examples/developer-workflow/logging/console.aug.md +7 -57
- package/examples/developer-workflow/logging/export.aug +1 -0
- package/examples/developer-workflow/logging/export.aug.md +3 -15
- package/examples/developer-workflow/logging/logger.aug +1 -0
- package/examples/developer-workflow/logging/logger.aug.md +6 -46
- package/examples/developer-workflow/main.aug +1 -0
- package/examples/developer-workflow/main.aug.md +10 -68
- package/examples/drop/.aug-spec/manifest.json +1 -1
- package/examples/drop/main.aug +1 -0
- package/examples/drop/main.aug.md +6 -28
- package/examples/drop/resource.aug +1 -0
- package/examples/drop/resource.aug.md +6 -34
- package/examples/errors/.aug-spec/manifest.json +1 -1
- package/examples/errors/errors.aug +2 -1
- package/examples/errors/errors.aug.md +4 -27
- package/examples/errors/main.aug +1 -0
- package/examples/errors/main.aug.md +6 -29
- package/examples/ffi/.aug-spec/manifest.json +1 -1
- package/examples/ffi/main.aug +1 -0
- package/examples/ffi/main.aug.md +5 -21
- package/examples/ffi/native.aug +2 -1
- package/examples/ffi/native.aug.md +5 -35
- package/examples/{approved-design/.aug-spec/august/0.19.0 → generic-di/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
- package/examples/generic-di/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/generic-di/.aug-spec/manifest.json +3 -3
- package/examples/generic-di/main.aug +1 -0
- package/examples/generic-di/main.aug.md +8 -40
- package/examples/generic-di/types.aug +3 -2
- package/examples/generic-di/types.aug.md +18 -97
- package/examples/generics/.aug-spec/manifest.json +1 -1
- package/examples/generics/main.aug +1 -0
- package/examples/generics/main.aug.md +9 -48
- package/examples/generics/types.aug +4 -3
- package/examples/generics/types.aug.md +18 -104
- package/examples/{developer-workflow/.aug-spec/august/0.19.0 → hello/.aug-spec/august/0.20.1}/io/contracts.aug +4 -3
- package/examples/hello/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/hello/.aug-spec/manifest.json +3 -3
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +3 -13
- package/examples/hello/app/greeter.aug +2 -1
- package/examples/hello/app/greeter.aug.md +10 -94
- package/examples/hello/logging/console.aug +2 -1
- package/examples/hello/logging/console.aug.md +7 -55
- package/examples/hello/logging/export.aug +1 -0
- package/examples/hello/logging/export.aug.md +3 -15
- package/examples/hello/logging/logger.aug +1 -0
- package/examples/hello/logging/logger.aug.md +6 -48
- package/examples/hello/main.aug +1 -0
- package/examples/hello/main.aug.md +8 -40
- package/examples/interceptors/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
- package/examples/interceptors/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/interceptors/.aug-spec/manifest.json +3 -3
- package/examples/interceptors/app.aug +3 -2
- package/examples/interceptors/app.aug.md +15 -141
- package/examples/interceptors/interceptors.aug +3 -2
- package/examples/interceptors/interceptors.aug.md +19 -152
- package/examples/interceptors/logging.aug +2 -1
- package/examples/interceptors/logging.aug.md +10 -79
- package/examples/interceptors/main.aug +1 -0
- package/examples/interceptors/main.aug.md +9 -66
- package/examples/new-syntax/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
- package/examples/new-syntax/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/new-syntax/.aug-spec/manifest.json +3 -3
- package/examples/new-syntax/console.aug +2 -1
- package/examples/new-syntax/console.aug.md +7 -53
- package/examples/new-syntax/greeter.aug +2 -1
- package/examples/new-syntax/greeter.aug.md +10 -74
- package/examples/new-syntax/logger.aug +1 -0
- package/examples/new-syntax/logger.aug.md +6 -46
- package/examples/new-syntax/main.aug +1 -0
- package/examples/new-syntax/main.aug.md +9 -54
- package/examples/new-syntax/math.aug +2 -1
- package/examples/new-syntax/math.aug.md +3 -24
- package/examples/oidc-login/.aug-spec/manifest.json +13 -13
- package/examples/oidc-login/.aug-spec/packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/store.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +17 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +125 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/contracts.aug +12 -11
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/contracts.aug.md +244 -0
- package/examples/oidc-login/.aug-spec/{august/0.19.0/crypto → packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40}/jose.aug +6 -5
- package/examples/oidc-login/.aug-spec/packages/@git/url_9ef654c66d34ab8f5527/0.0.0-git.b14a0f9aa41f1ce58bd51133bcdc424033e40d40/jose.aug.md +71 -0
- package/examples/oidc-login/.aug-spec/packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301/contracts.aug.md +30 -0
- package/examples/oidc-login/aug.lock.json +100 -0
- package/examples/oidc-login/client/contracts.aug +1 -0
- package/examples/oidc-login/client/contracts.aug.md +9 -66
- package/examples/oidc-login/client/endpoints.aug +6 -5
- package/examples/oidc-login/client/endpoints.aug.md +13 -145
- package/examples/oidc-login/client/export.aug +1 -0
- package/examples/oidc-login/client/export.aug.md +4 -24
- package/examples/oidc-login/client/login.aug +7 -6
- package/examples/oidc-login/client/login.aug.md +25 -303
- package/examples/oidc-login/client/logout.aug +5 -4
- package/examples/oidc-login/client/logout.aug.md +13 -135
- package/examples/oidc-login/client/protocol.aug +7 -6
- package/examples/oidc-login/client/protocol.aug.md +36 -283
- package/examples/oidc-login/client/session.aug +5 -4
- package/examples/oidc-login/client/session.aug.md +12 -139
- package/examples/oidc-login/client/views.aug +3 -2
- package/examples/oidc-login/client/views.aug.md +8 -57
- package/examples/oidc-login/common/export.aug +1 -0
- package/examples/oidc-login/common/export.aug.md +5 -27
- package/examples/oidc-login/common/headers.aug +4 -3
- package/examples/oidc-login/common/headers.aug.md +9 -67
- package/examples/oidc-login/common/keys.aug +6 -5
- package/examples/oidc-login/common/keys.aug.md +29 -165
- package/examples/oidc-login/common/settings.aug +2 -1
- package/examples/oidc-login/common/settings.aug.md +5 -39
- package/examples/oidc-login/common/views.aug +2 -1
- package/examples/oidc-login/common/views.aug.md +4 -28
- package/examples/oidc-login/main.aug +6 -16
- package/examples/oidc-login/main.aug.md +17 -146
- package/examples/oidc-login/main.yaml +7 -0
- package/examples/oidc-login/provider/authorization.aug +7 -6
- package/examples/oidc-login/provider/authorization.aug.md +23 -238
- package/examples/oidc-login/provider/contracts.aug +1 -0
- package/examples/oidc-login/provider/contracts.aug.md +23 -158
- package/examples/oidc-login/provider/credentials.aug +3 -2
- package/examples/oidc-login/provider/credentials.aug.md +9 -53
- package/examples/oidc-login/provider/discovery.aug +4 -3
- package/examples/oidc-login/provider/discovery.aug.md +11 -118
- package/examples/oidc-login/provider/export.aug +1 -0
- package/examples/oidc-login/provider/export.aug.md +6 -34
- package/examples/oidc-login/provider/token.aug +6 -5
- package/examples/oidc-login/provider/token.aug.md +16 -204
- package/examples/oidc-login/provider/userinfo.aug +4 -3
- package/examples/oidc-login/provider/userinfo.aug.md +10 -92
- package/examples/oidc-login/provider/views.aug +3 -2
- package/examples/oidc-login/provider/views.aug.md +8 -52
- package/examples/ownership/.aug-spec/manifest.json +1 -1
- package/examples/ownership/counter.aug +3 -2
- package/examples/ownership/counter.aug.md +12 -66
- package/examples/ownership/main.aug +1 -0
- package/examples/ownership/main.aug.md +6 -31
- package/examples/ownership-transfer/.aug-spec/august/0.20.1/io/contracts.aug +37 -0
- package/examples/ownership-transfer/.aug-spec/august/0.20.1/io/contracts.aug.md +82 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +3 -3
- package/examples/ownership-transfer/main.aug +1 -0
- package/examples/ownership-transfer/main.aug.md +9 -53
- package/examples/ownership-transfer/resource.aug +2 -1
- package/examples/ownership-transfer/resource.aug.md +12 -71
- package/examples/packages/app/.aug-spec/manifest.json +1 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +2 -1
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +9 -51
- package/examples/packages/app/main.aug +1 -0
- package/examples/packages/app/main.aug.md +6 -26
- package/examples/packages/math/.aug-spec/manifest.json +1 -1
- package/examples/packages/math/aug-package.json +1 -1
- package/examples/packages/math/src/arithmetic.aug +2 -1
- package/examples/packages/math/src/arithmetic.aug.md +9 -51
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +3 -13
- package/examples/visibility/.aug-spec/manifest.json +1 -1
- package/examples/visibility/counter.aug +4 -3
- package/examples/visibility/counter.aug.md +12 -68
- package/examples/visibility/main.aug +1 -0
- package/examples/visibility/main.aug.md +6 -32
- package/examples/weather-api/.aug-spec/manifest.json +8 -0
- package/examples/weather-api/AGENTS.md +17 -0
- package/examples/weather-api/README.md +19 -0
- package/examples/weather-api/forecasts.aug +47 -0
- package/examples/weather-api/forecasts.aug.md +32 -0
- package/examples/weather-api/main.aug +4 -0
- package/examples/weather-api/main.aug.md +15 -0
- package/examples/weather-api/main.yaml +5 -0
- package/examples/weather-api/weather.http +5 -0
- package/package.json +3 -4
- package/scripts/bootstrap-native.mjs +181 -106
- package/scripts/native-setup.mjs +98 -0
- package/scripts/native-toolchain.mjs +28 -0
- package/src/builtins.js +1 -1
- package/src/checker.js +259 -72
- package/src/cli.js +114 -20
- package/src/codegen.js +1 -1
- package/src/config.js +1 -1
- package/src/contracts.js +10 -0
- package/src/editor.js +71 -16
- package/src/fixes.js +90 -2
- package/src/formatter.js +19 -8
- package/src/git-packages.js +110 -0
- package/src/help.js +24 -23
- package/src/http-contracts.js +14 -0
- package/src/http-policies.js +5 -5
- package/src/libraries.js +1 -1
- package/src/lsp.js +14 -5
- package/src/native.js +19 -13
- package/src/navigation.js +4 -2
- package/src/openapi.js +5 -4
- package/src/package-locking.js +45 -0
- package/src/package-manager.js +251 -67
- package/src/parser.js +13 -5
- package/src/policies.js +3 -3
- package/src/project-init.js +78 -4
- package/src/project.js +9 -7
- package/src/semantic.js +46 -2
- package/src/snippets.js +59 -0
- package/src/spec-hints.js +56 -0
- package/src/spec-tree.js +241 -0
- package/src/spec.js +626 -303
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +0 -925
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +0 -434
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +0 -103
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +0 -374
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +0 -150
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +0 -532
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +0 -395
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +0 -791
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +0 -266
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +0 -55
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +0 -250
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +0 -96
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +0 -420
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +0 -36
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +0 -316
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/memory → packages/@git/url_0eb7c89453c87681ed15/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/store.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/json → packages/@git/url_2d3c37c690c0fa115be1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/web → packages/@git/url_897efafd565158fc4908/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
- /package/examples/oidc-login/.aug-spec/{august/0.19.0/time → packages/@git/url_c092cd151499c4e1d8a1/0.0.0-git.a39fc582565d4fca40be4f75fa304d71adc69301}/contracts.aug +0 -0
|
@@ -1,33 +1,10 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `errors.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`load`](errors.aug.md#symbol-load) is a function returning `string`.
|
|
3
|
+
# `errors.aug`
|
|
10
4
|
|
|
11
5
|
<a id="symbol-load"></a>
|
|
6
|
+
## `load` · [source](errors.aug#L2)
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
[source](errors.aug#L1)
|
|
16
|
-
|
|
17
|
-
**Inputs**
|
|
18
|
-
|
|
19
|
-
- `fail` (`bool`) — required labeled input.
|
|
20
|
-
|
|
21
|
-
Returns: `string`.
|
|
22
|
-
|
|
23
|
-
Can fail with `FileError`. Callers must catch or propagate these errors.
|
|
24
|
-
|
|
25
|
-
**What it does**
|
|
26
|
-
|
|
27
|
-
- If `fail` is true:
|
|
28
|
-
- Fail with call `FileError`. Transfer control to a matching catch or propagate the failure.
|
|
29
|
-
- Return `"loaded"`.
|
|
30
|
-
|
|
31
|
-
## Shared language rules
|
|
8
|
+
It takes `fail` as a boolean. Failures can raise `FileError`.
|
|
32
9
|
|
|
33
|
-
|
|
10
|
+
It checks that `fail` is false. It raises a `FileError` at the first failed check. It returns `"loaded"`.
|
package/examples/errors/main.aug
CHANGED
|
@@ -1,36 +1,13 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It prints [`load`](errors.aug.md#symbol-load) with `fail` `true`. If this work raises `FileError`, it prints `"caught FileError"`.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Dependencies
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
It uses [`load`](errors.aug.md#symbol-load) from `errors`.
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
- Call `print` with `value` = call [`load`](errors.aug.md#symbol-load) with `fail` = `true`.
|
|
15
|
-
- If they fail with `FileError`, name the failure `error` and recover:
|
|
16
|
-
- Call `print` with `value` = `"caught FileError"`.
|
|
17
|
-
|
|
18
|
-
## Dependencies used by this file
|
|
19
|
-
|
|
20
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
21
|
-
|
|
22
|
-
### [`load`](errors.aug.md#symbol-load)
|
|
23
|
-
|
|
24
|
-
Function from `errors`.
|
|
25
|
-
|
|
26
|
-
- [`load`](errors.aug.md#symbol-load) (`fail`: `bool`) → `string`; can fail with `FileError`.
|
|
27
|
-
|
|
28
|
-
## Built-in operations used by this file
|
|
29
|
-
|
|
30
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
31
|
-
|
|
32
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
33
|
-
|
|
34
|
-
## Shared language rules
|
|
35
|
-
|
|
36
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
13
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
package/examples/ffi/main.aug
CHANGED
package/examples/ffi/main.aug.md
CHANGED
|
@@ -1,27 +1,11 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
It calls [`announce`](native.aug.md#symbol-announce).
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Dependencies
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- Call [`announce`](native.aug.md#symbol-announce).
|
|
14
|
-
|
|
15
|
-
## Dependencies used by this file
|
|
16
|
-
|
|
17
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
18
|
-
|
|
19
|
-
### [`announce`](native.aug.md#symbol-announce)
|
|
20
|
-
|
|
21
|
-
Function from `native`.
|
|
22
|
-
|
|
23
|
-
- [`announce`](native.aug.md#symbol-announce) (no caller inputs) → `void`; uses `C.puts`.
|
|
24
|
-
|
|
25
|
-
## Shared language rules
|
|
26
|
-
|
|
27
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
11
|
+
It uses [`announce`](native.aug.md#symbol-announce) from `native`.
|
package/examples/ffi/native.aug
CHANGED
|
@@ -1,43 +1,13 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `native.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`puts`](native.aug.md#symbol-puts) is a function returning `c_int`.
|
|
10
|
-
- [`announce`](native.aug.md#symbol-announce) is a function.
|
|
3
|
+
# `native.aug`
|
|
11
4
|
|
|
12
5
|
<a id="symbol-puts"></a>
|
|
6
|
+
## `puts` · [source](native.aug#L2)
|
|
13
7
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[source](native.aug#L1)
|
|
17
|
-
|
|
18
|
-
**Inputs**
|
|
19
|
-
|
|
20
|
-
- `message` (`string`) — required labeled input.
|
|
21
|
-
|
|
22
|
-
Returns: `c_int`.
|
|
23
|
-
|
|
24
|
-
Native C operation. Its declared inputs, result, effects, and errors are the visible contract. The C implementation is outside this specification.
|
|
8
|
+
It takes `message` as a string. It returns `c_int`. Native C implementation; only its declared contract is visible here.
|
|
25
9
|
|
|
26
10
|
<a id="symbol-announce"></a>
|
|
11
|
+
## `announce` · [source](native.aug#L3)
|
|
27
12
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
[source](native.aug#L2)
|
|
31
|
-
|
|
32
|
-
Returns: no value.
|
|
33
|
-
|
|
34
|
-
Capabilities: `C.puts`.
|
|
35
|
-
|
|
36
|
-
**What it does**
|
|
37
|
-
|
|
38
|
-
- Enter an unsafe boundary. Native calls use their declared contracts; their foreign implementation is outside this specification:
|
|
39
|
-
- Call [`puts`](native.aug.md#symbol-puts) with `message` = `"hello from C FFI"`.
|
|
40
|
-
|
|
41
|
-
## Shared language rules
|
|
42
|
-
|
|
43
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
13
|
+
Within an unsafe block, it calls [`puts`](native.aug.md#symbol-puts) with `message` `"hello from C FFI"`. Native operations must satisfy their declared C contracts.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// Generated by aug spec. This is a copy of the installed dependency source.
|
|
2
|
+
// aug-spec: "contracts.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
2
3
|
/** Permission to write to a console, provided by an explicitly selected adapter. */
|
|
3
4
|
capability Console:
|
|
4
5
|
/** Write one line of text. @param value Text to display. */
|
|
@@ -21,9 +22,9 @@ capability FileWriter:
|
|
|
21
22
|
|
|
22
23
|
/** Native files. Operations are explicit; construction opens no files. */
|
|
23
24
|
LocalFiles() implements FileReader, FileWriter:
|
|
24
|
-
read(string path)
|
|
25
|
+
read(string path) :
|
|
25
26
|
return read_file(path=path)
|
|
26
|
-
write(string path, string content)
|
|
27
|
+
write(string path, string content) :
|
|
27
28
|
write_file(path=path, content=content)
|
|
28
29
|
|
|
29
30
|
/** Read command-line input through an explicit dependency. */
|
|
@@ -32,5 +33,5 @@ capability Arguments:
|
|
|
32
33
|
|
|
33
34
|
/** Native command-line arguments. */
|
|
34
35
|
ProcessArguments() implements Arguments:
|
|
35
|
-
read()
|
|
36
|
+
read() :
|
|
36
37
|
return arguments()
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
|
+
|
|
3
|
+
# `contracts.aug`
|
|
4
|
+
|
|
5
|
+
<a id="symbol-Console"></a>
|
|
6
|
+
## `Console` · capability interface · [source](contracts.aug#L4)
|
|
7
|
+
|
|
8
|
+
Permission to write to a console, provided by an explicitly selected adapter.
|
|
9
|
+
|
|
10
|
+
<a id="symbol-Console.write"></a>
|
|
11
|
+
### `Console.write` · [source](contracts.aug#L6)
|
|
12
|
+
|
|
13
|
+
Write one line of text. The type parameters are `T`. It takes `value` as `T` (Text to display). It can call [`Console.write`](contracts.aug.md#symbol-Console.write).
|
|
14
|
+
|
|
15
|
+
<a id="symbol-SystemConsole"></a>
|
|
16
|
+
## `SystemConsole` · class · [source](contracts.aug#L9)
|
|
17
|
+
|
|
18
|
+
The native standard-output adapter. Construction performs no output. It implements [`Console`](contracts.aug.md#symbol-Console).
|
|
19
|
+
|
|
20
|
+
<a id="symbol-SystemConsole.write"></a>
|
|
21
|
+
### `SystemConsole.write` · [source](contracts.aug#L10)
|
|
22
|
+
|
|
23
|
+
Write one line of text. The type parameters are `T`. It takes `value` as `T` (Text to display). It prints `value`.
|
|
24
|
+
|
|
25
|
+
<a id="symbol-FileReader"></a>
|
|
26
|
+
## `FileReader` · capability interface · [source](contracts.aug#L14)
|
|
27
|
+
|
|
28
|
+
Read UTF-8 text through an explicitly selected filesystem adapter.
|
|
29
|
+
|
|
30
|
+
<a id="symbol-FileReader.read"></a>
|
|
31
|
+
### `FileReader.read` · [source](contracts.aug#L16)
|
|
32
|
+
|
|
33
|
+
Read text. It takes `path` as a string (File path).
|
|
34
|
+
|
|
35
|
+
It returns `string`. It can call [`FileReader.read`](contracts.aug.md#symbol-FileReader.read). Failures can raise `FileError` (The file could not be read).
|
|
36
|
+
|
|
37
|
+
<a id="symbol-FileWriter"></a>
|
|
38
|
+
## `FileWriter` · capability interface · [source](contracts.aug#L19)
|
|
39
|
+
|
|
40
|
+
Write UTF-8 text through an explicitly selected filesystem adapter.
|
|
41
|
+
|
|
42
|
+
<a id="symbol-FileWriter.write"></a>
|
|
43
|
+
### `FileWriter.write` · [source](contracts.aug#L21)
|
|
44
|
+
|
|
45
|
+
Write text. It takes `path` as a string (File path) and `content` as a string (Text). It can call [`FileWriter.write`](contracts.aug.md#symbol-FileWriter.write). Failures can raise `FileError` (Writing failed).
|
|
46
|
+
|
|
47
|
+
<a id="symbol-LocalFiles"></a>
|
|
48
|
+
## `LocalFiles` · class · [source](contracts.aug#L24)
|
|
49
|
+
|
|
50
|
+
Native files. Operations are explicit; construction opens no files. It implements [`FileReader`](contracts.aug.md#symbol-FileReader) and [`FileWriter`](contracts.aug.md#symbol-FileWriter).
|
|
51
|
+
|
|
52
|
+
<a id="symbol-LocalFiles.read"></a>
|
|
53
|
+
### `LocalFiles.read` · [source](contracts.aug#L25)
|
|
54
|
+
|
|
55
|
+
Read text. It takes `path` as a string (File path). Failures can raise `FileError` (The file could not be read). It returns `read_file` with `path`.
|
|
56
|
+
|
|
57
|
+
<a id="symbol-LocalFiles.write"></a>
|
|
58
|
+
### `LocalFiles.write` · [source](contracts.aug#L27)
|
|
59
|
+
|
|
60
|
+
Write text. It takes `path` as a string (File path) and `content` as a string (Text). Failures can raise `FileError` (Writing failed). It calls `write_file` with `path` and `content`.
|
|
61
|
+
|
|
62
|
+
<a id="symbol-Arguments"></a>
|
|
63
|
+
## `Arguments` · capability interface · [source](contracts.aug#L31)
|
|
64
|
+
|
|
65
|
+
Read command-line input through an explicit dependency.
|
|
66
|
+
|
|
67
|
+
<a id="symbol-Arguments.read"></a>
|
|
68
|
+
### `Arguments.read` · [source](contracts.aug#L32)
|
|
69
|
+
|
|
70
|
+
It returns `List<string>`. It can call [`Arguments.read`](contracts.aug.md#symbol-Arguments.read).
|
|
71
|
+
|
|
72
|
+
<a id="symbol-ProcessArguments"></a>
|
|
73
|
+
## `ProcessArguments` · class · [source](contracts.aug#L35)
|
|
74
|
+
|
|
75
|
+
Native command-line arguments. It implements [`Arguments`](contracts.aug.md#symbol-Arguments).
|
|
76
|
+
|
|
77
|
+
<a id="symbol-ProcessArguments.read"></a>
|
|
78
|
+
### `ProcessArguments.read` · [source](contracts.aug#L36)
|
|
79
|
+
|
|
80
|
+
It returns `arguments`.
|
|
81
|
+
|
|
82
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": 1,
|
|
3
3
|
"files": [
|
|
4
|
-
".aug-spec/august/0.
|
|
5
|
-
".aug-spec/august/0.
|
|
4
|
+
".aug-spec/august/0.20.1/io/contracts.aug",
|
|
5
|
+
".aug-spec/august/0.20.1/io/contracts.aug.md",
|
|
6
6
|
"main.aug.md",
|
|
7
7
|
"types.aug.md"
|
|
8
8
|
],
|
|
9
|
-
"digest": "
|
|
9
|
+
"digest": "7071f257cf416b37397e803a8262a29d2f908110f5edb01b36bcc0ae87bd408e"
|
|
10
10
|
}
|
|
@@ -1,49 +1,17 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Providers
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`Console` is provided by [`SystemConsole`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-SystemConsole). The same instance is shared. `Repository<int>` is provided by [`NumberRepository`](types.aug.md#symbol-NumberRepository). The same instance is shared.
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
- Run 2 other startup steps in source order.
|
|
9
|
+
`app` is provided by [`Program`](types.aug.md#symbol-Program). The same instance is shared. It requires bindings for `Repository<int>`.
|
|
11
10
|
|
|
12
|
-
##
|
|
11
|
+
## Startup
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
It sets `program` to the instance provided for `app`. It calls [`program.start`](types.aug.md#symbol-Program.start) using injected `Console` for `console`.
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
- Provide [`NumberRepository`](types.aug.md#symbol-NumberRepository) when `Repository<int>` is requested. Reuse one instance.
|
|
18
|
-
- Provide [`Program`](types.aug.md#symbol-Program) when `app` is requested. Reuse one instance. Required dependencies: `Repository<int>`.
|
|
15
|
+
## Dependencies
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
- Set `program` to the instance provided for `app`.
|
|
23
|
-
- Call [`Program.start`](types.aug.md#symbol-Program.start) on `program`; inject `console` from `Console`.
|
|
24
|
-
|
|
25
|
-
## Dependencies used by this file
|
|
26
|
-
|
|
27
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
28
|
-
|
|
29
|
-
### [`SystemConsole`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-SystemConsole)
|
|
30
|
-
|
|
31
|
-
Class from `august.io`.
|
|
32
|
-
|
|
33
|
-
Used as a type or provider.
|
|
34
|
-
|
|
35
|
-
### [`NumberRepository`](types.aug.md#symbol-NumberRepository)
|
|
36
|
-
|
|
37
|
-
Class from `types`.
|
|
38
|
-
|
|
39
|
-
Used as a type or provider.
|
|
40
|
-
|
|
41
|
-
### [`Program`](types.aug.md#symbol-Program)
|
|
42
|
-
|
|
43
|
-
Class from `types`.
|
|
44
|
-
|
|
45
|
-
- [`Program.start`](types.aug.md#symbol-Program.start) (no caller inputs) → `void`; inject `console`: [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console); uses [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
46
|
-
|
|
47
|
-
## Shared language rules
|
|
48
|
-
|
|
49
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
17
|
+
It uses [`SystemConsole`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-SystemConsole) from `august.io`. It uses [`NumberRepository`](types.aug.md#symbol-NumberRepository) and [`Program`](types.aug.md#symbol-Program) ([`start`](types.aug.md#symbol-Program.start)) from `types`.
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
// aug-spec: "types.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
1
2
|
import Console from august.io
|
|
2
3
|
interface Repository<T> {
|
|
3
4
|
get() returns T
|
|
4
5
|
}
|
|
5
6
|
NumberRepository() implements Repository<int> {
|
|
6
|
-
get()
|
|
7
|
+
get() {
|
|
7
8
|
return 7
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
Program(resolve Repository<int> repository) implements IProgram {
|
|
11
|
-
start(resolve Console console)
|
|
12
|
+
start(resolve Console console) {
|
|
12
13
|
console.write(value=repository.get())
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -1,124 +1,45 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `types.aug`
|
|
4
|
-
|
|
5
|
-
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
6
|
-
|
|
7
|
-
## In this file
|
|
8
|
-
|
|
9
|
-
- [`Repository`](types.aug.md#symbol-Repository) is an interface.
|
|
10
|
-
- [`NumberRepository`](types.aug.md#symbol-NumberRepository) is a class implementing `Repository<int>`.
|
|
11
|
-
- [`Program`](types.aug.md#symbol-Program) is a class implementing `IProgram`.
|
|
12
|
-
- [`IProgram`](types.aug.md#symbol-IProgram) is an interface.
|
|
3
|
+
# `types.aug`
|
|
13
4
|
|
|
14
5
|
<a id="symbol-Repository"></a>
|
|
6
|
+
## `Repository` · interface · [source](types.aug#L3)
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
[source](types.aug#L2)
|
|
19
|
-
|
|
20
|
-
Interface.
|
|
21
|
-
|
|
22
|
-
Type parameters: `T`.
|
|
8
|
+
The type parameters are `T`.
|
|
23
9
|
|
|
24
10
|
<a id="symbol-Repository.get"></a>
|
|
11
|
+
### `Repository.get` · [source](types.aug#L4)
|
|
25
12
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
[source](types.aug#L3)
|
|
29
|
-
|
|
30
|
-
Returns: `T`.
|
|
31
|
-
|
|
32
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
13
|
+
It returns `T`.
|
|
33
14
|
|
|
34
15
|
<a id="symbol-NumberRepository"></a>
|
|
16
|
+
## `NumberRepository` · class · [source](types.aug#L6)
|
|
35
17
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
[source](types.aug#L5)
|
|
39
|
-
|
|
40
|
-
Behavioral class.
|
|
41
|
-
|
|
42
|
-
Satisfies [`Repository`](types.aug.md#symbol-Repository).
|
|
18
|
+
It implements [`Repository<int>`](types.aug.md#symbol-Repository).
|
|
43
19
|
|
|
44
20
|
<a id="symbol-NumberRepository.get"></a>
|
|
21
|
+
### `NumberRepository.get` · [source](types.aug#L7)
|
|
45
22
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
[source](types.aug#L6)
|
|
49
|
-
|
|
50
|
-
Returns: `int`.
|
|
51
|
-
|
|
52
|
-
**What it does**
|
|
53
|
-
|
|
54
|
-
- Return `7`.
|
|
23
|
+
It returns `7`.
|
|
55
24
|
|
|
56
25
|
<a id="symbol-Program"></a>
|
|
26
|
+
## `Program` · class · [source](types.aug#L11)
|
|
57
27
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
[source](types.aug#L10)
|
|
61
|
-
|
|
62
|
-
Behavioral class.
|
|
63
|
-
|
|
64
|
-
Satisfies [`IProgram`](types.aug.md#symbol-IProgram).
|
|
65
|
-
|
|
66
|
-
**Inputs**
|
|
67
|
-
|
|
68
|
-
- `repository` ([`Repository<int>`](types.aug.md#symbol-Repository)) — injected; callers omit it — stored as `repository` and read-only after initialization.
|
|
28
|
+
It implements [`IProgram`](types.aug.md#symbol-IProgram). The `repository` dependency is injected as [`Repository<int>`](types.aug.md#symbol-Repository) and stored read-only.
|
|
69
29
|
|
|
70
30
|
<a id="symbol-Program.start"></a>
|
|
31
|
+
### `Program.start` · [source](types.aug#L12)
|
|
71
32
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
[source](types.aug#L11)
|
|
75
|
-
|
|
76
|
-
**Inputs**
|
|
77
|
-
|
|
78
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
79
|
-
|
|
80
|
-
Returns: no value.
|
|
81
|
-
|
|
82
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
83
|
-
|
|
84
|
-
**What it does**
|
|
85
|
-
|
|
86
|
-
- Call [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write) on `console` with `value` = call [`Repository.get`](types.aug.md#symbol-Repository.get) on `repository`.
|
|
33
|
+
It gets `console` ([`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console)) from dependency injection. It passes [`repository.get`](types.aug.md#symbol-Repository.get) to [`console.write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write).
|
|
87
34
|
|
|
88
35
|
<a id="symbol-IProgram"></a>
|
|
89
|
-
|
|
90
|
-
## `IProgram`
|
|
91
|
-
|
|
92
|
-
[source](types.aug#L15)
|
|
93
|
-
|
|
94
|
-
Interface.
|
|
36
|
+
## `IProgram` · interface · [source](types.aug#L16)
|
|
95
37
|
|
|
96
38
|
<a id="symbol-IProgram.start"></a>
|
|
39
|
+
### `IProgram.start` · [source](types.aug#L17)
|
|
97
40
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
[source](types.aug#L16)
|
|
101
|
-
|
|
102
|
-
**Inputs**
|
|
103
|
-
|
|
104
|
-
- `console` ([`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)) — injected; callers omit it.
|
|
105
|
-
|
|
106
|
-
Returns: no value.
|
|
107
|
-
|
|
108
|
-
Capabilities: [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write).
|
|
109
|
-
|
|
110
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
111
|
-
|
|
112
|
-
## Dependencies used by this file
|
|
113
|
-
|
|
114
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
115
|
-
|
|
116
|
-
### [`Console`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console)
|
|
117
|
-
|
|
118
|
-
Capability interface from `august.io`.
|
|
119
|
-
|
|
120
|
-
- [`Console.write`](.aug-spec/august/0.19.0/io/contracts.aug.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
41
|
+
It gets `console` ([`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console)) from dependency injection. It can call [`Console.write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write).
|
|
121
42
|
|
|
122
|
-
##
|
|
43
|
+
## Dependencies
|
|
123
44
|
|
|
124
|
-
|
|
45
|
+
It uses [`Console`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console) ([`write`](.aug-spec/august/0.20.1/io/contracts.aug.md#symbol-Console.write)) from `august.io`.
|
|
@@ -1,58 +1,19 @@
|
|
|
1
1
|
<!-- Generated by aug spec. Edit the August source, then regenerate. -->
|
|
2
2
|
|
|
3
|
-
# `main.aug`
|
|
3
|
+
# `main.aug`
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Providers
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
`Formatter` is provided by [`TextFormatter`](types.aug.md#symbol-TextFormatter). The same instance is shared.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- Run 5 other startup steps in source order.
|
|
9
|
+
## Startup
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
It sets `formatter` to the instance provided for `Formatter`. It prints [`formatter.title`](types.aug.md#symbol-Formatter.title). It prints [`formatter.format`](types.aug.md#symbol-Formatter.format) for `int` with `value` `42`. It sets `box` to a [`Box`](types.aug.md#symbol-Box) for `string` with `value` `"inside a generic box"`.
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
It prints [`box.get`](types.aug.md#symbol-Box.get).
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
## Dependencies
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
It uses [`Box`](types.aug.md#symbol-Box) ([`get`](types.aug.md#symbol-Box.get)), [`Formatter`](types.aug.md#symbol-Formatter) ([`format`](types.aug.md#symbol-Formatter.format) and [`title`](types.aug.md#symbol-Formatter.title)), and [`TextFormatter`](types.aug.md#symbol-TextFormatter) from `types`.
|
|
19
18
|
|
|
20
|
-
-
|
|
21
|
-
- Call `print` with `value` = call [`Formatter.title`](types.aug.md#symbol-Formatter.title) on `formatter`.
|
|
22
|
-
- Call `print` with `value` = call [`Formatter.format`](types.aug.md#symbol-Formatter.format) on `formatter` with type arguments `int` with `value` = `42`.
|
|
23
|
-
- Set `box` to call [`Box`](types.aug.md#symbol-Box) with type arguments `string` with `value` = `"inside a generic box"`.
|
|
24
|
-
- Call `print` with `value` = call [`Box.get`](types.aug.md#symbol-Box.get) on `box`.
|
|
25
|
-
|
|
26
|
-
## Dependencies used by this file
|
|
27
|
-
|
|
28
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
29
|
-
|
|
30
|
-
### [`Box`](types.aug.md#symbol-Box)
|
|
31
|
-
|
|
32
|
-
Class from `types`.
|
|
33
|
-
|
|
34
|
-
- Construct with `value`: `T` → [`Box`](types.aug.md#symbol-Box).
|
|
35
|
-
- [`Box.get`](types.aug.md#symbol-Box.get) (no caller inputs) → `T`.
|
|
36
|
-
|
|
37
|
-
### [`Formatter`](types.aug.md#symbol-Formatter)
|
|
38
|
-
|
|
39
|
-
Interface from `types`.
|
|
40
|
-
|
|
41
|
-
- [`Formatter.format`](types.aug.md#symbol-Formatter.format)<`T`> (`value`: `T`) → `string`.
|
|
42
|
-
- [`Formatter.title`](types.aug.md#symbol-Formatter.title) (no caller inputs) → `string`.
|
|
43
|
-
|
|
44
|
-
### [`TextFormatter`](types.aug.md#symbol-TextFormatter)
|
|
45
|
-
|
|
46
|
-
Class from `types`.
|
|
47
|
-
|
|
48
|
-
Used as a type or provider.
|
|
49
|
-
|
|
50
|
-
## Built-in operations used by this file
|
|
51
|
-
|
|
52
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
53
|
-
|
|
54
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
55
|
-
|
|
56
|
-
## Shared language rules
|
|
57
|
-
|
|
58
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
19
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|