@fjell/lib-sequelize 4.4.0 → 4.4.2
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/AggregationBuilder.cjs +31 -0
- package/dist/cjs/Coordinate.cjs +37 -0
- package/dist/cjs/Definition.cjs +46 -0
- package/dist/cjs/EventCoordinator.cjs +54 -0
- package/dist/cjs/Instance.cjs +40 -0
- package/dist/cjs/KeyMaster.cjs +129 -0
- package/dist/cjs/Operations.cjs +29 -0
- package/dist/cjs/Options.cjs +39 -0
- package/dist/cjs/QueryBuilder.cjs +290 -0
- package/dist/cjs/ReferenceBuilder.cjs +34 -0
- package/dist/cjs/RowProcessor.cjs +41 -0
- package/dist/cjs/contained/Instance.cjs +21 -0
- package/dist/cjs/contained/index.cjs +10 -0
- package/dist/cjs/index.cjs +23 -0
- package/dist/cjs/logger.cjs +10 -0
- package/dist/cjs/ops/all.cjs +62 -0
- package/dist/cjs/ops/create.cjs +154 -0
- package/dist/cjs/ops/find.cjs +45 -0
- package/dist/cjs/ops/get.cjs +85 -0
- package/dist/cjs/ops/one.cjs +26 -0
- package/dist/cjs/ops/remove.cjs +111 -0
- package/dist/cjs/ops/update.cjs +61 -0
- package/dist/cjs/primary/Instance.cjs +31 -0
- package/dist/cjs/primary/index.cjs +10 -0
- package/dist/cjs/util/general.cjs +52 -0
- package/dist/cjs/util/relationshipUtils.cjs +117 -0
- package/dist/es/AggregationBuilder.js +27 -0
- package/dist/es/EventCoordinator.js +48 -0
- package/dist/{Instance.js → es/Instance.js} +6 -5
- package/dist/es/KeyMaster.js +124 -0
- package/dist/{Operations.js → es/Operations.js} +8 -8
- package/dist/{Options.js → es/Options.js} +8 -11
- package/dist/{QueryBuilder.js → es/QueryBuilder.js} +123 -21
- package/dist/es/ReferenceBuilder.js +30 -0
- package/dist/es/RowProcessor.js +37 -0
- package/dist/{contained → es/contained}/Instance.js +6 -5
- package/dist/{index.js → es/index.js} +1 -1
- package/dist/{ops → es/ops}/all.js +7 -4
- package/dist/es/ops/create.js +150 -0
- package/dist/{ops → es/ops}/find.js +16 -6
- package/dist/es/ops/get.js +81 -0
- package/dist/{ops → es/ops}/one.js +2 -2
- package/dist/{ops → es/ops}/remove.js +51 -11
- package/dist/{ops → es/ops}/update.js +15 -15
- package/dist/{primary → es/primary}/Instance.js +6 -5
- package/dist/es/util/general.js +47 -0
- package/dist/es/util/relationshipUtils.js +112 -0
- package/dist/index.cjs +1279 -0
- package/dist/index.cjs.map +1 -0
- package/dist/types/AggregationBuilder.d.ts +4 -0
- package/dist/{Definition.d.ts → types/Definition.d.ts} +1 -1
- package/dist/{EventCoordinator.d.ts → types/EventCoordinator.d.ts} +1 -0
- package/dist/{Instance.d.ts → types/Instance.d.ts} +1 -1
- package/dist/types/KeyMaster.d.ts +4 -0
- package/dist/{Operations.d.ts → types/Operations.d.ts} +2 -2
- package/dist/{Options.d.ts → types/Options.d.ts} +14 -3
- package/dist/{QueryBuilder.d.ts → types/QueryBuilder.d.ts} +1 -0
- package/dist/types/ReferenceBuilder.d.ts +3 -0
- package/dist/{RowProcessor.d.ts → types/RowProcessor.d.ts} +3 -1
- package/dist/{contained → types/contained}/Instance.d.ts +2 -1
- package/dist/{ops → types/ops}/all.d.ts +2 -1
- package/dist/{ops → types/ops}/create.d.ts +3 -2
- package/dist/{ops → types/ops}/find.d.ts +2 -1
- package/dist/{ops → types/ops}/get.d.ts +2 -1
- package/dist/{ops → types/ops}/one.d.ts +2 -1
- package/dist/{ops → types/ops}/remove.d.ts +2 -1
- package/dist/{ops → types/ops}/update.d.ts +2 -1
- package/dist/{primary → types/primary}/Instance.d.ts +2 -1
- package/dist/types/util/general.d.ts +4 -0
- package/dist/types/util/relationshipUtils.d.ts +21 -0
- package/package.json +37 -32
- package/dist/EventCoordinator.js +0 -30
- package/dist/KeyMaster.d.ts +0 -4
- package/dist/KeyMaster.js +0 -84
- package/dist/RowProcessor.js +0 -18
- package/dist/ops/create.js +0 -18
- package/dist/ops/get.js +0 -45
- package/src/Coordinate.ts +0 -16
- package/src/Definition.ts +0 -49
- package/src/EventCoordinator.ts +0 -103
- package/src/Instance.ts +0 -44
- package/src/KeyMaster.ts +0 -90
- package/src/Operations.ts +0 -42
- package/src/Options.ts +0 -41
- package/src/QueryBuilder.ts +0 -208
- package/src/RowProcessor.ts +0 -23
- package/src/contained/Instance.ts +0 -44
- package/src/contained/index.ts +0 -1
- package/src/index.ts +0 -7
- package/src/logger.ts +0 -5
- package/src/ops/all.ts +0 -76
- package/src/ops/create.ts +0 -40
- package/src/ops/find.ts +0 -49
- package/src/ops/get.ts +0 -67
- package/src/ops/one.ts +0 -37
- package/src/ops/remove.ts +0 -81
- package/src/ops/update.ts +0 -78
- package/src/primary/Instance.ts +0 -40
- package/src/primary/index.ts +0 -1
- /package/dist/{Coordinate.js → es/Coordinate.js} +0 -0
- /package/dist/{Definition.js → es/Definition.js} +0 -0
- /package/dist/{contained → es/contained}/index.js +0 -0
- /package/dist/{logger.js → es/logger.js} +0 -0
- /package/dist/{primary → es/primary}/index.js +0 -0
- /package/dist/{Coordinate.d.ts → types/Coordinate.d.ts} +0 -0
- /package/dist/{contained → types/contained}/index.d.ts +0 -0
- /package/dist/{index.d.ts → types/index.d.ts} +0 -0
- /package/dist/{logger.d.ts → types/logger.d.ts} +0 -0
- /package/dist/{primary → types/primary}/index.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Item } from '@fjell/core';
|
|
2
|
+
import { AggregationDefinition } from './Options';
|
|
3
|
+
import * as Library from "@fjell/lib";
|
|
4
|
+
export declare const buildAggregation: (item: Item, aggregationDefinition: AggregationDefinition, registry: Library.Registry) => Promise<Item<never, never, never, never, never, never>>;
|
|
@@ -4,4 +4,4 @@ import * as Library from '@fjell/lib';
|
|
|
4
4
|
export interface Definition<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never> extends Library.Definition<V, S, L1, L2, L3, L4, L5> {
|
|
5
5
|
options: Options<V, S, L1, L2, L3, L4, L5>;
|
|
6
6
|
}
|
|
7
|
-
export declare function createDefinition<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(kta: ItemTypeArray<S, L1, L2, L3, L4, L5>, scopes: string[], libOptions?: Options<V, S, L1, L2, L3, L4, L5
|
|
7
|
+
export declare function createDefinition<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(kta: ItemTypeArray<S, L1, L2, L3, L4, L5>, scopes: string[], libOptions?: Partial<Options<V, S, L1, L2, L3, L4, L5>>): Definition<V, S, L1, L2, L3, L4, L5>;
|
|
@@ -2,4 +2,5 @@ import { ItemProperties } from '@fjell/core';
|
|
|
2
2
|
export declare const createEvents: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
3
3
|
export declare const updateEvents: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
4
4
|
export declare const populateEvents: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
5
|
+
export declare const extractEvents: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
5
6
|
export declare const removeEvents: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
@@ -5,4 +5,4 @@ import * as Library from '@fjell/lib';
|
|
|
5
5
|
export interface Instance<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never> extends Library.Instance<V, S, L1, L2, L3, L4, L5> {
|
|
6
6
|
models: ModelStatic<any>[];
|
|
7
7
|
}
|
|
8
|
-
export declare function createInstance<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(keyTypes: ItemTypeArray<S, L1, L2, L3, L4, L5>, models: ModelStatic<any>[], libOptions
|
|
8
|
+
export declare function createInstance<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(keyTypes: ItemTypeArray<S, L1, L2, L3, L4, L5>, models: ModelStatic<any>[], libOptions: Partial<Options<V, S, L1, L2, L3, L4, L5>> | undefined, scopes: string[] | undefined, registry: Library.Registry): Instance<V, S, L1, L2, L3, L4, L5>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AllItemTypeArrays, Item, ItemProperties } from '@fjell/core';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
export declare const removeKey: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
4
|
+
export declare const addKey: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(model: Model<any, any>, item: Partial<Item<S, L1, L2, L3, L4, L5>>, keyTypes: AllItemTypeArrays<S, L1, L2, L3, L4, L5>) => Item<S, L1, L2, L3, L4, L5>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Item } from '@fjell/core';
|
|
2
2
|
import { ModelStatic } from 'sequelize';
|
|
3
|
-
import { Definition } from '
|
|
3
|
+
import { Definition } from './Definition';
|
|
4
4
|
import * as Library from "@fjell/lib";
|
|
5
|
-
export declare const createOperations: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: Array<ModelStatic<any>>, definition: Definition<V, S, L1, L2, L3, L4, L5
|
|
5
|
+
export declare const createOperations: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: Array<ModelStatic<any>>, definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => Library.Operations<V, S, L1, L2, L3, L4, L5>;
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { Item } from '@fjell/core';
|
|
2
2
|
import * as Library from '@fjell/lib';
|
|
3
|
+
export interface AggregationDefinition {
|
|
4
|
+
kta: string[];
|
|
5
|
+
property: string;
|
|
6
|
+
cardinality: 'one' | 'many';
|
|
7
|
+
}
|
|
8
|
+
export interface ReferenceDefinition {
|
|
9
|
+
column: string;
|
|
10
|
+
kta: string[];
|
|
11
|
+
property: string;
|
|
12
|
+
}
|
|
3
13
|
export interface Options<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never> extends Library.Options<V, S, L1, L2, L3, L4, L5> {
|
|
4
|
-
deleteOnRemove
|
|
14
|
+
deleteOnRemove: boolean;
|
|
15
|
+
references: ReferenceDefinition[];
|
|
16
|
+
aggregations: AggregationDefinition[];
|
|
5
17
|
}
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const createOptions: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(libOptions?: Options<V, S, L1, L2, L3, L4, L5>) => Options<V, S, L1, L2, L3, L4, L5>;
|
|
18
|
+
export declare const createOptions: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(libOptions?: Partial<Options<V, S, L1, L2, L3, L4, L5>>) => Options<V, S, L1, L2, L3, L4, L5>;
|
|
@@ -5,6 +5,7 @@ export type QueryOptions = {
|
|
|
5
5
|
limit?: number;
|
|
6
6
|
offset?: number;
|
|
7
7
|
order?: Array<[string, string]>;
|
|
8
|
+
include?: Array<any>;
|
|
8
9
|
};
|
|
9
10
|
export declare const addCompoundCondition: (options: any, compoundCondition: CompoundCondition, model: ModelStatic<any>) => any;
|
|
10
11
|
export declare const addCondition: (conditions: Record<string, any>, condition: Condition, model: ModelStatic<any>) => Record<string, any>;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { AllItemTypeArrays, Item } from '@fjell/core';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
|
|
3
|
+
import { AggregationDefinition, ReferenceDefinition } from './Options';
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const processRow: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(row: Model<any, any>, keyTypes: AllItemTypeArrays<S, L1, L2, L3, L4, L5>, referenceDefinitions: ReferenceDefinition[], aggregationDefinitions: AggregationDefinition[], registry: Library.Registry) => Promise<Item<S, L1, L2, L3, L4, L5>>;
|
|
@@ -2,7 +2,8 @@ import { Instance as AbstractSequelizeInstance } from '../Instance';
|
|
|
2
2
|
import { Item, ItemTypeArray } from '@fjell/core';
|
|
3
3
|
import { Contained } from '@fjell/lib';
|
|
4
4
|
import { ModelStatic } from 'sequelize';
|
|
5
|
+
import * as Library from "@fjell/lib";
|
|
5
6
|
export interface Instance<V extends Item<S>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never> extends AbstractSequelizeInstance<V, S, L1, L2, L3, L4, L5> {
|
|
6
7
|
models: ModelStatic<any>[];
|
|
7
8
|
}
|
|
8
|
-
export declare function createInstance<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(keyTypes: ItemTypeArray<S, L1, L2, L3, L4, L5>, models: ModelStatic<any>[], libOptions
|
|
9
|
+
export declare function createInstance<V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(keyTypes: ItemTypeArray<S, L1, L2, L3, L4, L5>, models: ModelStatic<any>[], libOptions: Contained.Options<V, S, L1, L2, L3, L4, L5> | undefined, scopes: string[] | undefined, registry: Library.Registry): Instance<V, S, L1, L2, L3, L4, L5>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Definition } from '../Definition';
|
|
2
2
|
import { Item, ItemQuery, LocKeyArray } from '@fjell/core';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getAllOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (itemQuery: ItemQuery, locations?: LocKeyArray<L1, L2, L3, L4, L5> | [] | undefined) => Promise<V[]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ComKey, Item, LocKeyArray, PriKey, TypesProperties } from '@fjell/core';
|
|
2
|
-
import { ModelStatic } from 'sequelize';
|
|
3
2
|
import { Definition } from '../Definition';
|
|
4
|
-
|
|
3
|
+
import { ModelStatic } from 'sequelize';
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getCreateOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (item: TypesProperties<V, S, L1, L2, L3, L4, L5>, options?: {
|
|
5
6
|
key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>;
|
|
6
7
|
locations?: never;
|
|
7
8
|
} | {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Item, LocKeyArray } from '@fjell/core';
|
|
2
2
|
import { Definition } from '../Definition';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getFindOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (finder: string, finderParams: Record<string, string | number | boolean | Date | Array<string | number | boolean | Date>>, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V[]>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ComKey, Item, PriKey } from '@fjell/core';
|
|
2
2
|
import { ModelStatic } from 'sequelize';
|
|
3
3
|
import { Definition } from '../Definition';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getGetOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: Array<ModelStatic<any>>, definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>) => Promise<V>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Item, ItemQuery, LocKeyArray } from '@fjell/core';
|
|
2
2
|
import { Definition } from '../Definition';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getOneOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (itemQuery: ItemQuery, locations?: LocKeyArray<L1, L2, L3, L4, L5> | []) => Promise<V | null>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ComKey, PriKey, Item } from '@fjell/core';
|
|
2
2
|
import { Definition } from '../Definition';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getRemoveOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>) => Promise<V>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ComKey, Item, PriKey, TypesProperties } from '@fjell/core';
|
|
2
2
|
import { Definition } from '../Definition';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
|
-
|
|
4
|
+
import * as Library from "@fjell/lib";
|
|
5
|
+
export declare const getUpdateOperation: <V extends Item<S, L1, L2, L3, L4, L5>, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(models: ModelStatic<any>[], definition: Definition<V, S, L1, L2, L3, L4, L5>, registry: Library.Registry) => (key: PriKey<S> | ComKey<S, L1, L2, L3, L4, L5>, item: TypesProperties<V, S, L1, L2, L3, L4, L5>) => Promise<V>;
|
|
@@ -2,7 +2,8 @@ import { Instance as AbstractSequelizeInstance } from '../Instance';
|
|
|
2
2
|
import { Item } from '@fjell/core';
|
|
3
3
|
import { ModelStatic } from 'sequelize';
|
|
4
4
|
import { Options } from '../Options';
|
|
5
|
+
import * as Library from "@fjell/lib";
|
|
5
6
|
export interface Instance<V extends Item<S>, S extends string> extends AbstractSequelizeInstance<V, S> {
|
|
6
7
|
models: ModelStatic<any>[];
|
|
7
8
|
}
|
|
8
|
-
export declare function createInstance<V extends Item<S>, S extends string>(keyType: S, models: ModelStatic<any>[], libOptions
|
|
9
|
+
export declare function createInstance<V extends Item<S>, S extends string>(keyType: S, models: ModelStatic<any>[], libOptions: Partial<Options<V, S>> | undefined, scopes: string[] | undefined, registry: Library.Registry): Instance<V, S>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModelStatic } from 'sequelize';
|
|
2
|
+
export interface RelationshipChainResult {
|
|
3
|
+
success: boolean;
|
|
4
|
+
path?: string;
|
|
5
|
+
includes?: any[];
|
|
6
|
+
}
|
|
7
|
+
export interface RelationshipPathResult {
|
|
8
|
+
found: boolean;
|
|
9
|
+
path?: string;
|
|
10
|
+
includes?: any[];
|
|
11
|
+
isDirect?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Helper function to build relationship chain includes
|
|
15
|
+
*/
|
|
16
|
+
export declare const buildRelationshipChain: (targetModel: ModelStatic<any>, kta: string[], currentIndex: number, targetIndex: number) => RelationshipChainResult;
|
|
17
|
+
/**
|
|
18
|
+
* Helper function to build relationship path for a locator
|
|
19
|
+
* @param includeIsDirect Whether to include the isDirect flag in the result
|
|
20
|
+
*/
|
|
21
|
+
export declare const buildRelationshipPath: (targetModel: ModelStatic<any>, locatorType: string, kta: string[], includeIsDirect?: boolean) => RelationshipPathResult;
|
package/package.json
CHANGED
|
@@ -1,57 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjell/lib-sequelize",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Sequelize Library for Fjell",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=21"
|
|
8
8
|
},
|
|
9
|
-
"main": "dist/index.
|
|
9
|
+
"main": "./dist/cjs/index.cjs",
|
|
10
|
+
"module": "./dist/es/index.js",
|
|
11
|
+
"type": "module",
|
|
12
|
+
"types": "./dist/types/index.d.ts",
|
|
10
13
|
"exports": {
|
|
11
14
|
".": {
|
|
12
|
-
"types": "./dist/index.d.ts",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
+
"types": "./dist/types/index.d.ts",
|
|
16
|
+
"import": "./dist/es/index.js",
|
|
17
|
+
"require": "./dist/cjs/index.cjs"
|
|
15
18
|
}
|
|
16
19
|
},
|
|
17
|
-
"
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
18
23
|
"dependencies": {
|
|
19
|
-
"@fjell/core": "^4.4.
|
|
20
|
-
"@fjell/lib": "^4.4.
|
|
21
|
-
"@fjell/logging": "^4.4.
|
|
24
|
+
"@fjell/core": "^4.4.3",
|
|
25
|
+
"@fjell/lib": "^4.4.2",
|
|
26
|
+
"@fjell/logging": "^4.4.3",
|
|
22
27
|
"dayjs": "^1.11.13",
|
|
23
28
|
"deepmerge": "^4.3.1",
|
|
24
|
-
"multer": "
|
|
25
|
-
"sequelize": "^6.37.
|
|
29
|
+
"multer": "2.0.1",
|
|
30
|
+
"sequelize": "^6.37.7",
|
|
26
31
|
"specifier-resolution-node": "^1.1.4",
|
|
27
32
|
"winston": "^3.17.0"
|
|
28
33
|
},
|
|
29
34
|
"devDependencies": {
|
|
30
|
-
"@babel/preset-env": "^7.
|
|
31
|
-
"@babel/preset-react": "^7.
|
|
32
|
-
"@babel/preset-typescript": "^7.
|
|
35
|
+
"@babel/preset-env": "^7.27.2",
|
|
36
|
+
"@babel/preset-react": "^7.27.1",
|
|
37
|
+
"@babel/preset-typescript": "^7.27.1",
|
|
33
38
|
"@eslint/eslintrc": "^3.3.1",
|
|
34
|
-
"@eslint/js": "^9.
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"@types/
|
|
39
|
-
"@
|
|
40
|
-
"@
|
|
41
|
-
"@
|
|
42
|
-
"@
|
|
43
|
-
"concurrently": "^
|
|
44
|
-
"eslint": "^9.
|
|
45
|
-
"
|
|
46
|
-
"nodemon": "^3.1.9",
|
|
39
|
+
"@eslint/js": "^9.29.0",
|
|
40
|
+
"@swc/core": "^1.12.5",
|
|
41
|
+
"@tsconfig/recommended": "^1.0.10",
|
|
42
|
+
"@types/multer": "^1.4.13",
|
|
43
|
+
"@types/node": "^24.0.3",
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^8.34.1",
|
|
45
|
+
"@typescript-eslint/parser": "^8.34.1",
|
|
46
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
47
|
+
"@vitest/ui": "^3.2.4",
|
|
48
|
+
"concurrently": "^9.1.2",
|
|
49
|
+
"eslint": "^9.29.0",
|
|
50
|
+
"nodemon": "^3.1.10",
|
|
47
51
|
"rimraf": "^6.0.1",
|
|
48
|
-
"ts-jest": "^29.2.5",
|
|
49
52
|
"ts-node": "^10.9.2",
|
|
50
|
-
"tsc-alias": "^1.8.
|
|
51
|
-
"typescript": "^5.
|
|
53
|
+
"tsc-alias": "^1.8.16",
|
|
54
|
+
"typescript": "^5.8.3",
|
|
52
55
|
"vite": "^6.3.5",
|
|
53
56
|
"vite-plugin-dts": "^4.5.4",
|
|
54
|
-
"vite-plugin-node": "^5.0.1"
|
|
57
|
+
"vite-plugin-node": "^5.0.1",
|
|
58
|
+
"vitest": "^3.2.4"
|
|
55
59
|
},
|
|
56
60
|
"repository": {
|
|
57
61
|
"type": "git",
|
|
@@ -59,8 +63,9 @@
|
|
|
59
63
|
},
|
|
60
64
|
"scripts": {
|
|
61
65
|
"build": "tsc --noEmit && vite build",
|
|
66
|
+
"dev": "vite build --watch",
|
|
62
67
|
"lint": "eslint . --ext .ts --fix",
|
|
63
68
|
"clean": "rimraf dist",
|
|
64
|
-
"test": "
|
|
69
|
+
"test": "vitest run --coverage"
|
|
65
70
|
}
|
|
66
71
|
}
|
package/dist/EventCoordinator.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import 'deepmerge';
|
|
2
|
-
import LibLogger from './logger.js';
|
|
3
|
-
|
|
4
|
-
const logger = LibLogger.get("sequelize", "EventCoordinator");
|
|
5
|
-
//#endregion
|
|
6
|
-
const populateEvents = (item)=>{
|
|
7
|
-
const events = {
|
|
8
|
-
created: {
|
|
9
|
-
at: item.createdAt
|
|
10
|
-
},
|
|
11
|
-
updated: {
|
|
12
|
-
at: item.updatedAt
|
|
13
|
-
},
|
|
14
|
-
deleted: {
|
|
15
|
-
at: null
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
item.events = events;
|
|
19
|
-
return item;
|
|
20
|
-
};
|
|
21
|
-
const removeEvents = (item)=>{
|
|
22
|
-
logger.default('Removing Events', {
|
|
23
|
-
item
|
|
24
|
-
});
|
|
25
|
-
delete item.events;
|
|
26
|
-
return item;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export { populateEvents, removeEvents };
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRDb29yZGluYXRvci5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
|
package/dist/KeyMaster.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { AllItemTypeArrays, Item, ItemProperties } from '@fjell/core';
|
|
2
|
-
export declare const removeKey: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
3
|
-
export declare const populateKey: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: ItemProperties<S, L1, L2, L3, L4, L5>, keyTypes: AllItemTypeArrays<S, L1, L2, L3, L4, L5>) => ItemProperties<S, L1, L2, L3, L4, L5>;
|
|
4
|
-
export declare const addKey: <S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(item: Partial<Item<S, L1, L2, L3, L4, L5>>, keyTypes: AllItemTypeArrays<S, L1, L2, L3, L4, L5>) => void;
|
package/dist/KeyMaster.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import LibLogger from './logger.js';
|
|
2
|
-
|
|
3
|
-
const logger = LibLogger.get('sequelize', 'KeyMaster');
|
|
4
|
-
const removeKey = (item)=>{
|
|
5
|
-
logger.default('Removing Key', {
|
|
6
|
-
item
|
|
7
|
-
});
|
|
8
|
-
delete item.key;
|
|
9
|
-
return item;
|
|
10
|
-
};
|
|
11
|
-
const populateKey = (item, keyTypes)=>{
|
|
12
|
-
if (keyTypes.length === 1) {
|
|
13
|
-
item.key = {
|
|
14
|
-
kt: keyTypes[0],
|
|
15
|
-
pk: item.id
|
|
16
|
-
};
|
|
17
|
-
delete item.id;
|
|
18
|
-
} else if (keyTypes.length === 2) {
|
|
19
|
-
item.key = {
|
|
20
|
-
kt: keyTypes[0],
|
|
21
|
-
pk: item.id,
|
|
22
|
-
// TODO: Shouldn't this be inspecting the model to get the primary key type?
|
|
23
|
-
loc: [
|
|
24
|
-
{
|
|
25
|
-
kt: keyTypes[1],
|
|
26
|
-
lk: item[keyTypes[1] + 'Id']
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
};
|
|
30
|
-
delete item.id;
|
|
31
|
-
delete item[keyTypes[1] + 'Id'];
|
|
32
|
-
} else {
|
|
33
|
-
throw new Error('Not implemented');
|
|
34
|
-
}
|
|
35
|
-
return item;
|
|
36
|
-
};
|
|
37
|
-
const addKey = (item, keyTypes)=>{
|
|
38
|
-
logger.default('Adding Key', {
|
|
39
|
-
item
|
|
40
|
-
});
|
|
41
|
-
const key = {};
|
|
42
|
-
if (Array.isArray(keyTypes) && keyTypes.length > 1) {
|
|
43
|
-
const type = [
|
|
44
|
-
...keyTypes
|
|
45
|
-
];
|
|
46
|
-
const pkType = type.shift();
|
|
47
|
-
Object.assign(key, {
|
|
48
|
-
kt: pkType,
|
|
49
|
-
pk: item.id
|
|
50
|
-
});
|
|
51
|
-
// TODO: This is really just for primary items
|
|
52
|
-
if (type.length === 1) {
|
|
53
|
-
// TODO: This should be looking at the model to get the primary key of the reference item or association
|
|
54
|
-
const locKeyTypeId = type[0] + 'Id';
|
|
55
|
-
Object.assign(key, {
|
|
56
|
-
loc: [
|
|
57
|
-
{
|
|
58
|
-
kt: type[0],
|
|
59
|
-
lk: item[locKeyTypeId]
|
|
60
|
-
}
|
|
61
|
-
]
|
|
62
|
-
});
|
|
63
|
-
} else if (type.length === 2) {
|
|
64
|
-
throw new Error('Not implemented');
|
|
65
|
-
} else if (type.length === 3) {
|
|
66
|
-
throw new Error('Not implemented');
|
|
67
|
-
} else if (type.length === 4) {
|
|
68
|
-
throw new Error('Not implemented');
|
|
69
|
-
} else if (type.length === 5) {
|
|
70
|
-
throw new Error('Not implemented');
|
|
71
|
-
}
|
|
72
|
-
} else {
|
|
73
|
-
Object.assign(key, {
|
|
74
|
-
kt: keyTypes[0],
|
|
75
|
-
pk: item.id
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
Object.assign(item, {
|
|
79
|
-
key
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
export { addKey, populateKey, removeKey };
|
|
84
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5TWFzdGVyLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
package/dist/RowProcessor.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import LibLogger from './logger.js';
|
|
2
|
-
import { addKey } from './KeyMaster.js';
|
|
3
|
-
|
|
4
|
-
const logger = LibLogger.get('sequelize', 'RowProcessor');
|
|
5
|
-
const processRow = (row, keyTypes)=>{
|
|
6
|
-
logger.default('Processing Row', {
|
|
7
|
-
row
|
|
8
|
-
});
|
|
9
|
-
const item = row.get({
|
|
10
|
-
plain: true
|
|
11
|
-
});
|
|
12
|
-
addKey(item, keyTypes);
|
|
13
|
-
logger.default('Processed Row: ' + JSON.stringify(item));
|
|
14
|
-
return item;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { processRow };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm93UHJvY2Vzc29yLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
package/dist/ops/create.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import LibLogger from '../logger.js';
|
|
2
|
-
|
|
3
|
-
const logger = LibLogger.get('sequelize', 'ops', 'create');
|
|
4
|
-
const getCreateOperation = (// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
5
|
-
models, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
-
definition)=>{
|
|
7
|
-
const create = async (item, options)=>{
|
|
8
|
-
logger.default('Create', {
|
|
9
|
-
item,
|
|
10
|
-
options
|
|
11
|
-
});
|
|
12
|
-
throw new Error('Not implemented');
|
|
13
|
-
};
|
|
14
|
-
return create;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { getCreateOperation };
|
|
18
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
package/dist/ops/get.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { isValidItemKey, isPriKey, isComKey, validateKeys } from '@fjell/core';
|
|
2
|
-
import LibLogger from '../logger.js';
|
|
3
|
-
import { processRow } from '../RowProcessor.js';
|
|
4
|
-
import { NotFoundError } from '@fjell/lib';
|
|
5
|
-
|
|
6
|
-
const logger = LibLogger.get('sequelize', 'ops', 'get');
|
|
7
|
-
const getGetOperation = (models, definition)=>{
|
|
8
|
-
const { coordinate } = definition;
|
|
9
|
-
const { kta } = coordinate;
|
|
10
|
-
const get = async (key)=>{
|
|
11
|
-
logger.default('Get', {
|
|
12
|
-
key
|
|
13
|
-
});
|
|
14
|
-
if (!isValidItemKey(key)) {
|
|
15
|
-
logger.error('Key for Get is not a valid ItemKey: %j', key);
|
|
16
|
-
throw new Error('Key for Get is not a valid ItemKey');
|
|
17
|
-
}
|
|
18
|
-
const itemKey = key;
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
const model = models[0];
|
|
21
|
-
let item;
|
|
22
|
-
if (isPriKey(itemKey)) {
|
|
23
|
-
item = await model.findByPk(itemKey.pk);
|
|
24
|
-
} else if (isComKey(itemKey)) {
|
|
25
|
-
var _comKey_loc_, _comKey_loc_1;
|
|
26
|
-
const comKey = itemKey;
|
|
27
|
-
// TODO: This should probably interrogate the model?
|
|
28
|
-
item = await model.findOne({
|
|
29
|
-
where: {
|
|
30
|
-
id: comKey.pk,
|
|
31
|
-
[(comKey === null || comKey === void 0 ? void 0 : (_comKey_loc_ = comKey.loc[0]) === null || _comKey_loc_ === void 0 ? void 0 : _comKey_loc_.kt) + 'Id']: comKey === null || comKey === void 0 ? void 0 : (_comKey_loc_1 = comKey.loc[0]) === null || _comKey_loc_1 === void 0 ? void 0 : _comKey_loc_1.lk
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
if (!item) {
|
|
36
|
-
throw new NotFoundError('get', coordinate, key);
|
|
37
|
-
} else {
|
|
38
|
-
return validateKeys(processRow(item, kta), kta);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
return get;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export { getGetOperation };
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
|
package/src/Coordinate.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ItemTypeArray } from '@fjell/core';
|
|
2
|
-
import * as Library from '@fjell/lib';
|
|
3
|
-
|
|
4
|
-
export const SCOPE_SEQUELIZE = 'sequelize';
|
|
5
|
-
|
|
6
|
-
export const createCoordinate = <
|
|
7
|
-
S extends string,
|
|
8
|
-
L1 extends string = never,
|
|
9
|
-
L2 extends string = never,
|
|
10
|
-
L3 extends string = never,
|
|
11
|
-
L4 extends string = never,
|
|
12
|
-
L5 extends string = never
|
|
13
|
-
>(kta: ItemTypeArray<S, L1, L2, L3, L4, L5>, scopes?: string[]) => {
|
|
14
|
-
const coordinate = Library.createCoordinate(kta,[SCOPE_SEQUELIZE, ...(scopes || [])])
|
|
15
|
-
return coordinate;
|
|
16
|
-
};
|
package/src/Definition.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Item,
|
|
3
|
-
ItemTypeArray
|
|
4
|
-
} from '@fjell/core';
|
|
5
|
-
|
|
6
|
-
import * as Library from '@fjell/lib';
|
|
7
|
-
import { createCoordinate } from './Coordinate';
|
|
8
|
-
import { createOptions } from './Options';
|
|
9
|
-
import { Options } from './Options';
|
|
10
|
-
import LibLogger from './logger';
|
|
11
|
-
|
|
12
|
-
const logger = LibLogger.get('lib-sequelize', 'Definition');
|
|
13
|
-
|
|
14
|
-
export interface Definition<
|
|
15
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
16
|
-
S extends string,
|
|
17
|
-
L1 extends string = never,
|
|
18
|
-
L2 extends string = never,
|
|
19
|
-
L3 extends string = never,
|
|
20
|
-
L4 extends string = never,
|
|
21
|
-
L5 extends string = never
|
|
22
|
-
> extends Library.Definition<V, S, L1, L2, L3, L4, L5> {
|
|
23
|
-
options: Options<V, S, L1, L2, L3, L4, L5>;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function createDefinition<
|
|
27
|
-
V extends Item<S, L1, L2, L3, L4, L5>,
|
|
28
|
-
S extends string,
|
|
29
|
-
L1 extends string = never,
|
|
30
|
-
L2 extends string = never,
|
|
31
|
-
L3 extends string = never,
|
|
32
|
-
L4 extends string = never,
|
|
33
|
-
L5 extends string = never
|
|
34
|
-
>(
|
|
35
|
-
kta: ItemTypeArray<S, L1, L2, L3, L4, L5>,
|
|
36
|
-
scopes: string[],
|
|
37
|
-
libOptions?: Options<V, S, L1, L2, L3, L4, L5>,
|
|
38
|
-
): Definition<V, S, L1, L2, L3, L4, L5> {
|
|
39
|
-
logger.debug('createDefinition', { kta, scopes, libOptions });
|
|
40
|
-
const coordinate = createCoordinate(kta, scopes);
|
|
41
|
-
const options = createOptions(libOptions);
|
|
42
|
-
|
|
43
|
-
const definition = Library.createDefinition(coordinate, options);
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
...definition,
|
|
47
|
-
options,
|
|
48
|
-
}
|
|
49
|
-
}
|