@rpcbase/db 0.31.0 → 0.32.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.
@@ -9,10 +9,24 @@ type WithoutRbPrefix<TName extends string> = TName extends `RB${string}` ? never
9
9
  type TenantInternalRbModelName = "RBUploadSession" | "RBUploadChunk" | "RBNotification" | "RBNotificationSettings";
10
10
  export type TenantModelName<TModules extends ModelModules> = WithoutRbPrefix<ExtractModelNamesFromSchemas<TModules>> | WithoutRbPrefix<FrameworkModelName> | TenantInternalRbModelName;
11
11
  export type RbModelName = ExtractModelNamesFromSchemas<typeof frameworkSchemas> extends infer Name ? Name extends string ? Name extends `RB${string}` ? Name extends "RBRtsChange" | "RBRtsCounter" | "RBUploadSession" | "RBUploadChunk" | "RBNotification" | "RBNotificationSettings" ? never : Name : never : never : never;
12
+ type LoadedTenantModel = Awaited<ReturnType<typeof loadModel>>;
13
+ type LoadedRbModel = Awaited<ReturnType<typeof loadRbModel>>;
14
+ type ModelsGetFn<TModules extends ModelModules> = {
15
+ (modelName: TenantModelName<TModules>, ctx: LoadModelCtx): ReturnType<typeof loadModel>;
16
+ <const TNames extends readonly TenantModelName<TModules>[]>(modelNames: TNames, ctx: LoadModelCtx): Promise<{
17
+ [K in keyof TNames]: LoadedTenantModel;
18
+ }>;
19
+ };
20
+ type ModelsGetRbFn = {
21
+ (modelName: RbModelName, ctx: LoadModelCtx): ReturnType<typeof loadRbModel>;
22
+ <const TNames extends readonly RbModelName[]>(modelNames: TNames, ctx: LoadModelCtx): Promise<{
23
+ [K in keyof TNames]: LoadedRbModel;
24
+ }>;
25
+ };
12
26
  export type ModelsClient<TModules extends ModelModules> = {
13
27
  register: (modules: TModules) => void;
14
- get: (modelName: TenantModelName<TModules>, ctx: LoadModelCtx) => ReturnType<typeof loadModel>;
15
- getRb: (modelName: RbModelName, ctx: LoadModelCtx) => ReturnType<typeof loadRbModel>;
28
+ get: ModelsGetFn<TModules>;
29
+ getRb: ModelsGetRbFn;
16
30
  };
17
31
  export declare const createModels: <TModules extends ModelModules>(modules: TModules) => ModelsClient<TModules>;
18
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"createModels.d.ts","sourceRoot":"","sources":["../src/createModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,KAAK,gBAAgB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIpD,KAAK,4BAA4B,CAAC,QAAQ,IAAI;KAC3C,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,QAAQ,GAAG,IAAI,GAAG,KAAK;CACxE,CAAC,MAAM,QAAQ,CAAC,GAAG,MAAM,CAAA;AAE1B,KAAK,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/E,KAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,KAAK,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,CAAA;AAExF,KAAK,yBAAyB,GAC1B,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,CAAA;AAE5B,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,YAAY,IACrD,eAAe,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GACvD,eAAe,CAAC,kBAAkB,CAAC,GACnC,yBAAyB,CAAA;AAE7B,MAAM,MAAM,WAAW,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,SAAS,MAAM,IAAI,GAC9F,IAAI,SAAS,MAAM,GACjB,IAAI,SAAS,KAAK,MAAM,EAAE,GACxB,IAAI,SACF,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,GACxB,KAAK,GACL,IAAI,GACN,KAAK,GACP,KAAK,GACP,KAAK,CAAA;AAET,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,YAAY,IAAI;IACxD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,YAAY,KAAK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IAC9F,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,KAAK,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;CACrF,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,YAAY,EAAE,SAAS,QAAQ,KAAG,YAAY,CAAC,QAAQ,CAQpG,CAAA"}
1
+ {"version":3,"file":"createModels.d.ts","sourceRoot":"","sources":["../src/createModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,KAAK,gBAAgB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIpD,KAAK,4BAA4B,CAAC,QAAQ,IAAI;KAC3C,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,QAAQ,GAAG,IAAI,GAAG,KAAK;CACxE,CAAC,MAAM,QAAQ,CAAC,GAAG,MAAM,CAAA;AAE1B,KAAK,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/E,KAAK,eAAe,CAAC,KAAK,SAAS,MAAM,IAAI,KAAK,SAAS,KAAK,MAAM,EAAE,GAAG,KAAK,GAAG,KAAK,CAAA;AAExF,KAAK,yBAAyB,GAC1B,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,CAAA;AAE5B,MAAM,MAAM,eAAe,CAAC,QAAQ,SAAS,YAAY,IACrD,eAAe,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,GACvD,eAAe,CAAC,kBAAkB,CAAC,GACnC,yBAAyB,CAAA;AAE7B,MAAM,MAAM,WAAW,GAAG,4BAA4B,CAAC,OAAO,gBAAgB,CAAC,SAAS,MAAM,IAAI,GAC9F,IAAI,SAAS,MAAM,GACjB,IAAI,SAAS,KAAK,MAAM,EAAE,GACxB,IAAI,SACF,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,GACxB,KAAK,GACL,IAAI,GACN,KAAK,GACP,KAAK,GACP,KAAK,CAAA;AAET,KAAK,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAA;AAC9D,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAA;AAE5D,KAAK,WAAW,CAAC,QAAQ,SAAS,YAAY,IAAI;IAChD,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA;IACvF,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,eAAe,CAAC,QAAQ,CAAC,EAAE,EACxD,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,MAAM,GAAG,iBAAiB;KAAE,CAAC,CAAA;CACvD,CAAA;AAED,KAAK,aAAa,GAAG;IACnB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;IAC3E,CAAC,KAAK,CAAC,MAAM,SAAS,SAAS,WAAW,EAAE,EAC1C,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,MAAM,GAAG,aAAa;KAAE,CAAC,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,YAAY,IAAI;IACxD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC1B,KAAK,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,SAAS,YAAY,EAAE,SAAS,QAAQ,KAAG,YAAY,CAAC,QAAQ,CAsBpG,CAAA"}
package/dist/index.js CHANGED
@@ -1985,10 +1985,22 @@ const loadRbModel = async (modelName, _ctx) => {
1985
1985
  };
1986
1986
  const createModels = (modules) => {
1987
1987
  registerModels(modules);
1988
+ const get = (async (modelNameOrNames, ctx) => {
1989
+ if (Array.isArray(modelNameOrNames)) {
1990
+ return Promise.all(modelNameOrNames.map((modelName) => loadModel(modelName, ctx)));
1991
+ }
1992
+ return loadModel(modelNameOrNames, ctx);
1993
+ });
1994
+ const getRb = (async (modelNameOrNames, ctx) => {
1995
+ if (Array.isArray(modelNameOrNames)) {
1996
+ return Promise.all(modelNameOrNames.map((modelName) => loadRbModel(modelName)));
1997
+ }
1998
+ return loadRbModel(modelNameOrNames);
1999
+ });
1988
2000
  return {
1989
2001
  register: registerModels,
1990
- get: (modelName, ctx) => loadModel(modelName, ctx),
1991
- getRb: (modelName, ctx) => loadRbModel(modelName)
2002
+ get,
2003
+ getRb
1992
2004
  };
1993
2005
  };
1994
2006
  const getAppName = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/db",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"