Skip to content

Commit beb03d4

Browse files
committed
chore: update dist
1 parent 0c3bbc7 commit beb03d4

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

dist/jsonSchemaLibrary.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/lib/getTemplate.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@ import { Draft } from "./draft";
33
export type TemplateOptions = {
44
/** Add all properties (required and optional) to the generated data */
55
addOptionalProps?: boolean;
6-
/** remove data that does not match input schema. Defaults to false */
6+
/** Remove data that does not match input schema. Defaults to false */
77
removeInvalidData?: boolean;
8+
/** Set to false to take default values as they are and not extend them.
9+
* Defaults to true.
10+
* This allows to control template data e.g. enforcing arrays to be empty,
11+
* regardless of minItems settings.
12+
*/
13+
extendDefaults?: boolean;
814
};
915
declare const _default: (draft: Draft, data?: any, schema?: JsonSchema, opts?: TemplateOptions) => any;
1016
export default _default;

dist/module/lib/getTemplate.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ const TYPE = {
202202
var _a;
203203
const template = schema.default === undefined ? {} : schema.default;
204204
const d = {}; // do not assign data here, to keep ordering from json-schema
205-
const required = (_a = schema.required) !== null && _a !== void 0 ? _a : [];
205+
const required = (opts.extendDefaults === false && schema.default !== undefined) ? [] : ((_a = schema.required) !== null && _a !== void 0 ? _a : []);
206206
if (schema.properties) {
207207
Object.keys(schema.properties).forEach((key) => {
208208
const value = data == null || data[key] == null ? template[key] : data[key];
@@ -259,7 +259,7 @@ const TYPE = {
259259
}
260260
const template = schema.default === undefined ? [] : schema.default;
261261
const d = data || template;
262-
const minItems = schema.minItems || 0;
262+
const minItems = (opts.extendDefaults === false && schema.default !== undefined) ? 0 : (schema.minItems || 0);
263263
// build defined set of items
264264
if (Array.isArray(schema.items)) {
265265
for (let i = 0, l = Math.max(minItems !== null && minItems !== void 0 ? minItems : 0, (_b = (_a = schema.items) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0); i < l; i += 1) {

0 commit comments

Comments
 (0)