Fix generated asset/assetId property for ffi-native (#634)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2d90855..3de820d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@
   generate a typedef for the `Function`.
 - Use Dart wrapper types in args and returns of ObjCBlocks.
 - Bump min SDK version to 3.2.0-114.0.dev.
+- Renamed `asset` to `assetId` for `ffi-native`.  
 
 # 9.0.1
 
diff --git a/README.md b/README.md
index 61464fd..3f2d0d8 100644
--- a/README.md
+++ b/README.md
@@ -543,7 +543,7 @@
 
 ```yaml
 ffi-native:
-  asset: 'myasset' # Optional.
+  assetId: 'myasset' # Optional.
 ```
   </td>
   </tr>
diff --git a/example/ffinative/config.yaml b/example/ffinative/config.yaml
index 397dbba..1bb3dac 100644
--- a/example/ffinative/config.yaml
+++ b/example/ffinative/config.yaml
@@ -2,9 +2,9 @@
 
 name: NativeLibrary
 ffi-native:
-  # asset: 'assetname' # (optional)
+  assetId: 'package:ffinative_example/generated_bindings.dart' # (optional)
 description: Bindings to `headers/example.h`.
-output: 'generated_bindings.dart'
+output: 'lib/generated_bindings.dart'
 headers:
   entry-points:
     - 'headers/example.h'
diff --git a/example/ffinative/generated_bindings.dart b/example/ffinative/generated_bindings.dart
deleted file mode 100644
index 389620d..0000000
--- a/example/ffinative/generated_bindings.dart
+++ /dev/null
@@ -1,43 +0,0 @@
-// ignore_for_file: deprecated_member_use
-
-// AUTO GENERATED FILE, DO NOT EDIT.
-//
-// Generated by `package:ffigen`.
-// ignore_for_file: type=lint
-import 'dart:ffi' as ffi;
-
-/// Adds 2 integers.
-@ffi.Native<ffi.Int Function(ffi.Int, ffi.Int)>(symbol: 'sum')
-external int sum(
-  int a,
-  int b,
-);
-
-/// Subtracts 2 integers.
-@ffi.Native<ffi.Int Function(ffi.Int, ffi.Int)>(symbol: 'subtract')
-external int subtract(
-  int a,
-  int b,
-);
-
-/// Multiplies 2 integers, returns pointer to an integer,.
-@ffi.Native<ffi.Pointer<ffi.Int> Function(ffi.Int, ffi.Int)>(symbol: 'multiply')
-external ffi.Pointer<ffi.Int> multiply(
-  int a,
-  int b,
-);
-
-/// Divides 2 integers, returns pointer to a float.
-@ffi.Native<ffi.Pointer<ffi.Float> Function(ffi.Int, ffi.Int)>(symbol: 'divide')
-external ffi.Pointer<ffi.Float> divide(
-  int a,
-  int b,
-);
-
-/// Divides 2 floats, returns a pointer to double.
-@ffi.Native<ffi.Pointer<ffi.Double> Function(ffi.Float, ffi.Float)>(
-    symbol: 'dividePrecision')
-external ffi.Pointer<ffi.Double> dividePrecision(
-  double a,
-  double b,
-);
diff --git a/example/ffinative/lib/generated_bindings.dart b/example/ffinative/lib/generated_bindings.dart
new file mode 100644
index 0000000..13c7d2b
--- /dev/null
+++ b/example/ffinative/lib/generated_bindings.dart
@@ -0,0 +1,51 @@
+// ignore_for_file: deprecated_member_use
+
+// AUTO GENERATED FILE, DO NOT EDIT.
+//
+// Generated by `package:ffigen`.
+// ignore_for_file: type=lint
+import 'dart:ffi' as ffi;
+
+/// Adds 2 integers.
+@ffi.Native<ffi.Int Function(ffi.Int, ffi.Int)>(
+    symbol: 'sum', assetId: 'package:ffinative_example/generated_bindings.dart')
+external int sum(
+  int a,
+  int b,
+);
+
+/// Subtracts 2 integers.
+@ffi.Native<ffi.Int Function(ffi.Int, ffi.Int)>(
+    symbol: 'subtract',
+    assetId: 'package:ffinative_example/generated_bindings.dart')
+external int subtract(
+  int a,
+  int b,
+);
+
+/// Multiplies 2 integers, returns pointer to an integer,.
+@ffi.Native<ffi.Pointer<ffi.Int> Function(ffi.Int, ffi.Int)>(
+    symbol: 'multiply',
+    assetId: 'package:ffinative_example/generated_bindings.dart')
+external ffi.Pointer<ffi.Int> multiply(
+  int a,
+  int b,
+);
+
+/// Divides 2 integers, returns pointer to a float.
+@ffi.Native<ffi.Pointer<ffi.Float> Function(ffi.Int, ffi.Int)>(
+    symbol: 'divide',
+    assetId: 'package:ffinative_example/generated_bindings.dart')
+external ffi.Pointer<ffi.Float> divide(
+  int a,
+  int b,
+);
+
+/// Divides 2 floats, returns a pointer to double.
+@ffi.Native<ffi.Pointer<ffi.Double> Function(ffi.Float, ffi.Float)>(
+    symbol: 'dividePrecision',
+    assetId: 'package:ffinative_example/generated_bindings.dart')
+external ffi.Pointer<ffi.Double> dividePrecision(
+  double a,
+  double b,
+);
diff --git a/ffigen.schema.json b/ffigen.schema.json
index a557a87..5c196f1 100644
--- a/ffigen.schema.json
+++ b/ffigen.schema.json
@@ -418,12 +418,12 @@
           "type": "object",
           "additionalProperties": false,
           "properties": {
-            "asset": {
+            "assetId": {
               "type": "string"
             }
           },
           "required": [
-            "asset"
+            "assetId"
           ]
         }
       ]
diff --git a/lib/src/code_generator/func.dart b/lib/src/code_generator/func.dart
index 5e081cf..cbdebe7 100644
--- a/lib/src/code_generator/func.dart
+++ b/lib/src/code_generator/func.dart
@@ -111,8 +111,8 @@
         functionType.getFfiDartType(w, writeArgumentNames: false);
 
     if (ffiNativeConfig.enabled) {
-      final assetString = ffiNativeConfig.asset != null
-          ? ", asset: '${ffiNativeConfig.asset}'"
+      final assetString = ffiNativeConfig.assetId != null
+          ? ", assetId: '${ffiNativeConfig.assetId}'"
           : '';
       final isLeafString = isLeaf ? ', isLeaf: true' : '';
       s.write(
diff --git a/lib/src/config_provider/config_types.dart b/lib/src/config_provider/config_types.dart
index 75d5fca..a4cf142 100644
--- a/lib/src/config_provider/config_types.dart
+++ b/lib/src/config_provider/config_types.dart
@@ -384,9 +384,9 @@
 
 class FfiNativeConfig {
   final bool enabled;
-  final String? asset;
+  final String? assetId;
 
-  const FfiNativeConfig({required this.enabled, this.asset});
+  const FfiNativeConfig({required this.enabled, this.assetId});
 }
 
 class SymbolFile {
diff --git a/lib/src/config_provider/spec_utils.dart b/lib/src/config_provider/spec_utils.dart
index ff4e1b7..86a4bc5 100644
--- a/lib/src/config_provider/spec_utils.dart
+++ b/lib/src/config_provider/spec_utils.dart
@@ -602,6 +602,6 @@
   final yamlMap = yamlConfig as Map?;
   return FfiNativeConfig(
     enabled: true,
-    asset: yamlMap?[strings.ffiNativeAsset] as String?,
+    assetId: yamlMap?[strings.ffiNativeAsset] as String?,
   );
 }
diff --git a/lib/src/strings.dart b/lib/src/strings.dart
index 7613289..0918f48 100644
--- a/lib/src/strings.dart
+++ b/lib/src/strings.dart
@@ -263,7 +263,7 @@
 const dartHandleUsr = 'c:@S@_Dart_Handle';
 
 const ffiNative = 'ffi-native';
-const ffiNativeAsset = 'asset';
+const ffiNativeAsset = 'assetId';
 
 Directory? _tmpDir;
 
diff --git a/test/native_test/native_test.dart b/test/native_test/native_test.dart
index cc31709..9c734a5 100644
--- a/test/native_test/native_test.dart
+++ b/test/native_test/native_test.dart
@@ -58,6 +58,7 @@
         rethrow;
       }
     });
+
     test('bool', () {
       expect(bindings.Function1Bool(true), false);
       expect(bindings.Function1Bool(false), true);
@@ -112,6 +113,7 @@
         }
       }
     });
+
     test('Array Workaround: Range Errors', () {
       final struct1 = bindings.getStruct1();
       // Index (get) above range.