@strapi/utils 5.0.0-alpha.5 → 5.0.0-alpha.6

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/policy.d.ts CHANGED
@@ -1,29 +1,3 @@
1
- /**
2
- * Policies util
3
- */
4
- import type Koa from 'koa';
5
- interface PolicyInfo {
6
- name: string;
7
- config: unknown;
8
- }
9
- type PolicyConfig = string | PolicyInfo | (() => PolicyInfo);
10
- interface PolicyContext {
11
- pluginName?: string;
12
- apiName?: string;
13
- }
14
- interface RouteInfo {
15
- method: string;
16
- endpoint: string;
17
- controller: string;
18
- action: string;
19
- plugin: string;
20
- }
21
- declare const globalPolicy: ({ method, endpoint, controller, action, plugin }: RouteInfo) => (ctx: Koa.Context, next: () => void) => Promise<void>;
22
- declare const resolvePolicies: (config: PolicyConfig[], policyContext: PolicyContext) => {
23
- handler: any;
24
- config: {};
25
- }[];
26
- declare const getPolicy: (policyConfig: PolicyConfig, policyContext?: PolicyContext) => any;
27
1
  interface Options {
28
2
  name: string;
29
3
  validator?(config: unknown): void;
@@ -38,5 +12,5 @@ declare const createPolicyContext: (type: string, ctx: object) => {
38
12
  is: import("lodash/fp").LodashEq1x1;
39
13
  readonly type: string;
40
14
  } & object;
41
- export { getPolicy as get, resolvePolicies as resolve, globalPolicy, createPolicy, createPolicyContext, };
15
+ export { createPolicy, createPolicyContext };
42
16
  //# sourceMappingURL=policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAK3B,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,KAAK,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;AAE7D,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD,QAAA,MAAM,YAAY,qDAAsD,SAAS,WAC5D,IAAI,OAAO,QAAQ,MAAM,IAAI,kBAWjD,CAAC;AAEF,QAAA,MAAM,eAAe,WAAY,YAAY,EAAE,iBAAiB,aAAa;;;GAS5E,CAAC;AAmBF,QAAA,MAAM,SAAS,iBAAkB,YAAY,kBAAkB,aAAa,QAoB3E,CAAC;AAEF,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CAC9B;AAED,QAAA,MAAM,YAAY,YAAa,OAAO;;wBAGF,OAAO;uBANxB,GAAG,EAAE,KAAG,GAAG;CAqB7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,SAAU,MAAM,OAAO,MAAM;;;UAUrD,CAAC;AAEF,OAAO,EACL,SAAS,IAAI,GAAG,EAChB,eAAe,IAAI,OAAO,EAC1B,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAEA,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;CAC9B;AAED,QAAA,MAAM,YAAY,YAAa,OAAO;;wBAGF,OAAO;uBANxB,GAAG,EAAE,KAAG,GAAG;CAqB7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,SAAU,MAAM,OAAO,MAAM;;;UAUrD,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,24 +1,33 @@
1
+ import { CurriedFunction1 } from 'lodash';
1
2
  import * as visitors from './visitors';
2
3
  import * as sanitizers from './sanitizers';
3
- import type { Model } from '../types';
4
+ import type { Model, Data } from '../types';
4
5
  export interface Options {
5
6
  auth?: unknown;
6
7
  }
8
+ export interface Sanitizer {
9
+ (schema: Model): CurriedFunction1<Data, Promise<Data>>;
10
+ }
7
11
  export interface SanitizeFunc {
8
12
  (data: unknown, schema: Model, options?: Options): Promise<unknown>;
9
13
  }
10
- declare const _default: {
11
- contentAPI: {
12
- input: SanitizeFunc;
13
- output: SanitizeFunc;
14
- query: (query: Record<string, unknown>, schema: Model, { auth }?: Options) => Promise<Record<string, unknown>>;
15
- filters: SanitizeFunc;
16
- sort: SanitizeFunc;
17
- fields: SanitizeFunc;
18
- populate: SanitizeFunc;
19
- };
20
- sanitizers: typeof sanitizers;
21
- visitors: typeof visitors;
14
+ export interface APIOptions {
15
+ sanitizers?: Sanitizers;
16
+ getModel: (model: string) => Model;
17
+ }
18
+ export interface Sanitizers {
19
+ input?: Sanitizer[];
20
+ output?: Sanitizer[];
21
+ }
22
+ declare const createAPISanitizers: (opts: APIOptions) => {
23
+ input: SanitizeFunc;
24
+ output: SanitizeFunc;
25
+ query: (query: Record<string, unknown>, schema: Model, { auth }?: Options) => Promise<Record<string, unknown>>;
26
+ filters: SanitizeFunc;
27
+ sort: SanitizeFunc;
28
+ fields: SanitizeFunc;
29
+ populate: SanitizeFunc;
22
30
  };
23
- export default _default;
31
+ export { createAPISanitizers, sanitizers, visitors };
32
+ export type APISanitiers = ReturnType<typeof createAPISanitizers>;
24
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sanitize/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;;;;;;;;;;;;;;AA4JD,wBAIE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sanitize/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAM1C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAI3C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACxD;AACD,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,QAAA,MAAM,mBAAmB,SAAU,UAAU;;;mBA+DlC,OAAO,MAAM,EAAE,OAAO,CAAC,UACtB,KAAK,aACH,OAAO;;;;;CA+FpB,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1,10 +1,14 @@
1
1
  /// <reference types="lodash" />
2
2
  import type { Model, Data } from '../types';
3
- declare const sanitizePasswords: (schema: Model) => (entity: Data) => Promise<Data>;
4
- declare const defaultSanitizeOutput: (schema: Model, entity: Data) => Promise<Data>;
5
- declare const defaultSanitizeFilters: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
6
- declare const defaultSanitizeSort: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
7
- declare const defaultSanitizeFields: import("lodash").CurriedFunction2<Model, unknown, Promise<any>>;
8
- declare const defaultSanitizePopulate: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
3
+ interface Context {
4
+ schema: Model;
5
+ getModel: (model: string) => Model;
6
+ }
7
+ declare const sanitizePasswords: (ctx: Context) => (entity: Data) => Promise<Data>;
8
+ declare const defaultSanitizeOutput: (ctx: Context, entity: Data) => Promise<Data>;
9
+ declare const defaultSanitizeFilters: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
10
+ declare const defaultSanitizeSort: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
11
+ declare const defaultSanitizeFields: import("lodash").CurriedFunction2<Context, unknown, Promise<any>>;
12
+ declare const defaultSanitizePopulate: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
9
13
  export { sanitizePasswords, defaultSanitizeOutput, defaultSanitizeFilters, defaultSanitizeSort, defaultSanitizeFields, defaultSanitizePopulate, };
10
14
  //# sourceMappingURL=sanitizers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/sanitize/sanitizers.ts"],"names":[],"mappings":";AAsBA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAI5C,QAAA,MAAM,iBAAiB,WAAY,KAAK,cAAoB,IAAI,kBAK/D,CAAC;AAEF,QAAA,MAAM,qBAAqB,WAAkB,KAAK,UAAU,IAAI,kBAY/D,CAAC;AAEF,QAAA,MAAM,sBAAsB,qEAwC1B,CAAC;AAEH,QAAA,MAAM,mBAAmB,qEA4CvB,CAAC;AAEH,QAAA,MAAM,qBAAqB,iEA2BzB,CAAC;AAEH,QAAA,MAAM,uBAAuB,qEAiC3B,CAAC;AAEH,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,CAAC"}
1
+ {"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/sanitize/sanitizers.ts"],"names":[],"mappings":";AAsBA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,OAAO;IACf,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;CACpC;AAID,QAAA,MAAM,iBAAiB,QAAS,OAAO,cAAoB,IAAI,kBAM9D,CAAC;AAEF,QAAA,MAAM,qBAAqB,QAAe,OAAO,UAAU,IAAI,kBAa9D,CAAC;AAEF,QAAA,MAAM,sBAAsB,uEAmC1B,CAAC;AAEH,QAAA,MAAM,mBAAmB,uEAuCvB,CAAC;AAEH,QAAA,MAAM,qBAAqB,mEAyBzB,CAAC;AAEH,QAAA,MAAM,uBAAuB,uEA+B3B,CAAC;AAEH,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,CAAC"}
@@ -6,6 +6,7 @@ export interface Path {
6
6
  export interface TraverseOptions {
7
7
  path?: Path;
8
8
  schema: Model;
9
+ getModel(uid: string): Model;
9
10
  }
10
11
  export interface VisitorOptions {
11
12
  data: unknown;
@@ -14,6 +15,7 @@ export interface VisitorOptions {
14
15
  key: string;
15
16
  attribute: AnyAttribute;
16
17
  path: Path;
18
+ getModel(uid: string): Model;
17
19
  }
18
20
  export type Traverse = (visitor: Visitor, options: TraverseOptions, data: unknown) => Promise<unknown>;
19
21
  export interface Visitor {
@@ -60,6 +62,7 @@ interface Context<AttributeType = Attribute> {
60
62
  path: Path;
61
63
  data: unknown;
62
64
  visitor: Visitor;
65
+ getModel(uid: string): Model;
63
66
  }
64
67
  declare const _default: () => {
65
68
  traverse: Traverse;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/traverse/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/traverse/factory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export { default as factory } from './factory';
2
1
  export { default as traverseQueryFilters } from './query-filters';
3
2
  export { default as traverseQuerySort } from './query-sort';
4
3
  export { default as traverseQueryPopulate } from './query-populate';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/traverse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/traverse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-populate.d.ts","sourceRoot":"","sources":["../../src/traverse/query-populate.ts"],"names":[],"mappings":";;AA4PA,wBAAwC"}
1
+ {"version":3,"file":"query-populate.d.ts","sourceRoot":"","sources":["../../src/traverse/query-populate.ts"],"names":[],"mappings":";;AAoQA,wBAAwC"}
@@ -8,6 +8,7 @@ export interface VisitorOptions {
8
8
  value: Data[keyof Data];
9
9
  attribute: AnyAttribute;
10
10
  path: Path;
11
+ getModel(uid: string): Model;
11
12
  }
12
13
  export type Visitor = (visitorOptions: VisitorOptions, visitorUtils: VisitorUtils) => void;
13
14
  export interface Path {
@@ -17,6 +18,7 @@ export interface Path {
17
18
  export interface TraverseOptions {
18
19
  path?: Path;
19
20
  schema: Model;
21
+ getModel(uid: string): Model;
20
22
  }
21
23
  declare const createVisitorUtils: ({ data }: {
22
24
  data: Data;
@@ -1 +1 @@
1
- {"version":3,"file":"traverse-entity.d.ts","sourceRoot":"","sources":["../src/traverse-entity.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;AAE3F,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;CACf;AA2JD,QAAA,MAAM,kBAAkB;UAAsB,IAAI;;gBACpC,MAAM;aAIT,MAAM,SAAS,IAAI;CAG5B,CAAC;;AAEH,wBAAqC"}
1
+ {"version":3,"file":"traverse-entity.d.ts","sourceRoot":"","sources":["../src/traverse-entity.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;AAE3F,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AA6JD,QAAA,MAAM,kBAAkB;UAAsB,IAAI;;gBACpC,MAAM;aAIT,MAAM,SAAS,IAAI;CAG5B,CAAC;;AAEH,wBAAqC"}
package/dist/types.d.ts CHANGED
@@ -2,8 +2,11 @@ import type * as Koa from 'koa';
2
2
  type ID = number | string;
3
3
  export type Data = {
4
4
  id?: ID;
5
+ __component?: string;
6
+ __type?: string;
5
7
  [key: string]: string | number | ID | boolean | null | undefined | Date | Data | Data[];
6
8
  };
9
+ export type Config = Record<string, unknown>;
7
10
  export interface Attribute {
8
11
  type: string;
9
12
  writable?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,31 @@
1
+ import { CurriedFunction1 } from 'lodash';
1
2
  import * as visitors from './visitors';
2
3
  import * as validators from './validators';
3
- import { Model } from '../types';
4
+ import { Model, Data } from '../types';
4
5
  export interface Options {
5
6
  auth?: unknown;
6
7
  }
8
+ export interface Validator {
9
+ (schema: Model): CurriedFunction1<Data, Promise<Data>>;
10
+ }
7
11
  export interface ValidateFunc {
8
12
  (data: unknown, schema: Model, options?: Options): Promise<void>;
9
13
  }
10
- declare const _default: {
11
- contentAPI: {
12
- input: ValidateFunc;
13
- query: (query: Record<string, unknown>, schema: Model, { auth }?: Options) => Promise<void>;
14
- filters: ValidateFunc;
15
- sort: ValidateFunc;
16
- fields: ValidateFunc;
17
- populate: ValidateFunc;
18
- };
19
- validators: typeof validators;
20
- visitors: typeof visitors;
14
+ interface APIOptions {
15
+ validators?: Validators;
16
+ getModel: (model: string) => Model;
17
+ }
18
+ export interface Validators {
19
+ input?: Validator[];
20
+ }
21
+ declare const createAPIValidators: (opts: APIOptions) => {
22
+ input: ValidateFunc;
23
+ query: (query: Record<string, unknown>, schema: Model, { auth }?: Options) => Promise<void>;
24
+ filters: ValidateFunc;
25
+ sort: ValidateFunc;
26
+ fields: ValidateFunc;
27
+ populate: ValidateFunc;
21
28
  };
22
- export default _default;
29
+ export { createAPIValidators, validators, visitors };
30
+ export type APIValidators = ReturnType<typeof createAPIValidators>;
23
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAK3C,OAAO,EAAE,KAAK,EAAQ,MAAM,UAAU,CAAC;AAIvC,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;;;;;;;;;;;;;AAyID,wBAIE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAO1C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAK3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIvC,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,MAAM,EAAE,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACxD;AACD,MAAM,WAAW,YAAY;IAC3B,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,UAAU,UAAU;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,QAAA,MAAM,mBAAmB,SAAU,UAAU;;mBAgDlC,OAAO,MAAM,EAAE,OAAO,CAAC,UACtB,KAAK,aACH,OAAO;;;;;CAqGpB,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1,9 +1,13 @@
1
1
  /// <reference types="lodash" />
2
2
  import type { Model, Data } from '../types';
3
- declare const throwPasswords: (schema: Model) => (entity: Data) => Promise<Data>;
4
- declare const defaultValidateFilters: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
5
- declare const defaultValidateSort: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
6
- declare const defaultValidateFields: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
7
- declare const defaultValidatePopulate: import("lodash").CurriedFunction2<Model, unknown, Promise<unknown>>;
3
+ interface Context {
4
+ schema: Model;
5
+ getModel: (model: string) => Model;
6
+ }
7
+ declare const throwPasswords: (ctx: Context) => (entity: Data) => Promise<Data>;
8
+ declare const defaultValidateFilters: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
9
+ declare const defaultValidateSort: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
10
+ declare const defaultValidateFields: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
11
+ declare const defaultValidatePopulate: import("lodash").CurriedFunction2<Context, unknown, Promise<unknown>>;
8
12
  export { throwPasswords, defaultValidateFilters, defaultValidateSort, defaultValidateFields, defaultValidatePopulate, };
9
13
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validate/validators.ts"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAI5C,QAAA,MAAM,cAAc,WAAY,KAAK,cAAoB,IAAI,kBAM5D,CAAC;AAEF,QAAA,MAAM,sBAAsB,qEAiC1B,CAAC;AAEH,QAAA,MAAM,mBAAmB,qEA6CvB,CAAC;AAEH,QAAA,MAAM,qBAAqB,qEAyBzB,CAAC;AAEH,QAAA,MAAM,uBAAuB,qEAiC3B,CAAC;AACH,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,CAAC"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validate/validators.ts"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAI5C,UAAU,OAAO;IACf,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC;CACpC;AAED,QAAA,MAAM,cAAc,QAAS,OAAO,cAAoB,IAAI,kBAM3D,CAAC;AAEF,QAAA,MAAM,sBAAsB,uEA+B1B,CAAC;AAEH,QAAA,MAAM,mBAAmB,uEAuCvB,CAAC;AAEH,QAAA,MAAM,qBAAqB,uEAuBzB,CAAC;AAEH,QAAA,MAAM,uBAAuB,uEAkE3B,CAAC;AACH,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GACxB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as yup from 'yup';
2
2
  declare const handleYupError: (error: yup.ValidationError, errorMessage?: string) => never;
3
- declare const validateYupSchema: (schema: yup.AnySchema, options?: {}) => (body: unknown, errorMessage?: string) => Promise<any>;
4
- declare const validateYupSchemaSync: (schema: yup.AnySchema, options?: {}) => (body: unknown, errorMessage?: string) => any;
3
+ declare const validateYupSchema: <TSchema extends yup.AnySchema>(schema: TSchema, options?: {}) => (body: unknown, errorMessage?: string) => Promise<yup.Asserts<TSchema>>;
4
+ declare const validateYupSchemaSync: <TSchema extends yup.AnySchema>(schema: yup.AnySchema, options?: {}) => (body: unknown, errorMessage?: string) => yup.Asserts<TSchema>;
5
5
  export { handleYupError, validateYupSchema, validateYupSchemaSync };
6
6
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,QAAA,MAAM,cAAc,UAAW,IAAI,eAAe,iBAAiB,MAAM,UAExE,CAAC;AAIF,QAAA,MAAM,iBAAiB,WACZ,IAAI,SAAS,0BACT,OAAO,iBAAiB,MAAM,iBAY1C,CAAC;AAEJ,QAAA,MAAM,qBAAqB,WAChB,IAAI,SAAS,0BACf,OAAO,iBAAiB,MAAM,QAWpC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,QAAA,MAAM,cAAc,UAAW,IAAI,eAAe,iBAAiB,MAAM,UAExE,CAAC;AAIF,QAAA,MAAM,iBAAiB,2EAER,OAAO,iBAAiB,MAAM,kCAY1C,CAAC;AAEJ,QAAA,MAAM,qBAAqB,0CACe,IAAI,SAAS,0BAC9C,OAAO,iBAAiB,MAAM,yBAWpC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/utils",
3
- "version": "5.0.0-alpha.5",
3
+ "version": "5.0.0-alpha.6",
4
4
  "description": "Shared utilities for the Strapi packages",
5
5
  "keywords": [
6
6
  "strapi",
@@ -55,17 +55,17 @@
55
55
  "yup": "0.32.9"
56
56
  },
57
57
  "devDependencies": {
58
- "@strapi/pack-up": "5.0.0-alpha.5",
58
+ "@strapi/pack-up": "5.0.0-alpha.6",
59
59
  "@types/koa": "2.13.4",
60
60
  "@types/node": "18.19.24",
61
- "eslint-config-custom": "5.0.0-alpha.5",
61
+ "eslint-config-custom": "5.0.0-alpha.6",
62
62
  "koa": "2.13.4",
63
63
  "koa-body": "4.2.0",
64
- "tsconfig": "5.0.0-alpha.5"
64
+ "tsconfig": "5.0.0-alpha.6"
65
65
  },
66
66
  "engines": {
67
67
  "node": ">=18.0.0 <=20.x.x",
68
68
  "npm": ">=6.0.0"
69
69
  },
70
- "gitHead": "894c8f40f330ee96f282b3fe1d2c68c24006ac62"
70
+ "gitHead": "9b94d7f8880803bb8e6acd52215588438793e160"
71
71
  }