@voxgig/sdkgen 4.2.0 → 4.2.1

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 (120) hide show
  1. package/bin/voxgig-sdkgen +1 -1
  2. package/dist/helpers/canonType.d.ts +2 -1
  3. package/dist/helpers/canonType.js +36 -0
  4. package/dist/helpers/canonType.js.map +1 -1
  5. package/dist/sdkgen.d.ts +2 -2
  6. package/dist/sdkgen.js +3 -2
  7. package/dist/sdkgen.js.map +1 -1
  8. package/dist/tsconfig.tsbuildinfo +1 -1
  9. package/package.json +1 -1
  10. package/project/.sdk/src/cmp/c/ReadmeEntity_c.ts +2 -2
  11. package/project/.sdk/src/cmp/c/ReadmeHowto_c.ts +2 -2
  12. package/project/.sdk/src/cmp/c/ReadmeQuick_c.ts +2 -2
  13. package/project/.sdk/src/cmp/c/ReadmeRef_c.ts +2 -2
  14. package/project/.sdk/src/cmp/c/ReadmeTopQuick_c.ts +2 -2
  15. package/project/.sdk/src/cmp/c/ReadmeTopTest_c.ts +2 -2
  16. package/project/.sdk/src/cmp/clojure/ReadmeEntity_clojure.ts +2 -2
  17. package/project/.sdk/src/cmp/clojure/ReadmeHowto_clojure.ts +2 -2
  18. package/project/.sdk/src/cmp/clojure/ReadmeQuick_clojure.ts +2 -2
  19. package/project/.sdk/src/cmp/clojure/ReadmeRef_clojure.ts +2 -2
  20. package/project/.sdk/src/cmp/clojure/ReadmeTopQuick_clojure.ts +2 -2
  21. package/project/.sdk/src/cmp/clojure/ReadmeTopTest_clojure.ts +2 -2
  22. package/project/.sdk/src/cmp/cpp/ReadmeEntity_cpp.ts +2 -2
  23. package/project/.sdk/src/cmp/cpp/ReadmeHowto_cpp.ts +2 -2
  24. package/project/.sdk/src/cmp/cpp/ReadmeQuick_cpp.ts +2 -2
  25. package/project/.sdk/src/cmp/cpp/ReadmeRef_cpp.ts +2 -2
  26. package/project/.sdk/src/cmp/cpp/ReadmeTopQuick_cpp.ts +2 -2
  27. package/project/.sdk/src/cmp/cpp/ReadmeTopTest_cpp.ts +2 -2
  28. package/project/.sdk/src/cmp/csharp/ReadmeEntity_csharp.ts +2 -2
  29. package/project/.sdk/src/cmp/csharp/ReadmeHowto_csharp.ts +2 -2
  30. package/project/.sdk/src/cmp/csharp/ReadmeQuick_csharp.ts +2 -2
  31. package/project/.sdk/src/cmp/csharp/ReadmeRef_csharp.ts +2 -2
  32. package/project/.sdk/src/cmp/csharp/ReadmeTopQuick_csharp.ts +2 -2
  33. package/project/.sdk/src/cmp/csharp/ReadmeTopTest_csharp.ts +2 -2
  34. package/project/.sdk/src/cmp/dart/ReadmeEntity_dart.ts +2 -2
  35. package/project/.sdk/src/cmp/dart/ReadmeHowto_dart.ts +2 -2
  36. package/project/.sdk/src/cmp/dart/ReadmeQuick_dart.ts +2 -2
  37. package/project/.sdk/src/cmp/dart/ReadmeRef_dart.ts +2 -2
  38. package/project/.sdk/src/cmp/dart/ReadmeTopQuick_dart.ts +2 -2
  39. package/project/.sdk/src/cmp/dart/ReadmeTopTest_dart.ts +2 -2
  40. package/project/.sdk/src/cmp/elixir/utility_elixir.ts +2 -1
  41. package/project/.sdk/src/cmp/go/ReadmeHowto_go.ts +2 -2
  42. package/project/.sdk/src/cmp/go/ReadmeTopTest_go.ts +2 -2
  43. package/project/.sdk/src/cmp/go/utility_go.ts +10 -1
  44. package/project/.sdk/src/cmp/java/ReadmeEntity_java.ts +2 -2
  45. package/project/.sdk/src/cmp/java/ReadmeHowto_java.ts +2 -2
  46. package/project/.sdk/src/cmp/java/ReadmeQuick_java.ts +2 -2
  47. package/project/.sdk/src/cmp/java/ReadmeRef_java.ts +2 -2
  48. package/project/.sdk/src/cmp/java/ReadmeTopQuick_java.ts +2 -2
  49. package/project/.sdk/src/cmp/java/ReadmeTopTest_java.ts +2 -2
  50. package/project/.sdk/src/cmp/js/utility_js.ts +10 -1
  51. package/project/.sdk/src/cmp/kotlin/ReadmeEntity_kotlin.ts +2 -2
  52. package/project/.sdk/src/cmp/kotlin/ReadmeHowto_kotlin.ts +2 -2
  53. package/project/.sdk/src/cmp/kotlin/ReadmeQuick_kotlin.ts +2 -2
  54. package/project/.sdk/src/cmp/kotlin/ReadmeRef_kotlin.ts +2 -2
  55. package/project/.sdk/src/cmp/kotlin/ReadmeTopQuick_kotlin.ts +2 -2
  56. package/project/.sdk/src/cmp/kotlin/ReadmeTopTest_kotlin.ts +2 -2
  57. package/project/.sdk/src/cmp/lua/ReadmeEntity_lua.ts +2 -2
  58. package/project/.sdk/src/cmp/lua/ReadmeHowto_lua.ts +2 -2
  59. package/project/.sdk/src/cmp/lua/ReadmeQuick_lua.ts +2 -2
  60. package/project/.sdk/src/cmp/lua/ReadmeRef_lua.ts +2 -2
  61. package/project/.sdk/src/cmp/lua/ReadmeTopQuick_lua.ts +2 -2
  62. package/project/.sdk/src/cmp/lua/ReadmeTopTest_lua.ts +2 -2
  63. package/project/.sdk/src/cmp/ocaml/ReadmeEntity_ocaml.ts +2 -2
  64. package/project/.sdk/src/cmp/ocaml/ReadmeHowto_ocaml.ts +2 -2
  65. package/project/.sdk/src/cmp/ocaml/ReadmeQuick_ocaml.ts +2 -2
  66. package/project/.sdk/src/cmp/ocaml/ReadmeRef_ocaml.ts +2 -2
  67. package/project/.sdk/src/cmp/ocaml/ReadmeTopQuick_ocaml.ts +2 -2
  68. package/project/.sdk/src/cmp/ocaml/ReadmeTopTest_ocaml.ts +2 -2
  69. package/project/.sdk/src/cmp/perl/ReadmeEntity_perl.ts +2 -2
  70. package/project/.sdk/src/cmp/perl/ReadmeHowto_perl.ts +2 -2
  71. package/project/.sdk/src/cmp/perl/ReadmeQuick_perl.ts +2 -2
  72. package/project/.sdk/src/cmp/perl/ReadmeRef_perl.ts +2 -2
  73. package/project/.sdk/src/cmp/perl/ReadmeTopQuick_perl.ts +2 -2
  74. package/project/.sdk/src/cmp/perl/ReadmeTopTest_perl.ts +2 -2
  75. package/project/.sdk/src/cmp/php/ReadmeEntity_php.ts +2 -2
  76. package/project/.sdk/src/cmp/php/ReadmeHowto_php.ts +2 -2
  77. package/project/.sdk/src/cmp/php/ReadmeQuick_php.ts +2 -2
  78. package/project/.sdk/src/cmp/php/ReadmeRef_php.ts +2 -2
  79. package/project/.sdk/src/cmp/php/ReadmeTopQuick_php.ts +2 -2
  80. package/project/.sdk/src/cmp/php/ReadmeTopTest_php.ts +2 -2
  81. package/project/.sdk/src/cmp/py/ReadmeEntity_py.ts +2 -2
  82. package/project/.sdk/src/cmp/py/ReadmeHowto_py.ts +2 -2
  83. package/project/.sdk/src/cmp/py/ReadmeQuick_py.ts +2 -2
  84. package/project/.sdk/src/cmp/py/ReadmeRef_py.ts +2 -2
  85. package/project/.sdk/src/cmp/py/ReadmeTopQuick_py.ts +2 -2
  86. package/project/.sdk/src/cmp/py/ReadmeTopTest_py.ts +2 -2
  87. package/project/.sdk/src/cmp/rb/ReadmeEntity_rb.ts +2 -2
  88. package/project/.sdk/src/cmp/rb/ReadmeHowto_rb.ts +2 -2
  89. package/project/.sdk/src/cmp/rb/ReadmeQuick_rb.ts +2 -2
  90. package/project/.sdk/src/cmp/rb/ReadmeRef_rb.ts +2 -2
  91. package/project/.sdk/src/cmp/rb/ReadmeTopQuick_rb.ts +2 -2
  92. package/project/.sdk/src/cmp/rb/ReadmeTopTest_rb.ts +2 -2
  93. package/project/.sdk/src/cmp/rust/ReadmeEntity_rust.ts +2 -2
  94. package/project/.sdk/src/cmp/rust/ReadmeHowto_rust.ts +2 -2
  95. package/project/.sdk/src/cmp/rust/ReadmeQuick_rust.ts +2 -2
  96. package/project/.sdk/src/cmp/rust/ReadmeRef_rust.ts +2 -2
  97. package/project/.sdk/src/cmp/rust/ReadmeTopQuick_rust.ts +2 -2
  98. package/project/.sdk/src/cmp/rust/ReadmeTopTest_rust.ts +2 -2
  99. package/project/.sdk/src/cmp/scala/ReadmeEntity_scala.ts +2 -2
  100. package/project/.sdk/src/cmp/scala/ReadmeHowto_scala.ts +2 -2
  101. package/project/.sdk/src/cmp/scala/ReadmeQuick_scala.ts +2 -2
  102. package/project/.sdk/src/cmp/scala/ReadmeRef_scala.ts +2 -2
  103. package/project/.sdk/src/cmp/scala/ReadmeTopQuick_scala.ts +2 -2
  104. package/project/.sdk/src/cmp/scala/ReadmeTopTest_scala.ts +2 -2
  105. package/project/.sdk/src/cmp/swift/ReadmeEntity_swift.ts +2 -2
  106. package/project/.sdk/src/cmp/swift/ReadmeHowto_swift.ts +2 -2
  107. package/project/.sdk/src/cmp/swift/ReadmeQuick_swift.ts +2 -2
  108. package/project/.sdk/src/cmp/swift/ReadmeRef_swift.ts +2 -2
  109. package/project/.sdk/src/cmp/swift/ReadmeTopQuick_swift.ts +2 -2
  110. package/project/.sdk/src/cmp/swift/ReadmeTopTest_swift.ts +2 -2
  111. package/project/.sdk/src/cmp/ts/utility_ts.ts +10 -1
  112. package/project/.sdk/src/cmp/zig/ReadmeEntity_zig.ts +2 -2
  113. package/project/.sdk/src/cmp/zig/ReadmeHowto_zig.ts +2 -2
  114. package/project/.sdk/src/cmp/zig/ReadmeQuick_zig.ts +2 -2
  115. package/project/.sdk/src/cmp/zig/ReadmeRef_zig.ts +2 -2
  116. package/project/.sdk/src/cmp/zig/ReadmeTopQuick_zig.ts +2 -2
  117. package/project/.sdk/src/cmp/zig/ReadmeTopTest_zig.ts +2 -2
  118. package/project/sdkgen-package.json +1 -1
  119. package/src/helpers/canonType.ts +38 -0
  120. package/src/sdkgen.ts +2 -1
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -10,7 +10,7 @@ import {
10
10
  // A type-correct Clojure literal for a field's canonical type. The create
11
11
  // example builds a real struct map, so array/object render as (vs/jt)/(vs/jm).
12
12
  function cljLit(type: any, placeholder: string = 'example'): string {
13
- const k = canonKey(type)
13
+ const k = canonScalarKey(type)
14
14
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
15
15
  if ('BOOLEAN' === k) return 'true'
16
16
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -9,7 +9,7 @@ import {
9
9
 
10
10
  // A type-correct Clojure literal for a field's canonical type.
11
11
  function cljLit(type: any): string {
12
- const k = canonKey(type)
12
+ const k = canonScalarKey(type)
13
13
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
14
14
  if ('BOOLEAN' === k) return 'true'
15
15
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, isAuthActive, envName, canonKey, opRequestShape, entityIdField, entityDataIdField, entityOps } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, isAuthActive, envName, canonKey, canonScalarKey, opRequestShape, entityIdField, entityDataIdField, entityOps } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -31,7 +31,7 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
31
31
 
32
32
  // A type-correct Clojure literal for a param.
33
33
  const cljLit = (type: any, placeholder: string = 'example'): string => {
34
- const k = canonKey(type)
34
+ const k = canonScalarKey(type)
35
35
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
36
36
  if ('BOOLEAN' === k) return 'true'
37
37
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -9,7 +9,7 @@ import {
9
9
 
10
10
  // A type-correct Clojure literal for a field's canonical type.
11
11
  function cljLit(type: any, placeholder: string = 'example'): string {
12
- const k = canonKey(type)
12
+ const k = canonScalarKey(type)
13
13
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
14
14
  if ('BOOLEAN' === k) return 'true'
15
15
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import {
11
11
  // A type-correct Clojure literal for a param: numeric/boolean/array/object
12
12
  // params render a typed literal; strings render the quoted placeholder.
13
13
  function cljLit(type: any, placeholder: string = 'example'): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
16
16
  if ('BOOLEAN' === k) return 'true'
17
17
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -9,7 +9,7 @@ import {
9
9
 
10
10
  // A type-correct Clojure literal for a field's canonical type.
11
11
  function cljLit(type: any): string {
12
- const k = canonKey(type)
12
+ const k = canonScalarKey(type)
13
13
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
14
14
  if ('BOOLEAN' === k) return 'true'
15
15
  if ('ARRAY' === k) return '(vs/jt)'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { cppVarName } from './utility_cpp'
13
13
 
14
14
  // A type-correct C++ literal for a field's canonical type.
15
15
  function cppLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
18
18
  if ('BOOLEAN' === k) return 'Value(true)'
19
19
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import { cppVarName } from './utility_cpp'
11
11
 
12
12
  // A type-correct C++ literal for a field's canonical type.
13
13
  function cppLit(type: any): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
16
16
  if ('BOOLEAN' === k) return 'Value(true)'
17
17
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, opRequestShape, entityIdField, entityDataIdField, entityOps } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, opRequestShape, entityIdField, entityDataIdField, entityOps } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -56,7 +56,7 @@ ${ctor}
56
56
  // A type-correct C++ literal for a param: numeric/boolean/array/object
57
57
  // params render a typed sdk::Value; strings render the quoted placeholder.
58
58
  const cppLit = (type: any, placeholder: string = 'example'): string => {
59
- const k = canonKey(type)
59
+ const k = canonScalarKey(type)
60
60
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
61
61
  if ('BOOLEAN' === k) return 'Value(true)'
62
62
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { cppVarName } from './utility_cpp'
13
13
 
14
14
  // A type-correct C++ literal for a field's canonical type.
15
15
  function cppLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
18
18
  if ('BOOLEAN' === k) return 'Value(true)'
19
19
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import { cppVarName } from './utility_cpp'
11
11
 
12
12
  // A type-correct C++ literal for a param.
13
13
  function cppLit(type: any, placeholder: string = 'example'): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
16
16
  if ('BOOLEAN' === k) return 'Value(true)'
17
17
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import { cppVarName } from './utility_cpp'
11
11
 
12
12
  // A type-correct C++ literal for a field's canonical type.
13
13
  function cppLit(type: any): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k || 'NUMBER' === k) return 'Value(1)'
16
16
  if ('BOOLEAN' === k) return 'Value(true)'
17
17
  if ('ARRAY' === k) return 'vlist()'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { csVarName } from './utility_csharp'
13
13
 
14
14
  // A type-correct, JSON-serialisable C# literal for a field's canonical type.
15
15
  function csLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k) return '1L'
18
18
  if ('NUMBER' === k) return '1.0'
19
19
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ import { csVarName } from './utility_csharp'
12
12
 
13
13
  // A type-correct C# literal for a field's canonical type.
14
14
  function csLit(type: any): string {
15
- const k = canonKey(type)
15
+ const k = canonScalarKey(type)
16
16
  if ('INTEGER' === k) return '1L'
17
17
  if ('NUMBER' === k) return '1.0'
18
18
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, opRequestShape, entityIdField, entityOps } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, opRequestShape, entityIdField, entityOps } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -56,7 +56,7 @@ var client = ${ctor};
56
56
 
57
57
  // A type-correct C# literal for a param.
58
58
  const csLit = (type: any, placeholder: string = 'example'): string => {
59
- const k = canonKey(type)
59
+ const k = canonScalarKey(type)
60
60
  if ('INTEGER' === k) return '1L'
61
61
  if ('NUMBER' === k) return '1.0'
62
62
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { csVarName } from './utility_csharp'
13
13
 
14
14
  // A type-correct C# literal for a field's canonical type.
15
15
  function csLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k) return '1L'
18
18
  if ('NUMBER' === k) return '1.0'
19
19
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -14,7 +14,7 @@ import { csVarName } from './utility_csharp'
14
14
  // render a typed literal; strings render the quoted placeholder. The SDK's
15
15
  // loose object model means all values live in Dictionary<string, object?>.
16
16
  function csLit(type: any, placeholder: string = 'example'): string {
17
- const k = canonKey(type)
17
+ const k = canonScalarKey(type)
18
18
  if ('INTEGER' === k) return '1L'
19
19
  if ('NUMBER' === k) return '1.0'
20
20
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ import { csVarName } from './utility_csharp'
12
12
 
13
13
  // A type-correct C# literal for a field's canonical type.
14
14
  function csLit(type: any): string {
15
- const k = canonKey(type)
15
+ const k = canonScalarKey(type)
16
16
  if ('INTEGER' === k) return '1L'
17
17
  if ('NUMBER' === k) return '1.0'
18
18
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ import {
12
12
  // A type-correct Dart literal for a field's canonical type. Strings render
13
13
  // the quoted placeholder (single-quoted, matching the generated Dart style).
14
14
  function dartLit(type: any, placeholder: string = 'example'): string {
15
- const k = canonKey(type)
15
+ const k = canonScalarKey(type)
16
16
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
17
17
  if ('BOOLEAN' === k) return 'true'
18
18
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, opRequestShape, safeVarName, exampleVarName } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape, safeVarName, exampleVarName } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  // A type-correct Dart literal for a field's canonical type.
12
12
  function dartLit(type: any): string {
13
- const k = canonKey(type)
13
+ const k = canonScalarKey(type)
14
14
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
15
15
  if ('BOOLEAN' === k) return 'true'
16
16
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, isAuthActive, envName, canonKey, opRequestShape, entityIdField, entityDataIdField, entityOps, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, isAuthActive, envName, canonKey, canonScalarKey, opRequestShape, entityIdField, entityDataIdField, entityOps, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -69,7 +69,7 @@ final client = ${ctor};
69
69
 
70
70
  // A type-correct, executable Dart literal for a param.
71
71
  const dartLit = (type: any, placeholder: string = 'example'): string => {
72
- const k = canonKey(type)
72
+ const k = canonScalarKey(type)
73
73
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
74
74
  if ('BOOLEAN' === k) return 'true'
75
75
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -14,7 +14,7 @@ import { dartPackageName } from './Package_dart'
14
14
  // A type-correct Dart literal for a field's canonical type. Strings render
15
15
  // the quoted placeholder (single-quoted, matching the generated Dart style).
16
16
  function dartLit(type: any, placeholder: string = 'example'): string {
17
- const k = canonKey(type)
17
+ const k = canonScalarKey(type)
18
18
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
19
19
  if ('BOOLEAN' === k) return 'true'
20
20
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, opRequestShape, safeVarName, exampleVarName, matchArg, idLiteral } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -14,7 +14,7 @@ import { dartPackageName } from './Package_dart'
14
14
  // array/object params render a typed literal; strings render the quoted
15
15
  // placeholder (single-quoted, matching the generated Dart style).
16
16
  function dartLit(type: any, placeholder: string = 'example'): string {
17
- const k = canonKey(type)
17
+ const k = canonScalarKey(type)
18
18
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
19
19
  if ('BOOLEAN' === k) return 'true'
20
20
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape, safeVarName, exampleVarName } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape, safeVarName, exampleVarName } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ import { dartPackageName } from './Package_dart'
12
12
 
13
13
  // A type-correct Dart literal for a field's canonical type.
14
14
  function dartLit(type: any): string {
15
- const k = canonKey(type)
15
+ const k = canonScalarKey(type)
16
16
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
17
17
  if ('BOOLEAN' === k) return 'true'
18
18
  if ('ARRAY' === k) return '<dynamic>[]'
@@ -8,6 +8,7 @@ import {
8
8
 
9
9
  import {
10
10
  canonKey,
11
+ canonScalarKey,
11
12
  canonToType,
12
13
  } from '@voxgig/sdkgen'
13
14
 
@@ -26,7 +27,7 @@ function elixirType(sentinel: unknown): string {
26
27
  // canonical type. Strings render the quoted placeholder; numeric/boolean/
27
28
  // collection types render a real literal so example blocks parse and run.
28
29
  function elixirLit(sentinel: unknown, placeholder: string = 'example'): string {
29
- switch (canonKey(sentinel)) {
30
+ switch (canonScalarKey(sentinel)) {
30
31
  case 'INTEGER':
31
32
  case 'NUMBER': return '1'
32
33
  case 'BOOLEAN': return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, opRequestShape, goModule } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape, goModule } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -12,7 +12,7 @@ import { goVarName } from './utility_go'
12
12
 
13
13
  // A type-correct Go literal for a field's canonical type.
14
14
  function goLit(type: any): string {
15
- const k = canonKey(type)
15
+ const k = canonScalarKey(type)
16
16
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
17
17
  if ('BOOLEAN' === k) return 'true'
18
18
  if ('ARRAY' === k) return '[]any{}'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape, goModule } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape, goModule } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  // A type-correct Go literal for a field's canonical type.
12
12
  function goLit(type: any): string {
13
- const k = canonKey(type)
13
+ const k = canonScalarKey(type)
14
14
  if ('INTEGER' === k || 'NUMBER' === k) return '1'
15
15
  if ('BOOLEAN' === k) return 'true'
16
16
  if ('ARRAY' === k) return '[]any{}'
@@ -5,6 +5,7 @@ import * as Path from 'node:path'
5
5
  import {
6
6
  camelify,
7
7
  canonKey,
8
+ canonScalarKey,
8
9
  each,
9
10
  exampleVarName,
10
11
  names,
@@ -55,7 +56,12 @@ function paramCanonType(entity: any, op: any, paramName: string): unknown {
55
56
  // the empty `map[string]any{}`, everything else (STRING, unknown, missing)
56
57
  // as the quoted `placeholder`.
57
58
  function exampleValue(entity: any, op: any, paramName: string, placeholder: string): string {
58
- const key = canonKey(paramCanonType(entity, op, paramName))
59
+ // canonScalarKey, not canonKey: a nullable field's sentinel is the union
60
+ // ['`$ONE`', ['`$NUMBER`','`$NULL`']], which canonKey stringifies into
61
+ // nothing recognizable — so a `number | null` id fell through to the
62
+ // quoted placeholder and the example failed to compile against the type
63
+ // generated from that very sentinel.
64
+ const key = canonScalarKey(paramCanonType(entity, op, paramName))
59
65
  if ('INTEGER' === key || 'NUMBER' === key) {
60
66
  return '1'
61
67
  }
@@ -68,6 +74,9 @@ function exampleValue(entity: any, op: any, paramName: string, placeholder: stri
68
74
  if ('OBJECT' === key) {
69
75
  return 'map[string]any{}'
70
76
  }
77
+ if ('NULL' === key) {
78
+ return 'nil'
79
+ }
71
80
  return `"${placeholder}"`
72
81
  }
73
82
 
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { javaVarName } from './utility_java'
13
13
 
14
14
  // A type-correct, JSON-serialisable Java literal for a field's canonical type.
15
15
  function javaLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k) return '1L'
18
18
  if ('NUMBER' === k) return '1.0'
19
19
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import { javaVarName } from './utility_java'
11
11
 
12
12
  // A type-correct Java literal for a field's canonical type.
13
13
  function javaLit(type: any): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k) return '1L'
16
16
  if ('NUMBER' === k) return '1.0'
17
17
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, opRequestShape, entityIdField, entityOps } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, opRequestShape, entityIdField, entityOps } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -35,7 +35,7 @@ const ReadmeQuick = cmp(function ReadmeQuick(props: any) {
35
35
  // A type-correct Java literal for a param — the loose object model means
36
36
  // all values live in a Map<String, Object>.
37
37
  const javaLit = (type: any, placeholder: string = 'example'): string => {
38
- const k = canonKey(type)
38
+ const k = canonScalarKey(type)
39
39
  if ('INTEGER' === k) return '1L'
40
40
  if ('NUMBER' === k) return '1.0'
41
41
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, File, isAuthActive, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { javaVarName } from './utility_java'
13
13
 
14
14
  // A type-correct Java literal for a field's canonical type.
15
15
  function javaLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k) return '1L'
18
18
  if ('NUMBER' === k) return '1.0'
19
19
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, isAuthActive, envName, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, isAuthActive, envName, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -14,7 +14,7 @@ import { javaVarName, javaPackage } from './utility_java'
14
14
  // render a typed literal; strings render the quoted placeholder. The SDK's
15
15
  // loose object model means all values live in Map<String, Object>.
16
16
  function javaLit(type: any, placeholder: string = 'example'): string {
17
- const k = canonKey(type)
17
+ const k = canonScalarKey(type)
18
18
  if ('INTEGER' === k) return '1L'
19
19
  if ('NUMBER' === k) return '1.0'
20
20
  if ('BOOLEAN' === k) return 'true'
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, Content, canonKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, Content, canonKey, canonScalarKey, entityIdField, pickExampleEntity, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -11,7 +11,7 @@ import { javaVarName } from './utility_java'
11
11
 
12
12
  // A type-correct Java literal for a field's canonical type.
13
13
  function javaLit(type: any): string {
14
- const k = canonKey(type)
14
+ const k = canonScalarKey(type)
15
15
  if ('INTEGER' === k) return '1L'
16
16
  if ('NUMBER' === k) return '1.0'
17
17
  if ('BOOLEAN' === k) return 'true'
@@ -4,6 +4,7 @@ import * as Path from 'node:path'
4
4
 
5
5
  import {
6
6
  canonKey,
7
+ canonScalarKey,
7
8
  each,
8
9
  } from '@voxgig/sdkgen'
9
10
 
@@ -47,7 +48,12 @@ function paramCanonType(entity: any, op: any, paramName: string): unknown {
47
48
  // `{}`, everything else (STRING, unknown, missing) as the quoted
48
49
  // `placeholder`.
49
50
  function exampleValue(entity: any, op: any, paramName: string, placeholder: string): string {
50
- const key = canonKey(paramCanonType(entity, op, paramName))
51
+ // canonScalarKey, not canonKey: a nullable field's sentinel is the union
52
+ // ['`$ONE`', ['`$NUMBER`','`$NULL`']], which canonKey stringifies into
53
+ // nothing recognizable — so a `number | null` id fell through to the
54
+ // quoted placeholder and the example failed to compile against the type
55
+ // generated from that very sentinel.
56
+ const key = canonScalarKey(paramCanonType(entity, op, paramName))
51
57
  if ('INTEGER' === key || 'NUMBER' === key) {
52
58
  return '1'
53
59
  }
@@ -60,6 +66,9 @@ function exampleValue(entity: any, op: any, paramName: string, placeholder: stri
60
66
  if ('OBJECT' === key) {
61
67
  return '{}'
62
68
  }
69
+ if ('NULL' === key) {
70
+ return 'null'
71
+ }
63
72
  return `'${placeholder}'`
64
73
  }
65
74
 
@@ -1,5 +1,5 @@
1
1
 
2
- import { cmp, each, Content, canonToType, canonKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
2
+ import { cmp, each, Content, canonToType, canonKey, canonScalarKey, entityIdField, opRequestShape } from '@voxgig/sdkgen'
3
3
 
4
4
  import {
5
5
  KIT,
@@ -13,7 +13,7 @@ import { kotlinVarName } from './utility_kotlin'
13
13
 
14
14
  // A type-correct Kotlin literal for a field's canonical type.
15
15
  function kotlinLit(type: any, placeholder: string = 'example'): string {
16
- const k = canonKey(type)
16
+ const k = canonScalarKey(type)
17
17
  if ('INTEGER' === k) return '1L'
18
18
  if ('NUMBER' === k) return '1.0'
19
19
  if ('BOOLEAN' === k) return 'true'