@cv-tec/validations 1.0.0 → 1.2.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.
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export * from './types';
6
6
  export * from './labels';
7
7
  export * from './lang';
8
8
  export * from './theme';
9
+ export * from './utils/json-schema-config-parser';
9
10
  import themeJsonSchema from './validation.json';
10
11
  import { ICvTheme } from './theme';
11
12
  export { themeJsonSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AAEvB,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,CAAA;AAK1B,eAAO,MAAM,gBAAgB,GAAI,OAAO,QAAQ,gGAM/C,CAAA;AAKD,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,gGAM5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,mCAAmC,CAAA;AAEjD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,CAAA;AAK1B,eAAO,MAAM,gBAAgB,GAAI,OAAO,QAAQ,gGAM/C,CAAA;AAKD,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,gGAM5C,CAAA"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./types"), exports);
26
26
  __exportStar(require("./labels"), exports);
27
27
  __exportStar(require("./lang"), exports);
28
28
  __exportStar(require("./theme"), exports);
29
+ __exportStar(require("./utils/json-schema-config-parser"), exports);
29
30
  const validation_json_1 = __importDefault(require("./validation.json"));
30
31
  exports.themeJsonSchema = validation_json_1.default;
31
32
  const ajv_1 = __importDefault(require("ajv"));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4BAAyB;AACzB,oDAAiC;AACjC,8DAA2C;AAC3C,+CAA4B;AAC5B,0CAAuB;AACvB,2CAAwB;AACxB,yCAAsB;AACtB,0CAAuB;AAEvB,wEAA+C;AAGtC,0BAHF,yBAAe,CAGE;AAFxB,8CAAqB;AAIrB,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAA;AAE5C,MAAM,gBAAgB,GAAG,CAAC,KAAe,EAAE,EAAE;IAClD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,MAAM,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAED,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAA;AAEtC,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;IAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;AACH,CAAC,CAAA;AANY,QAAA,aAAa,iBAMzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,4BAAyB;AACzB,oDAAiC;AACjC,8DAA2C;AAC3C,+CAA4B;AAC5B,0CAAuB;AACvB,2CAAwB;AACxB,yCAAsB;AACtB,0CAAuB;AACvB,oEAAiD;AAEjD,wEAA+C;AAGtC,0BAHF,yBAAe,CAGE;AAFxB,8CAAqB;AAIrB,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAA;AAE5C,MAAM,gBAAgB,GAAG,CAAC,KAAe,EAAE,EAAE;IAClD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,MAAM,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAED,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAe,CAAC,CAAA;AAEtC,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;IAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,MAAM,CAAA;IACxB,CAAC;AACH,CAAC,CAAA;AANY,QAAA,aAAa,iBAMzB"}
@@ -27,7 +27,8 @@ export interface ICvTheme {
27
27
  top?: CommonThemeCssProps;
28
28
  };
29
29
  typography?: {
30
- main?: TypographyThemeType;
30
+ global?: TypographyThemeType;
31
+ headers?: TypographyThemeType;
31
32
  h1?: TypographyThemeType;
32
33
  h2?: TypographyThemeType;
33
34
  h3?: TypographyThemeType;
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QACxB,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QAEzB,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACtB,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SACvB,CAAA;QACD,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACtB,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SACtB,CAAA;QACD,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SAC1B,CAAA;KACF,CAAA;IAGD,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,mBAAmB,CAAA;QAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAA;QAC3B,IAAI,CAAC,EAAE,mBAAmB,CAAA;QAC1B,GAAG,CAAC,EAAE,mBAAmB,CAAA;KAC1B,CAAA;IAED,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,mBAAmB,CAAA;QAC1B,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,SAAS,CAAC,EAAE,mBAAmB,CAAA;QAC/B,SAAS,CAAC,EAAE,mBAAmB,CAAA;QAC/B,KAAK,CAAC,EAAE,mBAAmB,CAAA;QAC3B,KAAK,CAAC,EAAE,mBAAmB,CAAA;KAC5B,CAAA;IAED,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IAED,GAAG,CAAC,EAAE;QACJ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAA;QAC9B,WAAW,CAAC,EAAE,uBAAuB,CAAA;QACrC,MAAM,CAAC,EAAE,kBAAkB,CAAA;QAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAA;QAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAA;QAC9B,SAAS,CAAC,EAAE,qBAAqB,CAAA;QACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAA;KACpC,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAA;CACjB"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QACxB,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QAEzB,MAAM,CAAC,EAAE;YACP,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACtB,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SACvB,CAAA;QACD,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACrB,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACtB,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SACtB,CAAA;QACD,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;YACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;SAC1B,CAAA;KACF,CAAA;IAGD,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,mBAAmB,CAAA;QAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAA;QAC3B,IAAI,CAAC,EAAE,mBAAmB,CAAA;QAC1B,GAAG,CAAC,EAAE,mBAAmB,CAAA;KAC1B,CAAA;IAED,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,mBAAmB,CAAA;QAC5B,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,EAAE,CAAC,EAAE,mBAAmB,CAAA;QACxB,SAAS,CAAC,EAAE,mBAAmB,CAAA;QAC/B,SAAS,CAAC,EAAE,mBAAmB,CAAA;QAC/B,KAAK,CAAC,EAAE,mBAAmB,CAAA;QAC3B,KAAK,CAAC,EAAE,mBAAmB,CAAA;KAC5B,CAAA;IAED,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IAED,GAAG,CAAC,EAAE;QACJ,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,CAAC,CAAC,EAAE,MAAM,CAAA;QACV,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAA;QAC9B,WAAW,CAAC,EAAE,uBAAuB,CAAA;QACrC,MAAM,CAAC,EAAE,kBAAkB,CAAA;QAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAA;QAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAA;QAC9B,SAAS,CAAC,EAAE,qBAAqB,CAAA;QACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;QAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAA;KACpC,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAA;CACjB"}
@@ -1,12 +1,13 @@
1
1
  import 'reflect-metadata';
2
2
  import { RootClassValidation } from '../../type-validation/root-class-validation';
3
3
  import { ICvTheme } from '../../theme';
4
+ import { DeepPartial } from '../../types';
4
5
  export type ICvThemeInputDto = Omit<CvThemeInputDto, keyof RootClassValidation>;
5
6
  export declare class CvThemeInputDto extends RootClassValidation {
6
7
  constructor(themeDto: ICvThemeInputDto);
7
8
  $baseTheme: string;
8
9
  name: string;
9
- themeOverride: ICvTheme;
10
+ themeOverride: DeepPartial<ICvTheme>;
10
11
  }
11
12
  export type ICvThemeEntity = Omit<CvThemeEntity, keyof RootClassValidation>;
12
13
  export declare class CvThemeEntity extends CvThemeInputDto {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/type-validation/dto/theme.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAEL,mBAAmB,EACpB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,mBAAmB,CAAC,CAAA;AAC/E,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,QAAQ,EAAE,gBAAgB;IAKtC,UAAU,EAAG,MAAM,CAAA;IAInB,IAAI,EAAG,MAAM,CAAA;IAGb,aAAa,EAAG,QAAQ,CAAA;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,mBAAmB,CAAC,CAAA;AAC3E,qBAAa,aAAc,SAAQ,eAAe;gBACpC,WAAW,EAAE,cAAc;IAKvC,QAAQ,EAAG,MAAM,CAAA;CAOlB"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/type-validation/dto/theme.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAEzB,OAAO,EAEL,mBAAmB,EACpB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,mBAAmB,CAAC,CAAA;AAC/E,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,QAAQ,EAAE,gBAAgB;IAKtC,UAAU,EAAG,MAAM,CAAA;IAInB,IAAI,EAAG,MAAM,CAAA;IAGb,aAAa,EAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,mBAAmB,CAAC,CAAA;AAC3E,qBAAa,aAAc,SAAQ,eAAe;gBACpC,WAAW,EAAE,cAAc;IAKvC,QAAQ,EAAG,MAAM,CAAA;CAOlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/type-validation/dto/theme.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAAyB;AACzB,wGAAiG;AACjG,mFAGgD;AAEhD,qDAA0D;AAG1D,MAAa,eAAgB,SAAQ,2CAAmB;IACtD,YAAY,QAA0B;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;CAWF;AAdD,0CAcC;AARC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,4CAAoB,CAAC;;mDACjB;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,4CAAoB,CAAC;;6CACvB;AAGb;IADC,IAAA,4CAAmB,GAAE;;sDACE;AAI1B,MAAa,aAAc,SAAQ,eAAe;IAChD,YAAY,WAA2B;QACrC,KAAK,CAAC,WAAW,CAAC,CAAA;IACpB,CAAC;CAUF;AAbD,sCAaC;AAPC;IADC,IAAA,wBAAM,GAAE;;+CACQ"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/type-validation/dto/theme.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAAyB;AACzB,wGAAiG;AACjG,mFAGgD;AAEhD,qDAA0D;AAI1D,MAAa,eAAgB,SAAQ,2CAAmB;IACtD,YAAY,QAA0B;QACpC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;CAWF;AAdD,0CAcC;AARC;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,4CAAoB,CAAC;;mDACjB;AAInB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,4CAAoB,CAAC;;6CACvB;AAGb;IADC,IAAA,4CAAmB,GAAE;;sDACe;AAIvC,MAAa,aAAc,SAAQ,eAAe;IAChD,YAAY,WAA2B;QACrC,KAAK,CAAC,WAAW,CAAC,CAAA;IACpB,CAAC;CAUF;AAbD,sCAaC;AAPC;IADC,IAAA,wBAAM,GAAE;;+CACQ"}
@@ -0,0 +1,2 @@
1
+ export declare function cvThemeJsonSchmeConfigParser<R>(schema: any, reducer: (children: R[], pathACC: string, subSchema?: any) => R): R;
2
+ //# sourceMappingURL=json-schema-config-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-config-parser.d.ts","sourceRoot":"","sources":["../../src/utils/json-schema-config-parser.ts"],"names":[],"mappings":"AAmCA,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,GAC9D,CAAC,CAuBH"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.cvThemeJsonSchmeConfigParser = cvThemeJsonSchmeConfigParser;
5
+ function mergeAllOf(allOf, schema) {
6
+ return allOf.reduce((acc, val) => {
7
+ ////
8
+ if (val.$ref) {
9
+ if (!schema.definitions) {
10
+ throw `no ref in definition`;
11
+ }
12
+ const objectDef = schema.definitions[val.$ref.substr(14)];
13
+ if (objectDef.type !== 'object' || !objectDef.properties) {
14
+ throw `unvalid allOff definition`;
15
+ }
16
+ Object.entries(objectDef.properties).forEach(([k, v]) => {
17
+ acc.properties[k] = v;
18
+ });
19
+ return acc;
20
+ }
21
+ ////
22
+ if (val.type !== 'object' || !val.properties) {
23
+ throw `unvalid allOff definition`;
24
+ }
25
+ Object.entries(val.properties).forEach(([k, v]) => {
26
+ acc.properties[k] = v;
27
+ });
28
+ return acc;
29
+ }, {
30
+ type: 'object',
31
+ properties: {},
32
+ });
33
+ }
34
+ function cvThemeJsonSchmeConfigParser(schema, reducer) {
35
+ const parser = (subSchema, pathACC = '') => {
36
+ if (subSchema.type === 'object') {
37
+ const objectMapping = Object.entries(subSchema.properties).map(([key, val]) => {
38
+ if (!pathACC)
39
+ return parser(val, key);
40
+ return parser(val, `${pathACC}.${key}`);
41
+ });
42
+ return reducer(objectMapping, pathACC, subSchema);
43
+ }
44
+ if (subSchema.$ref) {
45
+ if (!schema.definitions) {
46
+ throw `no ref in definition`;
47
+ }
48
+ return parser(schema.definitions[subSchema.$ref.substr(14)], pathACC);
49
+ }
50
+ if (subSchema.allOf) {
51
+ const allOf = subSchema.allOf;
52
+ return parser(mergeAllOf(allOf, schema), pathACC);
53
+ }
54
+ return reducer([], pathACC, subSchema);
55
+ };
56
+ return parser(schema);
57
+ }
58
+ //# sourceMappingURL=json-schema-config-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-config-parser.js","sourceRoot":"","sources":["../../src/utils/json-schema-config-parser.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,8 @@
40
40
  "typography": {
41
41
  "type": "object",
42
42
  "properties": {
43
- "main": { "$ref": "#/definitions/TypographyThemeType" },
43
+ "global": { "$ref": "#/definitions/TypographyThemeType" },
44
+ "headers": { "$ref": "#/definitions/TypographyThemeType" },
44
45
  "h1": { "$ref": "#/definitions/TypographyThemeType" },
45
46
  "h2": { "$ref": "#/definitions/TypographyThemeType" },
46
47
  "h3": { "$ref": "#/definitions/TypographyThemeType" },
@@ -304,6 +305,7 @@
304
305
  "additionalProperties": false,
305
306
  "definitions": {
306
307
  "color": {
308
+ "$comment": "color",
307
309
  "type": "string",
308
310
  "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{8}|[A-Fa-f0-9]{3}|[A-Fa-f0-9]{4})$",
309
311
  "minLength": 4,
@@ -311,32 +313,44 @@
311
313
  "description": "Hex color code, e.g. #FFF or #FFFFFF"
312
314
  },
313
315
  "commonNumber": {
316
+ "$comment": "number_0_100",
314
317
  "type": "number",
315
318
  "minimum": 0,
316
319
  "maximum": 100,
317
320
  "description": "A number between 0 and 100"
318
321
  },
322
+ "fontFamily": {
323
+ "$comment": "font_family",
324
+ "type": "string",
325
+ "minLength": 0,
326
+ "maxLength": 100
327
+ },
328
+ "textTransform": {
329
+ "$comment": "text_transform",
330
+ "type": "string",
331
+ "enum": ["uppercase", "capitalize", "lowercase"]
332
+ },
319
333
  "sizeType": {
334
+ "$comment": "size_mm",
320
335
  "type": "string",
321
336
  "pattern": "^(100|[1-9]?\\d)(\\.\\d+)?mm$|^(100|[1-9]?\\d)(\\.\\d+)?%$",
322
337
  "description": "A size string in millimeters or percentage between 0 and 100, allowing floats, e.g. '12mm', '12.5mm', '50%'"
323
338
  },
324
339
  "TypographyThemeType": {
340
+ "$comment": "typography",
325
341
  "type": "object",
326
342
  "properties": {
327
- "fontFamily": { "type": "string", "minLength": 0, "maxLength": 100 },
343
+ "fontFamily": { "$ref": "#/definitions/fontFamily" },
328
344
  "fontSize": { "$ref": "#/definitions/sizeType" },
329
345
  "fontWeight": { "$ref": "#/definitions/fontWeightType" },
330
346
  "fontStyle": { "$ref": "#/definitions/fontStyleType" },
331
347
  "letterSpacing": { "$ref": "#/definitions/sizeType" },
332
- "textTransform": {
333
- "type": "string",
334
- "enum": ["uppercase", "capitalize", "lowercase"]
335
- }
348
+ "textTransform": { "$ref": "#/definitions/textTransform" }
336
349
  },
337
350
  "additionalProperties": false
338
351
  },
339
352
  "CommonThemeCssProps": {
353
+ "$comment": "css_style",
340
354
  "type": "object",
341
355
  "properties": {
342
356
  "margin": { "$ref": "#/definitions/sizeType" },
@@ -373,18 +387,16 @@
373
387
  "height": { "$ref": "#/definitions/sizeType" },
374
388
  "width": { "$ref": "#/definitions/sizeType" },
375
389
  "color": { "$ref": "#/definitions/color" },
376
- "fontFamily": { "type": "string", "minLength": 0, "maxLength": 100 },
390
+ "fontFamily": { "$ref": "#/definitions/fontFamily" },
377
391
  "fontSize": { "$ref": "#/definitions/sizeType" },
378
392
  "fontWeight": { "$ref": "#/definitions/fontWeightType" },
379
393
  "fontStyle": { "$ref": "#/definitions/fontStyleType" },
380
394
  "letterSpacing": { "$ref": "#/definitions/sizeType" },
381
- "textTransform": {
382
- "type": "string",
383
- "enum": ["uppercase", "capitalize", "lowercase"]
384
- }
395
+ "textTransform": { "$ref": "#/definitions/textTransform" }
385
396
  },
386
397
  "additionalProperties": false
387
398
  },
399
+ "IconType": { "$comment": "icon_name", "type": "string", "minLength": 1, "maxLength": 50 },
388
400
  "HeaderThemeType": {
389
401
  "type": "object",
390
402
  "properties": {
@@ -393,7 +405,7 @@
393
405
  "icon": {
394
406
  "type": "object",
395
407
  "properties": {
396
- "name": { "type": "string", "minLength": 1, "maxLength": 50 },
408
+ "name": { "$ref": "#/definitions/IconType" },
397
409
  "style": { "$ref": "#/definitions/IconStyleType" }
398
410
  },
399
411
  "additionalProperties": false
@@ -417,7 +429,7 @@
417
429
  "IconItemThemeType": {
418
430
  "type": "object",
419
431
  "properties": {
420
- "icon_name": { "type": "string", "minLength": 1, "maxLength": 50 },
432
+ "icon_name": { "$ref": "#/definitions/IconType" },
421
433
  "enableLabels": { "type": "boolean" },
422
434
  "disableIcons": { "type": "boolean" },
423
435
  "style": { "$ref": "#/definitions/IconStyleType" }
@@ -440,7 +452,7 @@
440
452
  "filled_color": { "$ref": "#/definitions/color" },
441
453
  "empty_color": { "$ref": "#/definitions/color" },
442
454
  "bg_color": { "$ref": "#/definitions/color" },
443
- "radius": { "type": "string" },
455
+ "radius": { "$ref": "#/definitions/sizeType" },
444
456
  "size": { "$ref": "#/definitions/commonNumber" },
445
457
  "bubble_nbr": { "$ref": "#/definitions/commonNumber" },
446
458
  "label_position": {
@@ -455,6 +467,7 @@
455
467
  "additionalProperties": false
456
468
  },
457
469
  "TimeLinePropsTheme": {
470
+ "$comment": "timeline",
458
471
  "type": "object",
459
472
  "properties": {
460
473
  "color": { "$ref": "#/definitions/color" },
@@ -464,6 +477,7 @@
464
477
  "additionalProperties": false
465
478
  },
466
479
  "borderStyleEnum": {
480
+ "$comment": "border_style",
467
481
  "type": "string",
468
482
  "enum": [
469
483
  "none",
@@ -480,6 +494,7 @@
480
494
  "description": "Standard CSS border style values"
481
495
  },
482
496
  "fontWeightType": {
497
+ "$comment": "font_weight",
483
498
  "type": ["string", "number"],
484
499
  "enum": [
485
500
  "normal",
@@ -499,6 +514,7 @@
499
514
  "description": "Standard CSS font-weight values"
500
515
  },
501
516
  "fontStyleType": {
517
+ "$comment": "font_style",
502
518
  "type": "string",
503
519
  "enum": ["normal", "italic", "oblique", "inherit", "initial", "unset"],
504
520
  "description": "Standard CSS font-style values"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cv-tec/validations",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "private": false,
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",