@balena/abstract-sql-compiler
Advanced tools
Comparing version 7.1.0 to 7.2.0-rules-to-checks-f6df5b60903d3d8ba0cb67658df32567e14b848c
@@ -7,4 +7,8 @@ # Change Log | ||
## 7.1.0 - 2020-12-11 | ||
## 7.2.0 - 2020-12-16 | ||
* Add an `optimizeSchema` function [Pagan Gazzard] | ||
## 7.1.0 - 2020-12-09 | ||
* Add check constraint support at the table level [Pagan Gazzard] | ||
@@ -11,0 +15,0 @@ |
@@ -212,2 +212,3 @@ export declare const enum Engines { | ||
} | ||
export declare const isFromNode: (n: AbstractSqlType) => n is FromNode; | ||
export declare function compileRule(abstractSQL: AbstractSqlQuery, engine: Engines, noBinds: true): string; | ||
@@ -217,2 +218,3 @@ export declare function compileRule(abstractSQL: AbstractSqlQuery, engine: Engines, noBinds?: false): SqlResult | SqlResult[]; | ||
export declare const postgres: { | ||
optimizeSchema: (abstractSqlModel: AbstractSqlModel) => AbstractSqlModel; | ||
compileSchema: _.Function1<AbstractSqlModel, SqlModel>; | ||
@@ -225,2 +227,3 @@ compileRule: (abstractSQL: AbstractSqlQuery) => SqlResult | SqlResult[]; | ||
export declare const mysql: { | ||
optimizeSchema: (abstractSqlModel: AbstractSqlModel) => AbstractSqlModel; | ||
compileSchema: _.Function1<AbstractSqlModel, SqlModel>; | ||
@@ -233,2 +236,3 @@ compileRule: (abstractSQL: AbstractSqlQuery) => SqlResult | SqlResult[]; | ||
export declare const websql: { | ||
optimizeSchema: (abstractSqlModel: AbstractSqlModel) => AbstractSqlModel; | ||
compileSchema: _.Function1<AbstractSqlModel, SqlModel>; | ||
@@ -235,0 +239,0 @@ compileRule: (abstractSQL: AbstractSqlQuery) => SqlResult | SqlResult[]; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.websql = exports.mysql = exports.postgres = exports.compileRule = exports.Engines = void 0; | ||
exports.websql = exports.mysql = exports.postgres = exports.compileRule = exports.isFromNode = exports.Engines = void 0; | ||
var Engines; | ||
@@ -14,2 +14,3 @@ (function (Engines) { | ||
const _ = require("lodash"); | ||
const AbstractSQLSchemaOptimiser_1 = require("./AbstractSQLSchemaOptimiser"); | ||
const validateTypes = _.mapValues(sbvrTypes, ({ validate }) => validate); | ||
@@ -67,5 +68,6 @@ const dataTypeValidate = async (value, field) => { | ||
const isFromNode = (n) => n[0] === 'From'; | ||
exports.isFromNode = isFromNode; | ||
const getScope = (rulePart, scope) => { | ||
scope = { ...scope }; | ||
const fromNodes = rulePart.filter(isFromNode); | ||
const fromNodes = rulePart.filter(exports.isFromNode); | ||
fromNodes.forEach((node) => { | ||
@@ -142,3 +144,3 @@ const nested = node[1]; | ||
} | ||
const froms = query.filter(isFromNode); | ||
const froms = query.filter(exports.isFromNode); | ||
if (froms.length !== 1) { | ||
@@ -181,2 +183,3 @@ return; | ||
const compileSchema = (abstractSqlModel, engine, ifNotExists) => { | ||
abstractSqlModel = AbstractSQLSchemaOptimiser_1.optimizeSchema(abstractSqlModel); | ||
let ifNotExistsStr = ''; | ||
@@ -404,2 +407,3 @@ if (ifNotExists) { | ||
return { | ||
optimizeSchema: AbstractSQLSchemaOptimiser_1.optimizeSchema, | ||
compileSchema: _.partial(compileSchema, _, engine, ifNotExists), | ||
@@ -406,0 +410,0 @@ compileRule: (abstractSQL) => compileRule(abstractSQL, engine, false), |
{ | ||
"name": "@balena/abstract-sql-compiler", | ||
"version": "7.1.0", | ||
"version": "7.2.0-rules-to-checks-f6df5b60903d3d8ba0cb67658df32567e14b848c", | ||
"description": "A translator for abstract sql into sql.", | ||
@@ -18,5 +18,5 @@ "main": "out/AbstractSQLCompiler.js", | ||
"dependencies": { | ||
"@balena/sbvr-types": "^3.1.2", | ||
"@balena/sbvr-types": "^3.1.3", | ||
"@types/lodash": "^4.14.165", | ||
"@types/node": "^10.17.48", | ||
"@types/node": "^10.17.49", | ||
"lodash": "^4.17.20" | ||
@@ -35,3 +35,3 @@ }, | ||
"common-tags": "^1.8.0", | ||
"husky": "^4.3.5", | ||
"husky": "^4.3.6", | ||
"lint-staged": "^10.5.3", | ||
@@ -41,3 +41,3 @@ "mocha": "^8.2.1", | ||
"ts-node": "^9.1.1", | ||
"typescript": "^4.1.2" | ||
"typescript": "^4.1.3" | ||
}, | ||
@@ -44,0 +44,0 @@ "husky": { |
@@ -16,2 +16,3 @@ export const enum Engines { | ||
import * as _ from 'lodash'; | ||
import { optimizeSchema } from './AbstractSQLSchemaOptimiser'; | ||
@@ -382,3 +383,4 @@ export type NullNode = ['Null']; | ||
const isFromNode = (n: AbstractSqlType): n is FromNode => n[0] === 'From'; | ||
export const isFromNode = (n: AbstractSqlType): n is FromNode => | ||
n[0] === 'From'; | ||
@@ -539,2 +541,4 @@ type Scope = _.Dictionary<string>; | ||
): SqlModel => { | ||
abstractSqlModel = optimizeSchema(abstractSqlModel); | ||
let ifNotExistsStr = ''; | ||
@@ -823,2 +827,3 @@ if (ifNotExists) { | ||
return { | ||
optimizeSchema, | ||
compileSchema: _.partial(compileSchema, _, engine, ifNotExists), | ||
@@ -825,0 +830,0 @@ compileRule: (abstractSQL: AbstractSqlQuery) => |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
549466
49
12028
2
Updated@balena/sbvr-types@^3.1.3
Updated@types/node@^10.17.49