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.
- package/.gitignore +232 -0
- package/CLAUDE.md +41 -0
- package/README.md +2 -0
- package/dist/cjs/common/guards.d.ts +5 -0
- package/dist/cjs/common/guards.d.ts.map +1 -0
- package/dist/cjs/common/guards.js +22 -0
- package/dist/cjs/common/guards.js.map +1 -0
- package/dist/cjs/common/index.d.ts +3 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +19 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/padding.d.ts +2 -0
- package/dist/cjs/common/padding.d.ts.map +1 -0
- package/dist/cjs/common/padding.js +8 -0
- package/dist/cjs/common/padding.js.map +1 -0
- package/dist/cjs/common/types.d.ts +8 -0
- package/dist/cjs/common/types.d.ts.map +1 -0
- package/dist/cjs/common/types.js +3 -0
- package/dist/cjs/common/types.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/inputs/index.d.ts +2 -0
- package/dist/cjs/inputs/index.d.ts.map +1 -0
- package/dist/cjs/inputs/index.js +18 -0
- package/dist/cjs/inputs/index.js.map +1 -0
- package/dist/cjs/inputs/json-schema.d.ts +4 -0
- package/dist/cjs/inputs/json-schema.d.ts.map +1 -0
- package/dist/cjs/inputs/json-schema.js +306 -0
- package/dist/cjs/inputs/json-schema.js.map +1 -0
- package/dist/cjs/phantom.d.ts +4 -0
- package/dist/cjs/phantom.d.ts.map +1 -0
- package/dist/cjs/phantom.js +5 -0
- package/dist/cjs/phantom.js.map +1 -0
- package/dist/cjs/shape-utils.d.ts +4 -0
- package/dist/cjs/shape-utils.d.ts.map +1 -0
- package/dist/cjs/shape-utils.js +43 -0
- package/dist/cjs/shape-utils.js.map +1 -0
- package/dist/cjs/shape.d.ts +169 -0
- package/dist/cjs/shape.d.ts.map +1 -0
- package/dist/cjs/shape.js +258 -0
- package/dist/cjs/shape.js.map +1 -0
- package/dist/cjs/translations/index.d.ts +4 -0
- package/dist/cjs/translations/index.d.ts.map +1 -0
- package/dist/cjs/translations/index.js +20 -0
- package/dist/cjs/translations/index.js.map +1 -0
- package/dist/cjs/translations/postgres.d.ts +3 -0
- package/dist/cjs/translations/postgres.d.ts.map +1 -0
- package/dist/cjs/translations/postgres.js +72 -0
- package/dist/cjs/translations/postgres.js.map +1 -0
- package/dist/cjs/translations/translation.d.ts +3 -0
- package/dist/cjs/translations/translation.d.ts.map +1 -0
- package/dist/cjs/translations/translation.js +3 -0
- package/dist/cjs/translations/translation.js.map +1 -0
- package/dist/cjs/translations/typescript.d.ts +3 -0
- package/dist/cjs/translations/typescript.d.ts.map +1 -0
- package/dist/cjs/translations/typescript.js +122 -0
- package/dist/cjs/translations/typescript.js.map +1 -0
- package/dist/cjs/validation.d.ts +10 -0
- package/dist/cjs/validation.d.ts.map +1 -0
- package/dist/cjs/validation.js +101 -0
- package/dist/cjs/validation.js.map +1 -0
- package/dist/esm/common/guards.d.ts +5 -0
- package/dist/esm/common/guards.d.ts.map +1 -0
- package/dist/esm/common/guards.js +22 -0
- package/dist/esm/common/guards.js.map +1 -0
- package/dist/esm/common/index.d.ts +3 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +19 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/padding.d.ts +2 -0
- package/dist/esm/common/padding.d.ts.map +1 -0
- package/dist/esm/common/padding.js +8 -0
- package/dist/esm/common/padding.js.map +1 -0
- package/dist/esm/common/types.d.ts +8 -0
- package/dist/esm/common/types.d.ts.map +1 -0
- package/dist/esm/common/types.js +3 -0
- package/dist/esm/common/types.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/inputs/index.d.ts +2 -0
- package/dist/esm/inputs/index.d.ts.map +1 -0
- package/dist/esm/inputs/index.js +18 -0
- package/dist/esm/inputs/index.js.map +1 -0
- package/dist/esm/inputs/json-schema.d.ts +4 -0
- package/dist/esm/inputs/json-schema.d.ts.map +1 -0
- package/dist/esm/inputs/json-schema.js +306 -0
- package/dist/esm/inputs/json-schema.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/phantom.d.ts +4 -0
- package/dist/esm/phantom.d.ts.map +1 -0
- package/dist/esm/phantom.js +5 -0
- package/dist/esm/phantom.js.map +1 -0
- package/dist/esm/shape-utils.d.ts +4 -0
- package/dist/esm/shape-utils.d.ts.map +1 -0
- package/dist/esm/shape-utils.js +43 -0
- package/dist/esm/shape-utils.js.map +1 -0
- package/dist/esm/shape.d.ts +169 -0
- package/dist/esm/shape.d.ts.map +1 -0
- package/dist/esm/shape.js +258 -0
- package/dist/esm/shape.js.map +1 -0
- package/dist/esm/translations/index.d.ts +4 -0
- package/dist/esm/translations/index.d.ts.map +1 -0
- package/dist/esm/translations/index.js +20 -0
- package/dist/esm/translations/index.js.map +1 -0
- package/dist/esm/translations/postgres.d.ts +3 -0
- package/dist/esm/translations/postgres.d.ts.map +1 -0
- package/dist/esm/translations/postgres.js +72 -0
- package/dist/esm/translations/postgres.js.map +1 -0
- package/dist/esm/translations/translation.d.ts +3 -0
- package/dist/esm/translations/translation.d.ts.map +1 -0
- package/dist/esm/translations/translation.js +3 -0
- package/dist/esm/translations/translation.js.map +1 -0
- package/dist/esm/translations/typescript.d.ts +3 -0
- package/dist/esm/translations/typescript.d.ts.map +1 -0
- package/dist/esm/translations/typescript.js +122 -0
- package/dist/esm/translations/typescript.js.map +1 -0
- package/dist/esm/validation.d.ts +10 -0
- package/dist/esm/validation.d.ts.map +1 -0
- package/dist/esm/validation.js +101 -0
- package/dist/esm/validation.js.map +1 -0
- package/package.json +44 -0
- package/pnpm-lock.yaml +969 -0
- package/src/common/guards.ts +23 -0
- package/src/common/index.ts +2 -0
- package/src/common/padding.ts +6 -0
- package/src/common/types.ts +21 -0
- package/src/index.ts +4 -0
- package/src/inputs/index.ts +1 -0
- package/src/inputs/json-schema.test.ts +191 -0
- package/src/inputs/json-schema.ts +324 -0
- package/src/phantom.ts +3 -0
- package/src/samples/bank.sample.ts +25 -0
- package/src/shape-utils.ts +46 -0
- package/src/shape.ts +488 -0
- package/src/translations/index.ts +3 -0
- package/src/translations/postgres.test.ts +161 -0
- package/src/translations/postgres.ts +73 -0
- package/src/translations/translation.ts +3 -0
- package/src/translations/typescript.test.ts +61 -0
- package/src/translations/typescript.ts +142 -0
- package/src/validation.test.ts +179 -0
- package/src/validation.ts +135 -0
- package/tsconfig.cjs.json +10 -0
- package/tsconfig.esm.json +10 -0
- 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,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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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"}
|