@researchdatabox/sails-ng-common 0.1.0 → 0.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.
@@ -0,0 +1,3 @@
1
+ export * from "./record.model";
2
+ export * from "./report.model";
3
+ export * from "./validation/index";
@@ -16,3 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./record.model"), exports);
18
18
  __exportStar(require("./report.model"), exports);
19
+ __exportStar(require("./validation/index"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IscURBQW1DIn0=
@@ -1,6 +1,3 @@
1
- /**
2
- * Defines the property/column rendering configuration
3
- */
4
1
  export interface RecordPropViewMetaDto {
5
2
  hide: boolean;
6
3
  template: string;
@@ -8,12 +5,8 @@ export interface RecordPropViewMetaDto {
8
5
  label: string;
9
6
  multivalue: boolean;
10
7
  }
11
- /**
12
- * Model for each page of records
13
- */
14
8
  export interface RecordPageDto {
15
- records: any[];
9
+ records: unknown[];
16
10
  total: number;
17
11
  pageNum: number;
18
12
  }
19
- //# sourceMappingURL=record.model.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlY29yZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -13,10 +13,6 @@ export declare class ReportDto {
13
13
  columns: RecordPropViewMetaDto[];
14
14
  constructor();
15
15
  }
16
- /**
17
- * Users of Record Table must extend RecordPage model
18
- */
19
16
  export interface ReportResultDto extends RecordPageDto {
20
17
  recordsPerPage: number;
21
18
  }
22
- //# sourceMappingURL=report.model.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportDto = void 0;
4
+ class ReportDto {
5
+ title;
6
+ name;
7
+ solrQuery;
8
+ filter;
9
+ columns;
10
+ constructor() {
11
+ this.title = "";
12
+ this.name = "";
13
+ this.solrQuery = "";
14
+ this.filter = [];
15
+ this.columns = [];
16
+ }
17
+ }
18
+ exports.ReportDto = ReportDto;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSxNQUFhLFNBQVM7SUFDcEIsS0FBSyxDQUFTO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsU0FBUyxDQUFTO0lBQ2xCLE1BQU0sQ0FBb0I7SUFDMUIsT0FBTyxDQUEwQjtJQUNqQztRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBYkQsOEJBYUMifQ==
@@ -0,0 +1,41 @@
1
+ export type FormValidatorErrors = {
2
+ [key: string]: {
3
+ message: string;
4
+ params: {
5
+ [key: string]: unknown;
6
+ };
7
+ };
8
+ };
9
+ export type FormValidatorConfig = {
10
+ [key: string]: unknown;
11
+ };
12
+ export type FormValidatorControl = {
13
+ value: unknown;
14
+ get<P extends string>(path: P): FormValidatorControl | null;
15
+ setErrors(errors: FormValidatorErrors | null): void;
16
+ };
17
+ export type FormValidatorFn = (control: FormValidatorControl) => FormValidatorErrors | null;
18
+ export type FormValidatorCreateFn = (config: FormValidatorConfig | null | undefined) => FormValidatorFn;
19
+ export interface FormValidatorDefinition {
20
+ name: string;
21
+ message: string;
22
+ create: FormValidatorCreateFn;
23
+ }
24
+ export interface FormValidatorBlock {
25
+ name: string;
26
+ message?: string | null | undefined;
27
+ config?: FormValidatorConfig | null | undefined;
28
+ }
29
+ export interface FormValidatorComponentErrors {
30
+ message: string | null;
31
+ name: string | null;
32
+ params?: {
33
+ [key: string]: unknown;
34
+ };
35
+ }
36
+ export interface FormValidatorSummaryErrors {
37
+ id: string | null;
38
+ message: string | null;
39
+ errors: FormValidatorComponentErrors[];
40
+ parents: string[] | null;
41
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL2Zvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,8 @@
1
+ import { FormValidatorConfig } from "./form.model";
2
+ export declare function formValidatorLengthOrSize(value: null | string | unknown[] | Set<unknown> | unknown): number | null;
3
+ export declare function formValidatorGetDefinitionItem(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: unknown): unknown;
4
+ export declare function formValidatorGetDefinitionString(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: string | undefined): string;
5
+ export declare function formValidatorGetDefinitionNumber(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: string | undefined): number;
6
+ export declare function formValidatorGetDefinitionBoolean(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: boolean | undefined): boolean;
7
+ export declare function formValidatorGetDefinitionRegexp(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: RegExp | undefined): RegExp;
8
+ export declare function formValidatorGetDefinitionArray(config: FormValidatorConfig | null | undefined, key: string, defaultValue?: unknown[] | undefined): unknown[];
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formValidatorLengthOrSize = formValidatorLengthOrSize;
7
+ exports.formValidatorGetDefinitionItem = formValidatorGetDefinitionItem;
8
+ exports.formValidatorGetDefinitionString = formValidatorGetDefinitionString;
9
+ exports.formValidatorGetDefinitionNumber = formValidatorGetDefinitionNumber;
10
+ exports.formValidatorGetDefinitionBoolean = formValidatorGetDefinitionBoolean;
11
+ exports.formValidatorGetDefinitionRegexp = formValidatorGetDefinitionRegexp;
12
+ exports.formValidatorGetDefinitionArray = formValidatorGetDefinitionArray;
13
+ const lodash_1 = __importDefault(require("lodash"));
14
+ function formValidatorLengthOrSize(value) {
15
+ if (value == null) {
16
+ return null;
17
+ }
18
+ else if (Array.isArray(value) || typeof value === "string") {
19
+ return value.length;
20
+ }
21
+ else if (value instanceof Set) {
22
+ return value.size;
23
+ }
24
+ return null;
25
+ }
26
+ function formValidatorGetDefinitionItem(config, key, defaultValue = undefined) {
27
+ const value = lodash_1.default.get(config ?? {}, key, defaultValue);
28
+ if (value === undefined) {
29
+ throw new Error(`Must define '${key}' in validator config.`);
30
+ }
31
+ return value;
32
+ }
33
+ function formValidatorGetDefinitionString(config, key, defaultValue = undefined) {
34
+ const value = formValidatorGetDefinitionItem(config, key, defaultValue);
35
+ return value?.toString() ?? "";
36
+ }
37
+ function formValidatorGetDefinitionNumber(config, key, defaultValue = undefined) {
38
+ const value = formValidatorGetDefinitionItem(config, key, defaultValue);
39
+ const valueString = value?.toString() ?? "";
40
+ const valueNumber = parseFloat(valueString);
41
+ if (isNaN(valueNumber)) {
42
+ throw new Error(`Invalid numeric value '${value}' for key '${key}' in validator config.`);
43
+ }
44
+ return valueNumber;
45
+ }
46
+ function formValidatorGetDefinitionBoolean(config, key, defaultValue = undefined) {
47
+ const value = formValidatorGetDefinitionItem(config, key, defaultValue);
48
+ if (typeof value === "boolean") {
49
+ return value;
50
+ }
51
+ const valueString = value?.toString()?.toLowerCase() ?? "";
52
+ return ["true", "t", "1", "yes", "y"].includes(valueString);
53
+ }
54
+ function formValidatorGetDefinitionRegexp(config, key, defaultValue = undefined) {
55
+ const value = formValidatorGetDefinitionItem(config, key, defaultValue);
56
+ if (value instanceof RegExp) {
57
+ return value;
58
+ }
59
+ return new RegExp(value?.toString() ?? "");
60
+ }
61
+ function formValidatorGetDefinitionArray(config, key, defaultValue = undefined) {
62
+ const value = formValidatorGetDefinitionItem(config, key, defaultValue);
63
+ if (Array.isArray(value)) {
64
+ return value;
65
+ }
66
+ throw new Error(`Invalid array value '${value}' for key '${key}' in validator config.`);
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92YWxpZGF0aW9uL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSw4REFXQztBQUVELHdFQVVDO0FBRUQsNEVBT0M7QUFFRCw0RUFZQztBQUVELDhFQVdDO0FBRUQsNEVBVUM7QUFFRCwwRUFVQztBQTVGRCxvREFBdUI7QUFTdkIsU0FBZ0IseUJBQXlCLENBQUMsS0FBeUQ7SUFFakcsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO1NBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUN0QixDQUFDO1NBQU0sSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFnQiw4QkFBOEIsQ0FDNUMsTUFBOEMsRUFDOUMsR0FBVyxFQUNYLGVBQXdCLFNBQVM7SUFFakMsTUFBTSxLQUFLLEdBQUcsZ0JBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixnQ0FBZ0MsQ0FDOUMsTUFBOEMsRUFDOUMsR0FBVyxFQUNYLGVBQW1DLFNBQVM7SUFFNUMsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN4RSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVELFNBQWdCLGdDQUFnQyxDQUM5QyxNQUE4QyxFQUM5QyxHQUFXLEVBQ1gsZUFBbUMsU0FBUztJQUU1QyxNQUFNLEtBQUssR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDNUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsS0FBSyxjQUFjLEdBQUcsd0JBQXdCLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQWdCLGlDQUFpQyxDQUMvQyxNQUE4QyxFQUM5QyxHQUFXLEVBQ1gsZUFBb0MsU0FBUztJQUU3QyxNQUFNLEtBQUssR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hFLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDL0IsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzRCxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsU0FBZ0IsZ0NBQWdDLENBQzlDLE1BQThDLEVBQzlDLEdBQVcsRUFDWCxlQUFtQyxTQUFTO0lBRTVDLE1BQU0sS0FBSyxHQUFHLDhCQUE4QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDeEUsSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELFNBQWdCLCtCQUErQixDQUM3QyxNQUE4QyxFQUM5QyxHQUFXLEVBQ1gsZUFBc0MsU0FBUztJQUUvQyxNQUFNLEtBQUssR0FBRyw4QkFBOEIsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEtBQUssY0FBYyxHQUFHLHdCQUF3QixDQUFDLENBQUM7QUFDMUYsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ export * from "./form.model";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./form.model"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmFsaWRhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCIn0=
@@ -0,0 +1,4 @@
1
+ import { FormValidatorBlock, FormValidatorDefinition, FormValidatorFn } from "./form.model";
2
+ export declare class ValidatorsSupport {
3
+ createFormValidatorInstances(definition: FormValidatorDefinition[] | null | undefined, config: FormValidatorBlock[] | null | undefined): FormValidatorFn[];
4
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidatorsSupport = void 0;
4
+ class ValidatorsSupport {
5
+ createFormValidatorInstances(definition, config) {
6
+ const defMap = new Map();
7
+ for (const definitionItem of (definition ?? [])) {
8
+ const name = definitionItem?.name;
9
+ const message = definitionItem?.message;
10
+ if (defMap.has(name)) {
11
+ const messages = [message, defMap.get(name)?.message];
12
+ throw new Error(`Duplicate validator name '${name}' - the validator names must be unique. `
13
+ + `To help you find the duplicates, these are the messages of the duplicates: '${messages.join(", ")}'.`);
14
+ }
15
+ defMap.set(name, definitionItem);
16
+ }
17
+ const result = [];
18
+ for (const validatorConfigItem of (config ?? [])) {
19
+ const name = validatorConfigItem?.name;
20
+ const def = defMap.get(name);
21
+ if (!def) {
22
+ throw new Error(`No validator definition has name '${name}', `
23
+ + `the available validators are: '${Array.from(defMap.keys()).sort().join(", ")}'.`);
24
+ }
25
+ const message = validatorConfigItem?.message ?? def.message;
26
+ const item = def.create({ name: name, message: message, ...(validatorConfigItem?.config ?? {}) });
27
+ result.push(item);
28
+ }
29
+ return result;
30
+ }
31
+ }
32
+ exports.ValidatorsSupport = ValidatorsSupport;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy1zdXBwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZhbGlkYXRpb24vdmFsaWRhdG9ycy1zdXBwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsaUJBQWlCO0lBT3JCLDRCQUE0QixDQUNqQyxVQUF3RCxFQUN4RCxNQUErQztRQUUvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztRQUMxRCxLQUFLLE1BQU0sY0FBYyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLEdBQUcsY0FBYyxFQUFFLElBQUksQ0FBQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxjQUFjLEVBQUUsT0FBTyxDQUFDO1lBQ3hDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQixNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixJQUFJLDBDQUEwQztzQkFDdkYsK0VBQStFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlHLENBQUM7WUFDRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQXNCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksR0FBRyxtQkFBbUIsRUFBRSxJQUFJLENBQUM7WUFDdkMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxLQUFLO3NCQUMxRCxrQ0FBa0MsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pGLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsRUFBRSxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUM1RCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQXJDRCw4Q0FxQ0MifQ==
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "@researchdatabox/sails-ng-common",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Common models shared between Sails API endpoints and client-side Angular code",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist/src/index.js",
6
+ "types": "dist/src/index.d.ts",
7
7
  "files": [
8
- "/dist"
8
+ "/dist/src"
9
9
  ],
10
10
  "scripts": {
11
- "test": "echo \"Error: no test specified\" && exit 1"
11
+ "test": "nyc --reporter=text mocha --exit --config test/unit/.mocharc.js test/unit/**/*.test.js dist/test/unit/**/*.test.js",
12
+ "pretest": "npm run test:compile ; mkdir -p support/junit",
13
+ "test:clean": "rm -rf support/junit || true",
14
+ "compile": "tsc -p tsconfig.prod.json",
15
+ "compile:clean": "rm -rf dist/",
16
+ "test:compile": "tsc -p tsconfig.json",
17
+ "pretest:compile": "npm run compile:clean"
12
18
  },
13
19
  "repository": {
14
20
  "type": "git",
@@ -28,8 +34,46 @@
28
34
  "url": "https://github.com/redbox-mint/sails-ng-common/issues"
29
35
  },
30
36
  "homepage": "https://github.com/redbox-mint/sails-ng-common#readme",
37
+ "engines": {
38
+ "node": ">=20.0.0"
39
+ },
31
40
  "devDependencies": {
32
- "@tsconfig/node18": "^2.0.0",
33
- "typescript": "^5.0.3"
41
+ "@eslint/js": "9.27.0",
42
+ "@researchdatabox/redbox-core-types": "1.4.8",
43
+ "@stylistic/eslint-plugin": "4.2.0",
44
+ "@stylistic/eslint-plugin-js": "4.2.0",
45
+ "@stylistic/eslint-plugin-ts": "4.2.0",
46
+ "@types/chai": "5.2.1",
47
+ "@types/lodash": "4.17.17",
48
+ "@types/mocha": "10.0.10",
49
+ "@types/node": "20.17.48",
50
+ "@typescript-eslint/eslint-plugin": "8.32.1",
51
+ "@typescript-eslint/parser": "8.32.1",
52
+ "chai": "5.2.0",
53
+ "eslint": "9.27.0",
54
+ "istanbul": "0.4.5",
55
+ "lodash": "4.17.21",
56
+ "mocha": "11.4.0",
57
+ "mocha-junit-reporter": "2.2.1",
58
+ "moment": "2.30.1",
59
+ "nyc": "17.1.0",
60
+ "typescript": "5.8.3",
61
+ "typescript-eslint": "8.32.1"
62
+ },
63
+ "nyc": {
64
+ "check-coverage": true,
65
+ "all": true,
66
+ "lines": 55,
67
+ "statements": 55,
68
+ "functions": 55,
69
+ "branches": 40,
70
+ "include": [
71
+ "**/src/**/*.*"
72
+ ],
73
+ "reporter": [
74
+ "lcov",
75
+ "text",
76
+ "text-summary"
77
+ ]
34
78
  }
35
79
  }
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './record.model';
2
- export * from './report.model';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.model.d.ts","sourceRoot":"","sources":["../src/record.model.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAEpC,IAAI,EAAE,OAAO,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- // Copyright (c) 2023 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
3
- //
4
- // GNU GENERAL PUBLIC LICENSE
5
- // Version 2, June 1991
6
- //
7
- // This program is free software; you can redistribute it and/or modify
8
- // it under the terms of the GNU General Public License as published by
9
- // the Free Software Foundation; either version 2 of the License, or
10
- // (at your option) any later version.
11
- //
12
- // This program is distributed in the hope that it will be useful,
13
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- // GNU General Public License for more details.
16
- //
17
- // You should have received a copy of the GNU General Public License along
18
- // with this program; if not, write to the Free Software Foundation, Inc.,
19
- // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.model.d.ts","sourceRoot":"","sources":["../src/report.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAC,MAAM,CAAC;CACjB;AAED,qBAAa,SAAS;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;;CAQlC;AACD;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,cAAc,EAAE,MAAM,CAAC;CACxB"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportDto = void 0;
4
- class ReportDto {
5
- title;
6
- name;
7
- solrQuery;
8
- filter;
9
- columns;
10
- constructor() {
11
- this.title = '';
12
- this.name = '';
13
- this.solrQuery = '';
14
- this.filter = [];
15
- this.columns = [];
16
- }
17
- }
18
- exports.ReportDto = ReportDto;