@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
|
@@ -29,31 +29,33 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
+
// aug-spec: "types.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
32
33
|
import Console from august.io
|
|
33
34
|
interface Repository<T>:
|
|
34
35
|
get() returns T
|
|
35
36
|
NumberRepository() implements Repository<int>:
|
|
36
|
-
get()
|
|
37
|
+
get():
|
|
37
38
|
return 7
|
|
38
39
|
Program(resolve Repository<int> repository) implements IProgram:
|
|
39
|
-
start(resolve Console console)
|
|
40
|
+
start(resolve Console console):
|
|
40
41
|
console.write(value=repository.get())
|
|
41
42
|
interface IProgram:
|
|
42
43
|
start(resolve Console console) uses Console.write
|
|
43
44
|
```
|
|
44
45
|
|
|
45
46
|
```aug [Braces]
|
|
47
|
+
// aug-spec: "types.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
46
48
|
import Console from august.io
|
|
47
49
|
interface Repository<T> {
|
|
48
50
|
get() returns T
|
|
49
51
|
}
|
|
50
52
|
NumberRepository() implements Repository<int> {
|
|
51
|
-
get()
|
|
53
|
+
get() {
|
|
52
54
|
return 7
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
Program(resolve Repository<int> repository) implements IProgram {
|
|
56
|
-
start(resolve Console console)
|
|
58
|
+
start(resolve Console console) {
|
|
57
59
|
console.write(value=repository.get())
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -70,110 +72,39 @@ interface IProgram {
|
|
|
70
72
|
|
|
71
73
|
## Compiled specification {#specification}
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
### `Repository` · interface · [source](types.md#code) {#symbol-Repository}
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
The type parameters are `T`.
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
- [`NumberRepository`](types.md#symbol-NumberRepository) is a class implementing `Repository<int>`.
|
|
79
|
-
- [`Program`](types.md#symbol-Program) is a class implementing `IProgram`.
|
|
80
|
-
- [`IProgram`](types.md#symbol-IProgram) is an interface.
|
|
79
|
+
#### `Repository.get` · [source](types.md#code) {#symbol-Repository.get}
|
|
81
80
|
|
|
82
|
-
|
|
81
|
+
It returns `T`.
|
|
83
82
|
|
|
84
|
-
[source](types.md#code)
|
|
83
|
+
### `NumberRepository` · class · [source](types.md#code) {#symbol-NumberRepository}
|
|
85
84
|
|
|
86
|
-
|
|
85
|
+
It implements [`Repository<int>`](types.md#symbol-Repository).
|
|
87
86
|
|
|
88
|
-
|
|
87
|
+
#### `NumberRepository.get` · [source](types.md#code) {#symbol-NumberRepository.get}
|
|
89
88
|
|
|
90
|
-
|
|
89
|
+
It returns `7`.
|
|
91
90
|
|
|
92
|
-
[source](types.md#code)
|
|
91
|
+
### `Program` · class · [source](types.md#code) {#symbol-Program}
|
|
93
92
|
|
|
94
|
-
|
|
93
|
+
It implements [`IProgram`](types.md#symbol-IProgram). The `repository` dependency is injected as [`Repository<int>`](types.md#symbol-Repository) and stored read-only.
|
|
95
94
|
|
|
96
|
-
|
|
95
|
+
#### `Program.start` · [source](types.md#code) {#symbol-Program.start}
|
|
97
96
|
|
|
98
|
-
|
|
97
|
+
It gets `console` ([`Console`](dependencies/august/0.20.1/io/contracts.md#symbol-Console)) from dependency injection. It passes [`repository.get`](types.md#symbol-Repository.get) to [`console.write`](dependencies/august/0.20.1/io/contracts.md#symbol-Console.write).
|
|
99
98
|
|
|
100
|
-
[source](types.md#code)
|
|
99
|
+
### `IProgram` · interface · [source](types.md#code) {#symbol-IProgram}
|
|
101
100
|
|
|
102
|
-
|
|
101
|
+
#### `IProgram.start` · [source](types.md#code) {#symbol-IProgram.start}
|
|
103
102
|
|
|
104
|
-
|
|
103
|
+
It gets `console` ([`Console`](dependencies/august/0.20.1/io/contracts.md#symbol-Console)) from dependency injection. It can call [`Console.write`](dependencies/august/0.20.1/io/contracts.md#symbol-Console.write).
|
|
105
104
|
|
|
106
|
-
|
|
105
|
+
### Dependencies
|
|
107
106
|
|
|
108
|
-
[
|
|
109
|
-
|
|
110
|
-
Returns: `int`.
|
|
111
|
-
|
|
112
|
-
**What it does**
|
|
113
|
-
|
|
114
|
-
- Return `7`.
|
|
115
|
-
|
|
116
|
-
### `Program` {#symbol-Program}
|
|
117
|
-
|
|
118
|
-
[source](types.md#code)
|
|
119
|
-
|
|
120
|
-
Behavioral class.
|
|
121
|
-
|
|
122
|
-
Satisfies [`IProgram`](types.md#symbol-IProgram).
|
|
123
|
-
|
|
124
|
-
**Inputs**
|
|
125
|
-
|
|
126
|
-
- `repository` ([`Repository<int>`](types.md#symbol-Repository)) — injected; callers omit it — stored as `repository` and read-only after initialization.
|
|
127
|
-
|
|
128
|
-
#### `Program.start` {#symbol-Program.start}
|
|
129
|
-
|
|
130
|
-
[source](types.md#code)
|
|
131
|
-
|
|
132
|
-
**Inputs**
|
|
133
|
-
|
|
134
|
-
- `console` ([`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
135
|
-
|
|
136
|
-
Returns: no value.
|
|
137
|
-
|
|
138
|
-
Capabilities: [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
139
|
-
|
|
140
|
-
**What it does**
|
|
141
|
-
|
|
142
|
-
- Call [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write) on `console` with `value` = call [`Repository.get`](types.md#symbol-Repository.get) on `repository`.
|
|
143
|
-
|
|
144
|
-
### `IProgram` {#symbol-IProgram}
|
|
145
|
-
|
|
146
|
-
[source](types.md#code)
|
|
147
|
-
|
|
148
|
-
Interface.
|
|
149
|
-
|
|
150
|
-
#### `IProgram.start` {#symbol-IProgram.start}
|
|
151
|
-
|
|
152
|
-
[source](types.md#code)
|
|
153
|
-
|
|
154
|
-
**Inputs**
|
|
155
|
-
|
|
156
|
-
- `console` ([`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
157
|
-
|
|
158
|
-
Returns: no value.
|
|
159
|
-
|
|
160
|
-
Capabilities: [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
161
|
-
|
|
162
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
163
|
-
|
|
164
|
-
### Dependencies used by this file
|
|
165
|
-
|
|
166
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
167
|
-
|
|
168
|
-
#### [`Console`](dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
169
|
-
|
|
170
|
-
Capability interface from `august.io`.
|
|
171
|
-
|
|
172
|
-
- [`Console.write`](dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
173
|
-
|
|
174
|
-
### Shared language rules
|
|
175
|
-
|
|
176
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
107
|
+
It uses [`Console`](dependencies/august/0.20.1/io/contracts.md#symbol-Console) ([`write`](dependencies/august/0.20.1/io/contracts.md#symbol-Console.write)) from `august.io`.
|
|
177
108
|
|
|
178
109
|
::::
|
|
179
110
|
|
|
@@ -12,7 +12,7 @@ outline: [2, 3]
|
|
|
12
12
|
|
|
13
13
|
Write reusable records, interfaces, classes, and functions with type parameters.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Open a file to read its source beside the explanation produced by `aug spec`. **Indentation** and **Braces** display the same checked program; your choice carries across file pages.
|
|
16
16
|
|
|
17
17
|
## Project files
|
|
18
18
|
|
|
@@ -22,12 +22,13 @@ Read a file below to see its highlighted source and the Markdown produced by `au
|
|
|
22
22
|
|
|
23
23
|
## Try this project
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
[Download this project](/downloads/generics.zip), then extract the archive in an empty working folder. It contains the checked source, configuration, and generated specs. [Install August](../../getting-started.md) once, then run these commands. Native libraries are prepared automatically when needed:
|
|
26
26
|
|
|
27
27
|
```sh
|
|
28
|
-
|
|
29
|
-
aug
|
|
30
|
-
aug
|
|
28
|
+
cd generics
|
|
29
|
+
aug check .
|
|
30
|
+
aug spec .
|
|
31
|
+
aug run .
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
[Browse all examples](../index.md)
|
|
@@ -29,6 +29,7 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
32
33
|
import Formatter from types
|
|
33
34
|
import TextFormatter from types
|
|
34
35
|
import Box from types
|
|
@@ -41,6 +42,7 @@ print(value=box.get())
|
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
```aug [Braces]
|
|
45
|
+
// aug-spec: "main.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
44
46
|
import Formatter from types
|
|
45
47
|
import TextFormatter from types
|
|
46
48
|
import Box from types
|
|
@@ -60,60 +62,21 @@ print(value=box.get())
|
|
|
60
62
|
|
|
61
63
|
## Compiled specification {#specification}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
### Providers
|
|
64
66
|
|
|
65
|
-
|
|
67
|
+
`Formatter` is provided by [`TextFormatter`](types.md#symbol-TextFormatter). The same instance is shared.
|
|
66
68
|
|
|
67
|
-
|
|
68
|
-
- Run 5 other startup steps in source order.
|
|
69
|
+
### Startup
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
It sets `formatter` to the instance provided for `Formatter`. It prints [`formatter.title`](types.md#symbol-Formatter.title). It prints [`formatter.format`](types.md#symbol-Formatter.format) for `int` with `value` `42`. It sets `box` to a [`Box`](types.md#symbol-Box) for `string` with `value` `"inside a generic box"`.
|
|
71
72
|
|
|
72
|
-
|
|
73
|
+
It prints [`box.get`](types.md#symbol-Box.get).
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
### Dependencies
|
|
75
76
|
|
|
76
|
-
|
|
77
|
+
It uses [`Box`](types.md#symbol-Box) ([`get`](types.md#symbol-Box.get)), [`Formatter`](types.md#symbol-Formatter) ([`format`](types.md#symbol-Formatter.format) and [`title`](types.md#symbol-Formatter.title)), and [`TextFormatter`](types.md#symbol-TextFormatter) from `types`.
|
|
77
78
|
|
|
78
|
-
-
|
|
79
|
-
- Call `print` with `value` = call [`Formatter.title`](types.md#symbol-Formatter.title) on `formatter`.
|
|
80
|
-
- Call `print` with `value` = call [`Formatter.format`](types.md#symbol-Formatter.format) on `formatter` with type arguments `int` with `value` = `42`.
|
|
81
|
-
- Set `box` to call [`Box`](types.md#symbol-Box) with type arguments `string` with `value` = `"inside a generic box"`.
|
|
82
|
-
- Call `print` with `value` = call [`Box.get`](types.md#symbol-Box.get) on `box`.
|
|
83
|
-
|
|
84
|
-
### Dependencies used by this file
|
|
85
|
-
|
|
86
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
87
|
-
|
|
88
|
-
#### [`Box`](types.md#symbol-Box)
|
|
89
|
-
|
|
90
|
-
Class from `types`.
|
|
91
|
-
|
|
92
|
-
- Construct with `value`: `T` → [`Box`](types.md#symbol-Box).
|
|
93
|
-
- [`Box.get`](types.md#symbol-Box.get) (no caller inputs) → `T`.
|
|
94
|
-
|
|
95
|
-
#### [`Formatter`](types.md#symbol-Formatter)
|
|
96
|
-
|
|
97
|
-
Interface from `types`.
|
|
98
|
-
|
|
99
|
-
- [`Formatter.format`](types.md#symbol-Formatter.format)<`T`> (`value`: `T`) → `string`.
|
|
100
|
-
- [`Formatter.title`](types.md#symbol-Formatter.title) (no caller inputs) → `string`.
|
|
101
|
-
|
|
102
|
-
#### [`TextFormatter`](types.md#symbol-TextFormatter)
|
|
103
|
-
|
|
104
|
-
Class from `types`.
|
|
105
|
-
|
|
106
|
-
Used as a type or provider.
|
|
107
|
-
|
|
108
|
-
### Built-in operations used by this file
|
|
109
|
-
|
|
110
|
-
- `print` (`value`: `any`) → `void`: Composition and test output. Other callables receive Console and declare uses console.write.
|
|
111
|
-
|
|
112
|
-
[Full built-in reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
113
|
-
|
|
114
|
-
### Shared language rules
|
|
115
|
-
|
|
116
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
79
|
+
Built-in operations follow the [language reference](https://greenpandastudios.github.io/augscript/language-constructs).
|
|
117
80
|
|
|
118
81
|
::::
|
|
119
82
|
|
|
@@ -29,34 +29,36 @@ pageClass: aug-example-page
|
|
|
29
29
|
::: code-group
|
|
30
30
|
|
|
31
31
|
```aug [Indentation]
|
|
32
|
+
// aug-spec: "types.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
32
33
|
interface Formatter:
|
|
33
34
|
format<T>(T value) returns string
|
|
34
|
-
title()
|
|
35
|
+
title():
|
|
35
36
|
return "formatted"
|
|
36
37
|
TextFormatter() implements Formatter:
|
|
37
|
-
format<T>(T value)
|
|
38
|
+
format<T>(T value):
|
|
38
39
|
return "generic method called"
|
|
39
40
|
Box<T>(T value) implements IBox<T>:
|
|
40
|
-
get()
|
|
41
|
+
get():
|
|
41
42
|
return value
|
|
42
43
|
interface IBox<T>:
|
|
43
44
|
get() returns T
|
|
44
45
|
```
|
|
45
46
|
|
|
46
47
|
```aug [Braces]
|
|
48
|
+
// aug-spec: "types.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
47
49
|
interface Formatter {
|
|
48
50
|
format<T>(T value) returns string
|
|
49
|
-
title()
|
|
51
|
+
title() {
|
|
50
52
|
return "formatted"
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
TextFormatter() implements Formatter {
|
|
54
|
-
format<T>(T value)
|
|
56
|
+
format<T>(T value) {
|
|
55
57
|
return "generic method called"
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
Box<T>(T value) implements IBox<T> {
|
|
59
|
-
get()
|
|
61
|
+
get() {
|
|
60
62
|
return value
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -73,116 +75,39 @@ interface IBox<T> {
|
|
|
73
75
|
|
|
74
76
|
## Compiled specification {#specification}
|
|
75
77
|
|
|
76
|
-
|
|
78
|
+
### `Formatter` · interface · [source](types.md#code) {#symbol-Formatter}
|
|
77
79
|
|
|
78
|
-
|
|
80
|
+
#### `Formatter.format` · [source](types.md#code) {#symbol-Formatter.format}
|
|
79
81
|
|
|
80
|
-
|
|
81
|
-
- [`TextFormatter`](types.md#symbol-TextFormatter) is a class implementing `Formatter`.
|
|
82
|
-
- [`Box`](types.md#symbol-Box) is a class implementing `IBox<T>`.
|
|
83
|
-
- [`IBox`](types.md#symbol-IBox) is an interface.
|
|
82
|
+
The type parameters are `T`. It takes `value` as `T`. It returns `string`.
|
|
84
83
|
|
|
85
|
-
|
|
84
|
+
#### `Formatter.title` · [source](types.md#code) {#symbol-Formatter.title}
|
|
86
85
|
|
|
87
|
-
|
|
86
|
+
It returns `"formatted"`.
|
|
88
87
|
|
|
89
|
-
|
|
88
|
+
### `TextFormatter` · class · [source](types.md#code) {#symbol-TextFormatter}
|
|
90
89
|
|
|
91
|
-
|
|
90
|
+
It implements [`Formatter`](types.md#symbol-Formatter). It inherits the default implementations of [`Formatter.title`](types.md#symbol-Formatter.title).
|
|
92
91
|
|
|
93
|
-
[source](types.md#code)
|
|
92
|
+
#### `TextFormatter.format` · [source](types.md#code) {#symbol-TextFormatter.format}
|
|
94
93
|
|
|
95
|
-
|
|
94
|
+
The type parameters are `T`. It takes `value` as `T`. It returns `"generic method called"`.
|
|
96
95
|
|
|
97
|
-
|
|
96
|
+
### `Box` · class · [source](types.md#code) {#symbol-Box}
|
|
98
97
|
|
|
99
|
-
- `value`
|
|
98
|
+
It implements [`IBox<T>`](types.md#symbol-IBox). The type parameters are `T`. It takes `value` as `T`, kept read-only.
|
|
100
99
|
|
|
101
|
-
|
|
100
|
+
#### `Box.get` · [source](types.md#code) {#symbol-Box.get}
|
|
102
101
|
|
|
103
|
-
|
|
102
|
+
It returns `value`.
|
|
104
103
|
|
|
105
|
-
|
|
104
|
+
### `IBox` · interface · [source](types.md#code) {#symbol-IBox}
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
The type parameters are `T`.
|
|
108
107
|
|
|
109
|
-
|
|
108
|
+
#### `IBox.get` · [source](types.md#code) {#symbol-IBox.get}
|
|
110
109
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- Return `"formatted"`.
|
|
114
|
-
|
|
115
|
-
### `TextFormatter` {#symbol-TextFormatter}
|
|
116
|
-
|
|
117
|
-
[source](types.md#code)
|
|
118
|
-
|
|
119
|
-
Behavioral class.
|
|
120
|
-
|
|
121
|
-
Satisfies [`Formatter`](types.md#symbol-Formatter).
|
|
122
|
-
|
|
123
|
-
**Inherited default behavior**
|
|
124
|
-
|
|
125
|
-
- [`Formatter.title`](types.md#symbol-Formatter.title).
|
|
126
|
-
|
|
127
|
-
#### `TextFormatter.format` {#symbol-TextFormatter.format}
|
|
128
|
-
|
|
129
|
-
[source](types.md#code)
|
|
130
|
-
|
|
131
|
-
Type parameters: `T`.
|
|
132
|
-
|
|
133
|
-
**Inputs**
|
|
134
|
-
|
|
135
|
-
- `value` (`T`) — required labeled input.
|
|
136
|
-
|
|
137
|
-
Returns: `string`.
|
|
138
|
-
|
|
139
|
-
**What it does**
|
|
140
|
-
|
|
141
|
-
- Return `"generic method called"`.
|
|
142
|
-
|
|
143
|
-
### `Box` {#symbol-Box}
|
|
144
|
-
|
|
145
|
-
[source](types.md#code)
|
|
146
|
-
|
|
147
|
-
Behavioral class.
|
|
148
|
-
|
|
149
|
-
Type parameters: `T`.
|
|
150
|
-
|
|
151
|
-
Satisfies [`IBox`](types.md#symbol-IBox).
|
|
152
|
-
|
|
153
|
-
**Inputs**
|
|
154
|
-
|
|
155
|
-
- `value` (`T`) — required labeled input — stored as `value` and read-only after initialization.
|
|
156
|
-
|
|
157
|
-
#### `Box.get` {#symbol-Box.get}
|
|
158
|
-
|
|
159
|
-
[source](types.md#code)
|
|
160
|
-
|
|
161
|
-
Returns: `T`.
|
|
162
|
-
|
|
163
|
-
**What it does**
|
|
164
|
-
|
|
165
|
-
- Return `value`.
|
|
166
|
-
|
|
167
|
-
### `IBox` {#symbol-IBox}
|
|
168
|
-
|
|
169
|
-
[source](types.md#code)
|
|
170
|
-
|
|
171
|
-
Interface.
|
|
172
|
-
|
|
173
|
-
Type parameters: `T`.
|
|
174
|
-
|
|
175
|
-
#### `IBox.get` {#symbol-IBox.get}
|
|
176
|
-
|
|
177
|
-
[source](types.md#code)
|
|
178
|
-
|
|
179
|
-
Returns: `T`.
|
|
180
|
-
|
|
181
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
182
|
-
|
|
183
|
-
### Shared language rules
|
|
184
|
-
|
|
185
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
110
|
+
It returns `T`.
|
|
186
111
|
|
|
187
112
|
::::
|
|
188
113
|
|
|
@@ -33,10 +33,12 @@ pageClass: aug-example-page
|
|
|
33
33
|
::: code-group
|
|
34
34
|
|
|
35
35
|
```aug [Indentation]
|
|
36
|
+
// aug-spec: "export.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
36
37
|
export Greeter from greeter
|
|
37
38
|
```
|
|
38
39
|
|
|
39
40
|
```aug [Braces]
|
|
41
|
+
// aug-spec: "export.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
40
42
|
export Greeter from greeter
|
|
41
43
|
```
|
|
42
44
|
|
|
@@ -48,19 +50,9 @@ export Greeter from greeter
|
|
|
48
50
|
|
|
49
51
|
## Compiled specification {#specification}
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
### Exports
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- Export `Greeter` from this folder.
|
|
56
|
-
|
|
57
|
-
### Folder exports
|
|
58
|
-
|
|
59
|
-
- Export the declaration `Greeter` from [`greeter.aug`](greeter.md#symbol-Greeter).
|
|
60
|
-
|
|
61
|
-
### Shared language rules
|
|
62
|
-
|
|
63
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
55
|
+
Export the declaration `Greeter` from [`greeter.aug`](greeter.md#symbol-Greeter).
|
|
64
56
|
|
|
65
57
|
::::
|
|
66
58
|
|
|
@@ -33,6 +33,7 @@ pageClass: aug-example-page
|
|
|
33
33
|
::: code-group
|
|
34
34
|
|
|
35
35
|
```aug [Indentation]
|
|
36
|
+
// aug-spec: "greeter.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
36
37
|
import Console from august.io
|
|
37
38
|
import Logger from logging
|
|
38
39
|
/**
|
|
@@ -44,7 +45,7 @@ Greeter(resolve Logger logger) implements IGreeter:
|
|
|
44
45
|
* Prints a personalized greeting.
|
|
45
46
|
* @param name The user to welcome.
|
|
46
47
|
*/
|
|
47
|
-
greet(resolve Console console, string name)
|
|
48
|
+
greet(resolve Console console, string name):
|
|
48
49
|
logger.log(message="Hello, " + name + "!")
|
|
49
50
|
interface IGreeter:
|
|
50
51
|
/**
|
|
@@ -55,6 +56,7 @@ interface IGreeter:
|
|
|
55
56
|
```
|
|
56
57
|
|
|
57
58
|
```aug [Braces]
|
|
59
|
+
// aug-spec: "greeter.aug.md" explains this file. Read it before changes; refresh with aug spec.
|
|
58
60
|
import Console from august.io
|
|
59
61
|
import Logger from logging
|
|
60
62
|
/**
|
|
@@ -66,7 +68,7 @@ Greeter(resolve Logger logger) implements IGreeter {
|
|
|
66
68
|
* Prints a personalized greeting.
|
|
67
69
|
* @param name The user to welcome.
|
|
68
70
|
*/
|
|
69
|
-
greet(resolve Console console, string name)
|
|
71
|
+
greet(resolve Console console, string name) {
|
|
70
72
|
logger.log(message="Hello, " + name + "!")
|
|
71
73
|
}
|
|
72
74
|
}
|
|
@@ -87,103 +89,23 @@ interface IGreeter {
|
|
|
87
89
|
|
|
88
90
|
## Compiled specification {#specification}
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
### `Greeter` · class · [source](greeter.md#code) {#symbol-Greeter}
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
Welcomes a user through the configured logger. It implements [`IGreeter`](greeter.md#symbol-IGreeter). The `logger` dependency is injected as [`Logger`](../logging/logger.md#symbol-Logger) and stored read-only (The application logger, injected when resolved).
|
|
93
95
|
|
|
94
|
-
|
|
95
|
-
- [`IGreeter`](greeter.md#symbol-IGreeter) is an interface.
|
|
96
|
+
#### `Greeter.greet` · [source](greeter.md#code) {#symbol-Greeter.greet}
|
|
96
97
|
|
|
97
|
-
|
|
98
|
+
Prints a personalized greeting. It takes `name` as a string (the user to welcome). It gets `console` ([`Console`](../dependencies/august/0.20.1/io/contracts.md#symbol-Console)) from dependency injection. It passes the text `Hello, {name}!` to [`logger.log`](../logging/logger.md#symbol-Logger.log), using injected `console`.
|
|
98
99
|
|
|
99
|
-
[source](greeter.md#code)
|
|
100
|
+
### `IGreeter` · interface · [source](greeter.md#code) {#symbol-IGreeter}
|
|
100
101
|
|
|
101
|
-
|
|
102
|
+
#### `IGreeter.greet` · [source](greeter.md#code) {#symbol-IGreeter.greet}
|
|
102
103
|
|
|
103
|
-
|
|
104
|
+
Prints a personalized greeting. It takes `name` as a string (the user to welcome). It gets `console` ([`Console`](../dependencies/august/0.20.1/io/contracts.md#symbol-Console)) from dependency injection. It can call [`Console.write`](../dependencies/august/0.20.1/io/contracts.md#symbol-Console.write).
|
|
104
105
|
|
|
105
|
-
|
|
106
|
+
### Dependencies
|
|
106
107
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
**Parameters**
|
|
110
|
-
- `logger`: The application logger, injected when resolved.
|
|
111
|
-
|
|
112
|
-
**Inputs**
|
|
113
|
-
|
|
114
|
-
- `logger` ([`Logger`](../logging/logger.md#symbol-Logger)) — injected; callers omit it — stored as `logger` and read-only after initialization.
|
|
115
|
-
|
|
116
|
-
#### `Greeter.greet` {#symbol-Greeter.greet}
|
|
117
|
-
|
|
118
|
-
[source](greeter.md#code)
|
|
119
|
-
|
|
120
|
-
**Inputs**
|
|
121
|
-
|
|
122
|
-
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
123
|
-
- `name` (`string`) — required labeled input.
|
|
124
|
-
|
|
125
|
-
Returns: no value.
|
|
126
|
-
|
|
127
|
-
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
128
|
-
|
|
129
|
-
**What it does**
|
|
130
|
-
|
|
131
|
-
- Call [`Logger.log`](../logging/logger.md#symbol-Logger.log) on `logger` with `message` = (text formed by joining `"Hello, "`, `name`, `"!"` in order); inject `console` from `console`.
|
|
132
|
-
|
|
133
|
-
**Author documentation**
|
|
134
|
-
|
|
135
|
-
Prints a personalized greeting.
|
|
136
|
-
|
|
137
|
-
**Parameters**
|
|
138
|
-
- `name`: The user to welcome.
|
|
139
|
-
|
|
140
|
-
### `IGreeter` {#symbol-IGreeter}
|
|
141
|
-
|
|
142
|
-
[source](greeter.md#code)
|
|
143
|
-
|
|
144
|
-
Interface.
|
|
145
|
-
|
|
146
|
-
#### `IGreeter.greet` {#symbol-IGreeter.greet}
|
|
147
|
-
|
|
148
|
-
[source](greeter.md#code)
|
|
149
|
-
|
|
150
|
-
**Inputs**
|
|
151
|
-
|
|
152
|
-
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
153
|
-
- `name` (`string`) — required labeled input.
|
|
154
|
-
|
|
155
|
-
Returns: no value.
|
|
156
|
-
|
|
157
|
-
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
158
|
-
|
|
159
|
-
Interface contract. A selected implementation supplies the behavior.
|
|
160
|
-
|
|
161
|
-
**Author documentation**
|
|
162
|
-
|
|
163
|
-
Prints a personalized greeting.
|
|
164
|
-
|
|
165
|
-
**Parameters**
|
|
166
|
-
- `name`: The user to welcome.
|
|
167
|
-
|
|
168
|
-
### Dependencies used by this file
|
|
169
|
-
|
|
170
|
-
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
171
|
-
|
|
172
|
-
#### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
173
|
-
|
|
174
|
-
Capability interface from `august.io`.
|
|
175
|
-
|
|
176
|
-
- [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
177
|
-
|
|
178
|
-
#### [`Logger`](../logging/logger.md#symbol-Logger)
|
|
179
|
-
|
|
180
|
-
Interface from `logging`.
|
|
181
|
-
|
|
182
|
-
- [`Logger.log`](../logging/logger.md#symbol-Logger.log) (`message`: `string`) → `void`; inject `console`: [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console); uses [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
183
|
-
|
|
184
|
-
### Shared language rules
|
|
185
|
-
|
|
186
|
-
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
108
|
+
It uses [`Console`](../dependencies/august/0.20.1/io/contracts.md#symbol-Console) ([`write`](../dependencies/august/0.20.1/io/contracts.md#symbol-Console.write)) from `august.io`. It uses [`Logger`](../logging/logger.md#symbol-Logger) ([`log`](../logging/logger.md#symbol-Logger.log)) from `logging`.
|
|
187
109
|
|
|
188
110
|
::::
|
|
189
111
|
|