cf8d25ff5e
After moving to ESM/tshy, we no longer build tests/samples. This PR enables running "typecheck" as an optional rush bulk command, and fixes some of the errors found. The known errors reported on files from vite/vitest/chai are ignored. The update-snippets dev-tool command throws error of reading undefined in some cases, adding a null check fixes it. Snippets are updated as well after snippets.spec.ts files are fixed. |
||
---|---|---|
.. | ||
.vscode | ||
config | ||
review | ||
src | ||
test | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
api-extractor.json | ||
package.json | ||
tsconfig.browser.config.json | ||
tsconfig.json | ||
tsdoc.json | ||
vitest.browser.config.ts | ||
vitest.config.ts |
README.md
Azure Core Service client library for JavaScript
This library is primarily intended to be used in code generated by AutoRest and autorest.typescript
.
Getting started
Currently supported environments
- LTS versions of Node.js
- Latest versions of Safari, Chrome, Edge, and Firefox.
See our support policy for more details.
Installation
This package is primarily used in generated code and not meant to be consumed directly by end users.
Key concepts
ServiceClient
This is the common base class for generated clients. It provides the methods sendOperationRequest
and sendRequest
.
sendRequest
simply makes an HTTP request using a Pipeline
(see @azure/core-rest-pipeline
for details.)
sendOperationRequest
is used by generated code to make a request using an OperationSpec
and OperationArguments
. An OperationSpec
is a translation of request requirements from the OpenAPI/Swagger file that describes the service.
createClientPipeline
This method is used to create a Pipeline
instance that is customized with extra policies that perform serialization and deserialization. The bulk of the work is in converting requests into the right HTTP message that a service expects and then converting the HTTP response payload into the response shape described by the service's OpenAPI specification file.
Mappers / createSerializer
Mapper
s are used to encode and decode data into HTTP headers and bodies. They describe all request and response fields. They are referenced by OperationSpec
s.
The method createSerializer
creates a Serializer
that is used to do the bulk of the work transforming data when making a request or processing a response. Given a corpus of Mapper
s and the appropriate OperationSpec
it can manufacture an HTTP request object from a user provided input or convert an HTTP response object into a user-friendly form.
Next steps
You can build and run the tests locally by executing rushx test
. Explore the test folder to see advanced usage and behavior of the public classes.
Learn more about AutoRest and the autorest.typescript extension for generating a compatible client on top of this package.
Troubleshooting
If you run into issues while using this library, please feel free to file an issue.
Contributing
If you'd like to contribute to this library, please read the contributing guide to learn more about how to build and test the code.