diff --git a/lib/consts.dart b/lib/consts.dart index 89fe61fb..c267a471 100644 --- a/lib/consts.dart +++ b/lib/consts.dart @@ -141,7 +141,8 @@ enum CodegenLanguage { enum ImportFormat { curl("cURL"), - postman("Postman Collection v2.1"); + postman("Postman Collection v2.1"), + insomia("Insomnia v4"); const ImportFormat(this.label); final String label; diff --git a/lib/importer/importer.dart b/lib/importer/importer.dart index 96d33091..3f5125a6 100644 --- a/lib/importer/importer.dart +++ b/lib/importer/importer.dart @@ -12,6 +12,7 @@ class Importer { ?.map((t) => (null, t)) .toList(), ImportFormat.postman => PostmanIO().getHttpRequestModelList(content), + ImportFormat.insomia => InsomiaIO().getHttpRequestModelList(content), }; } } diff --git a/packages/apidash_core/lib/import_export/import_export.dart b/packages/apidash_core/lib/import_export/import_export.dart index c61e96a9..bfa4964f 100644 --- a/packages/apidash_core/lib/import_export/import_export.dart +++ b/packages/apidash_core/lib/import_export/import_export.dart @@ -1,2 +1,3 @@ export 'curl_io.dart'; export 'postman_io.dart'; +export 'insomia_io.dart'; diff --git a/packages/apidash_core/pubspec.yaml b/packages/apidash_core/pubspec.yaml index f6f72beb..4b4dc38d 100644 --- a/packages/apidash_core/pubspec.yaml +++ b/packages/apidash_core/pubspec.yaml @@ -19,6 +19,8 @@ dependencies: http_parser: ^4.0.2 postman: path: ../postman + insomnia: + path: ../insomnia seed: ^0.0.2 xml: ^6.3.0 diff --git a/packages/insomnia/.gitignore b/packages/insomnia/.gitignore new file mode 100644 index 00000000..ac5aa989 --- /dev/null +++ b/packages/insomnia/.gitignore @@ -0,0 +1,29 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +build/ diff --git a/packages/insomnia/analysis_options.yaml b/packages/insomnia/analysis_options.yaml new file mode 100644 index 00000000..1dea9522 --- /dev/null +++ b/packages/insomnia/analysis_options.yaml @@ -0,0 +1,6 @@ +analyzer: + exclude: + - "**/*.g.dart" + - "**/*.freezed.dart" + errors: + invalid_annotation_target: ignore