azure-sdk-for-js/sdk/core/core-client
Jeremy Meng ef1966b79a
[core] Add react-native support at top level (#30521)
For back-compatibility.

This PR adds react-native top level field to package.json, similar to PR
https://github.com/Azure/azure-sdk-for-js/pull/30493.

-------

### Packages impacted by this PR
core-util, core-rest-pipeline, core-amqp, logger
2024-07-24 15:07:46 -07:00
..
.vscode
config [EngSys] Enable Rush build cache for for common packages (#27409) 2023-10-19 14:22:44 -07:00
review [core-client] Ignore extra headers (#24395) 2023-01-09 12:49:43 -08:00
src [Doc][core-client] remove outdated `@param credential` (#30299) 2024-07-05 10:36:27 -07:00
test [storage] address two issues related to Azure Disk Storage (#29087) 2024-04-01 09:09:29 -05:00
CHANGELOG.md Post release automated changes for core releases (#29269) 2024-04-11 13:46:11 -04:00
LICENSE
README.md [doc][core-client] fix broken link (#28621) 2024-02-21 12:40:32 -08:00
api-extractor.json [core] Upgrade to ES-Modules for core (#26238) 2024-02-20 17:42:23 +00:00
package.json [core] Add react-native support at top level (#30521) 2024-07-24 15:07:46 -07:00
tsconfig.browser.config.json [core] Upgrade to ES-Modules for core (#26238) 2024-02-20 17:42:23 +00:00
tsconfig.json [EngSys] remove tsconfig.package.json 2024-07-16 13:27:25 +00:00
tsdoc.json
vitest.browser.config.ts [core] Upgrade to ES-Modules for core (#26238) 2024-02-20 17:42:23 +00:00
vitest.config.ts [core-client] Share state between ESM and CJS (#28822) 2024-03-08 14:05:50 -08:00

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

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

Mappers are used to encode and decode data into HTTP headers and bodies. They describe all request and response fields. They are referenced by OperationSpecs.

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 Mappers 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.

Impressions