@adaptivestone/framework 5.0.0-beta.21 → 5.0.0-beta.23

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.
@@ -1,5 +1,5 @@
1
1
  import { Model } from 'mongoose';
2
- import type { Schema, InferRawDocType } from 'mongoose';
2
+ import type { Schema, InferRawDocType, HydratedDocument } from 'mongoose';
3
3
  export type Merge<M, N> = Omit<M, keyof N> & N;
4
4
  export type WithTimestamps<TOptions> = TOptions extends {
5
5
  timestamps: true;
@@ -16,15 +16,23 @@ export type ExtractProperty<T, K extends PropertyKey, Default = {}> = T extends
16
16
  [P in K]: infer R;
17
17
  } ? R : Default;
18
18
  export type GetModelSchemaTypeFromClass<T extends typeof BaseModel> = Schema<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, // TRawDocType
19
- Model<any>, // TModel
19
+ Model<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, {}, // TQueryHelpers
20
+ ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
21
+ ExtractProperty<T, 'modelVirtuals'>>, // TModelType
20
22
  ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
21
23
  {}, // TQueryHelpers
22
24
  ExtractProperty<T, 'modelVirtuals'>, // TVirtuals
23
25
  ExtractProperty<T, 'modelStatics'>, // TStaticMethods
24
26
  ExtractProperty<T, 'schemaOptions'>>;
25
27
  export type GetModelTypeFromClass<T extends typeof BaseModel> = Model<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, // TRawDocType
28
+ {}, // TQueryHelpers
26
29
  ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
27
- GetModelSchemaTypeFromClass<T>> & ExtractProperty<T, 'modelStatics'>;
30
+ ExtractProperty<T, 'modelVirtuals'>, // TVirtuals
31
+ HydratedDocument<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, //TRawDocType
32
+ //TRawDocType
33
+ ExtractProperty<T, 'modelVirtuals'> & ExtractProperty<T, 'modelInstanceMethods'>, // TVirtuals & TInstanceMethods
34
+ {}, // TQueryHelpers
35
+ ExtractProperty<T, 'modelVirtuals'>>, GetModelSchemaTypeFromClass<T>> & ExtractProperty<T, 'modelStatics'>;
28
36
  export type GetModelTypeLiteFromSchema<T extends typeof BaseModel.modelSchema, TOptions = {}> = Model<InferRawDocType<T & WithTimestamps<Merge<typeof defaultOptions, TOptions>>>>;
29
37
  export declare const defaultOptions: {
30
38
  readonly timestamps: true;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AA2D3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAW,CAAC;AAE7E,MAAM,OAAO,SAAS;IACpB,MAAM,KAAK,WAAW;QACpB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,iBAAiB;IACnB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,GAAG,cAAc;YACjB,GAAI,IAAI,CAAC,aAA+B;YACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAmC,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,IAAI,CAAC,IAAI,EACT,MAAM,CACqB,CAAC;QAE9B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAoF3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAW,CAAC;AAE7E,MAAM,OAAO,SAAS;IACpB,MAAM,KAAK,WAAW;QACpB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,iBAAiB;IACnB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,GAAG,cAAc;YACjB,GAAI,IAAI,CAAC,aAA+B;YACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAmC,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,IAAI,CAAC,IAAI,EACT,MAAM,CACqB,CAAC;QAE9B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { beforeAll, afterAll, beforeEach, vi } from 'vitest';
2
+ import { createDefaultTestUser } from "./testHelpers.js";
3
+ beforeAll(async () => {
4
+ await createDefaultTestUser();
5
+ });
6
+ afterAll(async () => {
7
+ // do seomthing
8
+ });
9
+ //# sourceMappingURL=frameworkVitestSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frameworkVitestSetup.js","sourceRoot":"","sources":["../../src/tests/frameworkVitestSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,qBAAqB,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,eAAe;AACjB,CAAC,CAAC,CAAC"}
@@ -1,2 +1,3 @@
1
- export function setup(): Promise<void>;
2
- export function teardown(): Promise<void>;
1
+ declare const setup: () => Promise<void>;
2
+ declare const teardown: () => Promise<void>;
3
+ export { setup, teardown };
@@ -1 +1 @@
1
- {"version":3,"file":"globalSetupVitest.js","sourceRoot":"","sources":["../../src/tests/globalSetupVitest.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,yBAAyB,CAAC;AAE9B,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1C,yBAAyB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;QAC1D,gCAAgC;QAChC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE;KACnD,CAAC,CAAC;IACH,MAAM,yBAAyB,CAAC,gBAAgB,EAAE,CAAC;IACnD,MAAM,qBAAqB,GACzB,MAAM,yBAAyB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,qBAAqB,CAAC;IACnD,sDAAsD;IACtD,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAE9C,UAAU,GAAG,IAAI,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,yBAAyB,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"globalSetupVitest.js","sourceRoot":"","sources":["../../src/tests/globalSetupVitest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,yBAA6C,CAAC;AAElD,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;IACvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1C,yBAAyB,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC;QAC1D,gCAAgC;QAChC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE;KACnD,CAAC,CAAC;IACH,MAAM,yBAAyB,CAAC,gBAAgB,EAAE,CAAC;IACnD,MAAM,qBAAqB,GACzB,MAAM,yBAAyB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,qBAAqB,CAAC;IACnD,sDAAsD;IACtD,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAE9C,UAAU,GAAG,IAAI,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,yBAAyB,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,16 +1,17 @@
1
1
  import path from 'node:path';
2
2
  import crypto from 'node:crypto';
3
3
  import { beforeAll, beforeEach, afterEach, afterAll } from 'vitest';
4
+ import { setServerInstance, serverInstance } from "./testHelpers.js";
4
5
  import mongoose from 'mongoose'; // we do not need create indexes on tests
5
6
  import { createClient } from '@redis/client';
6
- import { clearRedisNamespace } from "../helpers/redis/clearNamespace.js";
7
+ import { clearNamespace } from "../helpers/redis/clearNamespace.js";
7
8
  import Server from "../server.js";
8
9
  mongoose.set('autoIndex', false);
9
10
  const basePath = new URL('.', import.meta.url).pathname;
10
11
  beforeAll(async () => {
11
12
  process.env.LOGGER_CONSOLE_LEVEL = 'error';
12
13
  process.env.AUTH_SALT = crypto.randomBytes(16).toString('hex');
13
- global.server = new Server({
14
+ const server = new Server({
14
15
  folders: {
15
16
  config: process.env.TEST_FOLDER_CONFIG || path.resolve(basePath, '../config'),
16
17
  controllers: process.env.TEST_FOLDER_CONTROLLERS ||
@@ -26,54 +27,45 @@ beforeAll(async () => {
26
27
  path.resolve(basePath, '../migrations'),
27
28
  },
28
29
  });
29
- await global.server.init({ isSkipModelInit: true });
30
+ setServerInstance(server);
31
+ await server.init({ isSkipModelInit: true });
30
32
  const connectionString = process.env.TEST_MONGO_URI.replace('__DB_TO_REPLACE__', `TEST_${crypto.randomUUID()}`);
31
- global.server.updateConfig('mongo', {
33
+ server.updateConfig('mongo', {
32
34
  connectionString,
33
35
  });
34
- global.server.updateConfig('http', { port: 0 }); // allow to use random
35
- global.server.updateConfig('mail', { transport: 'stub' });
36
- await global.server.initAllModels();
37
- if (!global.testSetup) {
38
- global.testSetup = {};
39
- }
40
- global.server.testingGetUrl = (urlPart) => `http://127.0.0.1:${global.server.getConfig('http').port}${urlPart}`;
41
- if (!global.testSetup.disableUserCreate) {
42
- const User = global.server.app.getModel('User');
43
- global.user = await User.create({
44
- email: 'test@test.com',
45
- password: 'testPassword',
46
- isVerified: true,
47
- name: {
48
- nick: 'testUserNickName',
49
- },
50
- }).catch((e) => {
51
- console.error(e);
52
- console.info('That error can happens in case you have custom user model. Please use global.testSetup.disableUserCreate flag to skip user creating');
53
- });
54
- global.authToken = await global.user.generateToken();
55
- }
56
- if (typeof global.testSetup.beforeAll === 'function') {
57
- await global.testSetup.beforeAll();
58
- }
59
- await global.server.startServer();
36
+ server.updateConfig('http', { port: 0 }); // allow to use random
37
+ server.updateConfig('mail', { transport: 'stub' });
38
+ await server.initAllModels();
39
+ // if (!global.testSetup) {
40
+ // global.testSetup = {};
41
+ // }
42
+ // server.testingGetUrl = (urlPart) => {
43
+ // console.error(
44
+ // 'global.server.testingGetUrl is deprcated. Please use testHelper.getServerBaseURL()',
45
+ // );
46
+ // return `http://127.0.0.1:${global.server.getConfig('http').port}${urlPart}`;
47
+ // };
48
+ // if (typeof global.testSetup.beforeAll === 'function') {
49
+ // await global.testSetup.beforeAll();
50
+ // }
51
+ await server.startServer();
60
52
  });
61
53
  beforeEach(() => {
62
- if (global.server) {
54
+ if (serverInstance) {
63
55
  const key = `test-${Math.random().toString(36).substring(7)}`;
64
- global.server.app.updateConfig('redis', {
56
+ serverInstance.app.updateConfig('redis', {
65
57
  namespace: key,
66
58
  });
67
59
  }
68
60
  });
69
61
  afterEach(async () => {
70
- if (global.server) {
71
- const { url, namespace } = global.server.getConfig('redis');
62
+ if (serverInstance) {
63
+ const { url, namespace } = serverInstance.getConfig('redis');
72
64
  const redisClient = createClient({ url });
73
65
  try {
74
66
  await redisClient.connect();
75
- await clearRedisNamespace(redisClient, namespace);
76
- await redisClient.disconnect();
67
+ await clearNamespace(redisClient, namespace);
68
+ await redisClient.destroy();
77
69
  }
78
70
  catch {
79
71
  // that ok. No redis connection
@@ -81,15 +73,15 @@ afterEach(async () => {
81
73
  }
82
74
  });
83
75
  afterAll(async () => {
84
- if (global.server) {
85
- global.server.app.httpServer.shutdown();
86
- global.server.app.events.emit('shutdown');
87
- }
88
- if (typeof global.testSetup.afterAll === 'function') {
89
- await global.testSetup.afterAll();
76
+ if (serverInstance) {
77
+ serverInstance.app.httpServer?.shutdown();
78
+ serverInstance.app.events.emit('shutdown');
90
79
  }
80
+ // if (typeof global.testSetup.afterAll === 'function') {
81
+ // await global.testSetup.afterAll();
82
+ // }
91
83
  try {
92
- await mongoose.connection.db.dropDatabase(); // clean database after test
84
+ await mongoose.connection.db?.dropDatabase(); // clean database after test
93
85
  }
94
86
  catch {
95
87
  // that ok. No mongoose connection
@@ -1 +1 @@
1
- {"version":3,"file":"setupVitest.js","sourceRoot":"","sources":["../../src/tests/setupVitest.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupVitest.js","sourceRoot":"","sources":["../../src/tests/setupVitest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type Server from '../server.ts';
2
+ import type { GetModelTypeFromClass } from '../modules/BaseModel.ts';
3
+ import type UserModel from '../models/User.ts';
4
+ export declare let serverInstance: Server;
5
+ export declare let defaultUser: GetModelTypeFromClass<typeof UserModel>;
6
+ export declare let defaultAuthToken: string;
7
+ export declare const setServerInstance: (serverInstanceToSet: Server) => void;
8
+ export declare const setDefaultUser: (userToSet: GetModelTypeFromClass<typeof UserModel>) => void;
9
+ export declare const setDefaultAuthToken: (tokenToSet: string) => void;
10
+ export declare const getTestServerURL: (urlPart?: string) => string;
11
+ export declare const createDefaultTestUser: () => Promise<false | {
12
+ user: any;
13
+ token: any;
14
+ }>;
@@ -0,0 +1,50 @@
1
+ import { appInstance } from "../helpers/appInstance.js";
2
+ export let serverInstance;
3
+ export let defaultUser;
4
+ export let defaultAuthToken;
5
+ export const setServerInstance = (serverInstanceToSet) => {
6
+ if (serverInstance) {
7
+ throw new Error('Server instance is already set');
8
+ }
9
+ serverInstance = serverInstanceToSet;
10
+ };
11
+ export const setDefaultUser = (userToSet) => {
12
+ if (defaultUser) {
13
+ throw new Error('Default user is already set');
14
+ }
15
+ defaultUser = userToSet;
16
+ };
17
+ export const setDefaultAuthToken = (tokenToSet) => {
18
+ if (defaultAuthToken) {
19
+ throw new Error('Auth token is already set');
20
+ }
21
+ defaultAuthToken = tokenToSet;
22
+ };
23
+ export const getTestServerURL = (urlPart) => {
24
+ return `http://127.0.0.1:${appInstance.getConfig('http').port}${urlPart}`;
25
+ };
26
+ export const createDefaultTestUser = async () => {
27
+ if (defaultUser) {
28
+ throw new Error('You already have created default user');
29
+ }
30
+ const User = appInstance.getModel('User');
31
+ const user = await User.create({
32
+ email: 'test@test.com',
33
+ password: 'testPassword',
34
+ isVerified: true,
35
+ name: {
36
+ nick: 'testUserNickName',
37
+ },
38
+ }).catch((e) => {
39
+ console.error(e);
40
+ console.info('That error can happens in case you have custom user model. Please implment user creation by youself');
41
+ });
42
+ if (!user) {
43
+ return false;
44
+ }
45
+ setDefaultUser(user);
46
+ const token = await user.generateToken();
47
+ setDefaultAuthToken(token.token);
48
+ return { user, token: token.token };
49
+ };
50
+ //# sourceMappingURL=testHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testHelpers.js","sourceRoot":"","sources":["../../src/tests/testHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,MAAM,CAAC,IAAI,cAAuB,CAAC;AACnC,MAAM,CAAC,IAAI,WAAoD,CAAC;AAChE,MAAM,CAAC,IAAI,gBAAwB,CAAC;AAEpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAA2B,EAAE,EAAE;IAC/D,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,cAAc,GAAG,mBAAmB,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,SAAkD,EAClD,EAAE;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACxD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,gBAAgB,GAAG,UAAU,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,OAAO,oBAAoB,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAI,EAAE;IAC9C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE;YACJ,IAAI,EAAE,kBAAkB;SACzB;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CACV,qGAAqG,CACtG,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AACtC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptivestone/framework",
3
- "version": "5.0.0-beta.21",
3
+ "version": "5.0.0-beta.23",
4
4
  "description": "Adaptive stone node js framework",
5
5
  "type": "module",
6
6
  "engines": {