shapedef 1.0.0

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 (149) hide show
  1. package/.gitignore +232 -0
  2. package/CLAUDE.md +41 -0
  3. package/README.md +2 -0
  4. package/dist/cjs/common/guards.d.ts +5 -0
  5. package/dist/cjs/common/guards.d.ts.map +1 -0
  6. package/dist/cjs/common/guards.js +22 -0
  7. package/dist/cjs/common/guards.js.map +1 -0
  8. package/dist/cjs/common/index.d.ts +3 -0
  9. package/dist/cjs/common/index.d.ts.map +1 -0
  10. package/dist/cjs/common/index.js +19 -0
  11. package/dist/cjs/common/index.js.map +1 -0
  12. package/dist/cjs/common/padding.d.ts +2 -0
  13. package/dist/cjs/common/padding.d.ts.map +1 -0
  14. package/dist/cjs/common/padding.js +8 -0
  15. package/dist/cjs/common/padding.js.map +1 -0
  16. package/dist/cjs/common/types.d.ts +8 -0
  17. package/dist/cjs/common/types.d.ts.map +1 -0
  18. package/dist/cjs/common/types.js +3 -0
  19. package/dist/cjs/common/types.js.map +1 -0
  20. package/dist/cjs/index.d.ts +5 -0
  21. package/dist/cjs/index.d.ts.map +1 -0
  22. package/dist/cjs/index.js +21 -0
  23. package/dist/cjs/index.js.map +1 -0
  24. package/dist/cjs/inputs/index.d.ts +2 -0
  25. package/dist/cjs/inputs/index.d.ts.map +1 -0
  26. package/dist/cjs/inputs/index.js +18 -0
  27. package/dist/cjs/inputs/index.js.map +1 -0
  28. package/dist/cjs/inputs/json-schema.d.ts +4 -0
  29. package/dist/cjs/inputs/json-schema.d.ts.map +1 -0
  30. package/dist/cjs/inputs/json-schema.js +306 -0
  31. package/dist/cjs/inputs/json-schema.js.map +1 -0
  32. package/dist/cjs/phantom.d.ts +4 -0
  33. package/dist/cjs/phantom.d.ts.map +1 -0
  34. package/dist/cjs/phantom.js +5 -0
  35. package/dist/cjs/phantom.js.map +1 -0
  36. package/dist/cjs/shape-utils.d.ts +4 -0
  37. package/dist/cjs/shape-utils.d.ts.map +1 -0
  38. package/dist/cjs/shape-utils.js +43 -0
  39. package/dist/cjs/shape-utils.js.map +1 -0
  40. package/dist/cjs/shape.d.ts +169 -0
  41. package/dist/cjs/shape.d.ts.map +1 -0
  42. package/dist/cjs/shape.js +258 -0
  43. package/dist/cjs/shape.js.map +1 -0
  44. package/dist/cjs/translations/index.d.ts +4 -0
  45. package/dist/cjs/translations/index.d.ts.map +1 -0
  46. package/dist/cjs/translations/index.js +20 -0
  47. package/dist/cjs/translations/index.js.map +1 -0
  48. package/dist/cjs/translations/postgres.d.ts +3 -0
  49. package/dist/cjs/translations/postgres.d.ts.map +1 -0
  50. package/dist/cjs/translations/postgres.js +72 -0
  51. package/dist/cjs/translations/postgres.js.map +1 -0
  52. package/dist/cjs/translations/translation.d.ts +3 -0
  53. package/dist/cjs/translations/translation.d.ts.map +1 -0
  54. package/dist/cjs/translations/translation.js +3 -0
  55. package/dist/cjs/translations/translation.js.map +1 -0
  56. package/dist/cjs/translations/typescript.d.ts +3 -0
  57. package/dist/cjs/translations/typescript.d.ts.map +1 -0
  58. package/dist/cjs/translations/typescript.js +122 -0
  59. package/dist/cjs/translations/typescript.js.map +1 -0
  60. package/dist/cjs/validation.d.ts +10 -0
  61. package/dist/cjs/validation.d.ts.map +1 -0
  62. package/dist/cjs/validation.js +101 -0
  63. package/dist/cjs/validation.js.map +1 -0
  64. package/dist/esm/common/guards.d.ts +5 -0
  65. package/dist/esm/common/guards.d.ts.map +1 -0
  66. package/dist/esm/common/guards.js +22 -0
  67. package/dist/esm/common/guards.js.map +1 -0
  68. package/dist/esm/common/index.d.ts +3 -0
  69. package/dist/esm/common/index.d.ts.map +1 -0
  70. package/dist/esm/common/index.js +19 -0
  71. package/dist/esm/common/index.js.map +1 -0
  72. package/dist/esm/common/padding.d.ts +2 -0
  73. package/dist/esm/common/padding.d.ts.map +1 -0
  74. package/dist/esm/common/padding.js +8 -0
  75. package/dist/esm/common/padding.js.map +1 -0
  76. package/dist/esm/common/types.d.ts +8 -0
  77. package/dist/esm/common/types.d.ts.map +1 -0
  78. package/dist/esm/common/types.js +3 -0
  79. package/dist/esm/common/types.js.map +1 -0
  80. package/dist/esm/index.d.ts +5 -0
  81. package/dist/esm/index.d.ts.map +1 -0
  82. package/dist/esm/index.js +21 -0
  83. package/dist/esm/index.js.map +1 -0
  84. package/dist/esm/inputs/index.d.ts +2 -0
  85. package/dist/esm/inputs/index.d.ts.map +1 -0
  86. package/dist/esm/inputs/index.js +18 -0
  87. package/dist/esm/inputs/index.js.map +1 -0
  88. package/dist/esm/inputs/json-schema.d.ts +4 -0
  89. package/dist/esm/inputs/json-schema.d.ts.map +1 -0
  90. package/dist/esm/inputs/json-schema.js +306 -0
  91. package/dist/esm/inputs/json-schema.js.map +1 -0
  92. package/dist/esm/package.json +1 -0
  93. package/dist/esm/phantom.d.ts +4 -0
  94. package/dist/esm/phantom.d.ts.map +1 -0
  95. package/dist/esm/phantom.js +5 -0
  96. package/dist/esm/phantom.js.map +1 -0
  97. package/dist/esm/shape-utils.d.ts +4 -0
  98. package/dist/esm/shape-utils.d.ts.map +1 -0
  99. package/dist/esm/shape-utils.js +43 -0
  100. package/dist/esm/shape-utils.js.map +1 -0
  101. package/dist/esm/shape.d.ts +169 -0
  102. package/dist/esm/shape.d.ts.map +1 -0
  103. package/dist/esm/shape.js +258 -0
  104. package/dist/esm/shape.js.map +1 -0
  105. package/dist/esm/translations/index.d.ts +4 -0
  106. package/dist/esm/translations/index.d.ts.map +1 -0
  107. package/dist/esm/translations/index.js +20 -0
  108. package/dist/esm/translations/index.js.map +1 -0
  109. package/dist/esm/translations/postgres.d.ts +3 -0
  110. package/dist/esm/translations/postgres.d.ts.map +1 -0
  111. package/dist/esm/translations/postgres.js +72 -0
  112. package/dist/esm/translations/postgres.js.map +1 -0
  113. package/dist/esm/translations/translation.d.ts +3 -0
  114. package/dist/esm/translations/translation.d.ts.map +1 -0
  115. package/dist/esm/translations/translation.js +3 -0
  116. package/dist/esm/translations/translation.js.map +1 -0
  117. package/dist/esm/translations/typescript.d.ts +3 -0
  118. package/dist/esm/translations/typescript.d.ts.map +1 -0
  119. package/dist/esm/translations/typescript.js +122 -0
  120. package/dist/esm/translations/typescript.js.map +1 -0
  121. package/dist/esm/validation.d.ts +10 -0
  122. package/dist/esm/validation.d.ts.map +1 -0
  123. package/dist/esm/validation.js +101 -0
  124. package/dist/esm/validation.js.map +1 -0
  125. package/package.json +44 -0
  126. package/pnpm-lock.yaml +969 -0
  127. package/src/common/guards.ts +23 -0
  128. package/src/common/index.ts +2 -0
  129. package/src/common/padding.ts +6 -0
  130. package/src/common/types.ts +21 -0
  131. package/src/index.ts +4 -0
  132. package/src/inputs/index.ts +1 -0
  133. package/src/inputs/json-schema.test.ts +191 -0
  134. package/src/inputs/json-schema.ts +324 -0
  135. package/src/phantom.ts +3 -0
  136. package/src/samples/bank.sample.ts +25 -0
  137. package/src/shape-utils.ts +46 -0
  138. package/src/shape.ts +488 -0
  139. package/src/translations/index.ts +3 -0
  140. package/src/translations/postgres.test.ts +161 -0
  141. package/src/translations/postgres.ts +73 -0
  142. package/src/translations/translation.ts +3 -0
  143. package/src/translations/typescript.test.ts +61 -0
  144. package/src/translations/typescript.ts +142 -0
  145. package/src/validation.test.ts +179 -0
  146. package/src/validation.ts +135 -0
  147. package/tsconfig.cjs.json +10 -0
  148. package/tsconfig.esm.json +10 -0
  149. package/tsconfig.json +22 -0
package/.gitignore ADDED
@@ -0,0 +1,232 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/vim,emacs,yarn,node
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=vim,emacs,yarn,node
3
+
4
+ ### Emacs ###
5
+ # -*- mode: gitignore; -*-
6
+ *~
7
+ \#*\#
8
+ /.emacs.desktop
9
+ /.emacs.desktop.lock
10
+ *.elc
11
+ auto-save-list
12
+ tramp
13
+ .\#*
14
+
15
+ # Org-mode
16
+ .org-id-locations
17
+ *_archive
18
+
19
+ # flymake-mode
20
+ *_flymake.*
21
+
22
+ # eshell files
23
+ /eshell/history
24
+ /eshell/lastdir
25
+
26
+ # elpa packages
27
+ /elpa/
28
+
29
+ # reftex files
30
+ *.rel
31
+
32
+ # AUCTeX auto folder
33
+ /auto/
34
+
35
+ # cask packages
36
+ .cask/
37
+ dist/
38
+
39
+ # Flycheck
40
+ flycheck_*.el
41
+
42
+ # server auth directory
43
+ /server/
44
+
45
+ # projectiles files
46
+ .projectile
47
+
48
+ # directory configuration
49
+ .dir-locals.el
50
+
51
+ # network security
52
+ /network-security.data
53
+
54
+
55
+ ### Node ###
56
+ # Logs
57
+ logs
58
+ *.log
59
+ npm-debug.log*
60
+ yarn-debug.log*
61
+ yarn-error.log*
62
+ lerna-debug.log*
63
+ .pnpm-debug.log*
64
+
65
+ # Diagnostic reports (https://nodejs.org/api/report.html)
66
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
67
+
68
+ # Runtime data
69
+ pids
70
+ *.pid
71
+ *.seed
72
+ *.pid.lock
73
+
74
+ # Directory for instrumented libs generated by jscoverage/JSCover
75
+ lib-cov
76
+
77
+ # Coverage directory used by tools like istanbul
78
+ coverage
79
+ *.lcov
80
+
81
+ # nyc test coverage
82
+ .nyc_output
83
+
84
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
85
+ .grunt
86
+
87
+ # Bower dependency directory (https://bower.io/)
88
+ bower_components
89
+
90
+ # node-waf configuration
91
+ .lock-wscript
92
+
93
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
94
+ build/Release
95
+
96
+ # Dependency directories
97
+ node_modules/
98
+ jspm_packages/
99
+
100
+ # Snowpack dependency directory (https://snowpack.dev/)
101
+ web_modules/
102
+
103
+ # TypeScript cache
104
+ *.tsbuildinfo
105
+
106
+ # Optional npm cache directory
107
+ .npm
108
+
109
+ # Optional eslint cache
110
+ .eslintcache
111
+
112
+ # Optional stylelint cache
113
+ .stylelintcache
114
+
115
+ # Microbundle cache
116
+ .rpt2_cache/
117
+ .rts2_cache_cjs/
118
+ .rts2_cache_es/
119
+ .rts2_cache_umd/
120
+
121
+ # Optional REPL history
122
+ .node_repl_history
123
+
124
+ # Output of 'npm pack'
125
+ *.tgz
126
+
127
+ # Yarn Integrity file
128
+ .yarn-integrity
129
+
130
+ # dotenv environment variable files
131
+ .env
132
+ .env.development.local
133
+ .env.test.local
134
+ .env.production.local
135
+ .env.local
136
+
137
+ # parcel-bundler cache (https://parceljs.org/)
138
+ .cache
139
+ .parcel-cache
140
+
141
+ # Next.js build output
142
+ .next
143
+ out
144
+
145
+ # Nuxt.js build / generate output
146
+ .nuxt
147
+ dist
148
+
149
+ # Gatsby files
150
+ .cache/
151
+ # Comment in the public line in if your project uses Gatsby and not Next.js
152
+ # https://nextjs.org/blog/next-9-1#public-directory-support
153
+ # public
154
+
155
+ # vuepress build output
156
+ .vuepress/dist
157
+
158
+ # vuepress v2.x temp and cache directory
159
+ .temp
160
+
161
+ # Docusaurus cache and generated files
162
+ .docusaurus
163
+
164
+ # Serverless directories
165
+ .serverless/
166
+
167
+ # FuseBox cache
168
+ .fusebox/
169
+
170
+ # DynamoDB Local files
171
+ .dynamodb/
172
+
173
+ # TernJS port file
174
+ .tern-port
175
+
176
+ # Stores VSCode versions used for testing VSCode extensions
177
+ .vscode-test
178
+
179
+ # yarn v2
180
+ .yarn/cache
181
+ .yarn/unplugged
182
+ .yarn/build-state.yml
183
+ .yarn/install-state.gz
184
+ .pnp.*
185
+
186
+ ### Node Patch ###
187
+ # Serverless Webpack directories
188
+ .webpack/
189
+
190
+ # Optional stylelint cache
191
+
192
+ # SvelteKit build / generate output
193
+ .svelte-kit
194
+
195
+ ### Vim ###
196
+ # Swap
197
+ [._]*.s[a-v][a-z]
198
+ !*.svg # comment out if you don't need vector files
199
+ [._]*.sw[a-p]
200
+ [._]s[a-rt-v][a-z]
201
+ [._]ss[a-gi-z]
202
+ [._]sw[a-p]
203
+
204
+ # Session
205
+ Session.vim
206
+ Sessionx.vim
207
+
208
+ # Temporary
209
+ .netrwhist
210
+ # Auto-generated tag files
211
+ tags
212
+ # Persistent undo
213
+ [._]*.un~
214
+
215
+ ### yarn ###
216
+ # https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
217
+
218
+ .yarn/*
219
+ !.yarn/releases
220
+ !.yarn/patches
221
+ !.yarn/plugins
222
+ !.yarn/sdks
223
+ !.yarn/versions
224
+
225
+ # if you are NOT using Zero-installs, then:
226
+ # comment the following lines
227
+ !.yarn/cache
228
+
229
+ # and uncomment the following lines
230
+ # .pnp.*
231
+
232
+ # End of https://www.toptal.com/developers/gitignore/api/vim,emacs,yarn,node
package/CLAUDE.md ADDED
@@ -0,0 +1,41 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Commands
6
+
7
+ ```bash
8
+ pnpm build # Compile TypeScript to both ESM (dist/esm) and CJS (dist/cjs)
9
+ pnpm test # Run tests with Vitest
10
+ pnpm check # Type-check without emitting (tsc --noEmit)
11
+ pnpm format # Format src/ with Prettier
12
+ ```
13
+
14
+ To run a single test file:
15
+ ```bash
16
+ pnpm exec vitest run src/translations/typescript.test.ts
17
+ ```
18
+
19
+ ## Architecture
20
+
21
+ **shapedef** is a TypeScript library for defining data shapes and translating them into various formats (currently TypeScript type/interface syntax).
22
+
23
+ ### Core Concepts
24
+
25
+ **Shape system** (`src/shape.ts`): The central module. Defines all shape variants (`ShapeInt`, `ShapeFloat`, `ShapeStr`, `ShapeBool`, `ShapeDate`, `ShapeNil`, `ShapeUnknown`, `ShapeRef`, `ShapeArray`, `ShapeMapping`, `ShapeTuple`, `ShapeVector`, `ShapeUnion`, plus literal variants) united under the `Shape` union type. Shapes are created via the `shapes` namespace of factory functions (`shapes.int()`, `shapes.str()`, `shapes.mapping({...})`, etc.).
26
+
27
+ **Annotation system** (`src/shape.ts`): The `annotate` namespace wraps shapes with metadata. Each annotation adds to a `ShapeAnnotations` object (name, title, description, optional, primary, unique, foreign key). Annotated shapes carry their annotations as a phantom type parameter so callers can introspect them at the type level without runtime overhead.
28
+
29
+ **Phantom types** (`src/phantom.ts`): Encode type-level information that is invisible at runtime. Used to make annotation metadata queryable at the TypeScript type level.
30
+
31
+ **Translation system** (`src/translations/`): `TranslationFunc<T>` maps a `Shape` to some output type `T`. Translators pattern-match on `shape.type`. The `typescript` translator in `typescript.ts` converts shapes to TypeScript syntax strings (primitives become type keywords; `ShapeMapping` with a name generates an `interface`, anonymous produces an inline object type).
32
+
33
+ ### Adding a New Translator
34
+
35
+ 1. Create `src/translations/<format>.ts` exporting a `TranslationFunc<YourOutputType>`
36
+ 2. Add tests in `src/translations/<format>.test.ts`
37
+ 3. Re-export from `src/translations/index.ts`
38
+
39
+ ### Module Output
40
+
41
+ Dual ESM/CJS output via separate `tsconfig.esm.json` / `tsconfig.cjs.json`. Both generate `.d.ts` declarations. The ESM output folder gets an injected `package.json { "type": "module" }` to signal ESM to Node.
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # shapedef
2
+ Define shapes and translate them into various formats
@@ -0,0 +1,5 @@
1
+ export declare const isPlainObject: (x: any) => x is Record<PropertyKey, unknown>;
2
+ export declare function has<Keys extends [...PropertyKey[]]>(x: unknown, ...keys: Keys): x is {
3
+ [Prop in keyof Keys as [Keys[Prop]] extends [string] ? Keys[Prop] : never]: unknown;
4
+ };
5
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../src/common/guards.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,CAKtE,CAAC;AAEF,wBAAgB,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC,EACjD,CAAC,EAAE,OAAO,EACV,GAAG,IAAI,EAAE,IAAI,GACZ,CAAC,IAAI;KACL,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAC/D,KAAK,GAAG,OAAO;CAClB,CASA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPlainObject = void 0;
4
+ exports.has = has;
5
+ const isPlainObject = (x) => {
6
+ if (x === null || typeof x === "undefined")
7
+ return false;
8
+ if (Array.isArray(x))
9
+ return false;
10
+ if (x instanceof Date)
11
+ return false;
12
+ return Object.getPrototypeOf(x) === Object.prototype;
13
+ };
14
+ exports.isPlainObject = isPlainObject;
15
+ function has(x, ...keys) {
16
+ if (typeof x === "undefined" || x === null)
17
+ return false;
18
+ if (keys.every((key) => Object.hasOwn(x, key) || (typeof x === "object" && key in x)))
19
+ return true;
20
+ return false;
21
+ }
22
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/common/guards.ts"],"names":[],"mappings":";;;AAOA,kBAeC;AAtBM,MAAM,aAAa,GAAG,CAAC,CAAM,EAAqC,EAAE;IACzE,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEF,SAAgB,GAAG,CACjB,CAAU,EACV,GAAG,IAAU;IAKb,IAAI,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACzD,IACE,IAAI,CAAC,KAAK,CACR,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC,CAAC,CACtE;QAED,OAAO,IAAI,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./types";
2
+ export * from "./guards";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./guards"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB"}
@@ -0,0 +1,2 @@
1
+ export declare const mkpad: (n: number, fill?: string) => string;
2
+ //# sourceMappingURL=padding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padding.d.ts","sourceRoot":"","sources":["../../../src/common/padding.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,OAAM,MAAY,KAAG,MAKnD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mkpad = void 0;
4
+ const mkpad = (n, fill = " ") => n <= 0 ? "" : (Array.from(Array(n).keys())
5
+ .map(() => fill)
6
+ .join(""));
7
+ exports.mkpad = mkpad;
8
+ //# sourceMappingURL=padding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padding.js","sourceRoot":"","sources":["../../../src/common/padding.ts"],"names":[],"mappings":";;;AAAO,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,OAAe,GAAG,EAAU,EAAE,CAC7D,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACxB,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACf,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;AALS,QAAA,KAAK,SAKd"}
@@ -0,0 +1,8 @@
1
+ export type TupleOf<T> = [T, ...T[]] | [...T[], T] | [T];
2
+ export type Prettify<T> = {
3
+ [K in keyof T]: T[K];
4
+ } & {};
5
+ export type UnionToIntersection<union> = (union extends any ? (k: union) => void : never) extends ((k: infer intersection) => void) ? intersection : never;
6
+ export type IsUnion<a> = [a] extends [UnionToIntersection<a>] ? false : true;
7
+ export type UnionToTuple<union, output extends any[] = []> = UnionToIntersection<union extends any ? (t: union) => union : never> extends ((_: any) => infer elem) ? UnionToTuple<Exclude<union, elem>, [elem, ...output]> : output;
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,MAAM,MAAM,mBAAmB,CAAC,KAAK,IACnC,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CACvD,CAAC,CAAC,EAAE,MAAM,YAAY,KAAK,IAAI,CAChC,GACC,YAAY,GACZ,KAAK,CAAC;AAEV,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAE7E,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,IACvD,mBAAmB,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3E,CAAC,CAAC,EAAE,GAAG,KAAK,MAAM,IAAI,CACvB,GACC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,GACrD,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from "./shape";
2
+ export * from "./shape-utils";
3
+ export * from "./inputs";
4
+ export * from "./translations";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./shape"), exports);
18
+ __exportStar(require("./shape-utils"), exports);
19
+ __exportStar(require("./inputs"), exports);
20
+ __exportStar(require("./translations"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B;AAC9B,2CAAyB;AACzB,iDAA+B"}
@@ -0,0 +1,2 @@
1
+ export * from "./json-schema";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inputs/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./json-schema"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inputs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -0,0 +1,4 @@
1
+ import { Shape } from "../shape";
2
+ export declare const fromJSONSchema: (schema: unknown, hint?: Shape, typenameOverride?: string) => Shape;
3
+ export declare const fromJSONSchemaWithDefs: (schema: unknown) => [Record<string, Shape>, Shape];
4
+ //# sourceMappingURL=json-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../src/inputs/json-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,EAAU,MAAM,UAAU,CAAC;AAmCnD,eAAO,MAAM,cAAc,GACzB,QAAQ,OAAO,EACf,OAAO,KAAK,EACZ,mBAAmB,MAAM,KACxB,KA+PF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,OAAO,KACd,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAwB/B,CAAC"}