@ronin/compiler 0.8.1 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +15 -15
- package/dist/index.js +4 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
@@ -5880,23 +5880,23 @@ type ModelFieldReference = ModelFieldBasics & {
|
|
5880
5880
|
};
|
5881
5881
|
};
|
5882
5882
|
type ModelField = ModelFieldNormal | ModelFieldReference;
|
5883
|
-
type ModelIndexField = {
|
5883
|
+
type ModelIndexField<T extends Array<ModelField> = Array<ModelField>> = {
|
5884
5884
|
/** The collating sequence used for text placed inside the field. */
|
5885
5885
|
collation?: ModelFieldCollation;
|
5886
5886
|
/** How the records in the index should be ordered. */
|
5887
5887
|
order?: 'ASC' | 'DESC';
|
5888
5888
|
} & ({
|
5889
5889
|
/** The field slug for which the index should be created. */
|
5890
|
-
slug:
|
5890
|
+
slug: T[number]['slug'];
|
5891
5891
|
} | {
|
5892
5892
|
/** The field expression for which the index should be created. */
|
5893
5893
|
expression: string;
|
5894
5894
|
});
|
5895
|
-
type ModelIndex = {
|
5895
|
+
type ModelIndex<T extends Array<ModelField> = Array<ModelField>> = {
|
5896
5896
|
/**
|
5897
5897
|
* The list of fields in the model for which the index should be created.
|
5898
5898
|
*/
|
5899
|
-
fields: Array<ModelIndexField
|
5899
|
+
fields: Array<ModelIndexField<T>>;
|
5900
5900
|
/**
|
5901
5901
|
* The identifier of the index.
|
5902
5902
|
*/
|
@@ -5911,14 +5911,14 @@ type ModelIndex = {
|
|
5911
5911
|
*/
|
5912
5912
|
filter?: WithInstruction;
|
5913
5913
|
};
|
5914
|
-
type ModelTriggerField = {
|
5914
|
+
type ModelTriggerField<T extends Array<ModelField> = Array<ModelField>> = {
|
5915
5915
|
/**
|
5916
5916
|
* The slug of the field that should cause the trigger to fire if the value of the
|
5917
5917
|
* field has changed.
|
5918
5918
|
*/
|
5919
|
-
slug:
|
5919
|
+
slug: T[number]['slug'];
|
5920
5920
|
};
|
5921
|
-
type ModelTrigger = {
|
5921
|
+
type ModelTrigger<T extends Array<ModelField> = Array<ModelField>> = {
|
5922
5922
|
/** The type of query for which the trigger should fire. */
|
5923
5923
|
action: 'INSERT' | 'UPDATE' | 'DELETE';
|
5924
5924
|
/** When the trigger should fire in the case that a matching query is executed. */
|
@@ -5926,7 +5926,7 @@ type ModelTrigger = {
|
|
5926
5926
|
/** A list of queries that should be executed when the trigger fires. */
|
5927
5927
|
effects: Array<Query>;
|
5928
5928
|
/** A list of field slugs for which the trigger should fire. */
|
5929
|
-
fields?: Array<ModelTriggerField
|
5929
|
+
fields?: Array<ModelTriggerField<T>>;
|
5930
5930
|
/**
|
5931
5931
|
* An object containing query instructions used to determine whether the trigger should
|
5932
5932
|
* fire, or not.
|
@@ -5939,14 +5939,14 @@ type ModelPreset = {
|
|
5939
5939
|
/** The query instructions that should be applied when the preset is used. */
|
5940
5940
|
instructions: GetInstructions;
|
5941
5941
|
};
|
5942
|
-
interface Model {
|
5942
|
+
interface Model<T extends Array<ModelField> = Array<ModelField>> {
|
5943
5943
|
name: string;
|
5944
5944
|
pluralName: string;
|
5945
5945
|
slug: string;
|
5946
5946
|
pluralSlug: string;
|
5947
5947
|
identifiers: {
|
5948
|
-
name:
|
5949
|
-
slug:
|
5948
|
+
name: T[number]['slug'];
|
5949
|
+
slug: T[number]['slug'];
|
5950
5950
|
};
|
5951
5951
|
idPrefix: string;
|
5952
5952
|
/** The name of the table in SQLite. */
|
@@ -5962,12 +5962,12 @@ interface Model {
|
|
5962
5962
|
* the associative model should be mounted on the source model.
|
5963
5963
|
*/
|
5964
5964
|
associationSlug?: string;
|
5965
|
-
fields:
|
5966
|
-
indexes?: Array<ModelIndex
|
5967
|
-
triggers?: Array<ModelTrigger
|
5965
|
+
fields: T;
|
5966
|
+
indexes?: Array<ModelIndex<T>>;
|
5967
|
+
triggers?: Array<ModelTrigger<T>>;
|
5968
5968
|
presets?: Array<ModelPreset>;
|
5969
5969
|
}
|
5970
|
-
type PublicModel = Omit<Partial<Model
|
5970
|
+
type PublicModel<T extends Array<ModelField> = Array<ModelField>> = Omit<Partial<Model<T>>, 'slug' | 'identifiers' | 'associationSlug' | 'table' | 'tableAlias'> & {
|
5971
5971
|
slug: Required<Model['slug']>;
|
5972
5972
|
identifiers?: Partial<Model['identifiers']>;
|
5973
5973
|
};
|
package/dist/index.js
CHANGED
@@ -106,7 +106,10 @@ var splitQuery = (query) => {
|
|
106
106
|
// src/utils/statement.ts
|
107
107
|
var prepareStatementValue = (statementParams, value) => {
|
108
108
|
if (value === null) return "NULL";
|
109
|
-
if (!statementParams)
|
109
|
+
if (!statementParams) {
|
110
|
+
const valueString = typeof value === "object" ? JSON.stringify(value) : value.toString();
|
111
|
+
return `'${valueString}'`;
|
112
|
+
}
|
110
113
|
let formattedValue = value;
|
111
114
|
if (Array.isArray(value) || isObject(value)) {
|
112
115
|
formattedValue = JSON.stringify(value);
|