dart_aas (EXPERIMENTAL)
The Full Profile of the Asset Administration Shell Repository Service Specification as part of Specification of the Asset Administration Shell: Part 2. Publisher: Industrial Digital Twin Association (IDTA) April 2023
This Dart package is partially generated by the OpenAPI Generator project:
- API version: V3.0_SSP-001
- Generator version: 7.7.0
- Build package: org.openapitools.codegen.languages.DartDioClientCodegen
- Spec source: https://app.swaggerhub.com/apis/Plattform_i40/Entire-API-Collection/V3.1.0#/
- This spec is not intended for code generation and generated code has been tweaked accordingly.
- More specs: https://github.com/admin-shell-io/aas-specs-api
Note: This package doesn't check for unexpected additional properties when parsing data. All optional data validation is assertion based, not running in release mode.
Installation & Usage
pub.dev
dependencies:
dart_aas: 1.0.0
Gitlab
dependencies:
dart_aas:
git:
url: https://git.rwth-aachen.de/co2for-it/s3i/dart_aas.git
#ref: main
Local development
dependencies:
dart_aas:
path: /path/to/dart_aas
Getting Started
Please follow the installation procedure and then run the following:
import 'package:dart_aas/dart_aas.dart';
final api = AASapi().getAssetAdministrationShellRepositoryAPIApi();
final String aasIdentifier = BYTE_ARRAY_DATA_HERE; // String | The Asset Administration Shell’s unique id (UTF8-BASE64-URL-encoded)
try {
api.deleteAssetAdministrationShellById(aasIdentifier);
} catch on DioException (e) {
print("Exception when calling AssetAdministrationShellRepositoryAPIApi->deleteAssetAdministrationShellById: $e\n");
}
You can find a more thorough example in the example/
directory.
Example for manually de-/serializing classes
void main() {
AssetAdministrationShell? aas = standardSerializers
.deserializeWith(AssetAdministrationShell.serializer, 'serialized');
}
Roadmap
This package has not reached 1.0. Breaking changes may occur without notice until that version is reached. The following should be completed before reaching v1.0.
- implement soft checks like length (AAS "constraints") where possible
- Clean up todos across code
- Improve XsdValue dart API to improve ergonomics in practice
- Replace SubmodelsElements
.copy
API with.copyWith
API for all model classes