on-zero 0.16.14 → 0.16.15

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.
Files changed (102) hide show
  1. package/dist/cjs/cli.native.js.map +1 -1
  2. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  3. package/dist/cjs/config.native.js.map +1 -1
  4. package/dist/cjs/createPermissions.native.js.map +1 -1
  5. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  6. package/dist/cjs/createUseQuery.native.js.map +1 -1
  7. package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
  8. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  10. package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
  11. package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
  12. package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroClient.native.js.map +1 -1
  14. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  15. package/dist/cjs/generate-helpers.cjs +7 -3
  16. package/dist/cjs/generate-helpers.native.js +9 -5
  17. package/dist/cjs/generate-helpers.native.js.map +1 -1
  18. package/dist/cjs/generate-helpers.test.cjs +31 -0
  19. package/dist/cjs/generate-helpers.test.native.js +31 -0
  20. package/dist/cjs/generate-helpers.test.native.js.map +1 -1
  21. package/dist/cjs/generate-layout.native.js.map +1 -1
  22. package/dist/cjs/generate-lite.native.js.map +1 -1
  23. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  24. package/dist/cjs/generate.native.js.map +1 -1
  25. package/dist/cjs/generate.test.native.js.map +1 -1
  26. package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
  27. package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
  28. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  29. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  30. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  31. package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
  32. package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
  33. package/dist/cjs/helpers/emitter.native.js.map +1 -1
  34. package/dist/cjs/helpers/ensure.native.js.map +1 -1
  35. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  36. package/dist/cjs/helpers/errors.native.js.map +1 -1
  37. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  38. package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
  39. package/dist/cjs/helpers/globalValue.native.js.map +1 -1
  40. package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
  41. package/dist/cjs/helpers/mapObject.native.js.map +1 -1
  42. package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
  43. package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
  44. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  45. package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
  46. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  47. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  48. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  49. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  50. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  51. package/dist/cjs/helpers/sleep.native.js.map +1 -1
  52. package/dist/cjs/helpers/time.native.js.map +1 -1
  53. package/dist/cjs/helpers/tuple.native.js.map +1 -1
  54. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  55. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  56. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  57. package/dist/cjs/index.native.js.map +1 -1
  58. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  59. package/dist/cjs/modelRegistry.native.js.map +1 -1
  60. package/dist/cjs/multi.native.js.map +1 -1
  61. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  62. package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
  63. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  64. package/dist/cjs/multiPartition.test.native.js.map +1 -1
  65. package/dist/cjs/mutations.native.js.map +1 -1
  66. package/dist/cjs/mutations.test.native.js.map +1 -1
  67. package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
  68. package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
  69. package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
  70. package/dist/cjs/queryRegistry.native.js.map +1 -1
  71. package/dist/cjs/resolveQuery.native.js.map +1 -1
  72. package/dist/cjs/run.native.js.map +1 -1
  73. package/dist/cjs/server.native.js.map +1 -1
  74. package/dist/cjs/server.test.native.js.map +1 -1
  75. package/dist/cjs/serverWhere.native.js.map +1 -1
  76. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  77. package/dist/cjs/state.native.js.map +1 -1
  78. package/dist/cjs/streaming.native.js.map +1 -1
  79. package/dist/cjs/testSetup.native.js.map +1 -1
  80. package/dist/cjs/types.native.js.map +1 -1
  81. package/dist/cjs/usePermission.test.native.js.map +1 -1
  82. package/dist/cjs/useQuery.aggregate.zero.test.native.js.map +1 -1
  83. package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
  84. package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
  85. package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
  86. package/dist/cjs/useStreamingField.native.js.map +1 -1
  87. package/dist/cjs/vite-plugin.native.js.map +1 -1
  88. package/dist/cjs/where.native.js.map +1 -1
  89. package/dist/cjs/zeroRunner.native.js.map +1 -1
  90. package/dist/cjs/zql.native.js.map +1 -1
  91. package/dist/esm/generate-helpers.mjs +7 -3
  92. package/dist/esm/generate-helpers.mjs.map +1 -1
  93. package/dist/esm/generate-helpers.native.js +9 -5
  94. package/dist/esm/generate-helpers.native.js.map +1 -1
  95. package/dist/esm/generate-helpers.test.mjs +32 -1
  96. package/dist/esm/generate-helpers.test.mjs.map +1 -1
  97. package/dist/esm/generate-helpers.test.native.js +32 -1
  98. package/dist/esm/generate-helpers.test.native.js.map +1 -1
  99. package/package.json +2 -2
  100. package/src/generate-helpers.test.ts +35 -0
  101. package/src/generate-helpers.ts +13 -6
  102. package/types/generate-helpers.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from "vitest";
2
- import { generateTablesFile } from "./generate-helpers.mjs";
2
+ import { generateSyncedMutationsFile, generateTablesFile } from "./generate-helpers.mjs";
3
3
  function declaredIdentifiers(source) {
4
4
  const names = [];
5
5
  for (const line of source.split("\n")) {
@@ -30,4 +30,35 @@ describe("generated module identifiers", () => {
30
30
  expectNoDuplicates(source);
31
31
  });
32
32
  });
33
+ describe("generated mutation validators", () => {
34
+ test("indents multiline custom validators inside their mutation entries", () => {
35
+ const source = generateSyncedMutationsFile([{
36
+ modelName: "post",
37
+ hasCRUD: true,
38
+ columns: {
39
+ id: {
40
+ type: "string",
41
+ optional: false,
42
+ customType: void 0
43
+ }
44
+ },
45
+ primaryKeys: ["id"],
46
+ custom: [{
47
+ name: "update",
48
+ paramType: "{ id: string }",
49
+ valibotCode: "v.object({\n id: v.string(),\n })"
50
+ }, {
51
+ name: "publish",
52
+ paramType: "{ id: string }",
53
+ valibotCode: "v.object({\n id: v.string(),\n })"
54
+ }]
55
+ }]);
56
+ expect(source).toContain(` update: v.object({
57
+ id: v.string(),
58
+ }),`);
59
+ expect(source).toContain(` publish: v.object({
60
+ id: v.string(),
61
+ }),`);
62
+ });
63
+ });
33
64
  //# sourceMappingURL=generate-helpers.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","generateTablesFile","declaredIdentifiers","source","names","line","split","imported","match","push","declared","reexported","expectNoDuplicates","duplicates","filter","name","index","indexOf","toEqual","importPath"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAGEC,kBAAA,QACK;AAKP,SAASC,oBAAoBC,MAAA,EAA0B;EACrD,MAAMC,KAAA,GAAkB,EAAC;EACzB,WAAWC,IAAA,IAAQF,MAAA,CAAOG,KAAA,CAAM,IAAI,GAAG;IACrC,MAAMC,QAAA,GAAWF,IAAA,CAAKG,KAAA,CAAM,8BAA8B;IAC1D,IAAID,QAAA,EAAUH,KAAA,CAAMK,IAAA,CAAKF,QAAA,CAAS,CAAC,CAAE;IACrC,MAAMG,QAAA,GAAWL,IAAA,CAAKG,KAAA,CAAM,2BAA2B;IACvD,IAAIE,QAAA,EAAUN,KAAA,CAAMK,IAAA,CAAKC,QAAA,CAAS,CAAC,CAAE;IACrC,MAAMC,UAAA,GAAaN,IAAA,CAAKG,KAAA,CAAM,qCAAqC;IACnE,IAAIG,UAAA,EAAYP,KAAA,CAAMK,IAAA,CAAKE,UAAA,CAAW,CAAC,CAAE;EAC3C;EACA,OAAOP,KAAA;AACT;AAEA,SAASQ,mBAAmBT,MAAA,EAAgB;EAC1C,MAAMC,KAAA,GAAQF,mBAAA,CAAoBC,MAAM;EACxC,MAAMU,UAAA,GAAaT,KAAA,CAAMU,MAAA,CAAO,CAACC,IAAA,EAAMC,KAAA,KAAUZ,KAAA,CAAMa,OAAA,CAAQF,IAAI,MAAMC,KAAK;EAC9EjB,MAAA,CAAOc,UAAU,EAAEK,OAAA,CAAQ,EAAE;EAC7B,OAAOd,KAAA;AACT;AAEAN,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,IAAA,CAAK,4EAA4E,MAAM;IACrF,MAAMG,MAAA,GAASF,kBAAA,CAAmB,CAChC;MAAEc,IAAA,EAAM;MAAQI,UAAA,EAAY;IAAU,GACtC;MAAEJ,IAAA,EAAM;MAAcI,UAAA,EAAY;IAAgB,EACP;IAE7CP,kBAAA,CAAmBT,MAAM;EAC3B,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","generateSyncedMutationsFile","generateTablesFile","declaredIdentifiers","source","names","line","split","imported","match","push","declared","reexported","expectNoDuplicates","duplicates","filter","name","index","indexOf","toEqual","importPath","modelName","hasCRUD","columns","id","type","optional","customType","primaryKeys","custom","paramType","valibotCode","toContain"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAGEC,2BAAA,EACAC,kBAAA,QACK;AAKP,SAASC,oBAAoBC,MAAA,EAA0B;EACrD,MAAMC,KAAA,GAAkB,EAAC;EACzB,WAAWC,IAAA,IAAQF,MAAA,CAAOG,KAAA,CAAM,IAAI,GAAG;IACrC,MAAMC,QAAA,GAAWF,IAAA,CAAKG,KAAA,CAAM,8BAA8B;IAC1D,IAAID,QAAA,EAAUH,KAAA,CAAMK,IAAA,CAAKF,QAAA,CAAS,CAAC,CAAE;IACrC,MAAMG,QAAA,GAAWL,IAAA,CAAKG,KAAA,CAAM,2BAA2B;IACvD,IAAIE,QAAA,EAAUN,KAAA,CAAMK,IAAA,CAAKC,QAAA,CAAS,CAAC,CAAE;IACrC,MAAMC,UAAA,GAAaN,IAAA,CAAKG,KAAA,CAAM,qCAAqC;IACnE,IAAIG,UAAA,EAAYP,KAAA,CAAMK,IAAA,CAAKE,UAAA,CAAW,CAAC,CAAE;EAC3C;EACA,OAAOP,KAAA;AACT;AAEA,SAASQ,mBAAmBT,MAAA,EAAgB;EAC1C,MAAMC,KAAA,GAAQF,mBAAA,CAAoBC,MAAM;EACxC,MAAMU,UAAA,GAAaT,KAAA,CAAMU,MAAA,CAAO,CAACC,IAAA,EAAMC,KAAA,KAAUZ,KAAA,CAAMa,OAAA,CAAQF,IAAI,MAAMC,KAAK;EAC9ElB,MAAA,CAAOe,UAAU,EAAEK,OAAA,CAAQ,EAAE;EAC7B,OAAOd,KAAA;AACT;AAEAP,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,IAAA,CAAK,4EAA4E,MAAM;IACrF,MAAMI,MAAA,GAASF,kBAAA,CAAmB,CAChC;MAAEc,IAAA,EAAM;MAAQI,UAAA,EAAY;IAAU,GACtC;MAAEJ,IAAA,EAAM;MAAcI,UAAA,EAAY;IAAgB,EACP;IAE7CP,kBAAA,CAAmBT,MAAM;EAC3B,CAAC;AACH,CAAC;AAEDN,QAAA,CAAS,iCAAiC,MAAM;EAC9CE,IAAA,CAAK,qEAAqE,MAAM;IAC9E,MAAMI,MAAA,GAASH,2BAAA,CAA4B,CACzC;MACEoB,SAAA,EAAW;MACXC,OAAA,EAAS;MACTC,OAAA,EAAS;QACPC,EAAA,EAAI;UAAEC,IAAA,EAAM;UAAUC,QAAA,EAAU;UAAOC,UAAA,EAAY;QAAU;MAC/D;MACAC,WAAA,EAAa,CAAC,IAAI;MAClBC,MAAA,EAAQ,CACN;QACEb,IAAA,EAAM;QACNc,SAAA,EAAW;QACXC,WAAA,EAAa;MACf,GACA;QACEf,IAAA,EAAM;QACNc,SAAA,EAAW;QACXC,WAAA,EAAa;MACf;IAEJ,EACD;IAEDhC,MAAA,CAAOK,MAAM,EAAE4B,SAAA,CAAU;AAAA;AAAA,QAErB;IACJjC,MAAA,CAAOK,MAAM,EAAE4B,SAAA,CAAU;AAAA;AAAA,QAErB;EACN,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, test } from "vitest";
2
- import { generateTablesFile } from "./generate-helpers.native.js";
2
+ import { generateSyncedMutationsFile, generateTablesFile } from "./generate-helpers.native.js";
3
3
  function declaredIdentifiers(source) {
4
4
  var names = [];
5
5
  var _iteratorNormalCompletion = true,
@@ -51,4 +51,35 @@ describe("generated module identifiers", function () {
51
51
  expectNoDuplicates(source);
52
52
  });
53
53
  });
54
+ describe("generated mutation validators", function () {
55
+ test("indents multiline custom validators inside their mutation entries", function () {
56
+ var source = generateSyncedMutationsFile([{
57
+ modelName: "post",
58
+ hasCRUD: true,
59
+ columns: {
60
+ id: {
61
+ type: "string",
62
+ optional: false,
63
+ customType: void 0
64
+ }
65
+ },
66
+ primaryKeys: ["id"],
67
+ custom: [{
68
+ name: "update",
69
+ paramType: "{ id: string }",
70
+ valibotCode: "v.object({\n id: v.string(),\n })"
71
+ }, {
72
+ name: "publish",
73
+ paramType: "{ id: string }",
74
+ valibotCode: "v.object({\n id: v.string(),\n })"
75
+ }]
76
+ }]);
77
+ expect(source).toContain(` update: v.object({
78
+ id: v.string(),
79
+ }),`);
80
+ expect(source).toContain(` publish: v.object({
81
+ id: v.string(),
82
+ }),`);
83
+ });
84
+ });
54
85
  //# sourceMappingURL=generate-helpers.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","test","generateTablesFile","declaredIdentifiers","source","names","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","line","value","imported","match","push","declared","reexported","err","return"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAAAC,kBAAA;AAAA,SAGEC,oBAAAC,MAAA;EAAA,IAAAC,KACK;EAKP,IAAAC,yBAA6B,OAA0B;IAAAC,iBAAA;IAAAC,cAAA;EACrD;IACA,SAAWC,SAAQ,GAAAL,MAAO,CAAAM,KAAM,CAAI,IAAG,EAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACrC,IAAMU,IAAA,GAAAH,KAAW,CAAAI,KAAK;MACtB,IAAIC,QAAU,GAAAF,IAAM,CAAAG,KAAK,+BAAY;MACrC,IAAMD,QAAA,EAAAb,KAAW,CAAKe,IAAA,CAAAF,QAAM;MAC5B,IAAIG,QAAU,GAAAL,IAAM,CAAAG,KAAK,4BAAY;MACrC,IAAME,QAAA,EAAAhB,KAAa,CAAAe,IAAK,CAAAC,QAAM;MAC9B,IAAIC,UAAY,GAAAN,IAAM,CAAAG,KAAK,sCAAc;MAC3C,IAAAG,UAAA,EAAAjB,KAAA,CAAAe,IAAA,CAAAE,UAAA;IACA;EACF,SAAAC,GAAA;IAEAhB,iBAAS,OAAmB;IAC1BC,cAAc,GAAAe,GAAA;EACd,UAAM;IACN;MACA,IAAO,CAAAjB,yBAAA,IAAAG,SAAA,CAAAe,MAAA;QACTf,SAAA,CAAAe,MAAA;MAEA;IACE,UAAK;MACH,IAAMjB,iBAAS;QACX,MAAMC,cAAQ;MAChB;IACF;EAEA;EACF,OAACH,KAAA;AACH","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","test","generateSyncedMutationsFile","generateTablesFile","declaredIdentifiers","source","names","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","split","Symbol","iterator","_step","next","done","line","value","imported","match","push","declared","reexported","err","return","expectNoDuplicates","duplicates","filter","name","index","indexOf","toEqual","importPath","modelName","hasCRUD","columns","id","type","optional"],"sources":["../../src/generate-helpers.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,IAAA,QAAY;AAEvC,SAAAC,2BAAA,EAAAC,kBAAA;AAAA,SAGEC,oBAAAC,MAAA;EACA,IAAAC,KAAA;EAAA,IAAAC,yBACK;IAAAC,iBAAA;IAAAC,cAAA;EAKP;IACE,KAAM,IAAAC,SAAmB,GAAAL,MAAA,CAAAM,KAAA,OAAAC,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAP,yBAAA,IAAAO,KAAA,GAAAJ,SAAA,CAAAK,IAAA,IAAAC,IAAA,GAAAT,yBAAA;MACzB,IAAAU,IAAW,GAAAH,KAAQ,CAAAI,KAAO;MACxB,IAAMC,QAAA,GAAWF,IAAA,CAAKG,KAAA,CAAM,8BAA8B;MAC1D,IAAID,QAAU,EAAAb,KAAM,CAAAe,IAAK,CAAAF,QAAU,CAAE;MACrC,IAAMG,QAAA,GAAWL,IAAA,CAAKG,KAAA,CAAM,2BAA2B;MACvD,IAAIE,QAAU,EAAAhB,KAAM,CAAAe,IAAK,CAAAC,QAAU,CAAE;MACrC,IAAMC,UAAA,GAAaN,IAAA,CAAKG,KAAA,CAAM,qCAAqC;MACnE,IAAIG,UAAY,EAAAjB,KAAM,CAAAe,IAAK,CAAAE,UAAY,CAAE;IAC3C;EACA,SAAOC,GAAA;IACThB,iBAAA;IAEAC,cAAS,GAAAe,GAAA;EACP,UAAM;IACN,IAAM;MACN,IAAO,CAAAjB,yBAAsB,IAAAG,SAAA,CAAAe,MAAA;QAC7Bf,SAAO,CAAAe,MAAA;MACT;IAEA,UAAS;MACP,IAAKjB,iBAAA;QACH,MAAMC,cAAS;MACb;IAAsC;EACY;EAGpD,OAAAH,KAAA;AAAyB;AAE7B,SAACoB,mBAAArB,MAAA;EAED,IAAAC,KAAS,GAAAF,mBAAA,CAAAC,MAAA;EACP,IAAAsB,UAAK,GAAArB,KAAA,CAAAsB,MAAA,WAAAC,IAAA,EAAAC,KAAA;IACH,OAAMxB,KAAA,CAAAyB,OAAS,CAAAF,IAAA,MAAAC,KAAA;EAA4B;EACzC9B,MACE,CAAA2B,UAAW,EAAAK,OAAA;EAAA,OACX1B,KAAA;AAAS;AACAP,QAAA,+BACe,cAAiB;EAAsBE,IAAA,2EAC/D;IAAA,IACAI,MAAA,GAAAF,kBAAkB;MACV0B,IACN;MAAAI,UACQ;IAAA,GACK;MACEJ,IACf;MAAAI,UACA;IAAA,EACQ;IACKP,kBACX,CAAArB,MAAa;EAAA;AACf;AACFN,QACF;EAAAE,IACD;IAED,IAAAI,MAAO,GAAMH,2BAAY;MAErBgC,SAAA;MACJC,OAAO,EAAM,IAAE;MAAUC,OAAA;QAErBC,EAAA;UACLC,IAAA;UACFC,QAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.16.14",
3
+ "version": "0.16.15",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "files": [
@@ -105,7 +105,7 @@
105
105
  "chokidar": "^4.0.3",
106
106
  "citty": "^0.1.6",
107
107
  "dequal": "^2.0.3",
108
- "orez-lite": "0.16.14",
108
+ "orez-lite": "0.16.15",
109
109
  "valibot": "^1.1.0"
110
110
  },
111
111
  "peerDependencies": {
@@ -3,6 +3,7 @@ import { describe, expect, test } from 'vitest'
3
3
  import {
4
4
  generateGroupedQueriesFile,
5
5
  generateModelsFile,
6
+ generateSyncedMutationsFile,
6
7
  generateTablesFile,
7
8
  } from './generate-helpers'
8
9
 
@@ -39,3 +40,37 @@ describe('generated module identifiers', () => {
39
40
  expectNoDuplicates(source)
40
41
  })
41
42
  })
43
+
44
+ describe('generated mutation validators', () => {
45
+ test('indents multiline custom validators inside their mutation entries', () => {
46
+ const source = generateSyncedMutationsFile([
47
+ {
48
+ modelName: 'post',
49
+ hasCRUD: true,
50
+ columns: {
51
+ id: { type: 'string', optional: false, customType: undefined },
52
+ },
53
+ primaryKeys: ['id'],
54
+ custom: [
55
+ {
56
+ name: 'update',
57
+ paramType: '{ id: string }',
58
+ valibotCode: 'v.object({\n id: v.string(),\n })',
59
+ },
60
+ {
61
+ name: 'publish',
62
+ paramType: '{ id: string }',
63
+ valibotCode: 'v.object({\n id: v.string(),\n })',
64
+ },
65
+ ],
66
+ },
67
+ ])
68
+
69
+ expect(source).toContain(` update: v.object({
70
+ id: v.string(),
71
+ }),`)
72
+ expect(source).toContain(` publish: v.object({
73
+ id: v.string(),
74
+ }),`)
75
+ })
76
+ })
@@ -623,10 +623,7 @@ import * as Queries from './groupedQueries'
623
623
  return ` ${q.name}: defineQuery(() => Queries.${file}.${q.name}()),`
624
624
  }
625
625
 
626
- const indentedValidator = validatorDef
627
- .split('\n')
628
- .map((line, i) => (i === 0 ? line : ` ${line}`))
629
- .join('\n')
626
+ const indentedValidator = indentContinuationLines(validatorDef, 2)
630
627
 
631
628
  return ` ${q.name}: defineQuery(
632
629
  ${indentedValidator},
@@ -719,6 +716,14 @@ export function extractValibotExpression(valibotCode: string): string {
719
716
  return valibotCode.trim() || 'v.unknown()'
720
717
  }
721
718
 
719
+ function indentContinuationLines(value: string, spaces: number): string {
720
+ const indentation = ' '.repeat(spaces)
721
+ return value
722
+ .split('\n')
723
+ .map((line, index) => (index === 0 ? line : `${indentation}${line}`))
724
+ .join('\n')
725
+ }
726
+
722
727
  // parse a column builder source-text fragment (e.g. "string().optional()") into
723
728
  // a SchemaColumn. used by generate-lite.ts when the caller extracts raw
724
729
  // column builder text from their AST.
@@ -753,7 +758,7 @@ export function generateSyncedMutationsFile(modelMutations: ModelMutations[]): s
753
758
  const customMut = model.custom.find((m) => m.name === mode)!
754
759
  if (customMut.valibotCode) {
755
760
  entries.push(
756
- ` ${mode}: ${extractValibotExpression(customMut.valibotCode)},`
761
+ ` ${mode}: ${indentContinuationLines(extractValibotExpression(customMut.valibotCode), 2)},`
757
762
  )
758
763
  } else {
759
764
  // fall back to schema-derived
@@ -781,7 +786,9 @@ export function generateSyncedMutationsFile(modelMutations: ModelMutations[]): s
781
786
  entries.push(` ${mut.name}: v.unknown(),`)
782
787
  continue
783
788
  }
784
- entries.push(` ${mut.name}: ${extractValibotExpression(mut.valibotCode)},`)
789
+ entries.push(
790
+ ` ${mut.name}: ${indentContinuationLines(extractValibotExpression(mut.valibotCode), 2)},`
791
+ )
785
792
  }
786
793
 
787
794
  return ` ${model.modelName}: {\n${entries.join('\n')}\n },`
@@ -1 +1 @@
1
- {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-helpers.d.ts","sourceRoot":"","sources":["../src/generate-helpers.ts"],"names":[],"mappings":"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"}