@greenpandastudios/aug-cli 0.19.0
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/LICENSE +21 -0
- package/README.md +13 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/bin/aug.mjs +3 -0
- package/docs/api/crypto.md +351 -0
- package/docs/api/io.md +207 -0
- package/docs/api/json.md +21 -0
- package/docs/api/memory.md +109 -0
- package/docs/api/time.md +54 -0
- package/docs/api/web.md +184 -0
- package/docs/assets/benchmarks/execution.svg +2978 -0
- package/docs/assets/benchmarks/http.svg +1674 -0
- package/docs/assets/benchmarks/improvements.svg +2315 -0
- package/docs/assets/benchmarks/memory.svg +1891 -0
- package/docs/benchmark-baseline.json +1087 -0
- package/docs/benchmark-results.json +91123 -0
- package/docs/benchmarks.json +38 -0
- package/docs/compatibility.md +42 -0
- package/docs/concurrency-implementation.md +18 -0
- package/docs/diagnostics.md +97 -0
- package/docs/docker.md +35 -0
- package/docs/example-projects.json +26 -0
- package/docs/examples/approved-design/counters.md +253 -0
- package/docs/examples/approved-design/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/approved-design/domain/app.md +165 -0
- package/docs/examples/approved-design/domain/export.md +83 -0
- package/docs/examples/approved-design/domain/models.md +80 -0
- package/docs/examples/approved-design/domain/numbers.md +248 -0
- package/docs/examples/approved-design/index.md +39 -0
- package/docs/examples/approved-design/main-yaml.md +24 -0
- package/docs/examples/approved-design/main.md +215 -0
- package/docs/examples/benchmark/index.md +33 -0
- package/docs/examples/benchmark/main-yaml.md +17 -0
- package/docs/examples/benchmark/main.md +117 -0
- package/docs/examples/cli-args/index.md +32 -0
- package/docs/examples/cli-args/main.md +107 -0
- package/docs/examples/collections/index.md +32 -0
- package/docs/examples/collections/main.md +118 -0
- package/docs/examples/collections-benchmark/index.md +34 -0
- package/docs/examples/collections-benchmark/main.md +115 -0
- package/docs/examples/cpu-benchmark/index.md +34 -0
- package/docs/examples/cpu-benchmark/main.md +90 -0
- package/docs/examples/developer-workflow/calculator.md +357 -0
- package/docs/examples/developer-workflow/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/developer-workflow/index.md +37 -0
- package/docs/examples/developer-workflow/logging/console.md +124 -0
- package/docs/examples/developer-workflow/logging/export.md +70 -0
- package/docs/examples/developer-workflow/logging/logger.md +111 -0
- package/docs/examples/developer-workflow/main.md +172 -0
- package/docs/examples/drop/index.md +33 -0
- package/docs/examples/drop/main.md +85 -0
- package/docs/examples/drop/resource.md +95 -0
- package/docs/examples/errors/errors.md +85 -0
- package/docs/examples/errors/index.md +33 -0
- package/docs/examples/errors/main.md +92 -0
- package/docs/examples/ffi/index.md +33 -0
- package/docs/examples/ffi/main.md +75 -0
- package/docs/examples/ffi/native.md +93 -0
- package/docs/examples/generic-di/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/generic-di/index.md +33 -0
- package/docs/examples/generic-di/main.md +111 -0
- package/docs/examples/generic-di/types.md +180 -0
- package/docs/examples/generics/index.md +33 -0
- package/docs/examples/generics/main.md +120 -0
- package/docs/examples/generics/types.md +189 -0
- package/docs/examples/hello/app/export.md +67 -0
- package/docs/examples/hello/app/greeter.md +190 -0
- package/docs/examples/hello/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/hello/index.md +37 -0
- package/docs/examples/hello/logging/console.md +121 -0
- package/docs/examples/hello/logging/export.md +71 -0
- package/docs/examples/hello/logging/logger.md +120 -0
- package/docs/examples/hello/main.md +115 -0
- package/docs/examples/http-benchmark/index.md +35 -0
- package/docs/examples/http-benchmark/main.md +79 -0
- package/docs/examples/http-benchmark/routes.md +88 -0
- package/docs/examples/index.md +60 -0
- package/docs/examples/interceptors/app.md +250 -0
- package/docs/examples/interceptors/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/interceptors/index.md +35 -0
- package/docs/examples/interceptors/interceptors.md +284 -0
- package/docs/examples/interceptors/logging.md +155 -0
- package/docs/examples/interceptors/main.md +162 -0
- package/docs/examples/json-benchmark/data.md +71 -0
- package/docs/examples/json-benchmark/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/json-benchmark/index.md +35 -0
- package/docs/examples/json-benchmark/main.md +131 -0
- package/docs/examples/new-syntax/console.md +118 -0
- package/docs/examples/new-syntax/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/new-syntax/greeter.md +145 -0
- package/docs/examples/new-syntax/index.md +36 -0
- package/docs/examples/new-syntax/logger.md +111 -0
- package/docs/examples/new-syntax/main.md +135 -0
- package/docs/examples/new-syntax/math.md +79 -0
- package/docs/examples/oidc-login/client/contracts.md +151 -0
- package/docs/examples/oidc-login/client/endpoints.md +263 -0
- package/docs/examples/oidc-login/client/export.md +107 -0
- package/docs/examples/oidc-login/client/login.md +515 -0
- package/docs/examples/oidc-login/client/logout.md +249 -0
- package/docs/examples/oidc-login/client/protocol.md +595 -0
- package/docs/examples/oidc-login/client/session.md +297 -0
- package/docs/examples/oidc-login/client/views.md +144 -0
- package/docs/examples/oidc-login/common/export.md +115 -0
- package/docs/examples/oidc-login/common/headers.md +162 -0
- package/docs/examples/oidc-login/common/keys.md +336 -0
- package/docs/examples/oidc-login/common/settings.md +116 -0
- package/docs/examples/oidc-login/common/views.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/contracts.md +925 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/crypto/jose.md +434 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/json/contracts.md +103 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/memory/store.md +374 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/time/contracts.md +150 -0
- package/docs/examples/oidc-login/dependencies/august/0.19.0/web/contracts.md +532 -0
- package/docs/examples/oidc-login/index.md +57 -0
- package/docs/examples/oidc-login/main-yaml.md +28 -0
- package/docs/examples/oidc-login/main.md +283 -0
- package/docs/examples/oidc-login/provider/authorization.md +457 -0
- package/docs/examples/oidc-login/provider/contracts.md +267 -0
- package/docs/examples/oidc-login/provider/credentials.md +148 -0
- package/docs/examples/oidc-login/provider/discovery.md +215 -0
- package/docs/examples/oidc-login/provider/export.md +131 -0
- package/docs/examples/oidc-login/provider/token.md +364 -0
- package/docs/examples/oidc-login/provider/userinfo.md +228 -0
- package/docs/examples/oidc-login/provider/views.md +137 -0
- package/docs/examples/ownership/counter.md +140 -0
- package/docs/examples/ownership/index.md +33 -0
- package/docs/examples/ownership/main.md +90 -0
- package/docs/examples/ownership-transfer/dependencies/august/0.19.0/io/contracts.md +395 -0
- package/docs/examples/ownership-transfer/index.md +33 -0
- package/docs/examples/ownership-transfer/main.md +125 -0
- package/docs/examples/ownership-transfer/resource.md +150 -0
- package/docs/examples/packages-app/dependencies/packages/@example/aug-math/0.1.0/arithmetic.md +117 -0
- package/docs/examples/packages-app/index.md +34 -0
- package/docs/examples/packages-app/main-yaml.md +18 -0
- package/docs/examples/packages-app/main.md +80 -0
- package/docs/examples/packages-math/aug-package-json.md +24 -0
- package/docs/examples/packages-math/index.md +36 -0
- package/docs/examples/packages-math/package-json.md +25 -0
- package/docs/examples/packages-math/src/arithmetic.md +121 -0
- package/docs/examples/packages-math/src/export.md +63 -0
- package/docs/examples/startup-benchmark/index.md +34 -0
- package/docs/examples/startup-benchmark/main.md +68 -0
- package/docs/examples/visibility/counter.md +142 -0
- package/docs/examples/visibility/index.md +33 -0
- package/docs/examples/visibility/main.md +96 -0
- package/docs/examples.json +47 -0
- package/docs/getting-started.md +5 -0
- package/docs/grammar.md +136 -0
- package/docs/implementation-map.md +106 -0
- package/docs/index.md +46 -0
- package/docs/language-conformance.md +30 -0
- package/docs/language-constructs.md +1461 -0
- package/docs/language-design-audit.md +147 -0
- package/docs/maintaining-docs.md +43 -0
- package/docs/packages.md +184 -0
- package/docs/performance.md +535 -0
- package/docs/production-readiness.md +39 -0
- package/docs/reference.md +361 -0
- package/docs/release-review.md +23 -0
- package/docs/releasing.md +79 -0
- package/docs/roadmap.md +13 -0
- package/docs/specifications.md +86 -0
- package/docs/testing.md +120 -0
- package/docs/tooling.md +197 -0
- package/docs/web-implementation-plan.md +39 -0
- package/docs/web-library-gaps.md +27 -0
- package/docs/web.md +197 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/approved-design/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/approved-design/.aug-spec/manifest.json +14 -0
- package/examples/approved-design/counters.aug +22 -0
- package/examples/approved-design/counters.aug.md +177 -0
- package/examples/approved-design/domain/app.aug +12 -0
- package/examples/approved-design/domain/app.aug.md +97 -0
- package/examples/approved-design/domain/export.aug +5 -0
- package/examples/approved-design/domain/export.aug.md +25 -0
- package/examples/approved-design/domain/models.aug +2 -0
- package/examples/approved-design/domain/models.aug.md +30 -0
- package/examples/approved-design/domain/numbers.aug +29 -0
- package/examples/approved-design/domain/numbers.aug.md +141 -0
- package/examples/approved-design/main.aug +26 -0
- package/examples/approved-design/main.aug.md +108 -0
- package/examples/approved-design/main.yaml +8 -0
- package/examples/benchmark/.aug-spec/manifest.json +7 -0
- package/examples/benchmark/main.aug +17 -0
- package/examples/benchmark/main.aug.md +43 -0
- package/examples/benchmark/main.yaml +1 -0
- package/examples/cli-args/.aug-spec/manifest.json +7 -0
- package/examples/cli-args/main.aug +15 -0
- package/examples/cli-args/main.aug.md +38 -0
- package/examples/collections/.aug-spec/manifest.json +7 -0
- package/examples/collections/main.aug +18 -0
- package/examples/collections/main.aug.md +43 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/developer-workflow/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/developer-workflow/.aug-spec/manifest.json +13 -0
- package/examples/developer-workflow/calculator.aug +55 -0
- package/examples/developer-workflow/calculator.aug.md +228 -0
- package/examples/developer-workflow/logging/console.aug +8 -0
- package/examples/developer-workflow/logging/console.aug.md +67 -0
- package/examples/developer-workflow/logging/export.aug +2 -0
- package/examples/developer-workflow/logging/export.aug.md +19 -0
- package/examples/developer-workflow/logging/logger.aug +6 -0
- package/examples/developer-workflow/logging/logger.aug.md +57 -0
- package/examples/developer-workflow/main.aug +25 -0
- package/examples/developer-workflow/main.aug.md +79 -0
- package/examples/drop/.aug-spec/manifest.json +8 -0
- package/examples/drop/main.aug +3 -0
- package/examples/drop/main.aug.md +35 -0
- package/examples/drop/resource.aug +8 -0
- package/examples/drop/resource.aug.md +44 -0
- package/examples/errors/.aug-spec/manifest.json +8 -0
- package/examples/errors/errors.aug +6 -0
- package/examples/errors/errors.aug.md +33 -0
- package/examples/errors/main.aug +7 -0
- package/examples/errors/main.aug.md +36 -0
- package/examples/ffi/.aug-spec/manifest.json +8 -0
- package/examples/ffi/main.aug +2 -0
- package/examples/ffi/main.aug.md +27 -0
- package/examples/ffi/native.aug +6 -0
- package/examples/ffi/native.aug.md +43 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/generic-di/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/generic-di/.aug-spec/manifest.json +10 -0
- package/examples/generic-di/main.aug +9 -0
- package/examples/generic-di/main.aug.md +49 -0
- package/examples/generic-di/types.aug +17 -0
- package/examples/generic-di/types.aug.md +124 -0
- package/examples/generics/.aug-spec/manifest.json +8 -0
- package/examples/generics/main.aug +9 -0
- package/examples/generics/main.aug.md +58 -0
- package/examples/generics/types.aug +19 -0
- package/examples/generics/types.aug.md +132 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/hello/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/hello/.aug-spec/manifest.json +14 -0
- package/examples/hello/app/export.aug +1 -0
- package/examples/hello/app/export.aug.md +17 -0
- package/examples/hello/app/greeter.aug +22 -0
- package/examples/hello/app/greeter.aug.md +109 -0
- package/examples/hello/logging/console.aug +7 -0
- package/examples/hello/logging/console.aug.md +65 -0
- package/examples/hello/logging/export.aug +2 -0
- package/examples/hello/logging/export.aug.md +19 -0
- package/examples/hello/logging/logger.aug +9 -0
- package/examples/hello/logging/logger.aug.md +59 -0
- package/examples/hello/main.aug +9 -0
- package/examples/hello/main.aug.md +49 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/interceptors/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/interceptors/.aug-spec/manifest.json +12 -0
- package/examples/interceptors/app.aug +28 -0
- package/examples/interceptors/app.aug.md +162 -0
- package/examples/interceptors/interceptors.aug +40 -0
- package/examples/interceptors/interceptors.aug.md +180 -0
- package/examples/interceptors/logging.aug +12 -0
- package/examples/interceptors/logging.aug.md +96 -0
- package/examples/interceptors/main.aug +22 -0
- package/examples/interceptors/main.aug.md +76 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/new-syntax/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/new-syntax/.aug-spec/manifest.json +13 -0
- package/examples/new-syntax/console.aug +7 -0
- package/examples/new-syntax/console.aug.md +63 -0
- package/examples/new-syntax/greeter.aug +10 -0
- package/examples/new-syntax/greeter.aug.md +89 -0
- package/examples/new-syntax/logger.aug +6 -0
- package/examples/new-syntax/logger.aug.md +57 -0
- package/examples/new-syntax/main.aug +12 -0
- package/examples/new-syntax/main.aug.md +64 -0
- package/examples/new-syntax/math.aug +3 -0
- package/examples/new-syntax/math.aug.md +29 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug +73 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/contracts.aug.md +791 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug +68 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/crypto/jose.aug.md +266 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug +6 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/json/contracts.aug.md +55 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug +45 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/memory/store.aug.md +250 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug +11 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/time/contracts.aug.md +96 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug +58 -0
- package/examples/oidc-login/.aug-spec/august/0.19.0/web/contracts.aug.md +420 -0
- package/examples/oidc-login/.aug-spec/manifest.json +40 -0
- package/examples/oidc-login/README.md +29 -0
- package/examples/oidc-login/client/contracts.aug +7 -0
- package/examples/oidc-login/client/contracts.aug.md +80 -0
- package/examples/oidc-login/client/endpoints.aug +21 -0
- package/examples/oidc-login/client/endpoints.aug.md +161 -0
- package/examples/oidc-login/client/export.aug +7 -0
- package/examples/oidc-login/client/export.aug.md +29 -0
- package/examples/oidc-login/client/login.aug +58 -0
- package/examples/oidc-login/client/login.aug.md +331 -0
- package/examples/oidc-login/client/logout.aug +18 -0
- package/examples/oidc-login/client/logout.aug.md +150 -0
- package/examples/oidc-login/client/protocol.aug +106 -0
- package/examples/oidc-login/client/protocol.aug.md +326 -0
- package/examples/oidc-login/client/session.aug +34 -0
- package/examples/oidc-login/client/session.aug.md +155 -0
- package/examples/oidc-login/client/views.aug +21 -0
- package/examples/oidc-login/client/views.aug.md +68 -0
- package/examples/oidc-login/common/export.aug +9 -0
- package/examples/oidc-login/common/export.aug.md +33 -0
- package/examples/oidc-login/common/headers.aug +11 -0
- package/examples/oidc-login/common/headers.aug.md +79 -0
- package/examples/oidc-login/common/keys.aug +37 -0
- package/examples/oidc-login/common/keys.aug.md +207 -0
- package/examples/oidc-login/common/settings.aug +4 -0
- package/examples/oidc-login/common/settings.aug.md +47 -0
- package/examples/oidc-login/common/views.aug +16 -0
- package/examples/oidc-login/common/views.aug.md +34 -0
- package/examples/oidc-login/main.aug +39 -0
- package/examples/oidc-login/main.aug.md +166 -0
- package/examples/oidc-login/main.yaml +12 -0
- package/examples/oidc-login/provider/authorization.aug +59 -0
- package/examples/oidc-login/provider/authorization.aug.md +264 -0
- package/examples/oidc-login/provider/contracts.aug +15 -0
- package/examples/oidc-login/provider/contracts.aug.md +193 -0
- package/examples/oidc-login/provider/credentials.aug +10 -0
- package/examples/oidc-login/provider/credentials.aug.md +64 -0
- package/examples/oidc-login/provider/discovery.aug +13 -0
- package/examples/oidc-login/provider/discovery.aug.md +133 -0
- package/examples/oidc-login/provider/export.aug +13 -0
- package/examples/oidc-login/provider/export.aug.md +41 -0
- package/examples/oidc-login/provider/token.aug +37 -0
- package/examples/oidc-login/provider/token.aug.md +223 -0
- package/examples/oidc-login/provider/userinfo.aug +26 -0
- package/examples/oidc-login/provider/userinfo.aug.md +104 -0
- package/examples/oidc-login/provider/views.aug +18 -0
- package/examples/oidc-login/provider/views.aug.md +63 -0
- package/examples/ownership/.aug-spec/manifest.json +8 -0
- package/examples/ownership/counter.aug +14 -0
- package/examples/ownership/counter.aug.md +85 -0
- package/examples/ownership/main.aug +4 -0
- package/examples/ownership/main.aug.md +38 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug +36 -0
- package/examples/ownership-transfer/.aug-spec/august/0.19.0/io/contracts.aug.md +316 -0
- package/examples/ownership-transfer/.aug-spec/manifest.json +10 -0
- package/examples/ownership-transfer/main.aug +9 -0
- package/examples/ownership-transfer/main.aug.md +63 -0
- package/examples/ownership-transfer/resource.aug +16 -0
- package/examples/ownership-transfer/resource.aug.md +89 -0
- package/examples/packages/README.md +15 -0
- package/examples/packages/app/.aug-spec/manifest.json +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug +9 -0
- package/examples/packages/app/.aug-spec/packages/@example/aug-math/0.1.0/arithmetic.aug.md +63 -0
- package/examples/packages/app/main.aug +2 -0
- package/examples/packages/app/main.aug.md +33 -0
- package/examples/packages/app/main.yaml +2 -0
- package/examples/packages/math/.aug-spec/manifest.json +8 -0
- package/examples/packages/math/README.md +3 -0
- package/examples/packages/math/aug-package.json +8 -0
- package/examples/packages/math/package.json +9 -0
- package/examples/packages/math/src/arithmetic.aug +8 -0
- package/examples/packages/math/src/arithmetic.aug.md +63 -0
- package/examples/packages/math/src/export.aug +1 -0
- package/examples/packages/math/src/export.aug.md +17 -0
- package/examples/visibility/.aug-spec/manifest.json +8 -0
- package/examples/visibility/counter.aug +14 -0
- package/examples/visibility/counter.aug.md +87 -0
- package/examples/visibility/main.aug +7 -0
- package/examples/visibility/main.aug.md +39 -0
- package/package.json +50 -0
- package/runtime/aug_crypto.c +121 -0
- package/runtime/aug_html.c +93 -0
- package/runtime/aug_http.c +829 -0
- package/runtime/aug_json.c +165 -0
- package/runtime/aug_runtime.c +792 -0
- package/runtime/aug_runtime.h +245 -0
- package/runtime/aug_tasks.c +172 -0
- package/runtime/aug_time.c +5 -0
- package/runtime/aug_values.c +80 -0
- package/scripts/bootstrap-native.mjs +121 -0
- package/scripts/native-dependencies.lock.json +65 -0
- package/scripts/native-home.mjs +11 -0
- package/src/actions.js +109 -0
- package/src/ast.js +19 -0
- package/src/builtins.js +93 -0
- package/src/checker.js +2896 -0
- package/src/cli.js +344 -0
- package/src/codegen.js +1159 -0
- package/src/config.js +149 -0
- package/src/continuation.js +110 -0
- package/src/di.js +24 -0
- package/src/documentation.js +27 -0
- package/src/editor.js +782 -0
- package/src/effects.js +29 -0
- package/src/fixes.js +222 -0
- package/src/formatter.js +296 -0
- package/src/freshness.js +154 -0
- package/src/help.js +212 -0
- package/src/html.js +27 -0
- package/src/http-policies.js +90 -0
- package/src/inference.js +16 -0
- package/src/interceptors.js +70 -0
- package/src/javadoc.js +67 -0
- package/src/lexer.js +199 -0
- package/src/libraries.js +31 -0
- package/src/lsp.js +180 -0
- package/src/native.js +144 -0
- package/src/navigation.js +162 -0
- package/src/openapi.js +220 -0
- package/src/ownership.js +232 -0
- package/src/package-manager.js +299 -0
- package/src/parser.js +1155 -0
- package/src/policies.js +130 -0
- package/src/project-init.js +19 -0
- package/src/project.js +292 -0
- package/src/schemas.js +62 -0
- package/src/semantic.js +255 -0
- package/src/spec.js +738 -0
- package/src/testing.js +186 -0
- package/src/types.js +10 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "logging/console.aug · Hello world with dependencies"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "examples/hello/logging/console.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `logging/console.aug`
|
|
13
|
+
|
|
14
|
+
[Hello world with dependencies](../index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](../main.md)
|
|
19
|
+
- [`app/export.aug`](../app/export.md)
|
|
20
|
+
- [`app/greeter.aug`](../app/greeter.md)
|
|
21
|
+
- [`logging/console.aug`](console.md)
|
|
22
|
+
- [`logging/export.aug`](export.md)
|
|
23
|
+
- [`logging/logger.aug`](logger.md)
|
|
24
|
+
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
::::: example-compare
|
|
28
|
+
|
|
29
|
+
:::: example-code
|
|
30
|
+
|
|
31
|
+
## Code {#code}
|
|
32
|
+
|
|
33
|
+
::: code-group
|
|
34
|
+
|
|
35
|
+
```aug [Indentation]
|
|
36
|
+
import Console from august.io
|
|
37
|
+
import Logger from logger
|
|
38
|
+
ConsoleLogger() implements Logger:
|
|
39
|
+
log(resolve Console console, string message) uses Console.write:
|
|
40
|
+
console.write(value=message)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```aug [Braces]
|
|
44
|
+
import Console from august.io
|
|
45
|
+
import Logger from logger
|
|
46
|
+
ConsoleLogger() implements Logger {
|
|
47
|
+
log(resolve Console console, string message) uses Console.write {
|
|
48
|
+
console.write(value=message)
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
::::
|
|
56
|
+
|
|
57
|
+
:::: example-spec
|
|
58
|
+
|
|
59
|
+
## Compiled specification {#specification}
|
|
60
|
+
|
|
61
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
62
|
+
|
|
63
|
+
### In this file
|
|
64
|
+
|
|
65
|
+
- [`ConsoleLogger`](console.md#symbol-ConsoleLogger) is a class implementing `Logger`.
|
|
66
|
+
|
|
67
|
+
### `ConsoleLogger` {#symbol-ConsoleLogger}
|
|
68
|
+
|
|
69
|
+
[source](console.md#code)
|
|
70
|
+
|
|
71
|
+
Behavioral class.
|
|
72
|
+
|
|
73
|
+
Satisfies [`Logger`](logger.md#symbol-Logger).
|
|
74
|
+
|
|
75
|
+
#### `ConsoleLogger.log` {#symbol-ConsoleLogger.log}
|
|
76
|
+
|
|
77
|
+
[source](console.md#code)
|
|
78
|
+
|
|
79
|
+
**Inputs**
|
|
80
|
+
|
|
81
|
+
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
82
|
+
- `message` (`string`) — required labeled input.
|
|
83
|
+
|
|
84
|
+
Returns: no value.
|
|
85
|
+
|
|
86
|
+
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
87
|
+
|
|
88
|
+
**What it does**
|
|
89
|
+
|
|
90
|
+
- Call [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write) on `console` with `value` = `message`.
|
|
91
|
+
|
|
92
|
+
**Author documentation**
|
|
93
|
+
|
|
94
|
+
Writes one message.
|
|
95
|
+
|
|
96
|
+
**Parameters**
|
|
97
|
+
- `message`: Text to write.
|
|
98
|
+
|
|
99
|
+
### Dependencies used by this file
|
|
100
|
+
|
|
101
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
102
|
+
|
|
103
|
+
#### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
104
|
+
|
|
105
|
+
Capability interface from `august.io`.
|
|
106
|
+
|
|
107
|
+
- [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
108
|
+
|
|
109
|
+
#### [`Logger`](logger.md#symbol-Logger)
|
|
110
|
+
|
|
111
|
+
Interface from `logger`.
|
|
112
|
+
|
|
113
|
+
Used as a type or provider.
|
|
114
|
+
|
|
115
|
+
### Shared language rules
|
|
116
|
+
|
|
117
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
118
|
+
|
|
119
|
+
::::
|
|
120
|
+
|
|
121
|
+
:::::
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "logging/export.aug · Hello world with dependencies"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "examples/hello/logging/export.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `logging/export.aug`
|
|
13
|
+
|
|
14
|
+
[Hello world with dependencies](../index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](../main.md)
|
|
19
|
+
- [`app/export.aug`](../app/export.md)
|
|
20
|
+
- [`app/greeter.aug`](../app/greeter.md)
|
|
21
|
+
- [`logging/console.aug`](console.md)
|
|
22
|
+
- [`logging/export.aug`](export.md)
|
|
23
|
+
- [`logging/logger.aug`](logger.md)
|
|
24
|
+
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
::::: example-compare
|
|
28
|
+
|
|
29
|
+
:::: example-code
|
|
30
|
+
|
|
31
|
+
## Code {#code}
|
|
32
|
+
|
|
33
|
+
::: code-group
|
|
34
|
+
|
|
35
|
+
```aug [Indentation]
|
|
36
|
+
export Logger from logger
|
|
37
|
+
export ConsoleLogger from console
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```aug [Braces]
|
|
41
|
+
export Logger from logger
|
|
42
|
+
export ConsoleLogger from console
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
:::
|
|
46
|
+
|
|
47
|
+
::::
|
|
48
|
+
|
|
49
|
+
:::: example-spec
|
|
50
|
+
|
|
51
|
+
## Compiled specification {#specification}
|
|
52
|
+
|
|
53
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
54
|
+
|
|
55
|
+
### In this file
|
|
56
|
+
|
|
57
|
+
- Export `Logger` from this folder.
|
|
58
|
+
- Export `ConsoleLogger` from this folder.
|
|
59
|
+
|
|
60
|
+
### Folder exports
|
|
61
|
+
|
|
62
|
+
- Export the declaration `Logger` from [`logger.aug`](logger.md#symbol-Logger).
|
|
63
|
+
- Export the declaration `ConsoleLogger` from [`console.aug`](console.md#symbol-ConsoleLogger).
|
|
64
|
+
|
|
65
|
+
### Shared language rules
|
|
66
|
+
|
|
67
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
68
|
+
|
|
69
|
+
::::
|
|
70
|
+
|
|
71
|
+
:::::
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "logging/logger.aug · Hello world with dependencies"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "examples/hello/logging/logger.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `logging/logger.aug`
|
|
13
|
+
|
|
14
|
+
[Hello world with dependencies](../index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](../main.md)
|
|
19
|
+
- [`app/export.aug`](../app/export.md)
|
|
20
|
+
- [`app/greeter.aug`](../app/greeter.md)
|
|
21
|
+
- [`logging/console.aug`](console.md)
|
|
22
|
+
- [`logging/export.aug`](export.md)
|
|
23
|
+
- [`logging/logger.aug`](logger.md)
|
|
24
|
+
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
::::: example-compare
|
|
28
|
+
|
|
29
|
+
:::: example-code
|
|
30
|
+
|
|
31
|
+
## Code {#code}
|
|
32
|
+
|
|
33
|
+
::: code-group
|
|
34
|
+
|
|
35
|
+
```aug [Indentation]
|
|
36
|
+
import Console from august.io
|
|
37
|
+
/** Writes messages to an application log. */
|
|
38
|
+
interface Logger:
|
|
39
|
+
/**
|
|
40
|
+
* Writes one message.
|
|
41
|
+
* @param message Text to write.
|
|
42
|
+
*/
|
|
43
|
+
log(resolve Console console, string message) uses Console.write
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```aug [Braces]
|
|
47
|
+
import Console from august.io
|
|
48
|
+
/** Writes messages to an application log. */
|
|
49
|
+
interface Logger {
|
|
50
|
+
/**
|
|
51
|
+
* Writes one message.
|
|
52
|
+
* @param message Text to write.
|
|
53
|
+
*/
|
|
54
|
+
log(resolve Console console, string message) uses Console.write
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
:::
|
|
59
|
+
|
|
60
|
+
::::
|
|
61
|
+
|
|
62
|
+
:::: example-spec
|
|
63
|
+
|
|
64
|
+
## Compiled specification {#specification}
|
|
65
|
+
|
|
66
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
67
|
+
|
|
68
|
+
### In this file
|
|
69
|
+
|
|
70
|
+
- [`Logger`](logger.md#symbol-Logger) is an interface.
|
|
71
|
+
|
|
72
|
+
### `Logger` {#symbol-Logger}
|
|
73
|
+
|
|
74
|
+
[source](logger.md#code)
|
|
75
|
+
|
|
76
|
+
Interface.
|
|
77
|
+
|
|
78
|
+
**Author documentation**
|
|
79
|
+
|
|
80
|
+
Writes messages to an application log.
|
|
81
|
+
|
|
82
|
+
#### `Logger.log` {#symbol-Logger.log}
|
|
83
|
+
|
|
84
|
+
[source](logger.md#code)
|
|
85
|
+
|
|
86
|
+
**Inputs**
|
|
87
|
+
|
|
88
|
+
- `console` ([`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)) — injected; callers omit it.
|
|
89
|
+
- `message` (`string`) — required labeled input.
|
|
90
|
+
|
|
91
|
+
Returns: no value.
|
|
92
|
+
|
|
93
|
+
Capabilities: [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write).
|
|
94
|
+
|
|
95
|
+
Interface contract. A selected implementation supplies the behavior.
|
|
96
|
+
|
|
97
|
+
**Author documentation**
|
|
98
|
+
|
|
99
|
+
Writes one message.
|
|
100
|
+
|
|
101
|
+
**Parameters**
|
|
102
|
+
- `message`: Text to write.
|
|
103
|
+
|
|
104
|
+
### Dependencies used by this file
|
|
105
|
+
|
|
106
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
107
|
+
|
|
108
|
+
#### [`Console`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console)
|
|
109
|
+
|
|
110
|
+
Capability interface from `august.io`.
|
|
111
|
+
|
|
112
|
+
- [`Console.write`](../dependencies/august/0.19.0/io/contracts.md#symbol-Console.write)<`T`> (`value`: `T`) → `void`.
|
|
113
|
+
|
|
114
|
+
### Shared language rules
|
|
115
|
+
|
|
116
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
117
|
+
|
|
118
|
+
::::
|
|
119
|
+
|
|
120
|
+
:::::
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "main.aug · Hello world with dependencies"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "examples/hello/main.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `main.aug`
|
|
13
|
+
|
|
14
|
+
[Hello world with dependencies](index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](main.md)
|
|
19
|
+
- [`app/export.aug`](app/export.md)
|
|
20
|
+
- [`app/greeter.aug`](app/greeter.md)
|
|
21
|
+
- [`logging/console.aug`](logging/console.md)
|
|
22
|
+
- [`logging/export.aug`](logging/export.md)
|
|
23
|
+
- [`logging/logger.aug`](logging/logger.md)
|
|
24
|
+
|
|
25
|
+
:::
|
|
26
|
+
|
|
27
|
+
::::: example-compare
|
|
28
|
+
|
|
29
|
+
:::: example-code
|
|
30
|
+
|
|
31
|
+
## Code {#code}
|
|
32
|
+
|
|
33
|
+
::: code-group
|
|
34
|
+
|
|
35
|
+
```aug [Indentation]
|
|
36
|
+
import Console and SystemConsole from august.io
|
|
37
|
+
implement Console with SystemConsole
|
|
38
|
+
import Logger from logging
|
|
39
|
+
import ConsoleLogger from logging
|
|
40
|
+
import Greeter from app
|
|
41
|
+
implement Logger with ConsoleLogger
|
|
42
|
+
implement app with Greeter
|
|
43
|
+
resolve app to greeter
|
|
44
|
+
greeter.greet(name="AugScript")
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```aug [Braces]
|
|
48
|
+
import Console and SystemConsole from august.io
|
|
49
|
+
implement Console with SystemConsole
|
|
50
|
+
import Logger from logging
|
|
51
|
+
import ConsoleLogger from logging
|
|
52
|
+
import Greeter from app
|
|
53
|
+
implement Logger with ConsoleLogger
|
|
54
|
+
implement app with Greeter
|
|
55
|
+
resolve app to greeter
|
|
56
|
+
greeter.greet(name="AugScript")
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
:::
|
|
60
|
+
|
|
61
|
+
::::
|
|
62
|
+
|
|
63
|
+
:::: example-spec
|
|
64
|
+
|
|
65
|
+
## Compiled specification {#specification}
|
|
66
|
+
|
|
67
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
68
|
+
|
|
69
|
+
### In this file
|
|
70
|
+
|
|
71
|
+
- Register 3 dependency providers before startup.
|
|
72
|
+
- Run 2 other startup steps in source order.
|
|
73
|
+
|
|
74
|
+
### Dependency providers
|
|
75
|
+
|
|
76
|
+
Register these providers before startup. Their declaration order does not set initialization order; shared instances initialize in dependency order.
|
|
77
|
+
|
|
78
|
+
- Provide [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole) when `Console` is requested. Reuse one instance.
|
|
79
|
+
- Provide [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger) when `Logger` is requested. Reuse one instance.
|
|
80
|
+
- Provide [`Greeter`](app/greeter.md#symbol-Greeter) when `app` is requested. Reuse one instance. Required dependencies: `Logger`.
|
|
81
|
+
|
|
82
|
+
### Startup, in source order
|
|
83
|
+
|
|
84
|
+
- Set `greeter` to the instance provided for `app`.
|
|
85
|
+
- Call [`Greeter.greet`](app/greeter.md#symbol-Greeter.greet) on `greeter` with `name` = `"AugScript"`; inject `console` from `Console`.
|
|
86
|
+
|
|
87
|
+
### Dependencies used by this file
|
|
88
|
+
|
|
89
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
90
|
+
|
|
91
|
+
#### [`SystemConsole`](dependencies/august/0.19.0/io/contracts.md#symbol-SystemConsole)
|
|
92
|
+
|
|
93
|
+
Class from `august.io`.
|
|
94
|
+
|
|
95
|
+
Used as a type or provider.
|
|
96
|
+
|
|
97
|
+
#### [`Greeter`](app/greeter.md#symbol-Greeter)
|
|
98
|
+
|
|
99
|
+
Class from `app`.
|
|
100
|
+
|
|
101
|
+
- [`Greeter.greet`](app/greeter.md#symbol-Greeter.greet) (`name`: `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).
|
|
102
|
+
|
|
103
|
+
#### [`ConsoleLogger`](logging/console.md#symbol-ConsoleLogger)
|
|
104
|
+
|
|
105
|
+
Class from `logging`.
|
|
106
|
+
|
|
107
|
+
Used as a type or provider.
|
|
108
|
+
|
|
109
|
+
### Shared language rules
|
|
110
|
+
|
|
111
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
112
|
+
|
|
113
|
+
::::
|
|
114
|
+
|
|
115
|
+
:::::
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "HTTP benchmark"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "benchmarks/http"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# HTTP benchmark
|
|
12
|
+
|
|
13
|
+
Serve the typed JSON endpoint used in the throughput measurements.
|
|
14
|
+
|
|
15
|
+
Read a file below to see its highlighted source and the Markdown produced by `aug spec`. Choose **Indentation** or **Braces** above the code. Both views describe the same checked program; your choice is kept when you open another file.
|
|
16
|
+
|
|
17
|
+
## Project files
|
|
18
|
+
|
|
19
|
+
- [`main.aug`](main.md)
|
|
20
|
+
- [`routes.aug`](routes.md)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Try this project
|
|
24
|
+
|
|
25
|
+
From a repository checkout with August installed:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
aug check benchmarks/http
|
|
29
|
+
aug spec benchmarks/http
|
|
30
|
+
aug run benchmarks/http
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
See [the performance page](../../performance.md) for measurements, input sizes, and reproduction steps.
|
|
34
|
+
|
|
35
|
+
[Browse all examples](../index.md)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "main.aug · HTTP benchmark"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "benchmarks/http/main.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `main.aug`
|
|
13
|
+
|
|
14
|
+
[HTTP benchmark](index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](main.md)
|
|
19
|
+
- [`routes.aug`](routes.md)
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
::::: example-compare
|
|
24
|
+
|
|
25
|
+
:::: example-code
|
|
26
|
+
|
|
27
|
+
## Code {#code}
|
|
28
|
+
|
|
29
|
+
::: code-group
|
|
30
|
+
|
|
31
|
+
```aug [Indentation]
|
|
32
|
+
import reply from routes
|
|
33
|
+
serve reply on port 0
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```aug [Braces]
|
|
37
|
+
import reply from routes
|
|
38
|
+
serve reply on port 0
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
:::
|
|
42
|
+
|
|
43
|
+
::::
|
|
44
|
+
|
|
45
|
+
:::: example-spec
|
|
46
|
+
|
|
47
|
+
## Compiled specification {#specification}
|
|
48
|
+
|
|
49
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
50
|
+
|
|
51
|
+
### In this file
|
|
52
|
+
|
|
53
|
+
- Serve 1 HTTP route.
|
|
54
|
+
|
|
55
|
+
### HTTP configuration
|
|
56
|
+
|
|
57
|
+
Listen on `127.0.0.1`. Limit request bodies to 1048576 bytes and buffered responses to 4194304 bytes.
|
|
58
|
+
|
|
59
|
+
### Startup, in source order
|
|
60
|
+
|
|
61
|
+
- Serve [`reply`](routes.md#symbol-reply) on port `0`.
|
|
62
|
+
|
|
63
|
+
### Dependencies used by this file
|
|
64
|
+
|
|
65
|
+
Only referenced types and operations appear here. Each name links to its complete specification.
|
|
66
|
+
|
|
67
|
+
#### [`reply`](routes.md#symbol-reply)
|
|
68
|
+
|
|
69
|
+
Function from `routes`.
|
|
70
|
+
|
|
71
|
+
- [`reply`](routes.md#symbol-reply) (no caller inputs) → [`Reply`](routes.md#symbol-Reply).
|
|
72
|
+
|
|
73
|
+
### Shared language rules
|
|
74
|
+
|
|
75
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
76
|
+
|
|
77
|
+
::::
|
|
78
|
+
|
|
79
|
+
:::::
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "routes.aug · HTTP benchmark"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "benchmarks/http/routes.aug"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
pageClass: aug-example-page
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# `routes.aug`
|
|
13
|
+
|
|
14
|
+
[HTTP benchmark](index.md) · Source and specification
|
|
15
|
+
|
|
16
|
+
::: details Files in this project
|
|
17
|
+
|
|
18
|
+
- [`main.aug`](main.md)
|
|
19
|
+
- [`routes.aug`](routes.md)
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
::::: example-compare
|
|
24
|
+
|
|
25
|
+
:::: example-code
|
|
26
|
+
|
|
27
|
+
## Code {#code}
|
|
28
|
+
|
|
29
|
+
::: code-group
|
|
30
|
+
|
|
31
|
+
```aug [Indentation]
|
|
32
|
+
record Reply(int id, string message)
|
|
33
|
+
endpoint GET "/bench" as reply() returns Reply:
|
|
34
|
+
return Reply(id=7, message="hello")
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```aug [Braces]
|
|
38
|
+
record Reply(int id, string message)
|
|
39
|
+
endpoint GET "/bench" as reply() returns Reply {
|
|
40
|
+
return Reply(id=7, message="hello")
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
:::
|
|
45
|
+
|
|
46
|
+
::::
|
|
47
|
+
|
|
48
|
+
:::: example-spec
|
|
49
|
+
|
|
50
|
+
## Compiled specification {#specification}
|
|
51
|
+
|
|
52
|
+
August 0.19.0. This document is compiled from checked code with deterministic wording guided by Simplified Technical English.
|
|
53
|
+
|
|
54
|
+
### In this file
|
|
55
|
+
|
|
56
|
+
- [`Reply`](routes.md#symbol-Reply) is an immutable record.
|
|
57
|
+
- [`reply`](routes.md#symbol-reply) handles `GET` `/bench` returning `Reply`.
|
|
58
|
+
|
|
59
|
+
### `Reply` {#symbol-Reply}
|
|
60
|
+
|
|
61
|
+
[source](routes.md#code)
|
|
62
|
+
|
|
63
|
+
Immutable record.
|
|
64
|
+
|
|
65
|
+
**Inputs**
|
|
66
|
+
|
|
67
|
+
- `id` (`int`) — required labeled input — stored as `id` and read-only after initialization.
|
|
68
|
+
- `message` (`string`) — required labeled input — stored as `message` and read-only after initialization.
|
|
69
|
+
|
|
70
|
+
### `reply` {#symbol-reply}
|
|
71
|
+
|
|
72
|
+
[source](routes.md#code)
|
|
73
|
+
|
|
74
|
+
Returns: [`Reply`](routes.md#symbol-Reply).
|
|
75
|
+
|
|
76
|
+
HTTP route: `GET` `/bench`. Use status 200 when the handler returns a body; a returned HttpResponse can set its own status. An unhandled request failure returns status 500 and cancels its request tasks.
|
|
77
|
+
|
|
78
|
+
**What it does**
|
|
79
|
+
|
|
80
|
+
- Return call [`Reply`](routes.md#symbol-Reply) with `id` = `7`; `message` = `"hello"`.
|
|
81
|
+
|
|
82
|
+
### Shared language rules
|
|
83
|
+
|
|
84
|
+
See the [language reference](https://greenpandastudios.github.io/augscript/reference) for numeric, equality, ownership, and task rules.
|
|
85
|
+
|
|
86
|
+
::::
|
|
87
|
+
|
|
88
|
+
:::::
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Example projects"
|
|
3
|
+
generated: true
|
|
4
|
+
source: "examples and benchmarks"
|
|
5
|
+
editLink: false
|
|
6
|
+
prev: false
|
|
7
|
+
next: false
|
|
8
|
+
outline: [2, 3]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Example projects
|
|
12
|
+
|
|
13
|
+
Browse complete August projects here in the wiki. Each source file includes formatted code in **Indentation** and **Braces** styles and its actual compiled specification. Dependency links open the matching version’s source and explanation in this wiki.
|
|
14
|
+
|
|
15
|
+
Start with [Hello world with dependencies](hello/index.md), then try [a small tested application](developer-workflow/index.md). The [OpenID Connect application](oidc-login/index.md) shows a larger project with server-rendered pages and HTTP handlers.
|
|
16
|
+
|
|
17
|
+
## Start here
|
|
18
|
+
|
|
19
|
+
- [Hello world with dependencies](hello/index.md) — A greeter, a logger, narrow folder exports, and explicit application bindings.
|
|
20
|
+
- [Labeled calls and injection](new-syntax/index.md) — Constructor injection, named inputs, ordinary functions, and same-file tests.
|
|
21
|
+
- [A small tested application](developer-workflow/index.md) — A calculator module with logging, fixtures, groups, and parameterized tests.
|
|
22
|
+
- [Command-line arguments](cli-args/index.md) — Read arguments, inspect collections, and return a process exit status.
|
|
23
|
+
|
|
24
|
+
## Values and errors
|
|
25
|
+
|
|
26
|
+
- [Lists, tuples, sets, and maps](collections/index.md) — Create typed collections and update them through checked mutable access.
|
|
27
|
+
- [Generic contracts](generics/index.md) — Write reusable records, interfaces, classes, and functions with type parameters.
|
|
28
|
+
- [Generic dependency injection](generic-di/index.md) — Bind a generic interface and resolve a class that uses it.
|
|
29
|
+
- [Checked failures](errors/index.md) — Declare errors with unless, catch them, and run cleanup.
|
|
30
|
+
|
|
31
|
+
## State and lifetime
|
|
32
|
+
|
|
33
|
+
- [Read access and mutable borrows](ownership/index.md) — Share a reference for reading and grant explicit access for mutation.
|
|
34
|
+
- [Move ownership](ownership-transfer/index.md) — Transfer an owned resource between labeled calls.
|
|
35
|
+
- [Resource cleanup](drop/index.md) — Release an owned resource when its lifetime ends.
|
|
36
|
+
- [Private state and helpers](visibility/index.md) — Keep underscore-prefixed implementation details inside their scope.
|
|
37
|
+
|
|
38
|
+
## Modules and packages
|
|
39
|
+
|
|
40
|
+
- [Modules and composition](approved-design/index.md) — Combine domain modules, generic values, explicit capabilities, and scoped providers.
|
|
41
|
+
- [Function and constructor middleware](interceptors/index.md) — Layer interceptors, map inputs, and keep logging dependencies explicit.
|
|
42
|
+
- [Create a package](packages-math/index.md) — Publish a small arithmetic library through export.aug and test its public surface.
|
|
43
|
+
- [Use a package](packages-app/index.md) — Install the neighboring arithmetic package and import it through a local alias.
|
|
44
|
+
|
|
45
|
+
## Native applications
|
|
46
|
+
|
|
47
|
+
- [A native C boundary](ffi/index.md) — Declare a C operation and call it inside an unsafe block.
|
|
48
|
+
- [A finite benchmark](benchmark/index.md) — Measure a deterministic arithmetic workload with aug bench.
|
|
49
|
+
|
|
50
|
+
## Web applications
|
|
51
|
+
|
|
52
|
+
- [OpenID Connect login application](oidc-login/index.md) — A login page, provider, client, session JWT, and logout flow in one August project.
|
|
53
|
+
|
|
54
|
+
## Measured programs
|
|
55
|
+
|
|
56
|
+
- [Startup benchmark](startup-benchmark/index.md) — The small program used to measure process startup.
|
|
57
|
+
- [CPU benchmark](cpu-benchmark/index.md) — Two million dependent integer steps with a checked result.
|
|
58
|
+
- [Map and Set benchmark](collections-benchmark/index.md) — Insert, find, and iterate over 20,000 collection entries.
|
|
59
|
+
- [JSON benchmark](json-benchmark/index.md) — Parse, decode, and serialize a typed record 5,000 times.
|
|
60
|
+
- [HTTP benchmark](http-benchmark/index.md) — Serve the typed JSON endpoint used in the throughput measurements.
|