@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,168 @@
|
|
|
1
|
+
import { R } from "../common";
|
|
2
|
+
import { ValidationError } from "./error";
|
|
3
|
+
import { shapes } from "./shape";
|
|
4
|
+
import { JSONSchema, SQLOptions } from "./transforms";
|
|
5
|
+
export interface ShapeBuilderBase<out S extends shapes.Shape> {
|
|
6
|
+
type: S["type"];
|
|
7
|
+
shape: S;
|
|
8
|
+
is(input: unknown): input is shapes.InferShapeOut<S>;
|
|
9
|
+
parse(input: unknown): R.Result<shapes.InferShapeOut<S>, ValidationError[]>;
|
|
10
|
+
optional(): ShapeBuilder<shapes.Annotated<S, {
|
|
11
|
+
optional: true;
|
|
12
|
+
}>>;
|
|
13
|
+
unique(): ShapeBuilder<shapes.Annotated<S, {
|
|
14
|
+
unique: true;
|
|
15
|
+
}>>;
|
|
16
|
+
primary(): ShapeBuilder<shapes.Annotated<S, {
|
|
17
|
+
primary: true;
|
|
18
|
+
}>>;
|
|
19
|
+
default<Value extends shapes.InferShapeOut<S>>(value: Value): ShapeBuilder<shapes.Annotated<S, {
|
|
20
|
+
default: Value;
|
|
21
|
+
}>>;
|
|
22
|
+
title<Text extends string>(text: Text): ShapeBuilder<shapes.Annotated<S, {
|
|
23
|
+
title: Text;
|
|
24
|
+
}>>;
|
|
25
|
+
describe<Text extends string>(text: Text): ShapeBuilder<shapes.Annotated<S, {
|
|
26
|
+
description: Text;
|
|
27
|
+
}>>;
|
|
28
|
+
comment<Text extends string>(text: Text): ShapeBuilder<shapes.Annotated<S, {
|
|
29
|
+
comment: Text;
|
|
30
|
+
}>>;
|
|
31
|
+
autoIncrement(): ShapeBuilder<shapes.Annotated<S, {
|
|
32
|
+
autoIncrement: true;
|
|
33
|
+
}>>;
|
|
34
|
+
foreign<Table extends string, Column extends string>(table: Table, column: Column): ShapeBuilder<shapes.Annotated<S, {
|
|
35
|
+
foreign: {
|
|
36
|
+
table: Table;
|
|
37
|
+
column: Column;
|
|
38
|
+
};
|
|
39
|
+
}>>;
|
|
40
|
+
references<Target extends ShapeBuilder<shapes.Annotated<shapes.ShapeMapping, {
|
|
41
|
+
title: string;
|
|
42
|
+
}>>, Field extends Extract<keyof {
|
|
43
|
+
[P in keyof shapes.InputOfShape<Target["shape"]> as shapes.InputOfShape<Target["shape"]>[P]["type"] extends S["type"] ? P : never]: P;
|
|
44
|
+
}, string>>(target: Target, field: Field): ShapeBuilder<shapes.Annotated<S, {
|
|
45
|
+
foreign: {
|
|
46
|
+
table: Target["shape"]["anno"]["title"];
|
|
47
|
+
column: Extract<Field, string>;
|
|
48
|
+
};
|
|
49
|
+
}>>;
|
|
50
|
+
meta<Meta extends Record<string, any>>(meta: Meta): ShapeBuilder<shapes.Annotated<S, {
|
|
51
|
+
meta: S["anno"]["meta"] & Meta;
|
|
52
|
+
}>>;
|
|
53
|
+
toJSONSchema(): JSONSchema;
|
|
54
|
+
toSQL(opts?: SQLOptions): R.Result<string, string[]>;
|
|
55
|
+
toTypescript(): string;
|
|
56
|
+
}
|
|
57
|
+
export interface ShapeBuilderWithLength<out S extends shapes.ShapeWithLength = shapes.ShapeWithLength> extends ShapeBuilderBase<S> {
|
|
58
|
+
min<N extends number>(n: N): ShapeBuilder<shapes.Annotated<S, {
|
|
59
|
+
min: N;
|
|
60
|
+
}>>;
|
|
61
|
+
max<N extends number>(n: N): ShapeBuilder<shapes.Annotated<S, {
|
|
62
|
+
max: N;
|
|
63
|
+
}>>;
|
|
64
|
+
}
|
|
65
|
+
export interface ShapeBuilderForString<out S extends shapes.ShapeString = shapes.ShapeString> extends ShapeBuilderWithLength<S> {
|
|
66
|
+
regex<P extends string | RegExp>(pattern: P): ShapeBuilder<shapes.Annotated<S, {
|
|
67
|
+
pattern: P;
|
|
68
|
+
}>>;
|
|
69
|
+
format<F extends string>(format: F): ShapeBuilder<shapes.Annotated<S, {
|
|
70
|
+
format: F;
|
|
71
|
+
}>>;
|
|
72
|
+
uuid(version?: number | undefined): ShapeBuilder<shapes.Annotated<S, {
|
|
73
|
+
pattern: RegExp;
|
|
74
|
+
}>>;
|
|
75
|
+
}
|
|
76
|
+
export interface ShapeBuilderForNumber<out S extends shapes.ShapeNumber = shapes.ShapeNumber> extends ShapeBuilderWithLength<S> {
|
|
77
|
+
}
|
|
78
|
+
export interface ShapeBuilderForArray<out S extends shapes.ShapeArray = shapes.ShapeArray> extends ShapeBuilderWithLength<S> {
|
|
79
|
+
uniqueItems(): ShapeBuilder<shapes.Annotated<S, {
|
|
80
|
+
uniqueItems: true;
|
|
81
|
+
}>>;
|
|
82
|
+
}
|
|
83
|
+
export interface ShapeBuilderForMapping<out S extends shapes.ShapeMapping = shapes.ShapeMapping> extends ShapeBuilderBase<S> {
|
|
84
|
+
unique(): ShapeBuilder<shapes.Annotated<S, {
|
|
85
|
+
unique: true;
|
|
86
|
+
}>>;
|
|
87
|
+
unique<Cols extends ReadonlyArray<Extract<keyof shapes.InputOfShape<S>, string>>>(columns: Cols, name?: string): ShapeBuilder<S>;
|
|
88
|
+
}
|
|
89
|
+
export type ShapeBuilder<S extends {
|
|
90
|
+
type: string;
|
|
91
|
+
}> = [
|
|
92
|
+
S["type"]
|
|
93
|
+
] extends ["string"] ? ShapeBuilderForString<Extract<S, shapes.ShapeString>> : [S["type"]] extends ["number"] ? ShapeBuilderForNumber<Extract<S, shapes.ShapeNumber>> : [S["type"]] extends ["array"] ? ShapeBuilderForArray<Extract<S, shapes.ShapeArray>> : [S["type"]] extends ["mapping"] ? ShapeBuilderForMapping<Extract<S, shapes.ShapeMapping>> : [S] extends [shapes.Shape] ? ShapeBuilderBase<S> : never;
|
|
94
|
+
export type AnyShapeBuilder = ShapeBuilderBase<shapes.Shape> | ShapeBuilderForString<shapes.ShapeString> | ShapeBuilderForNumber<shapes.ShapeNumber> | ShapeBuilderForArray<shapes.ShapeArray> | ShapeBuilderForMapping<shapes.ShapeMapping>;
|
|
95
|
+
export declare function createBuilderBase<const S extends shapes.Shape>(shape: S): ShapeBuilderBase<S>;
|
|
96
|
+
export declare function createBuilderWithLength<const S extends shapes.ShapeWithLength>(shape: S): ShapeBuilderWithLength<S>;
|
|
97
|
+
export declare function createBuilderForString<const S extends shapes.ShapeString>(shape: S): ShapeBuilderForString<S>;
|
|
98
|
+
export declare function createBuilderForNumber<const S extends shapes.ShapeNumber>(shape: S): ShapeBuilderForNumber<S>;
|
|
99
|
+
export declare function createBuilderForArray<const S extends shapes.ShapeArray>(shape: S): ShapeBuilderForArray<S>;
|
|
100
|
+
export declare function createBuilderForMapping<const S extends shapes.ShapeMapping>(shape: S): ShapeBuilderForMapping<S>;
|
|
101
|
+
export declare function createBuilder<const S extends shapes.Shape>(shape: S): ShapeBuilder<S>;
|
|
102
|
+
export declare function createBuilder<const S extends shapes.ShapeString>(shape: S): ShapeBuilderForString<S>;
|
|
103
|
+
export declare function createBuilder<const S extends shapes.ShapeNumber>(shape: S): ShapeBuilderForNumber<S>;
|
|
104
|
+
export declare function createBuilder<const S extends shapes.ShapeArray>(shape: S): ShapeBuilderForArray<S>;
|
|
105
|
+
export declare function createBuilder<const S extends shapes.ShapeMapping>(shape: S): ShapeBuilderForMapping<S>;
|
|
106
|
+
export declare function createBuilder(shape: shapes.Shape): AnyShapeBuilder;
|
|
107
|
+
export declare namespace B {
|
|
108
|
+
const string: () => ShapeBuilderForString<shapes.ShapeString>;
|
|
109
|
+
const boolean: () => ShapeBuilderBase<shapes.ShapeBoolean>;
|
|
110
|
+
const notDefined: () => ShapeBuilderBase<shapes.ShapeUndefined>;
|
|
111
|
+
const date: () => ShapeBuilderBase<shapes.ShapeDate>;
|
|
112
|
+
const nil: () => ShapeBuilderBase<shapes.ShapeNil>;
|
|
113
|
+
const unknown: () => ShapeBuilderBase<shapes.ShapeUnknown>;
|
|
114
|
+
const binary: () => ShapeBuilderBase<shapes.ShapeBinary>;
|
|
115
|
+
const number: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "number">>;
|
|
116
|
+
const int: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "int">>;
|
|
117
|
+
const int8: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "int8">>;
|
|
118
|
+
const uint8: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "uint8">>;
|
|
119
|
+
const int16: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "int16">>;
|
|
120
|
+
const uint16: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "uint16">>;
|
|
121
|
+
const int32: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "int32">>;
|
|
122
|
+
const uint32: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "uint32">>;
|
|
123
|
+
const int64: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "int64">>;
|
|
124
|
+
const uint64: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "uint64">>;
|
|
125
|
+
const float: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "float">>;
|
|
126
|
+
const float32: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "float32">>;
|
|
127
|
+
const float64: () => ShapeBuilderForNumber<shapes.ShapeNumber<null, "float64">>;
|
|
128
|
+
function literal<const V extends string>(value: V): ShapeBuilderForString<shapes.MakeLiteral<shapes.ShapeString<V>>>;
|
|
129
|
+
function literal<const V extends number>(value: V): ShapeBuilderForNumber<shapes.MakeLiteral<shapes.ShapeNumber<V>>>;
|
|
130
|
+
function literal<const V extends boolean>(value: V): ShapeBuilderBase<shapes.MakeLiteral<shapes.ShapeBoolean<V>>>;
|
|
131
|
+
const array: <const Builder extends {
|
|
132
|
+
shape: shapes.Shape;
|
|
133
|
+
}>(builder: Builder) => ShapeBuilderForArray<shapes.ShapeArray<Builder["shape"]>>;
|
|
134
|
+
const mapping: <const Rec extends Record<string, {
|
|
135
|
+
shape: shapes.Shape;
|
|
136
|
+
}>>(rec: Rec) => ShapeBuilderForMapping<shapes.ShapeMapping<{ -readonly [P in keyof Rec]: Rec[P]["shape"]; }>>;
|
|
137
|
+
const record: <const K extends {
|
|
138
|
+
shape: shapes.ShapeKeyable;
|
|
139
|
+
}, const V extends {
|
|
140
|
+
shape: shapes.Shape;
|
|
141
|
+
}>(key: K, value: V) => ShapeBuilderBase<shapes.ShapeRecord<[K["shape"], V["shape"]]>>;
|
|
142
|
+
const range: <const Item extends {
|
|
143
|
+
shape: shapes.Shape;
|
|
144
|
+
}>(item: Item) => ShapeBuilderBase<shapes.ShapeRange<Item["shape"]>>;
|
|
145
|
+
function vector<const Dims extends number>(dims: Dims): ShapeBuilderBase<shapes.ShapeVector<Dims, shapes.ShapeNumber>>;
|
|
146
|
+
function vector<const Dims extends number, const Format extends {
|
|
147
|
+
shape: shapes.ShapeNumber;
|
|
148
|
+
}>(dims: Dims, format: Format): ShapeBuilderBase<shapes.ShapeVector<Dims, Format["shape"]>>;
|
|
149
|
+
function union<const Of extends readonly {
|
|
150
|
+
shape: shapes.Shape;
|
|
151
|
+
}[]>(...of: Of): ShapeBuilderBase<shapes.ShapeUnion<{
|
|
152
|
+
-readonly [K in keyof Of]: Of[K]["shape"];
|
|
153
|
+
}>>;
|
|
154
|
+
function tuple<const Of extends readonly {
|
|
155
|
+
shape: shapes.Shape;
|
|
156
|
+
}[]>(...of: Of): ShapeBuilderBase<shapes.ShapeTuple<{
|
|
157
|
+
-readonly [K in keyof Of]: Of[K]["shape"];
|
|
158
|
+
}>>;
|
|
159
|
+
function tuple<const Of extends readonly {
|
|
160
|
+
shape: shapes.Shape;
|
|
161
|
+
}[]>(of: Of): ShapeBuilderBase<shapes.ShapeTuple<{
|
|
162
|
+
-readonly [K in keyof Of]: Of[K]["shape"];
|
|
163
|
+
}>>;
|
|
164
|
+
const module: <const Rec extends Record<string, {
|
|
165
|
+
shape: shapes.ShapeMapping;
|
|
166
|
+
}>>(rec: Rec) => ShapeBuilderBase<shapes.ShapeModule<{ -readonly [P in keyof Rec]: Rec[P]["shape"]; }>>;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -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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"}
|