Skip to content

Commit

Permalink
refactor: add declarations to git (webpack#76)
Browse files Browse the repository at this point in the history
  • Loading branch information
vankop authored and evilebottnawi committed Nov 12, 2019
1 parent 72d2ea1 commit 82a7a16
Show file tree
Hide file tree
Showing 8 changed files with 255 additions and 7 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ yarn-debug.log*

.eslintcache

/dist
/local
/reports
/coverage
Expand All @@ -27,3 +26,6 @@ DS_Store
.DS_Store
Thumbs.db
*.iml

#build
dist
115 changes: 115 additions & 0 deletions declarations/ValidationError.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
export default ValidationError;
export type JSONSchema6 = import('json-schema').JSONSchema6;
export type JSONSchema7 = import('json-schema').JSONSchema7;
export type Schema =
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7;
export type ValidationErrorConfiguration = {
name?: string | undefined;
baseDataPath?: string | undefined;
postFormatter?: import('./validate').PostFormatter | undefined;
};
export type PostFormatter = (
formattedError: string,
error: import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
}
) => string;
export type SchemaUtilErrorObject = import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
};
export type SPECIFICITY = number;
declare class ValidationError extends Error {
/**
* @param {Array<SchemaUtilErrorObject>} errors
* @param {Schema} schema
* @param {ValidationErrorConfiguration} configuration
*/
constructor(
errors: (import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
})[],
schema:
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7,
configuration?: import('./validate').ValidationErrorConfiguration
);
/** @type {Array<SchemaUtilErrorObject>} */
errors: Array<SchemaUtilErrorObject>;
/** @type {Schema} */
schema: Schema;
/** @type {string} */
headerName: string;
/** @type {string} */
baseDataPath: string;
/** @type {PostFormatter | null} */
postFormatter: PostFormatter | null;
/**
* @param {string} path
* @returns {Schema}
*/
getSchemaPart(
path: string
):
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7;
/**
* @param {Schema} schema
* @param {Array<Object>} prevSchemas
* @returns {string}
*/
formatSchema(
schema:
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7,
prevSchemas?: Object[]
): string;
/**
* @param {Schema=} schemaPart
* @param {(boolean | Array<string>)=} additionalPath
* @param {boolean=} needDot
* @returns {string}
*/
getSchemaPartText(
schemaPart?:
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7
| undefined,
additionalPath?: boolean | string[] | undefined,
needDot?: boolean | undefined
): string;
/**
* @param {Schema=} schemaPart
* @returns {string}
*/
getSchemaPartDescription(
schemaPart?:
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7
| undefined
): string;
/**
* @param {SchemaUtilErrorObject} error
* @returns {string}
*/
formatValidationError(
error: import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
}
): string;
/**
* @param {Array<SchemaUtilErrorObject>} errors
* @returns {string}
*/
formatValidationErrors(
errors: (import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
})[]
): string;
}
2 changes: 2 additions & 0 deletions declarations/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
declare const _exports: typeof import('./validate').default;
export = _exports;
13 changes: 13 additions & 0 deletions declarations/keywords/absolutePath.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export default addAbsolutePathKeyword;
export type Ajv = import('ajv').Ajv;
export type SchemaUtilErrorObject = import('ajv').ErrorObject & {
children?: import('ajv').ErrorObject[] | undefined;
};
/**
*
* @param {Ajv} ajv
* @returns {Ajv}
*/
declare function addAbsolutePathKeyword(
ajv: import('ajv').Ajv
): import('ajv').Ajv;
43 changes: 43 additions & 0 deletions declarations/util/Range.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
export = Range;
/**
* @typedef {[number, boolean]} RangeValue
*/
/**
* @callback RangeValueCallback
* @param {RangeValue} rangeValue
* @returns {boolean}
*/
declare class Range {
/** @type {Array<RangeValue>} */
_left: Array<RangeValue>;
/** @type {Array<RangeValue>} */
_right: Array<RangeValue>;
/**
* @param {number} value
* @param {boolean=} exclusive
*/
left(value: number, exclusive?: boolean | undefined): void;
/**
* @param {number} value
* @param {boolean=} exclusive
*/
right(value: number, exclusive?: boolean | undefined): void;
/**
* @param {boolean} logic is not logic applied
* @return {string} "smart" range string representation
*/
format(logic?: boolean): string;
}
declare namespace Range {
export {
getOperator,
formatRight,
formatLeft,
formatRange,
getRangeValue,
RangeValue,
RangeValueCallback,
};
}
type RangeValue = [number, boolean];
type RangeValueCallback = (rangeValue: [number, boolean]) => boolean;
41 changes: 41 additions & 0 deletions declarations/validate.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
export default validate;
export type JSONSchema4 = import('json-schema').JSONSchema4;
export type JSONSchema6 = import('json-schema').JSONSchema6;
export type JSONSchema7 = import('json-schema').JSONSchema7;
export type ErrorObject = Ajv.ErrorObject;
export type Schema =
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7;
export type SchemaUtilErrorObject = Ajv.ErrorObject & {
children?: Ajv.ErrorObject[] | undefined;
};
export type PostFormatter = (
formattedError: string,
error: Ajv.ErrorObject & {
children?: Ajv.ErrorObject[] | undefined;
}
) => string;
export type ValidationErrorConfiguration = {
name?: string | undefined;
baseDataPath?: string | undefined;
postFormatter?: PostFormatter | undefined;
};
/**
* @param {Schema} schema
* @param {Array<object> | object} options
* @param {ValidationErrorConfiguration=} configuration
* @returns {void}
*/
declare function validate(
schema:
| import('json-schema').JSONSchema4
| import('json-schema').JSONSchema6
| import('json-schema').JSONSchema7,
options: any,
configuration?: ValidationErrorConfiguration | undefined
): void;
declare namespace validate {
export { _default as ValidationError, _default as ValidateError };
}
import Ajv from 'ajv';
35 changes: 32 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
"homepage": "https://github.com/webpack/schema-utils",
"bugs": "https://github.com/webpack/schema-utils/issues",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"types": "declarations/index.d.ts",
"engines": {
"node": ">= 8.9.0"
},
"scripts": {
"start": "npm run build -- -w",
"prebuild": "npm-run-all --serial clean build:types",
"build:types": "tsc --declaration --emitDeclarationOnly --outDir dist",
"build:types": "rimraf declarations && tsc --declaration --emitDeclarationOnly --outDir declarations && prettier \"declarations/**/*.ts\" --write",
"build": "cross-env NODE_ENV=production babel src -d dist --copy-files",
"clean": "del-cli dist",
"commitlint": "commitlint --from=master",
Expand All @@ -34,7 +34,9 @@
"defaults": "webpack-defaults"
},
"files": [
"dist"
"dist",
"declarations",
"README.md"
],
"dependencies": {
"ajv": "^6.10.2",
Expand Down Expand Up @@ -63,6 +65,7 @@
"lint-staged": "^9.4.0",
"npm-run-all": "^4.1.5",
"prettier": "^1.18.2",
"rimraf": "^3.0.0",
"standard-version": "^7.0.0",
"typescript": "^3.7.2"
},
Expand Down

0 comments on commit 82a7a16

Please sign in to comment.