@underpeaks/generator-flutter 1.0.56 → 1.0.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/riverpod/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGtE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAmPpE"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/adapters/riverpod/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGtE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAqPpE"}
@@ -209,16 +209,18 @@ class ${className}Notifier extends StateNotifier<${className}State> {
209
209
  }
210
210
 
211
211
  // ── Clear all ─────────────────────────────────────────────────────────────
212
- // Added to support cart pages' app bar "Clear" action — deletes every
213
- // currently loaded item one by one via the repository, then empties
214
- // local state. If any deletion fails partway through, the error is
215
- // surfaced and remaining items stay in state (not silently dropped),
216
- // so the UI still reflects what's actually left on the server.
212
+ // FIX: item.${pkName} is nullable (String?) since primary keys are
213
+ // generated as nullable fields but _repository.delete() requires a
214
+ // non-null String. Items with a null PK (shouldn't normally happen for
215
+ // a persisted record, but not guaranteed) are skipped rather than
216
+ // crashing or force-unwrapping.
217
217
  Future<void> clearAll() async {
218
218
  state = state.copyWith(loading: true);
219
219
  try {
220
220
  for (final item in List<${className}>.from(state.items)) {
221
- await _repository.delete(item.${pkName});
221
+ final id = item.${pkName};
222
+ if (id == null) continue;
223
+ await _repository.delete(id);
222
224
  }
223
225
  state = state.copyWith(items: [], loading: false);
224
226
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/riverpod/provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;;AAKxF,4DAmPC;AArPD,+DAA6F;AAE7F,SAAgB,wBAAwB,CAAC,KAAY;IACnD,MAAM,SAAS,GAAG,IAAA,iCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAI,IAAA,gCAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAU,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAA;IACtC,MAAM,MAAM,GAAM,EAAE,EAAE,IAAI,IAAI,IAAI,CAAA;IAElC,MAAM,OAAO,GAAG;;mBAEC,KAAK,CAAC,IAAI;8CACiB,SAAS;;;;oBAInC,QAAQ;0BACF,QAAQ;;;;QAI1B,QAAQ,iCAAiC,SAAS;cAC5C,SAAS;;;;;QAKf,SAAS;eACF,SAAS;UACd,SAAS;;;;;;;UAOT,SAAS;;;;;;;;;;IAUf,SAAS;WACF,SAAS;MACd,SAAS;;;;;;;aAOF,SAAS;;;;;;;;;;;;IAYlB,SAAS,yBAAyB,SAAS;;;;;;;;;;;;QAYvC,SAAS,kCAAkC,SAAS;UAClD,SAAS;;;;IAIf,SAAS,4CAA4C,SAAS;;;;;;;;;;;;gBAYlD,SAAS;;;;;;;;;;;;;oBAaL,SAAS;;;;;;;gBAOb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAmCO,MAAM;;;gDAGU,MAAM;;;;;;;;;wBAS9B,SAAS;;;;;;;;;;;;;;;+BAeF,MAAM,KAAK,SAAS;;;iDAGF,MAAM;;;4BAG3B,MAAM,OAAO,MAAM;;;;;;;;;;;;+BAYhB,MAAM;;;iCAGJ,MAAM;;8CAEO,MAAM,OAAO,MAAM;;;;;;;;;;;;;;;;;gCAiBjC,SAAS;wCACD,MAAM;;;;;;;;;;;;;;;QAetC,QAAQ;4BACY,SAAS,aAAa,SAAS;iCAC1B,QAAQ;WAC9B,SAAS;;CAEnB,CAAA;IAEC,OAAO;QACL,IAAI,EAAM,2BAA2B,QAAQ,kBAAkB;QAC/D,OAAO;QACP,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/adapters/riverpod/provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;;AAKxF,4DAqPC;AAvPD,+DAA6F;AAE7F,SAAgB,wBAAwB,CAAC,KAAY;IACnD,MAAM,SAAS,GAAG,IAAA,iCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAI,IAAA,gCAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAU,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAA;IACtC,MAAM,MAAM,GAAM,EAAE,EAAE,IAAI,IAAI,IAAI,CAAA;IAElC,MAAM,OAAO,GAAG;;mBAEC,KAAK,CAAC,IAAI;8CACiB,SAAS;;;;oBAInC,QAAQ;0BACF,QAAQ;;;;QAI1B,QAAQ,iCAAiC,SAAS;cAC5C,SAAS;;;;;QAKf,SAAS;eACF,SAAS;UACd,SAAS;;;;;;;UAOT,SAAS;;;;;;;;;;IAUf,SAAS;WACF,SAAS;MACd,SAAS;;;;;;;aAOF,SAAS;;;;;;;;;;;;IAYlB,SAAS,yBAAyB,SAAS;;;;;;;;;;;;QAYvC,SAAS,kCAAkC,SAAS;UAClD,SAAS;;;;IAIf,SAAS,4CAA4C,SAAS;;;;;;;;;;;;gBAYlD,SAAS;;;;;;;;;;;;;oBAaL,SAAS;;;;;;;gBAOb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAmCO,MAAM;;;gDAGU,MAAM;;;;;;;;;wBAS9B,SAAS;;;;;;;;;;;;;;;+BAeF,MAAM,KAAK,SAAS;;;iDAGF,MAAM;;;4BAG3B,MAAM,OAAO,MAAM;;;;;;;;;;;;+BAYhB,MAAM;;;iCAGJ,MAAM;;8CAEO,MAAM,OAAO,MAAM;;;;;;;;;iBAShD,MAAM;;;;;;;;gCAQS,SAAS;0BACf,MAAM;;;;;;;;;;;;;;;;;QAiBxB,QAAQ;4BACY,SAAS,aAAa,SAAS;iCAC1B,QAAQ;WAC9B,SAAS;;CAEnB,CAAA;IAEC,OAAO;QACL,IAAI,EAAM,2BAA2B,QAAQ,kBAAkB;QAC/D,OAAO;QACP,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/templates/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAyBtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAgD/E"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/templates/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAkCtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAgD/E"}
@@ -18,6 +18,15 @@ const generator_core_1 = require("@underpeaks/generator-core");
18
18
  // must always include every real column; "hidden" only controls whether
19
19
  // a widget renders for that field in forms/detail views, not whether the
20
20
  // model itself carries the value.
21
+ //
22
+ // FIX 2: freezed 3.0+ requires the class declaring `with _$ClassName` to
23
+ // be `abstract class`, not plain `class` — a plain class with only
24
+ // factory constructors was tolerated by freezed 2.x's older codegen, but
25
+ // the newer generated mixin declares its getters/toJson as genuinely
26
+ // abstract members, and a concrete (non-abstract) class that doesn't
27
+ // implement them fails with non_abstract_class_inherits_abstract_member.
28
+ // This was the root cause of every generated model failing to compile
29
+ // after the freezed 2→4 version bump.
21
30
  function generateModel(model, stateManager) {
22
31
  const className = (0, generator_core_1.modelToClassName)(model.name);
23
32
  const fileName = (0, generator_core_1.modelToFileName)(model.name);
@@ -49,7 +58,7 @@ part '${fileName}.freezed.dart';
49
58
  part '${fileName}.g.dart';
50
59
 
51
60
  @freezed
52
- class ${className} with _$${className} {
61
+ abstract class ${className} with _$${className} {
53
62
  const factory ${className}({
54
63
  ${constructorParams}
55
64
  }) = _${className};
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/templates/model.ts"],"names":[],"mappings":";AAAA,6EAA6E;;AA2B7E,sCAgDC;AAxED,+DAOmC;AAEnC,4EAA4E;AAC5E,+DAA+D;AAC/D,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,yDAAyD;AACzD,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,kCAAkC;AAClC,SAAgB,aAAa,CAAC,KAAY,EAAE,YAAoB;IAC9D,MAAM,SAAS,GAAI,IAAA,iCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAK,IAAA,gCAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAM,IAAA,wCAAuB,EAAC,KAAK,CAAC,CAAA;IACjD,MAAM,EAAE,GAAW,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAElD,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,gCAAe,EAAC,GAAG,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC1C,OAAO,QAAQ;YACb,CAAC,CAAC,OAAO,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG;YACjC,CAAC,CAAC,gBAAgB,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAA;IAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,OAAO,GAAG;;mBAEC,KAAK,CAAC,IAAI;8CACiB,SAAS;;;;KAIlD,QAAQ,qBAAqB,QAAQ;;;;;;;QAOlC,QAAQ;QACR,QAAQ;;;QAGR,SAAS,WAAW,SAAS;kBACnB,SAAS;EACzB,iBAAiB;UACT,SAAS;;YAEP,SAAS;UACX,SAAS;;CAElB,CAAA;IAEC,OAAO;QACL,IAAI,EAAM,wBAAwB,QAAQ,OAAO;QACjD,OAAO;QACP,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/templates/model.ts"],"names":[],"mappings":";AAAA,6EAA6E;;AAoC7E,sCAgDC;AAjFD,+DAOmC;AAEnC,4EAA4E;AAC5E,+DAA+D;AAC/D,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,yDAAyD;AACzD,uEAAuE;AACvE,2DAA2D;AAC3D,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,kCAAkC;AAClC,EAAE;AACF,yEAAyE;AACzE,mEAAmE;AACnE,yEAAyE;AACzE,qEAAqE;AACrE,qEAAqE;AACrE,yEAAyE;AACzE,sEAAsE;AACtE,sCAAsC;AACtC,SAAgB,aAAa,CAAC,KAAY,EAAE,YAAoB;IAC9D,MAAM,SAAS,GAAI,IAAA,iCAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAK,IAAA,gCAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAM,IAAA,wCAAuB,EAAC,KAAK,CAAC,CAAA;IACjD,MAAM,EAAE,GAAW,IAAA,8BAAa,EAAC,KAAK,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAElD,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,gCAAe,EAAC,GAAG,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC1C,OAAO,QAAQ;YACb,CAAC,CAAC,OAAO,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG;YACjC,CAAC,CAAC,gBAAgB,QAAQ,IAAI,GAAG,CAAC,IAAI,GAAG,CAAA;IAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,OAAO,GAAG;;mBAEC,KAAK,CAAC,IAAI;8CACiB,SAAS;;;;KAIlD,QAAQ,qBAAqB,QAAQ;;;;;;;QAOlC,QAAQ;QACR,QAAQ;;;iBAGC,SAAS,WAAW,SAAS;kBAC5B,SAAS;EACzB,iBAAiB;UACT,SAAS;;YAEP,SAAS;UACX,SAAS;;CAElB,CAAA;IAEC,OAAO;QACL,IAAI,EAAM,wBAAwB,QAAQ,OAAO;QACjD,OAAO;QACP,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@underpeaks/generator-flutter",
3
- "version": "1.0.56",
3
+ "version": "1.0.57",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [