@shapecraft/core 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/dist/cjs/common/array.d.ts +3 -0
- package/dist/cjs/common/array.d.ts.map +1 -0
- package/dist/cjs/common/array.js +17 -0
- package/dist/cjs/common/array.js.map +1 -0
- package/dist/cjs/common/index.d.ts +6 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +22 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/is.d.ts +5 -0
- package/dist/cjs/common/is.d.ts.map +1 -0
- package/dist/cjs/common/is.js +36 -0
- package/dist/cjs/common/is.js.map +1 -0
- package/dist/cjs/common/object.d.ts +4 -0
- package/dist/cjs/common/object.d.ts.map +1 -0
- package/dist/cjs/common/object.js +20 -0
- package/dist/cjs/common/object.js.map +1 -0
- package/dist/cjs/common/phantom.d.ts +2 -0
- package/dist/cjs/common/phantom.d.ts.map +1 -0
- package/dist/cjs/common/phantom.js +3 -0
- package/dist/cjs/common/phantom.js.map +1 -0
- package/dist/cjs/common/result.d.ts +22 -0
- package/dist/cjs/common/result.d.ts.map +1 -0
- package/dist/cjs/common/result.js +28 -0
- package/dist/cjs/common/result.js.map +1 -0
- package/dist/cjs/common/string.d.ts +3 -0
- package/dist/cjs/common/string.d.ts.map +1 -0
- package/dist/cjs/common/string.js +33 -0
- package/dist/cjs/common/string.js.map +1 -0
- package/dist/cjs/common/types.d.ts +14 -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 +2 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/shape/annotate.d.ts +57 -0
- package/dist/cjs/shape/annotate.d.ts.map +1 -0
- package/dist/cjs/shape/annotate.js +37 -0
- package/dist/cjs/shape/annotate.js.map +1 -0
- package/dist/cjs/shape/annotation.d.ts +39 -0
- package/dist/cjs/shape/annotation.d.ts.map +1 -0
- package/dist/cjs/shape/annotation.js +3 -0
- package/dist/cjs/shape/annotation.js.map +1 -0
- package/dist/cjs/shape/base.d.ts +33 -0
- package/dist/cjs/shape/base.d.ts.map +1 -0
- package/dist/cjs/shape/base.js +26 -0
- package/dist/cjs/shape/base.js.map +1 -0
- package/dist/cjs/shape/builder.d.ts +168 -0
- package/dist/cjs/shape/builder.d.ts.map +1 -0
- package/dist/cjs/shape/builder.js +156 -0
- package/dist/cjs/shape/builder.js.map +1 -0
- package/dist/cjs/shape/error.d.ts +5 -0
- package/dist/cjs/shape/error.d.ts.map +1 -0
- package/dist/cjs/shape/error.js +3 -0
- package/dist/cjs/shape/error.js.map +1 -0
- package/dist/cjs/shape/index.d.ts +4 -0
- package/dist/cjs/shape/index.d.ts.map +1 -0
- package/dist/cjs/shape/index.js +20 -0
- package/dist/cjs/shape/index.js.map +1 -0
- package/dist/cjs/shape/number.d.ts +8 -0
- package/dist/cjs/shape/number.d.ts.map +1 -0
- package/dist/cjs/shape/number.js +123 -0
- package/dist/cjs/shape/number.js.map +1 -0
- package/dist/cjs/shape/shape.d.ts +150 -0
- package/dist/cjs/shape/shape.d.ts.map +1 -0
- package/dist/cjs/shape/shape.js +158 -0
- package/dist/cjs/shape/shape.js.map +1 -0
- package/dist/cjs/shape/tags.d.ts +4 -0
- package/dist/cjs/shape/tags.d.ts.map +1 -0
- package/dist/cjs/shape/tags.js +3 -0
- package/dist/cjs/shape/tags.js.map +1 -0
- package/dist/cjs/shape/transforms/index.d.ts +4 -0
- package/dist/cjs/shape/transforms/index.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/index.js +20 -0
- package/dist/cjs/shape/transforms/index.js.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/index.d.ts +3 -0
- package/dist/cjs/shape/transforms/json-schema/index.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/index.js +19 -0
- package/dist/cjs/shape/transforms/json-schema/index.js.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/transform.d.ts +5 -0
- package/dist/cjs/shape/transforms/json-schema/transform.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/transform.js +739 -0
- package/dist/cjs/shape/transforms/json-schema/transform.js.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/types.d.ts +87 -0
- package/dist/cjs/shape/transforms/json-schema/types.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/json-schema/types.js +3 -0
- package/dist/cjs/shape/transforms/json-schema/types.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/dialect.d.ts +51 -0
- package/dist/cjs/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/dialect.js +8 -0
- package/dist/cjs/shape/transforms/sql/dialects/dialect.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/index.d.ts +7 -0
- package/dist/cjs/shape/transforms/sql/dialects/index.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/index.js +19 -0
- package/dist/cjs/shape/transforms/sql/dialects/index.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/postgres.d.ts +8 -0
- package/dist/cjs/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/postgres.js +374 -0
- package/dist/cjs/shape/transforms/sql/dialects/postgres.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
- package/dist/cjs/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/dialects/sqlite.js +318 -0
- package/dist/cjs/shape/transforms/sql/dialects/sqlite.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/from-sql.d.ts +5 -0
- package/dist/cjs/shape/transforms/sql/from-sql.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/from-sql.js +201 -0
- package/dist/cjs/shape/transforms/sql/from-sql.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/index.d.ts +4 -0
- package/dist/cjs/shape/transforms/sql/index.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/index.js +20 -0
- package/dist/cjs/shape/transforms/sql/index.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/options.d.ts +6 -0
- package/dist/cjs/shape/transforms/sql/options.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/options.js +6 -0
- package/dist/cjs/shape/transforms/sql/options.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
- package/dist/cjs/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/check-decoder.js +417 -0
- package/dist/cjs/shape/transforms/sql/parser/check-decoder.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-domain.d.ts +11 -0
- package/dist/cjs/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-domain.js +95 -0
- package/dist/cjs/shape/transforms/sql/parser/create-domain.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-table.d.ts +28 -0
- package/dist/cjs/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-table.js +744 -0
- package/dist/cjs/shape/transforms/sql/parser/create-table.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-type.d.ts +23 -0
- package/dist/cjs/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/create-type.js +76 -0
- package/dist/cjs/shape/transforms/sql/parser/create-type.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/cursor.d.ts +32 -0
- package/dist/cjs/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/cursor.js +168 -0
- package/dist/cjs/shape/transforms/sql/parser/cursor.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
- package/dist/cjs/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/default-decoder.js +125 -0
- package/dist/cjs/shape/transforms/sql/parser/default-decoder.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/lexer.d.ts +14 -0
- package/dist/cjs/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/lexer.js +259 -0
- package/dist/cjs/shape/transforms/sql/parser/lexer.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/pg-types.d.ts +21 -0
- package/dist/cjs/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/pg-types.js +213 -0
- package/dist/cjs/shape/transforms/sql/parser/pg-types.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
- package/dist/cjs/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/sqlite-types.js +93 -0
- package/dist/cjs/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/statements.d.ts +9 -0
- package/dist/cjs/shape/transforms/sql/parser/statements.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/statements.js +158 -0
- package/dist/cjs/shape/transforms/sql/parser/statements.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/type-spec.d.ts +12 -0
- package/dist/cjs/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/parser/type-spec.js +136 -0
- package/dist/cjs/shape/transforms/sql/parser/type-spec.js.map +1 -0
- package/dist/cjs/shape/transforms/sql/transform.d.ts +5 -0
- package/dist/cjs/shape/transforms/sql/transform.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/sql/transform.js +262 -0
- package/dist/cjs/shape/transforms/sql/transform.js.map +1 -0
- package/dist/cjs/shape/transforms/typescript/index.d.ts +2 -0
- package/dist/cjs/shape/transforms/typescript/index.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/typescript/index.js +18 -0
- package/dist/cjs/shape/transforms/typescript/index.js.map +1 -0
- package/dist/cjs/shape/transforms/typescript/transform.d.ts +3 -0
- package/dist/cjs/shape/transforms/typescript/transform.d.ts.map +1 -0
- package/dist/cjs/shape/transforms/typescript/transform.js +190 -0
- package/dist/cjs/shape/transforms/typescript/transform.js.map +1 -0
- package/dist/cjs/shape/validate.d.ts +7 -0
- package/dist/cjs/shape/validate.d.ts.map +1 -0
- package/dist/cjs/shape/validate.js +360 -0
- package/dist/cjs/shape/validate.js.map +1 -0
- package/dist/esm/common/array.d.ts +3 -0
- package/dist/esm/common/array.d.ts.map +1 -0
- package/dist/esm/common/array.js +12 -0
- package/dist/esm/common/array.js.map +1 -0
- package/dist/esm/common/index.d.ts +6 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +6 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/is.d.ts +5 -0
- package/dist/esm/common/is.d.ts.map +1 -0
- package/dist/esm/common/is.js +29 -0
- package/dist/esm/common/is.js.map +1 -0
- package/dist/esm/common/object.d.ts +4 -0
- package/dist/esm/common/object.d.ts.map +1 -0
- package/dist/esm/common/object.js +15 -0
- package/dist/esm/common/object.js.map +1 -0
- package/dist/esm/common/phantom.d.ts +2 -0
- package/dist/esm/common/phantom.d.ts.map +1 -0
- package/dist/esm/common/phantom.js +2 -0
- package/dist/esm/common/phantom.js.map +1 -0
- package/dist/esm/common/result.d.ts +22 -0
- package/dist/esm/common/result.d.ts.map +1 -0
- package/dist/esm/common/result.js +25 -0
- package/dist/esm/common/result.js.map +1 -0
- package/dist/esm/common/string.d.ts +3 -0
- package/dist/esm/common/string.d.ts.map +1 -0
- package/dist/esm/common/string.js +28 -0
- package/dist/esm/common/string.js.map +1 -0
- package/dist/esm/common/types.d.ts +14 -0
- package/dist/esm/common/types.d.ts.map +1 -0
- package/dist/esm/common/types.js +2 -0
- package/dist/esm/common/types.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/shape/annotate.d.ts +57 -0
- package/dist/esm/shape/annotate.d.ts.map +1 -0
- package/dist/esm/shape/annotate.js +34 -0
- package/dist/esm/shape/annotate.js.map +1 -0
- package/dist/esm/shape/annotation.d.ts +39 -0
- package/dist/esm/shape/annotation.d.ts.map +1 -0
- package/dist/esm/shape/annotation.js +2 -0
- package/dist/esm/shape/annotation.js.map +1 -0
- package/dist/esm/shape/base.d.ts +33 -0
- package/dist/esm/shape/base.d.ts.map +1 -0
- package/dist/esm/shape/base.js +20 -0
- package/dist/esm/shape/base.js.map +1 -0
- package/dist/esm/shape/builder.d.ts +168 -0
- package/dist/esm/shape/builder.d.ts.map +1 -0
- package/dist/esm/shape/builder.js +146 -0
- package/dist/esm/shape/builder.js.map +1 -0
- package/dist/esm/shape/error.d.ts +5 -0
- package/dist/esm/shape/error.d.ts.map +1 -0
- package/dist/esm/shape/error.js +2 -0
- package/dist/esm/shape/error.js.map +1 -0
- package/dist/esm/shape/index.d.ts +4 -0
- package/dist/esm/shape/index.d.ts.map +1 -0
- package/dist/esm/shape/index.js +4 -0
- package/dist/esm/shape/index.js.map +1 -0
- package/dist/esm/shape/number.d.ts +8 -0
- package/dist/esm/shape/number.d.ts.map +1 -0
- package/dist/esm/shape/number.js +114 -0
- package/dist/esm/shape/number.js.map +1 -0
- package/dist/esm/shape/shape.d.ts +150 -0
- package/dist/esm/shape/shape.d.ts.map +1 -0
- package/dist/esm/shape/shape.js +121 -0
- package/dist/esm/shape/shape.js.map +1 -0
- package/dist/esm/shape/tags.d.ts +4 -0
- package/dist/esm/shape/tags.d.ts.map +1 -0
- package/dist/esm/shape/tags.js +2 -0
- package/dist/esm/shape/tags.js.map +1 -0
- package/dist/esm/shape/transforms/index.d.ts +4 -0
- package/dist/esm/shape/transforms/index.d.ts.map +1 -0
- package/dist/esm/shape/transforms/index.js +4 -0
- package/dist/esm/shape/transforms/index.js.map +1 -0
- package/dist/esm/shape/transforms/json-schema/index.d.ts +3 -0
- package/dist/esm/shape/transforms/json-schema/index.d.ts.map +1 -0
- package/dist/esm/shape/transforms/json-schema/index.js +3 -0
- package/dist/esm/shape/transforms/json-schema/index.js.map +1 -0
- package/dist/esm/shape/transforms/json-schema/transform.d.ts +5 -0
- package/dist/esm/shape/transforms/json-schema/transform.d.ts.map +1 -0
- package/dist/esm/shape/transforms/json-schema/transform.js +734 -0
- package/dist/esm/shape/transforms/json-schema/transform.js.map +1 -0
- package/dist/esm/shape/transforms/json-schema/types.d.ts +87 -0
- package/dist/esm/shape/transforms/json-schema/types.d.ts.map +1 -0
- package/dist/esm/shape/transforms/json-schema/types.js +2 -0
- package/dist/esm/shape/transforms/json-schema/types.js.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/dialect.d.ts +51 -0
- package/dist/esm/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/dialect.js +3 -0
- package/dist/esm/shape/transforms/sql/dialects/dialect.js.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/index.d.ts +7 -0
- package/dist/esm/shape/transforms/sql/dialects/index.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/index.js +12 -0
- package/dist/esm/shape/transforms/sql/dialects/index.js.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/postgres.d.ts +8 -0
- package/dist/esm/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/postgres.js +370 -0
- package/dist/esm/shape/transforms/sql/dialects/postgres.js.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
- package/dist/esm/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/dialects/sqlite.js +315 -0
- package/dist/esm/shape/transforms/sql/dialects/sqlite.js.map +1 -0
- package/dist/esm/shape/transforms/sql/from-sql.d.ts +5 -0
- package/dist/esm/shape/transforms/sql/from-sql.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/from-sql.js +197 -0
- package/dist/esm/shape/transforms/sql/from-sql.js.map +1 -0
- package/dist/esm/shape/transforms/sql/index.d.ts +4 -0
- package/dist/esm/shape/transforms/sql/index.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/index.js +4 -0
- package/dist/esm/shape/transforms/sql/index.js.map +1 -0
- package/dist/esm/shape/transforms/sql/options.d.ts +6 -0
- package/dist/esm/shape/transforms/sql/options.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/options.js +2 -0
- package/dist/esm/shape/transforms/sql/options.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
- package/dist/esm/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/check-decoder.js +412 -0
- package/dist/esm/shape/transforms/sql/parser/check-decoder.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-domain.d.ts +11 -0
- package/dist/esm/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-domain.js +91 -0
- package/dist/esm/shape/transforms/sql/parser/create-domain.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-table.d.ts +28 -0
- package/dist/esm/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-table.js +740 -0
- package/dist/esm/shape/transforms/sql/parser/create-table.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-type.d.ts +23 -0
- package/dist/esm/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/create-type.js +72 -0
- package/dist/esm/shape/transforms/sql/parser/create-type.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/cursor.d.ts +32 -0
- package/dist/esm/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/cursor.js +163 -0
- package/dist/esm/shape/transforms/sql/parser/cursor.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
- package/dist/esm/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/default-decoder.js +121 -0
- package/dist/esm/shape/transforms/sql/parser/default-decoder.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/lexer.d.ts +14 -0
- package/dist/esm/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/lexer.js +253 -0
- package/dist/esm/shape/transforms/sql/parser/lexer.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/pg-types.d.ts +21 -0
- package/dist/esm/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/pg-types.js +208 -0
- package/dist/esm/shape/transforms/sql/parser/pg-types.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
- package/dist/esm/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/sqlite-types.js +89 -0
- package/dist/esm/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/statements.d.ts +9 -0
- package/dist/esm/shape/transforms/sql/parser/statements.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/statements.js +153 -0
- package/dist/esm/shape/transforms/sql/parser/statements.js.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/type-spec.d.ts +12 -0
- package/dist/esm/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/parser/type-spec.js +130 -0
- package/dist/esm/shape/transforms/sql/parser/type-spec.js.map +1 -0
- package/dist/esm/shape/transforms/sql/transform.d.ts +5 -0
- package/dist/esm/shape/transforms/sql/transform.d.ts.map +1 -0
- package/dist/esm/shape/transforms/sql/transform.js +258 -0
- package/dist/esm/shape/transforms/sql/transform.js.map +1 -0
- package/dist/esm/shape/transforms/typescript/index.d.ts +2 -0
- package/dist/esm/shape/transforms/typescript/index.d.ts.map +1 -0
- package/dist/esm/shape/transforms/typescript/index.js +2 -0
- package/dist/esm/shape/transforms/typescript/index.js.map +1 -0
- package/dist/esm/shape/transforms/typescript/transform.d.ts +3 -0
- package/dist/esm/shape/transforms/typescript/transform.d.ts.map +1 -0
- package/dist/esm/shape/transforms/typescript/transform.js +186 -0
- package/dist/esm/shape/transforms/typescript/transform.js.map +1 -0
- package/dist/esm/shape/validate.d.ts +7 -0
- package/dist/esm/shape/validate.d.ts.map +1 -0
- package/dist/esm/shape/validate.js +355 -0
- package/dist/esm/shape/validate.js.map +1 -0
- package/dist/esm/src/common/array.d.ts +3 -0
- package/dist/esm/src/common/array.d.ts.map +1 -0
- package/dist/esm/src/common/array.js +12 -0
- package/dist/esm/src/common/array.js.map +1 -0
- package/dist/esm/src/common/index.d.ts +6 -0
- package/dist/esm/src/common/index.d.ts.map +1 -0
- package/dist/esm/src/common/index.js +6 -0
- package/dist/esm/src/common/index.js.map +1 -0
- package/dist/esm/src/common/is.d.ts +5 -0
- package/dist/esm/src/common/is.d.ts.map +1 -0
- package/dist/esm/src/common/is.js +29 -0
- package/dist/esm/src/common/is.js.map +1 -0
- package/dist/esm/src/common/object.d.ts +4 -0
- package/dist/esm/src/common/object.d.ts.map +1 -0
- package/dist/esm/src/common/object.js +15 -0
- package/dist/esm/src/common/object.js.map +1 -0
- package/dist/esm/src/common/phantom.d.ts +2 -0
- package/dist/esm/src/common/phantom.d.ts.map +1 -0
- package/dist/esm/src/common/phantom.js +2 -0
- package/dist/esm/src/common/phantom.js.map +1 -0
- package/dist/esm/src/common/result.d.ts +22 -0
- package/dist/esm/src/common/result.d.ts.map +1 -0
- package/dist/esm/src/common/result.js +25 -0
- package/dist/esm/src/common/result.js.map +1 -0
- package/dist/esm/src/common/string.d.ts +3 -0
- package/dist/esm/src/common/string.d.ts.map +1 -0
- package/dist/esm/src/common/string.js +28 -0
- package/dist/esm/src/common/string.js.map +1 -0
- package/dist/esm/src/common/types.d.ts +14 -0
- package/dist/esm/src/common/types.d.ts.map +1 -0
- package/dist/esm/src/common/types.js +2 -0
- package/dist/esm/src/common/types.js.map +1 -0
- package/dist/esm/src/index.d.ts +2 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/shape/annotate.d.ts +57 -0
- package/dist/esm/src/shape/annotate.d.ts.map +1 -0
- package/dist/esm/src/shape/annotate.js +34 -0
- package/dist/esm/src/shape/annotate.js.map +1 -0
- package/dist/esm/src/shape/annotation.d.ts +39 -0
- package/dist/esm/src/shape/annotation.d.ts.map +1 -0
- package/dist/esm/src/shape/annotation.js +2 -0
- package/dist/esm/src/shape/annotation.js.map +1 -0
- package/dist/esm/src/shape/base.d.ts +33 -0
- package/dist/esm/src/shape/base.d.ts.map +1 -0
- package/dist/esm/src/shape/base.js +20 -0
- package/dist/esm/src/shape/base.js.map +1 -0
- package/dist/esm/src/shape/builder.d.ts +168 -0
- package/dist/esm/src/shape/builder.d.ts.map +1 -0
- package/dist/esm/src/shape/builder.js +146 -0
- package/dist/esm/src/shape/builder.js.map +1 -0
- package/dist/esm/src/shape/error.d.ts +5 -0
- package/dist/esm/src/shape/error.d.ts.map +1 -0
- package/dist/esm/src/shape/error.js +2 -0
- package/dist/esm/src/shape/error.js.map +1 -0
- package/dist/esm/src/shape/index.d.ts +4 -0
- package/dist/esm/src/shape/index.d.ts.map +1 -0
- package/dist/esm/src/shape/index.js +4 -0
- package/dist/esm/src/shape/index.js.map +1 -0
- package/dist/esm/src/shape/number.d.ts +8 -0
- package/dist/esm/src/shape/number.d.ts.map +1 -0
- package/dist/esm/src/shape/number.js +114 -0
- package/dist/esm/src/shape/number.js.map +1 -0
- package/dist/esm/src/shape/shape.d.ts +150 -0
- package/dist/esm/src/shape/shape.d.ts.map +1 -0
- package/dist/esm/src/shape/shape.js +121 -0
- package/dist/esm/src/shape/shape.js.map +1 -0
- package/dist/esm/src/shape/tags.d.ts +4 -0
- package/dist/esm/src/shape/tags.d.ts.map +1 -0
- package/dist/esm/src/shape/tags.js +2 -0
- package/dist/esm/src/shape/tags.js.map +1 -0
- package/dist/esm/src/shape/transforms/index.d.ts +4 -0
- package/dist/esm/src/shape/transforms/index.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/index.js +4 -0
- package/dist/esm/src/shape/transforms/index.js.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/index.d.ts +3 -0
- package/dist/esm/src/shape/transforms/json-schema/index.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/index.js +3 -0
- package/dist/esm/src/shape/transforms/json-schema/index.js.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/transform.d.ts +5 -0
- package/dist/esm/src/shape/transforms/json-schema/transform.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/transform.js +734 -0
- package/dist/esm/src/shape/transforms/json-schema/transform.js.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/types.d.ts +87 -0
- package/dist/esm/src/shape/transforms/json-schema/types.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/json-schema/types.js +2 -0
- package/dist/esm/src/shape/transforms/json-schema/types.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/dialect.d.ts +51 -0
- package/dist/esm/src/shape/transforms/sql/dialects/dialect.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/dialect.js +3 -0
- package/dist/esm/src/shape/transforms/sql/dialects/dialect.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/index.d.ts +7 -0
- package/dist/esm/src/shape/transforms/sql/dialects/index.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/index.js +12 -0
- package/dist/esm/src/shape/transforms/sql/dialects/index.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/postgres.d.ts +8 -0
- package/dist/esm/src/shape/transforms/sql/dialects/postgres.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/postgres.js +370 -0
- package/dist/esm/src/shape/transforms/sql/dialects/postgres.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/sqlite.d.ts +3 -0
- package/dist/esm/src/shape/transforms/sql/dialects/sqlite.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/dialects/sqlite.js +315 -0
- package/dist/esm/src/shape/transforms/sql/dialects/sqlite.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/from-sql.d.ts +5 -0
- package/dist/esm/src/shape/transforms/sql/from-sql.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/from-sql.js +197 -0
- package/dist/esm/src/shape/transforms/sql/from-sql.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/index.d.ts +4 -0
- package/dist/esm/src/shape/transforms/sql/index.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/index.js +4 -0
- package/dist/esm/src/shape/transforms/sql/index.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/options.d.ts +6 -0
- package/dist/esm/src/shape/transforms/sql/options.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/options.js +2 -0
- package/dist/esm/src/shape/transforms/sql/options.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/check-decoder.d.ts +25 -0
- package/dist/esm/src/shape/transforms/sql/parser/check-decoder.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/check-decoder.js +412 -0
- package/dist/esm/src/shape/transforms/sql/parser/check-decoder.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-domain.d.ts +11 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-domain.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-domain.js +91 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-domain.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-table.d.ts +28 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-table.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-table.js +740 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-table.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-type.d.ts +23 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-type.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-type.js +72 -0
- package/dist/esm/src/shape/transforms/sql/parser/create-type.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/cursor.d.ts +32 -0
- package/dist/esm/src/shape/transforms/sql/parser/cursor.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/cursor.js +163 -0
- package/dist/esm/src/shape/transforms/sql/parser/cursor.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/default-decoder.d.ts +10 -0
- package/dist/esm/src/shape/transforms/sql/parser/default-decoder.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/default-decoder.js +121 -0
- package/dist/esm/src/shape/transforms/sql/parser/default-decoder.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/lexer.d.ts +14 -0
- package/dist/esm/src/shape/transforms/sql/parser/lexer.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/lexer.js +253 -0
- package/dist/esm/src/shape/transforms/sql/parser/lexer.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/pg-types.d.ts +21 -0
- package/dist/esm/src/shape/transforms/sql/parser/pg-types.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/pg-types.js +208 -0
- package/dist/esm/src/shape/transforms/sql/parser/pg-types.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.d.ts +8 -0
- package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.js +89 -0
- package/dist/esm/src/shape/transforms/sql/parser/sqlite-types.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/statements.d.ts +9 -0
- package/dist/esm/src/shape/transforms/sql/parser/statements.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/statements.js +153 -0
- package/dist/esm/src/shape/transforms/sql/parser/statements.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/type-spec.d.ts +12 -0
- package/dist/esm/src/shape/transforms/sql/parser/type-spec.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/parser/type-spec.js +130 -0
- package/dist/esm/src/shape/transforms/sql/parser/type-spec.js.map +1 -0
- package/dist/esm/src/shape/transforms/sql/transform.d.ts +5 -0
- package/dist/esm/src/shape/transforms/sql/transform.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/sql/transform.js +258 -0
- package/dist/esm/src/shape/transforms/sql/transform.js.map +1 -0
- package/dist/esm/src/shape/transforms/typescript/index.d.ts +2 -0
- package/dist/esm/src/shape/transforms/typescript/index.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/typescript/index.js +2 -0
- package/dist/esm/src/shape/transforms/typescript/index.js.map +1 -0
- package/dist/esm/src/shape/transforms/typescript/transform.d.ts +3 -0
- package/dist/esm/src/shape/transforms/typescript/transform.d.ts.map +1 -0
- package/dist/esm/src/shape/transforms/typescript/transform.js +186 -0
- package/dist/esm/src/shape/transforms/typescript/transform.js.map +1 -0
- package/dist/esm/src/shape/validate.d.ts +7 -0
- package/dist/esm/src/shape/validate.d.ts.map +1 -0
- package/dist/esm/src/shape/validate.js +355 -0
- package/dist/esm/src/shape/validate.js.map +1 -0
- package/package.json +40 -0
- package/src/common/array.test.ts +19 -0
- package/src/common/array.ts +15 -0
- package/src/common/index.ts +5 -0
- package/src/common/is.ts +23 -0
- package/src/common/object.ts +35 -0
- package/src/common/phantom.ts +1 -0
- package/src/common/result.ts +43 -0
- package/src/common/string.ts +28 -0
- package/src/common/types.ts +34 -0
- package/src/index.ts +1 -0
- package/src/shape/annotate.ts +139 -0
- package/src/shape/annotation.ts +47 -0
- package/src/shape/base.ts +71 -0
- package/src/shape/builder.test.ts +728 -0
- package/src/shape/builder.ts +475 -0
- package/src/shape/error.ts +4 -0
- package/src/shape/index.ts +3 -0
- package/src/shape/number.ts +118 -0
- package/src/shape/shape.test.ts +792 -0
- package/src/shape/shape.ts +377 -0
- package/src/shape/tags.ts +14 -0
- package/src/shape/transforms/index.ts +3 -0
- package/src/shape/transforms/json-schema/index.ts +2 -0
- package/src/shape/transforms/json-schema/transform.test.ts +850 -0
- package/src/shape/transforms/json-schema/transform.ts +882 -0
- package/src/shape/transforms/json-schema/types.ts +132 -0
- package/src/shape/transforms/sql/dialects/dialect.ts +89 -0
- package/src/shape/transforms/sql/dialects/index.ts +14 -0
- package/src/shape/transforms/sql/dialects/postgres.ts +392 -0
- package/src/shape/transforms/sql/dialects/sqlite.ts +333 -0
- package/src/shape/transforms/sql/from-sql.test.ts +704 -0
- package/src/shape/transforms/sql/from-sql.ts +210 -0
- package/src/shape/transforms/sql/index.ts +3 -0
- package/src/shape/transforms/sql/options.ts +6 -0
- package/src/shape/transforms/sql/parser/check-decoder.ts +457 -0
- package/src/shape/transforms/sql/parser/create-domain.ts +105 -0
- package/src/shape/transforms/sql/parser/create-table.ts +809 -0
- package/src/shape/transforms/sql/parser/create-type.ts +91 -0
- package/src/shape/transforms/sql/parser/cursor.ts +179 -0
- package/src/shape/transforms/sql/parser/default-decoder.ts +129 -0
- package/src/shape/transforms/sql/parser/lexer.ts +289 -0
- package/src/shape/transforms/sql/parser/pg-types.ts +247 -0
- package/src/shape/transforms/sql/parser/sqlite-types.ts +103 -0
- package/src/shape/transforms/sql/parser/statements.ts +127 -0
- package/src/shape/transforms/sql/parser/type-spec.ts +159 -0
- package/src/shape/transforms/sql/transform.sqlite.test.ts +448 -0
- package/src/shape/transforms/sql/transform.test.ts +880 -0
- package/src/shape/transforms/sql/transform.ts +295 -0
- package/src/shape/transforms/typescript/index.ts +1 -0
- package/src/shape/transforms/typescript/transform.ts +211 -0
- package/src/shape/tuple.test.ts +171 -0
- package/src/shape/validate.ts +413 -0
- package/tsconfig.cjs.json +11 -0
- package/tsconfig.esm.json +10 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../src/shape/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { remapObjectValues } from "../common/object";
|
|
2
|
+
import { annotate, shapes } from "./shape";
|
|
3
|
+
import { toJSONSchema, toSQL, toTypescript, } from "./transforms";
|
|
4
|
+
export function createBuilderBase(shape) {
|
|
5
|
+
return {
|
|
6
|
+
type: shape.type,
|
|
7
|
+
shape: shape,
|
|
8
|
+
is: (input) => shapes.is(shape, input),
|
|
9
|
+
parse: (input) => shapes.parse(shape, input),
|
|
10
|
+
optional: () => createBuilder(annotate.optional(shape)),
|
|
11
|
+
unique: () => createBuilder(annotate.unique(shape)),
|
|
12
|
+
primary: () => createBuilder(annotate.primary(shape)),
|
|
13
|
+
default: (value) => createBuilder(annotate.defaulted(shape, value)),
|
|
14
|
+
title: (text) => createBuilder(annotate.titled(shape, text)),
|
|
15
|
+
describe: (text) => createBuilder(annotate.described(shape, text)),
|
|
16
|
+
comment: (text) => createBuilder(annotate.commented(shape, text)),
|
|
17
|
+
autoIncrement: () => createBuilder(annotate.autoIncremented(shape)),
|
|
18
|
+
foreign: (table, column) => createBuilder(annotate.foreign(shape, table, column)),
|
|
19
|
+
references: (target, field) => createBuilder(annotate.foreign(shape, target.shape.anno.title, field)),
|
|
20
|
+
meta: (meta) => createBuilder(annotate.meta(shape, meta)),
|
|
21
|
+
//////
|
|
22
|
+
toJSONSchema: () => toJSONSchema(shape),
|
|
23
|
+
toSQL: (opts) => toSQL(shape, opts),
|
|
24
|
+
toTypescript: () => toTypescript(shape),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function createBuilderWithLength(shape) {
|
|
28
|
+
return {
|
|
29
|
+
...createBuilderBase(shape),
|
|
30
|
+
min: (n) => createBuilder(annotate.min(shape, n)),
|
|
31
|
+
max: (n) => createBuilder(annotate.max(shape, n)),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function createBuilderForString(shape) {
|
|
35
|
+
return {
|
|
36
|
+
...createBuilderWithLength(shape),
|
|
37
|
+
regex: (pattern) => createBuilder(annotate.as(shape, { pattern: pattern })),
|
|
38
|
+
format: (format) => createBuilder(annotate.as(shape, { format: format })),
|
|
39
|
+
uuid: (version) => createBuilder(annotate.uuid(shape, version)),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function createBuilderForNumber(shape) {
|
|
43
|
+
return {
|
|
44
|
+
...createBuilderWithLength(shape),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function createBuilderForArray(shape) {
|
|
48
|
+
return {
|
|
49
|
+
...createBuilderWithLength(shape),
|
|
50
|
+
uniqueItems: () => createBuilder(annotate.uniqueItems(shape)),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function createBuilderForMapping(shape) {
|
|
54
|
+
const uniqueFn = ((columns, name) => {
|
|
55
|
+
if (columns === undefined) {
|
|
56
|
+
return createBuilder(annotate.unique(shape));
|
|
57
|
+
}
|
|
58
|
+
const existing = shape.anno.uniqueConstraints ?? [];
|
|
59
|
+
const entry = {
|
|
60
|
+
columns: [...columns],
|
|
61
|
+
};
|
|
62
|
+
if (name !== undefined)
|
|
63
|
+
entry.name = name;
|
|
64
|
+
return createBuilder(annotate.as(shape, {
|
|
65
|
+
uniqueConstraints: [...existing, entry],
|
|
66
|
+
}));
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
...createBuilderBase(shape),
|
|
70
|
+
unique: uniqueFn,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export function createBuilder(shape) {
|
|
74
|
+
switch (shape.type) {
|
|
75
|
+
case "string":
|
|
76
|
+
return createBuilderForString(shape);
|
|
77
|
+
case "number":
|
|
78
|
+
return createBuilderForNumber(shape);
|
|
79
|
+
case "array":
|
|
80
|
+
return createBuilderForArray(shape);
|
|
81
|
+
case "mapping":
|
|
82
|
+
return createBuilderForMapping(shape);
|
|
83
|
+
default:
|
|
84
|
+
return createBuilderBase(shape);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/*
|
|
88
|
+
Allows for more ergonomic shape definitions like:
|
|
89
|
+
```
|
|
90
|
+
const myShape = B.mapping({
|
|
91
|
+
foo: B.string().optional()
|
|
92
|
+
})
|
|
93
|
+
```
|
|
94
|
+
*/
|
|
95
|
+
export var B;
|
|
96
|
+
(function (B) {
|
|
97
|
+
// ---------- primitive scalars
|
|
98
|
+
B.string = () => createBuilderForString(shapes.string());
|
|
99
|
+
B.boolean = () => createBuilderBase(shapes.boolean());
|
|
100
|
+
B.notDefined = () => createBuilderBase(shapes.notDefined());
|
|
101
|
+
B.date = () => createBuilderBase(shapes.date());
|
|
102
|
+
B.nil = () => createBuilderBase(shapes.nil());
|
|
103
|
+
B.unknown = () => createBuilderBase(shapes.unknown());
|
|
104
|
+
B.binary = () => createBuilderBase(shapes.binary());
|
|
105
|
+
// ---------- numeric tags
|
|
106
|
+
B.number = () => createBuilderForNumber(shapes.number());
|
|
107
|
+
B.int = () => createBuilderForNumber(shapes.int());
|
|
108
|
+
B.int8 = () => createBuilderForNumber(shapes.int8());
|
|
109
|
+
B.uint8 = () => createBuilderForNumber(shapes.uint8());
|
|
110
|
+
B.int16 = () => createBuilderForNumber(shapes.int16());
|
|
111
|
+
B.uint16 = () => createBuilderForNumber(shapes.uint16());
|
|
112
|
+
B.int32 = () => createBuilderForNumber(shapes.int32());
|
|
113
|
+
B.uint32 = () => createBuilderForNumber(shapes.uint32());
|
|
114
|
+
B.int64 = () => createBuilderForNumber(shapes.int64());
|
|
115
|
+
B.uint64 = () => createBuilderForNumber(shapes.uint64());
|
|
116
|
+
B.float = () => createBuilderForNumber(shapes.float());
|
|
117
|
+
B.float32 = () => createBuilderForNumber(shapes.float32());
|
|
118
|
+
B.float64 = () => createBuilderForNumber(shapes.float64());
|
|
119
|
+
function literal(value) {
|
|
120
|
+
return createBuilder(shapes.literal(value));
|
|
121
|
+
}
|
|
122
|
+
B.literal = literal;
|
|
123
|
+
// ---------- containers
|
|
124
|
+
B.array = (builder) => createBuilderForArray(shapes.array(builder.shape));
|
|
125
|
+
B.mapping = (rec) => {
|
|
126
|
+
return createBuilderForMapping(shapes.mapping(remapObjectValues(rec, ([_k, r]) => r.shape)));
|
|
127
|
+
};
|
|
128
|
+
B.record = (key, value) => createBuilderBase(shapes.record(key.shape, value.shape));
|
|
129
|
+
B.range = (item) => createBuilderBase(shapes.range(item.shape));
|
|
130
|
+
function vector(dims, format) {
|
|
131
|
+
return createBuilderBase(format ? shapes.vector(dims, format.shape) : shapes.vector(dims));
|
|
132
|
+
}
|
|
133
|
+
B.vector = vector;
|
|
134
|
+
function union(...of) {
|
|
135
|
+
return createBuilderBase(shapes.union(...of.flat().map((x) => x.shape)));
|
|
136
|
+
}
|
|
137
|
+
B.union = union;
|
|
138
|
+
function tuple(...of) {
|
|
139
|
+
return createBuilderBase(shapes.tuple(...of.flat().map((x) => x.shape)));
|
|
140
|
+
}
|
|
141
|
+
B.tuple = tuple;
|
|
142
|
+
B.module = (rec) => {
|
|
143
|
+
return createBuilderBase(shapes.module(remapObjectValues(rec, ([_k, r]) => r.shape)));
|
|
144
|
+
};
|
|
145
|
+
})(B || (B = {}));
|
|
146
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../src/shape/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/shape/error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../src/shape/error.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shape/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shape/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FloatTag, IntTag, NumberTag } from "./tags";
|
|
2
|
+
export declare const inferNumberTag: (x: number) => NumberTag;
|
|
3
|
+
export declare const isFloatTag: (x: NumberTag) => x is FloatTag;
|
|
4
|
+
export declare const isIntTag: (x: NumberTag) => x is IntTag;
|
|
5
|
+
export declare const isUnsignedTag: (x: NumberTag) => boolean;
|
|
6
|
+
export declare const inferNumberTagFromSamples: (samples: number[]) => NumberTag;
|
|
7
|
+
export declare const numberTagCanBeCastedTo: (tag: NumberTag, to: NumberTag) => boolean;
|
|
8
|
+
//# sourceMappingURL=number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../src/shape/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAuBrD,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,KAAG,SA4B1C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,KAAG,CAAC,IAAI,QACM,CAAC;AAEtD,eAAO,MAAM,QAAQ,GAAI,GAAG,SAAS,KAAG,CAAC,IAAI,MAAwB,CAAC;AAEtE,eAAO,MAAM,aAAa,GAAI,GAAG,SAAS,KAAG,OAA+B,CAAC;AAwC7E,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,EAAE,KAAG,SAM7D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,KAAK,SAAS,EACd,IAAI,SAAS,KACZ,OAQF,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
const INT8_MIN = -128;
|
|
2
|
+
const INT8_MAX = 127;
|
|
3
|
+
const UINT8_MAX = 255;
|
|
4
|
+
const INT16_MIN = -32_768;
|
|
5
|
+
const INT16_MAX = 32_767;
|
|
6
|
+
const UINT16_MAX = 65_535;
|
|
7
|
+
const INT32_MIN = -2_147_483_648;
|
|
8
|
+
const INT32_MAX = 2_147_483_647;
|
|
9
|
+
const UINT32_MAX = 4_294_967_295;
|
|
10
|
+
const INT64_MIN = -(2 ** 63);
|
|
11
|
+
const INT64_MAX = 2 ** 63 - 1;
|
|
12
|
+
const UINT64_MAX = 2 ** 64 - 1;
|
|
13
|
+
const FLOAT32_MAX = 3.4028234663852886e38;
|
|
14
|
+
const fitsFloat32 = (x) => {
|
|
15
|
+
if (!Number.isFinite(x))
|
|
16
|
+
return true;
|
|
17
|
+
if (Math.abs(x) > FLOAT32_MAX)
|
|
18
|
+
return false;
|
|
19
|
+
return Math.fround(x) === x;
|
|
20
|
+
};
|
|
21
|
+
export const inferNumberTag = (x) => {
|
|
22
|
+
if (!Number.isFinite(x)) {
|
|
23
|
+
return "float32";
|
|
24
|
+
}
|
|
25
|
+
if (Number.isInteger(x)) {
|
|
26
|
+
if (x >= 0) {
|
|
27
|
+
if (x <= INT8_MAX)
|
|
28
|
+
return "uint8";
|
|
29
|
+
if (x <= UINT8_MAX)
|
|
30
|
+
return "uint8";
|
|
31
|
+
if (x <= INT16_MAX)
|
|
32
|
+
return "uint16";
|
|
33
|
+
if (x <= UINT16_MAX)
|
|
34
|
+
return "uint16";
|
|
35
|
+
if (x <= INT32_MAX)
|
|
36
|
+
return "uint32";
|
|
37
|
+
if (x <= UINT32_MAX)
|
|
38
|
+
return "uint32";
|
|
39
|
+
if (x <= INT64_MAX)
|
|
40
|
+
return "uint64";
|
|
41
|
+
if (x <= UINT64_MAX)
|
|
42
|
+
return "uint64";
|
|
43
|
+
return "int";
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
if (x >= INT8_MIN)
|
|
47
|
+
return "int8";
|
|
48
|
+
if (x >= INT16_MIN)
|
|
49
|
+
return "int16";
|
|
50
|
+
if (x >= INT32_MIN)
|
|
51
|
+
return "int32";
|
|
52
|
+
if (x >= INT64_MIN)
|
|
53
|
+
return "int64";
|
|
54
|
+
return "int";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Non-integer floats
|
|
58
|
+
if (fitsFloat32(x))
|
|
59
|
+
return "float32";
|
|
60
|
+
return "float64";
|
|
61
|
+
};
|
|
62
|
+
export const isFloatTag = (x) => x === "float" || x === "float32" || x === "float64";
|
|
63
|
+
export const isIntTag = (x) => !isFloatTag(x);
|
|
64
|
+
export const isUnsignedTag = (x) => x.startsWith("uint");
|
|
65
|
+
const INT_RANK = {
|
|
66
|
+
uint8: 1,
|
|
67
|
+
int8: 2,
|
|
68
|
+
uint16: 3,
|
|
69
|
+
int16: 4,
|
|
70
|
+
uint32: 5,
|
|
71
|
+
int32: 6,
|
|
72
|
+
uint64: 7,
|
|
73
|
+
int64: 8,
|
|
74
|
+
int: 9,
|
|
75
|
+
};
|
|
76
|
+
const FLOAT_RANK = {
|
|
77
|
+
float32: 1,
|
|
78
|
+
float64: 2,
|
|
79
|
+
float: 3,
|
|
80
|
+
};
|
|
81
|
+
const rankOf = (x) => isIntTag(x) ? INT_RANK[x]
|
|
82
|
+
: isFloatTag(x) ? FLOAT_RANK[x]
|
|
83
|
+
: -1;
|
|
84
|
+
const merge = (a, b) => {
|
|
85
|
+
if (a === b)
|
|
86
|
+
return a;
|
|
87
|
+
if (a === "number" || b === "number")
|
|
88
|
+
return "number";
|
|
89
|
+
if (isIntTag(a) && isIntTag(b)) {
|
|
90
|
+
return rankOf(a) > rankOf(b) ? a : b;
|
|
91
|
+
}
|
|
92
|
+
if (isFloatTag(a) && isFloatTag(b)) {
|
|
93
|
+
return rankOf(a) > rankOf(b) ? a : b;
|
|
94
|
+
}
|
|
95
|
+
return "float64";
|
|
96
|
+
};
|
|
97
|
+
export const inferNumberTagFromSamples = (samples) => {
|
|
98
|
+
if (samples.length <= 0)
|
|
99
|
+
return "number";
|
|
100
|
+
const tags = samples.map((s) => inferNumberTag(s));
|
|
101
|
+
const uniqueTags = Array.from(new Set(tags).values());
|
|
102
|
+
if (uniqueTags.length === 1)
|
|
103
|
+
return uniqueTags[0];
|
|
104
|
+
return uniqueTags.reduce(merge);
|
|
105
|
+
};
|
|
106
|
+
export const numberTagCanBeCastedTo = (tag, to) => {
|
|
107
|
+
if (tag === to || to === "number")
|
|
108
|
+
return true;
|
|
109
|
+
if ((isIntTag(tag) && isIntTag(to)) || (isFloatTag(tag) && isFloatTag(to))) {
|
|
110
|
+
return rankOf(tag) <= rankOf(to);
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../../src/shape/number.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Arrayish, Binary, Prettify } from "../common/types";
|
|
2
|
+
import { AnnotatedLoose, Annotation } from "./annotation";
|
|
3
|
+
import { _WithPhantom, ShapeBase } from "./base";
|
|
4
|
+
import { NumberTag } from "./tags";
|
|
5
|
+
import * as _validate from "./validate";
|
|
6
|
+
export declare namespace shapes {
|
|
7
|
+
interface ShapeNumber<Input extends number | null = number | null, Tag extends NumberTag = NumberTag> extends ShapeBase<"number", Input, [
|
|
8
|
+
Input
|
|
9
|
+
] extends [number] ? Input : number> {
|
|
10
|
+
tag: Tag;
|
|
11
|
+
literal?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface ShapeString<Input extends string | null = string | null> extends ShapeBase<"string", Input, [
|
|
14
|
+
Input
|
|
15
|
+
] extends [string] ? Input : string> {
|
|
16
|
+
literal?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface ShapeBoolean<Input extends boolean | null = boolean | null> extends ShapeBase<"boolean", Input, [
|
|
19
|
+
Input
|
|
20
|
+
] extends [boolean] ? Input : boolean> {
|
|
21
|
+
literal?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface ShapeUndefined extends ShapeBase<"undefined", null, undefined> {
|
|
24
|
+
}
|
|
25
|
+
interface ShapeDate extends ShapeBase<"date", null, Date> {
|
|
26
|
+
}
|
|
27
|
+
interface ShapeNil extends ShapeBase<"nil", null, null> {
|
|
28
|
+
}
|
|
29
|
+
interface ShapeUnknown extends ShapeBase<"unknown", null, unknown> {
|
|
30
|
+
}
|
|
31
|
+
interface ShapeArray<Item extends Shape = Shape> extends ShapeBase<"array", Item, Array<InferShapeOut<Item>>> {
|
|
32
|
+
}
|
|
33
|
+
interface ShapeMapping<Rec extends {
|
|
34
|
+
[key: string]: Shape;
|
|
35
|
+
} = {
|
|
36
|
+
[key: string]: Shape;
|
|
37
|
+
}> extends ShapeBase<"mapping", Rec, Record<string, Shape>> {
|
|
38
|
+
input: Rec;
|
|
39
|
+
_: {
|
|
40
|
+
output: Prettify<{
|
|
41
|
+
-readonly [P in keyof Rec as [IsOptional<Rec[P]>] extends [true] ? never : P]: InferShapeOut<Rec[P]>;
|
|
42
|
+
} & {
|
|
43
|
+
-readonly [P in keyof Rec as [IsOptional<Rec[P]>] extends [true] ? P : never]?: InferShapeOut<Rec[P]>;
|
|
44
|
+
}>;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
interface ShapeRecord<KV extends [ShapeKeyable, Shape] = [ShapeKeyable, Shape]> extends ShapeBase<"record", KV, Record<InferShapeOut<KV[0]>, InferShapeOut<KV[1]>>> {
|
|
48
|
+
}
|
|
49
|
+
interface ShapeVector<Dims extends number = number, Format extends ShapeNumber = ShapeNumber> extends ShapeBase<"vector", {
|
|
50
|
+
dims: Dims;
|
|
51
|
+
format: Format;
|
|
52
|
+
}, Array<InferShapeOut<Format>>> {
|
|
53
|
+
}
|
|
54
|
+
interface ShapeTuple<Of extends readonly Shape[] = readonly Shape[]> extends ShapeBase<"tuple", Of, {
|
|
55
|
+
-readonly [K in keyof Of]: InferShapeOut<Of[K]>;
|
|
56
|
+
}> {
|
|
57
|
+
}
|
|
58
|
+
interface ShapeBinary extends ShapeBase<"binary", null, Binary> {
|
|
59
|
+
}
|
|
60
|
+
interface ShapeRange<Item extends Shape = Shape> extends ShapeBase<"range", Item, {
|
|
61
|
+
lower: InferShapeOut<Item> | null;
|
|
62
|
+
upper: InferShapeOut<Item> | null;
|
|
63
|
+
lowerInclusive: boolean;
|
|
64
|
+
upperInclusive: boolean;
|
|
65
|
+
}> {
|
|
66
|
+
}
|
|
67
|
+
interface ShapeUnion<Of extends Arrayish<Shape> = Arrayish<Shape>> extends ShapeBase<"union", Of, InferShapeOut<Of[`${number}`]>> {
|
|
68
|
+
}
|
|
69
|
+
interface ShapeModule<Rec extends Record<string, ShapeMapping> = Record<string, ShapeMapping>> extends ShapeBase<"module", Rec, Record<string, unknown>> {
|
|
70
|
+
input: Rec;
|
|
71
|
+
_: {
|
|
72
|
+
output: {
|
|
73
|
+
-readonly [P in keyof Rec]: InferShapeOut<Rec[P]>;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
type ShapeKeyable = ShapeString | ShapeNumber | ShapeBoolean;
|
|
78
|
+
type ShapeWithLength = ShapeString | ShapeNumber | ShapeArray;
|
|
79
|
+
type ShapeLiteral = MakeLiteral<ShapeString<string>> | MakeLiteral<ShapeNumber<number>> | MakeLiteral<ShapeBoolean<boolean>>;
|
|
80
|
+
type Shape = ShapeNumber | ShapeString | ShapeBoolean | ShapeUndefined | ShapeDate | ShapeNil | ShapeUnknown | ShapeArray | ShapeMapping | ShapeRecord | ShapeVector | ShapeTuple | ShapeBinary | ShapeRange | ShapeUnion | ShapeModule | ShapeLiteral;
|
|
81
|
+
type InferShapeOut<S> = [
|
|
82
|
+
S
|
|
83
|
+
] extends [_WithPhantom] ? S["_"]["output"] : never;
|
|
84
|
+
type InputOfShape<S extends Shape> = S["input"];
|
|
85
|
+
type Annotated<S extends {
|
|
86
|
+
anno: Annotation;
|
|
87
|
+
}, A extends Annotation> = S & {
|
|
88
|
+
anno: S["anno"] & A;
|
|
89
|
+
};
|
|
90
|
+
type IsOptional<S> = [
|
|
91
|
+
S
|
|
92
|
+
] extends [AnnotatedLoose] ? [
|
|
93
|
+
S["anno"]["optional"]
|
|
94
|
+
] extends [true] ? true : false : false;
|
|
95
|
+
type MakeLiteral<S extends {
|
|
96
|
+
type: string;
|
|
97
|
+
}> = S & {
|
|
98
|
+
literal: true;
|
|
99
|
+
};
|
|
100
|
+
const number: () => ShapeNumber<null, "number">;
|
|
101
|
+
const int: () => ShapeNumber<null, "int">;
|
|
102
|
+
const int8: () => ShapeNumber<null, "int8">;
|
|
103
|
+
const uint8: () => ShapeNumber<null, "uint8">;
|
|
104
|
+
const int16: () => ShapeNumber<null, "int16">;
|
|
105
|
+
const uint16: () => ShapeNumber<null, "uint16">;
|
|
106
|
+
const int32: () => ShapeNumber<null, "int32">;
|
|
107
|
+
const uint32: () => ShapeNumber<null, "uint32">;
|
|
108
|
+
const int64: () => ShapeNumber<null, "int64">;
|
|
109
|
+
const uint64: () => ShapeNumber<null, "uint64">;
|
|
110
|
+
const float: () => ShapeNumber<null, "float">;
|
|
111
|
+
const float32: () => ShapeNumber<null, "float32">;
|
|
112
|
+
const float64: () => ShapeNumber<null, "float64">;
|
|
113
|
+
const string: () => ShapeString;
|
|
114
|
+
const boolean: () => ShapeBoolean;
|
|
115
|
+
const notDefined: () => ShapeUndefined;
|
|
116
|
+
const date: () => ShapeDate;
|
|
117
|
+
const nil: () => ShapeNil;
|
|
118
|
+
const unknown: () => ShapeUnknown;
|
|
119
|
+
function literal<const Input extends boolean>(value: Input): MakeLiteral<ShapeBoolean<Input>>;
|
|
120
|
+
function literal<const Input extends number>(value: Input): MakeLiteral<ShapeNumber<Input>>;
|
|
121
|
+
function literal<const Input extends string>(value: Input): MakeLiteral<ShapeString<Input>>;
|
|
122
|
+
function literal<const Input extends string | number | boolean>(value: Input): ShapeLiteral;
|
|
123
|
+
function array<const Item extends Shape>(item: Item): ShapeArray<Item>;
|
|
124
|
+
function mapping<const Rec extends {
|
|
125
|
+
[key: string]: Shape;
|
|
126
|
+
}>(rec: Rec): ShapeMapping<Rec>;
|
|
127
|
+
function record<KV extends [ShapeKeyable, Shape]>(...kv: KV): ShapeRecord<KV>;
|
|
128
|
+
function vector<const Dims extends number>(dims: Dims): ShapeVector<Dims, ShapeNumber>;
|
|
129
|
+
function vector<const Dims extends number, const Format extends ShapeNumber>(dims: Dims, format: Format): ShapeVector<Dims, Format>;
|
|
130
|
+
function vector<const Dims extends number, const Format extends ShapeNumber>(dims: Dims, format?: Format): ShapeVector<Dims, Format | ShapeNumber>;
|
|
131
|
+
const binary: () => ShapeBinary;
|
|
132
|
+
function range<const Item extends Shape>(item: Item): ShapeRange<Item>;
|
|
133
|
+
function tuple<const Of extends readonly Shape[]>(...of: Of): ShapeTuple<Of>;
|
|
134
|
+
function union<const Of extends Array<Shape>>(of: Of): ShapeUnion<Of>;
|
|
135
|
+
function union<const Of extends Arrayish<Shape>>(...of: Of): ShapeUnion<Of>;
|
|
136
|
+
function module<const Rec extends Record<string, ShapeMapping>>(rec: Rec): ShapeModule<Rec>;
|
|
137
|
+
type AutoOptions = {
|
|
138
|
+
literalNumbers?: boolean | null | undefined;
|
|
139
|
+
literalStrings?: boolean | null | undefined;
|
|
140
|
+
literalBooleans?: boolean | null | undefined;
|
|
141
|
+
};
|
|
142
|
+
function auto(input: unknown, options?: AutoOptions): Shape;
|
|
143
|
+
}
|
|
144
|
+
export declare namespace shapes {
|
|
145
|
+
const validate: typeof _validate.validate;
|
|
146
|
+
const is: typeof _validate.is;
|
|
147
|
+
const parse: typeof _validate.parse;
|
|
148
|
+
}
|
|
149
|
+
export { annotate } from "./annotate";
|
|
150
|
+
//# sourceMappingURL=shape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../../src/shape/shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { forceString, isPlainObject, uniqueBy } from "../common";
|
|
2
|
+
import { remapObjectValues } from "../common/object";
|
|
3
|
+
import { createBaseWithInput as bwi, createBaseWithPhantom as bwp, } from "./base";
|
|
4
|
+
import { inferNumberTag, inferNumberTagFromSamples, } from "./number";
|
|
5
|
+
import * as _validate from "./validate";
|
|
6
|
+
export var shapes;
|
|
7
|
+
(function (shapes) {
|
|
8
|
+
///////////////////////////////////// types ///////////////////////////////////////////////
|
|
9
|
+
///////////////////////////////////// constructors ////////////////////////////////////////
|
|
10
|
+
const withNumberTag = (shape, tag) => ({
|
|
11
|
+
...shape,
|
|
12
|
+
tag: tag,
|
|
13
|
+
});
|
|
14
|
+
shapes.number = () => withNumberTag(bwp("number"), "number");
|
|
15
|
+
shapes.int = () => withNumberTag(shapes.number(), "int");
|
|
16
|
+
shapes.int8 = () => withNumberTag(shapes.number(), "int8");
|
|
17
|
+
shapes.uint8 = () => withNumberTag(shapes.number(), "uint8");
|
|
18
|
+
shapes.int16 = () => withNumberTag(shapes.number(), "int16");
|
|
19
|
+
shapes.uint16 = () => withNumberTag(shapes.number(), "uint16");
|
|
20
|
+
shapes.int32 = () => withNumberTag(shapes.number(), "int32");
|
|
21
|
+
shapes.uint32 = () => withNumberTag(shapes.number(), "uint32");
|
|
22
|
+
shapes.int64 = () => withNumberTag(shapes.number(), "int64");
|
|
23
|
+
shapes.uint64 = () => withNumberTag(shapes.number(), "uint64");
|
|
24
|
+
shapes.float = () => withNumberTag(shapes.number(), "float");
|
|
25
|
+
shapes.float32 = () => withNumberTag(shapes.number(), "float32");
|
|
26
|
+
shapes.float64 = () => withNumberTag(shapes.number(), "float64");
|
|
27
|
+
shapes.string = () => bwp("string");
|
|
28
|
+
shapes.boolean = () => bwp("boolean");
|
|
29
|
+
shapes.notDefined = () => bwp("undefined");
|
|
30
|
+
shapes.date = () => bwp("date");
|
|
31
|
+
shapes.nil = () => bwp("nil");
|
|
32
|
+
shapes.unknown = () => bwp("unknown");
|
|
33
|
+
function literal(value) {
|
|
34
|
+
if (typeof value === "number")
|
|
35
|
+
return { ...shapes.number(), input: value, literal: true };
|
|
36
|
+
if (typeof value === "string")
|
|
37
|
+
return { ...shapes.string(), input: value, literal: true };
|
|
38
|
+
if (typeof value === "boolean")
|
|
39
|
+
return { ...shapes.boolean(), input: value, literal: true };
|
|
40
|
+
throw new Error(`type ${typeof value} cannot be a literal`);
|
|
41
|
+
}
|
|
42
|
+
shapes.literal = literal;
|
|
43
|
+
function array(item) {
|
|
44
|
+
return bwi("array", item);
|
|
45
|
+
}
|
|
46
|
+
shapes.array = array;
|
|
47
|
+
function mapping(rec) {
|
|
48
|
+
return bwi("mapping", rec);
|
|
49
|
+
}
|
|
50
|
+
shapes.mapping = mapping;
|
|
51
|
+
function record(...kv) {
|
|
52
|
+
return bwi("record", kv);
|
|
53
|
+
}
|
|
54
|
+
shapes.record = record;
|
|
55
|
+
function vector(dims, format) {
|
|
56
|
+
return bwi("vector", { dims, format: format || shapes.number() });
|
|
57
|
+
}
|
|
58
|
+
shapes.vector = vector;
|
|
59
|
+
shapes.binary = () => bwp("binary");
|
|
60
|
+
function range(item) {
|
|
61
|
+
return bwi("range", item);
|
|
62
|
+
}
|
|
63
|
+
shapes.range = range;
|
|
64
|
+
function tuple(...of) {
|
|
65
|
+
return bwi("tuple", of);
|
|
66
|
+
}
|
|
67
|
+
shapes.tuple = tuple;
|
|
68
|
+
function union(...of) {
|
|
69
|
+
const ofs = of.flat();
|
|
70
|
+
const first = ofs[0];
|
|
71
|
+
const items = ofs.length === 1 && Array.isArray(first) ?
|
|
72
|
+
first
|
|
73
|
+
: ofs;
|
|
74
|
+
return bwi("union", uniqueBy(items, (x) => forceString(x)));
|
|
75
|
+
}
|
|
76
|
+
shapes.union = union;
|
|
77
|
+
function module(rec) {
|
|
78
|
+
return bwi("module", rec);
|
|
79
|
+
}
|
|
80
|
+
shapes.module = module;
|
|
81
|
+
function auto(input, options = {}) {
|
|
82
|
+
if (input === null)
|
|
83
|
+
return shapes.nil();
|
|
84
|
+
if (typeof input === "undefined")
|
|
85
|
+
return shapes.notDefined();
|
|
86
|
+
if (typeof input === "string")
|
|
87
|
+
return options.literalStrings ? literal(input) : shapes.string();
|
|
88
|
+
if (typeof input === "number")
|
|
89
|
+
return options.literalNumbers ?
|
|
90
|
+
withNumberTag(literal(input), inferNumberTag(input))
|
|
91
|
+
: withNumberTag(shapes.number(), inferNumberTag(input));
|
|
92
|
+
if (typeof input === "boolean")
|
|
93
|
+
return options.literalBooleans ? literal(input) : shapes.boolean();
|
|
94
|
+
if (input instanceof Date)
|
|
95
|
+
return shapes.date();
|
|
96
|
+
if (input instanceof Uint8Array)
|
|
97
|
+
return shapes.binary();
|
|
98
|
+
if (Array.isArray(input)) {
|
|
99
|
+
if (input.every((x) => typeof x === "number")) {
|
|
100
|
+
const tag = inferNumberTagFromSamples(input);
|
|
101
|
+
return array(withNumberTag(shapes.number(), tag));
|
|
102
|
+
}
|
|
103
|
+
if (input.length === 1) {
|
|
104
|
+
return array(auto(input[0], options));
|
|
105
|
+
}
|
|
106
|
+
return array(union(input.map((x) => auto(x, options))));
|
|
107
|
+
}
|
|
108
|
+
if (isPlainObject(input)) {
|
|
109
|
+
return mapping(remapObjectValues(input, ([_k, v]) => auto(v, options)));
|
|
110
|
+
}
|
|
111
|
+
return shapes.unknown();
|
|
112
|
+
}
|
|
113
|
+
shapes.auto = auto;
|
|
114
|
+
})(shapes || (shapes = {}));
|
|
115
|
+
(function (shapes) {
|
|
116
|
+
shapes.validate = _validate.validate;
|
|
117
|
+
shapes.is = _validate.is;
|
|
118
|
+
shapes.parse = _validate.parse;
|
|
119
|
+
})(shapes || (shapes = {}));
|
|
120
|
+
export { annotate } from "./annotate";
|
|
121
|
+
//# sourceMappingURL=shape.js.map
|