@fgv/ts-json 1.9.6 → 2.0.2-alpha.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/ts-json.d.ts +1826 -0
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +42 -0
- package/lib/index.js.map +1 -0
- package/lib/packlets/context/compositeJsonMap.d.ts +60 -0
- package/lib/packlets/context/compositeJsonMap.d.ts.map +1 -0
- package/lib/packlets/context/compositeJsonMap.js +105 -0
- package/lib/packlets/context/compositeJsonMap.js.map +1 -0
- package/lib/packlets/context/contextHelpers.d.ts +116 -0
- package/lib/packlets/context/contextHelpers.d.ts.map +1 -0
- package/lib/packlets/context/contextHelpers.js +191 -0
- package/lib/packlets/context/contextHelpers.js.map +1 -0
- package/lib/packlets/context/index.d.ts +4 -0
- package/lib/packlets/context/index.d.ts.map +1 -0
- package/lib/packlets/context/index.js +31 -0
- package/lib/packlets/context/index.js.map +1 -0
- package/lib/packlets/context/jsonContext.d.ts +84 -0
- package/lib/packlets/context/jsonContext.d.ts.map +1 -0
- package/lib/packlets/context/jsonContext.js +41 -0
- package/lib/packlets/context/jsonContext.js.map +1 -0
- package/lib/packlets/converters/converters.d.ts +54 -0
- package/lib/packlets/converters/converters.d.ts.map +1 -0
- package/lib/packlets/converters/converters.js +105 -0
- package/lib/packlets/converters/converters.js.map +1 -0
- package/lib/packlets/converters/file.d.ts +83 -0
- package/lib/packlets/converters/file.d.ts.map +1 -0
- package/lib/packlets/converters/file.js +162 -0
- package/lib/packlets/converters/file.js.map +1 -0
- package/lib/packlets/converters/index.d.ts +5 -0
- package/lib/packlets/converters/index.d.ts.map +1 -0
- package/lib/packlets/converters/index.js +56 -0
- package/lib/packlets/converters/index.js.map +1 -0
- package/lib/packlets/converters/jsonConverter.d.ts +276 -0
- package/lib/packlets/converters/jsonConverter.d.ts.map +1 -0
- package/lib/packlets/converters/jsonConverter.js +310 -0
- package/lib/packlets/converters/jsonConverter.js.map +1 -0
- package/lib/packlets/editor/common.d.ts +67 -0
- package/lib/packlets/editor/common.d.ts.map +1 -0
- package/lib/packlets/editor/common.js +3 -0
- package/lib/packlets/editor/common.js.map +1 -0
- package/lib/packlets/editor/index.d.ts +8 -0
- package/lib/packlets/editor/index.d.ts.map +1 -0
- package/{jsonEditor → lib/packlets/editor}/index.js +15 -9
- package/lib/packlets/editor/index.js.map +1 -0
- package/lib/packlets/editor/jsonEditor.d.ts +155 -0
- package/lib/packlets/editor/jsonEditor.d.ts.map +1 -0
- package/lib/packlets/editor/jsonEditor.js +332 -0
- package/lib/packlets/editor/jsonEditor.js.map +1 -0
- package/lib/packlets/editor/jsonEditorRule.d.ts +64 -0
- package/lib/packlets/editor/jsonEditorRule.d.ts.map +1 -0
- package/lib/packlets/editor/jsonEditorRule.js +54 -0
- package/lib/packlets/editor/jsonEditorRule.js.map +1 -0
- package/lib/packlets/editor/jsonEditorState.d.ts +125 -0
- package/lib/packlets/editor/jsonEditorState.d.ts.map +1 -0
- package/lib/packlets/editor/jsonEditorState.js +177 -0
- package/lib/packlets/editor/jsonEditorState.js.map +1 -0
- package/lib/packlets/editor/jsonReferenceMap.d.ts +303 -0
- package/lib/packlets/editor/jsonReferenceMap.d.ts.map +1 -0
- package/lib/packlets/editor/jsonReferenceMap.js +324 -0
- package/lib/packlets/editor/jsonReferenceMap.js.map +1 -0
- package/lib/packlets/editor/rules/conditional.d.ts +107 -0
- package/lib/packlets/editor/rules/conditional.d.ts.map +1 -0
- package/lib/packlets/editor/rules/conditional.js +167 -0
- package/lib/packlets/editor/rules/conditional.js.map +1 -0
- package/{jsonEditor → lib/packlets/editor}/rules/index.d.ts +1 -0
- package/lib/packlets/editor/rules/index.d.ts.map +1 -0
- package/lib/packlets/editor/rules/index.js +42 -0
- package/lib/packlets/editor/rules/index.js.map +1 -0
- package/lib/packlets/editor/rules/multivalue.d.ts +94 -0
- package/lib/packlets/editor/rules/multivalue.d.ts.map +1 -0
- package/lib/packlets/editor/rules/multivalue.js +141 -0
- package/lib/packlets/editor/rules/multivalue.js.map +1 -0
- package/lib/packlets/editor/rules/references.d.ts +69 -0
- package/lib/packlets/editor/rules/references.d.ts.map +1 -0
- package/lib/packlets/editor/rules/references.js +159 -0
- package/lib/packlets/editor/rules/references.js.map +1 -0
- package/lib/packlets/editor/rules/templates.d.ts +74 -0
- package/lib/packlets/editor/rules/templates.d.ts.map +1 -0
- package/lib/packlets/editor/rules/templates.js +127 -0
- package/lib/packlets/editor/rules/templates.js.map +1 -0
- package/lib/packlets/json/common.d.ts +85 -0
- package/lib/packlets/json/common.d.ts.map +1 -0
- package/lib/packlets/json/common.js +123 -0
- package/lib/packlets/json/common.js.map +1 -0
- package/lib/packlets/json/index.d.ts +2 -0
- package/lib/packlets/json/index.d.ts.map +1 -0
- package/lib/packlets/json/index.js +39 -0
- package/lib/packlets/json/index.js.map +1 -0
- package/package.json +58 -49
- package/common.d.ts +0 -58
- package/common.js +0 -116
- package/compositeJsonMap.d.ts +0 -47
- package/compositeJsonMap.js +0 -97
- package/contextHelpers.d.ts +0 -21
- package/contextHelpers.js +0 -101
- package/converters.d.ts +0 -37
- package/converters.js +0 -92
- package/file.d.ts +0 -60
- package/file.js +0 -140
- package/index.d.ts +0 -10
- package/index.js +0 -62
- package/jsonContext.d.ts +0 -74
- package/jsonContext.js +0 -40
- package/jsonConverter.d.ts +0 -229
- package/jsonConverter.js +0 -292
- package/jsonEditor/common.d.ts +0 -36
- package/jsonEditor/common.js +0 -3
- package/jsonEditor/index.d.ts +0 -5
- package/jsonEditor/jsonEditor.d.ts +0 -74
- package/jsonEditor/jsonEditor.js +0 -259
- package/jsonEditor/jsonEditorRule.d.ts +0 -47
- package/jsonEditor/jsonEditorRule.js +0 -44
- package/jsonEditor/jsonEditorState.d.ts +0 -24
- package/jsonEditor/jsonEditorState.js +0 -86
- package/jsonEditor/rules/conditional.d.ts +0 -84
- package/jsonEditor/rules/conditional.js +0 -146
- package/jsonEditor/rules/index.js +0 -21
- package/jsonEditor/rules/multivalue.d.ts +0 -78
- package/jsonEditor/rules/multivalue.js +0 -129
- package/jsonEditor/rules/references.d.ts +0 -62
- package/jsonEditor/rules/references.js +0 -158
- package/jsonEditor/rules/templates.d.ts +0 -56
- package/jsonEditor/rules/templates.js +0 -115
- package/jsonReferenceMap.d.ts +0 -138
- package/jsonReferenceMap.js +0 -202
package/file.d.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { Converter, Result } from '@fgv/ts-utils';
|
|
2
|
-
import { JsonValue } from './common';
|
|
3
|
-
/**
|
|
4
|
-
* Convenience function to read type-safe JSON from a file
|
|
5
|
-
* @param srcPath Path of the file to read
|
|
6
|
-
*/
|
|
7
|
-
export declare function readJsonFileSync(srcPath: string): Result<JsonValue>;
|
|
8
|
-
/**
|
|
9
|
-
* Convenience function to read a JSON file and apply a supplied converter
|
|
10
|
-
* @param srcPath Path of the file to read
|
|
11
|
-
* @param converter Converter used to convert the file contents
|
|
12
|
-
*/
|
|
13
|
-
export declare function convertJsonFileSync<T>(srcPath: string, converter: Converter<T>): Result<T>;
|
|
14
|
-
/**
|
|
15
|
-
* Options for directory conversion
|
|
16
|
-
* TODO: add filtering, allowed and excluded
|
|
17
|
-
*/
|
|
18
|
-
export interface DirectoryConvertOptions<T, TC = unknown> {
|
|
19
|
-
/**
|
|
20
|
-
* The converter used to convert incoming JSON objects
|
|
21
|
-
*/
|
|
22
|
-
converter: Converter<T, TC>;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Return value for one item in a directory conversion
|
|
26
|
-
*/
|
|
27
|
-
export interface ReadDirectoryItem<T> {
|
|
28
|
-
/**
|
|
29
|
-
* Relative name of the file that was processed
|
|
30
|
-
*/
|
|
31
|
-
filename: string;
|
|
32
|
-
/**
|
|
33
|
-
* The payload of the file
|
|
34
|
-
*/
|
|
35
|
-
item: T;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Reads all JSON files from a directory and apply a supplied converter
|
|
39
|
-
* @param srcPath The path of the folder to be read
|
|
40
|
-
* @param options Options to control conversion and filtering
|
|
41
|
-
*/
|
|
42
|
-
export declare function convertJsonDirectorySync<T>(srcPath: string, options: DirectoryConvertOptions<T>): Result<ReadDirectoryItem<T>[]>;
|
|
43
|
-
export type ItemNameTransformFunction<T> = (name: string, item: T) => Result<string>;
|
|
44
|
-
export interface DirectoryToMapConvertOptions<T, TC = unknown> extends DirectoryConvertOptions<T, TC> {
|
|
45
|
-
transformName?: ItemNameTransformFunction<T>;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Reads and converts all JSON files from a directory, returning a map
|
|
49
|
-
* indexed by file base name (i.e. minus the extension) with an optional
|
|
50
|
-
* name transformation applied if present.
|
|
51
|
-
* @param srcPath The path of the folder to be read
|
|
52
|
-
* @param options Options to control conversion and filtering
|
|
53
|
-
*/
|
|
54
|
-
export declare function convertJsonDirectoryToMapSync<T, TC = unknown>(srcPath: string, options: DirectoryToMapConvertOptions<T, TC>): Result<Map<string, T>>;
|
|
55
|
-
/**
|
|
56
|
-
* Convenience function to write type-safe JSON to a file
|
|
57
|
-
* @param srcPath Path of the file to write
|
|
58
|
-
* @param value The JSON object to be written
|
|
59
|
-
*/
|
|
60
|
-
export declare function writeJsonFileSync(srcPath: string, value: JsonValue): Result<boolean>;
|
package/file.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(o, k2, desc);
|
|
30
|
-
}) : (function(o, m, k, k2) {
|
|
31
|
-
if (k2 === undefined) k2 = k;
|
|
32
|
-
o[k2] = m[k];
|
|
33
|
-
}));
|
|
34
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
-
}) : function(o, v) {
|
|
37
|
-
o["default"] = v;
|
|
38
|
-
});
|
|
39
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
-
exports.writeJsonFileSync = exports.convertJsonDirectoryToMapSync = exports.convertJsonDirectorySync = exports.convertJsonFileSync = exports.readJsonFileSync = void 0;
|
|
48
|
-
const fs = __importStar(require("fs"));
|
|
49
|
-
const path = __importStar(require("path"));
|
|
50
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
51
|
-
/**
|
|
52
|
-
* Convenience function to read type-safe JSON from a file
|
|
53
|
-
* @param srcPath Path of the file to read
|
|
54
|
-
*/
|
|
55
|
-
function readJsonFileSync(srcPath) {
|
|
56
|
-
return (0, ts_utils_1.captureResult)(() => {
|
|
57
|
-
const fullPath = path.resolve(srcPath);
|
|
58
|
-
const body = fs.readFileSync(fullPath, 'utf8').toString();
|
|
59
|
-
return JSON.parse(body);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
exports.readJsonFileSync = readJsonFileSync;
|
|
63
|
-
/**
|
|
64
|
-
* Convenience function to read a JSON file and apply a supplied converter
|
|
65
|
-
* @param srcPath Path of the file to read
|
|
66
|
-
* @param converter Converter used to convert the file contents
|
|
67
|
-
*/
|
|
68
|
-
function convertJsonFileSync(srcPath, converter) {
|
|
69
|
-
return readJsonFileSync(srcPath).onSuccess((json) => {
|
|
70
|
-
return converter.convert(json);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
exports.convertJsonFileSync = convertJsonFileSync;
|
|
74
|
-
/**
|
|
75
|
-
* Reads all JSON files from a directory and apply a supplied converter
|
|
76
|
-
* @param srcPath The path of the folder to be read
|
|
77
|
-
* @param options Options to control conversion and filtering
|
|
78
|
-
*/
|
|
79
|
-
function convertJsonDirectorySync(srcPath, options) {
|
|
80
|
-
return (0, ts_utils_1.captureResult)(() => {
|
|
81
|
-
const fullPath = path.resolve(srcPath);
|
|
82
|
-
if (!fs.statSync(fullPath).isDirectory()) {
|
|
83
|
-
throw new Error(`${fullPath}: Not a directory`);
|
|
84
|
-
}
|
|
85
|
-
const files = fs.readdirSync(fullPath, { withFileTypes: true });
|
|
86
|
-
const results = files.map((fi) => {
|
|
87
|
-
if (fi.isFile() && (path.extname(fi.name) === '.json')) {
|
|
88
|
-
const filePath = path.resolve(fullPath, fi.name);
|
|
89
|
-
return convertJsonFileSync(filePath, options.converter).onSuccess((payload) => {
|
|
90
|
-
return (0, ts_utils_1.succeed)({
|
|
91
|
-
filename: fi.name,
|
|
92
|
-
item: payload,
|
|
93
|
-
});
|
|
94
|
-
}).onFailure((message) => {
|
|
95
|
-
return (0, ts_utils_1.fail)(`${fi.name}: ${message}`);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
return undefined;
|
|
99
|
-
}).filter((r) => r !== undefined);
|
|
100
|
-
return (0, ts_utils_1.mapResults)(results).orThrow();
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
exports.convertJsonDirectorySync = convertJsonDirectorySync;
|
|
104
|
-
const defaultNameTransformer = (n) => (0, ts_utils_1.succeed)(n);
|
|
105
|
-
/**
|
|
106
|
-
* Reads and converts all JSON files from a directory, returning a map
|
|
107
|
-
* indexed by file base name (i.e. minus the extension) with an optional
|
|
108
|
-
* name transformation applied if present.
|
|
109
|
-
* @param srcPath The path of the folder to be read
|
|
110
|
-
* @param options Options to control conversion and filtering
|
|
111
|
-
*/
|
|
112
|
-
function convertJsonDirectoryToMapSync(srcPath, options) {
|
|
113
|
-
return convertJsonDirectorySync(srcPath, options).onSuccess((items) => {
|
|
114
|
-
var _a;
|
|
115
|
-
const transformName = (_a = options.transformName) !== null && _a !== void 0 ? _a : defaultNameTransformer;
|
|
116
|
-
return (0, ts_utils_1.mapResults)(items.map((item) => {
|
|
117
|
-
const basename = path.basename(item.filename, '.json');
|
|
118
|
-
return transformName(basename, item.item).onSuccess((name) => {
|
|
119
|
-
return (0, ts_utils_1.succeed)([name, item.item]);
|
|
120
|
-
});
|
|
121
|
-
})).onSuccess((items) => {
|
|
122
|
-
return (0, ts_utils_1.succeed)(new Map(items));
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
exports.convertJsonDirectoryToMapSync = convertJsonDirectoryToMapSync;
|
|
127
|
-
/**
|
|
128
|
-
* Convenience function to write type-safe JSON to a file
|
|
129
|
-
* @param srcPath Path of the file to write
|
|
130
|
-
* @param value The JSON object to be written
|
|
131
|
-
*/
|
|
132
|
-
function writeJsonFileSync(srcPath, value) {
|
|
133
|
-
return (0, ts_utils_1.captureResult)(() => {
|
|
134
|
-
const fullPath = path.resolve(srcPath);
|
|
135
|
-
fs.writeFileSync(fullPath, JSON.stringify(value, undefined, 2));
|
|
136
|
-
return true;
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
exports.writeJsonFileSync = writeJsonFileSync;
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qiw0Q0FBNEY7QUFJNUY7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FBZTtJQUM1QyxPQUFPLElBQUEsd0JBQWEsRUFBQyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFjLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBTkQsNENBTUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUksT0FBZSxFQUFFLFNBQXVCO0lBQzNFLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUpELGtEQUlDO0FBNEJEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBSSxPQUFlLEVBQUUsT0FBbUM7SUFDNUYsT0FBTyxJQUFBLHdCQUFhLEVBQXlCLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxRQUFRLG1CQUFtQixDQUFDLENBQUM7U0FDbkQ7UUFDRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUM3QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxFQUFFO2dCQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sbUJBQW1CLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDMUUsT0FBTyxJQUFBLGtCQUFPLEVBQUM7d0JBQ1gsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJO3dCQUNqQixJQUFJLEVBQUUsT0FBTztxQkFDaEIsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNyQixPQUFPLElBQUEsZUFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsQ0FBQzthQUNOO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFxQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBQSxxQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQXZCRCw0REF1QkM7QUFRRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBUSxFQUFrQixFQUFFLENBQUMsSUFBQSxrQkFBTyxFQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXhFOzs7Ozs7R0FNRztBQUNILFNBQWdCLDZCQUE2QixDQUFnQixPQUFlLEVBQUUsT0FBNEM7SUFDdEgsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7O1FBQ2xFLE1BQU0sYUFBYSxHQUFHLE1BQUEsT0FBTyxDQUFDLGFBQWEsbUNBQUksc0JBQXNCLENBQUM7UUFDdEUsT0FBTyxJQUFBLHFCQUFVLEVBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxPQUFPLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUEsa0JBQU8sRUFBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEIsT0FBTyxJQUFBLGtCQUFPLEVBQUMsSUFBSSxHQUFHLENBQVksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVpELHNFQVlDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxLQUFnQjtJQUMvRCxPQUFPLElBQUEsd0JBQWEsRUFBQyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFORCw4Q0FNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ29udmVydGVyLCBSZXN1bHQsIGNhcHR1cmVSZXN1bHQsIGZhaWwsIG1hcFJlc3VsdHMsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcblxuaW1wb3J0IHsgSnNvblZhbHVlIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIHJlYWQgdHlwZS1zYWZlIEpTT04gZnJvbSBhIGZpbGVcbiAqIEBwYXJhbSBzcmNQYXRoIFBhdGggb2YgdGhlIGZpbGUgdG8gcmVhZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZEpzb25GaWxlU3luYyhzcmNQYXRoOiBzdHJpbmcpOiBSZXN1bHQ8SnNvblZhbHVlPiB7XG4gICAgcmV0dXJuIGNhcHR1cmVSZXN1bHQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShzcmNQYXRoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IGZzLnJlYWRGaWxlU3luYyhmdWxsUGF0aCwgJ3V0ZjgnKS50b1N0cmluZygpO1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShib2R5KSBhcyBKc29uVmFsdWU7XG4gICAgfSk7XG59XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gcmVhZCBhIEpTT04gZmlsZSBhbmQgYXBwbHkgYSBzdXBwbGllZCBjb252ZXJ0ZXJcbiAqIEBwYXJhbSBzcmNQYXRoIFBhdGggb2YgdGhlIGZpbGUgdG8gcmVhZFxuICogQHBhcmFtIGNvbnZlcnRlciBDb252ZXJ0ZXIgdXNlZCB0byBjb252ZXJ0IHRoZSBmaWxlIGNvbnRlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SnNvbkZpbGVTeW5jPFQ+KHNyY1BhdGg6IHN0cmluZywgY29udmVydGVyOiBDb252ZXJ0ZXI8VD4pOiBSZXN1bHQ8VD4ge1xuICAgIHJldHVybiByZWFkSnNvbkZpbGVTeW5jKHNyY1BhdGgpLm9uU3VjY2VzcygoanNvbikgPT4ge1xuICAgICAgICByZXR1cm4gY29udmVydGVyLmNvbnZlcnQoanNvbik7XG4gICAgfSk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZGlyZWN0b3J5IGNvbnZlcnNpb25cbiAqIFRPRE86IGFkZCBmaWx0ZXJpbmcsIGFsbG93ZWQgYW5kIGV4Y2x1ZGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlyZWN0b3J5Q29udmVydE9wdGlvbnM8VCwgVEM9dW5rbm93bj4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb252ZXJ0ZXIgdXNlZCB0byBjb252ZXJ0IGluY29taW5nIEpTT04gb2JqZWN0c1xuICAgICAqL1xuICAgIGNvbnZlcnRlcjogQ29udmVydGVyPFQsIFRDPjtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdmFsdWUgZm9yIG9uZSBpdGVtIGluIGEgZGlyZWN0b3J5IGNvbnZlcnNpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWFkRGlyZWN0b3J5SXRlbTxUPiB7XG4gICAgLyoqXG4gICAgICogUmVsYXRpdmUgbmFtZSBvZiB0aGUgZmlsZSB0aGF0IHdhcyBwcm9jZXNzZWRcbiAgICAgKi9cbiAgICBmaWxlbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBheWxvYWQgb2YgdGhlIGZpbGVcbiAgICAgKi9cbiAgICBpdGVtOiBUO1xufVxuXG4vKipcbiAqIFJlYWRzIGFsbCBKU09OIGZpbGVzIGZyb20gYSBkaXJlY3RvcnkgYW5kIGFwcGx5IGEgc3VwcGxpZWQgY29udmVydGVyXG4gKiBAcGFyYW0gc3JjUGF0aCBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGJlIHJlYWRcbiAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgdG8gY29udHJvbCBjb252ZXJzaW9uIGFuZCBmaWx0ZXJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRKc29uRGlyZWN0b3J5U3luYzxUPihzcmNQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IERpcmVjdG9yeUNvbnZlcnRPcHRpb25zPFQ+KTogUmVzdWx0PFJlYWREaXJlY3RvcnlJdGVtPFQ+W10+IHtcbiAgICByZXR1cm4gY2FwdHVyZVJlc3VsdDxSZWFkRGlyZWN0b3J5SXRlbTxUPltdPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5yZXNvbHZlKHNyY1BhdGgpO1xuICAgICAgICBpZiAoIWZzLnN0YXRTeW5jKGZ1bGxQYXRoKS5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZnVsbFBhdGh9OiBOb3QgYSBkaXJlY3RvcnlgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGZ1bGxQYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBmaWxlcy5tYXAoKGZpKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmkuaXNGaWxlKCkgJiYgKHBhdGguZXh0bmFtZShmaS5uYW1lKSA9PT0gJy5qc29uJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGgucmVzb2x2ZShmdWxsUGF0aCwgZmkubmFtZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRKc29uRmlsZVN5bmMoZmlsZVBhdGgsIG9wdGlvbnMuY29udmVydGVyKS5vblN1Y2Nlc3MoKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU6IGZpLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBwYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KS5vbkZhaWx1cmUoKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhaWwoYCR7ZmkubmFtZX06ICR7bWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0pLmZpbHRlcigocik6IHIgaXMgUmVzdWx0PFJlYWREaXJlY3RvcnlJdGVtPFQ+PiA9PiByICE9PSB1bmRlZmluZWQpO1xuICAgICAgICByZXR1cm4gbWFwUmVzdWx0cyhyZXN1bHRzKS5vclRocm93KCk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCB0eXBlIEl0ZW1OYW1lVHJhbnNmb3JtRnVuY3Rpb248VD4gPSAobmFtZTogc3RyaW5nLCBpdGVtOiBUKSA9PiBSZXN1bHQ8c3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RvcnlUb01hcENvbnZlcnRPcHRpb25zPFQsIFRDPXVua25vd24+IGV4dGVuZHMgRGlyZWN0b3J5Q29udmVydE9wdGlvbnM8VCwgVEM+IHtcbiAgICB0cmFuc2Zvcm1OYW1lPzogSXRlbU5hbWVUcmFuc2Zvcm1GdW5jdGlvbjxUPjtcbn1cblxuY29uc3QgZGVmYXVsdE5hbWVUcmFuc2Zvcm1lciA9IChuOnN0cmluZyk6IFJlc3VsdDxzdHJpbmc+ID0+IHN1Y2NlZWQobik7XG5cbi8qKlxuICogUmVhZHMgYW5kIGNvbnZlcnRzIGFsbCBKU09OIGZpbGVzIGZyb20gYSBkaXJlY3RvcnksIHJldHVybmluZyBhIG1hcFxuICogaW5kZXhlZCBieSBmaWxlIGJhc2UgbmFtZSAoaS5lLiBtaW51cyB0aGUgZXh0ZW5zaW9uKSB3aXRoIGFuIG9wdGlvbmFsXG4gKiBuYW1lIHRyYW5zZm9ybWF0aW9uIGFwcGxpZWQgaWYgcHJlc2VudC5cbiAqIEBwYXJhbSBzcmNQYXRoIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gYmUgcmVhZFxuICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyB0byBjb250cm9sIGNvbnZlcnNpb24gYW5kIGZpbHRlcmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEpzb25EaXJlY3RvcnlUb01hcFN5bmM8VCwgVEM9dW5rbm93bj4oc3JjUGF0aDogc3RyaW5nLCBvcHRpb25zOiBEaXJlY3RvcnlUb01hcENvbnZlcnRPcHRpb25zPFQsIFRDPik6IFJlc3VsdDxNYXA8c3RyaW5nLCBUPj4ge1xuICAgIHJldHVybiBjb252ZXJ0SnNvbkRpcmVjdG9yeVN5bmMoc3JjUGF0aCwgb3B0aW9ucykub25TdWNjZXNzKChpdGVtcykgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1OYW1lID0gb3B0aW9ucy50cmFuc2Zvcm1OYW1lID8/IGRlZmF1bHROYW1lVHJhbnNmb3JtZXI7XG4gICAgICAgIHJldHVybiBtYXBSZXN1bHRzKGl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGl0ZW0uZmlsZW5hbWUsICcuanNvbicpO1xuICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU5hbWUoYmFzZW5hbWUsIGl0ZW0uaXRlbSkub25TdWNjZXNzKChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQ8W3N0cmluZywgVF0+KFtuYW1lLCBpdGVtLml0ZW1dKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSkub25TdWNjZXNzKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHN1Y2NlZWQobmV3IE1hcDxzdHJpbmcsIFQ+KGl0ZW1zKSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIHdyaXRlIHR5cGUtc2FmZSBKU09OIHRvIGEgZmlsZVxuICogQHBhcmFtIHNyY1BhdGggUGF0aCBvZiB0aGUgZmlsZSB0byB3cml0ZVxuICogQHBhcmFtIHZhbHVlIFRoZSBKU09OIG9iamVjdCB0byBiZSB3cml0dGVuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZUpzb25GaWxlU3luYyhzcmNQYXRoOiBzdHJpbmcsIHZhbHVlOiBKc29uVmFsdWUpOiBSZXN1bHQ8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBjYXB0dXJlUmVzdWx0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLnJlc29sdmUoc3JjUGF0aCk7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoZnVsbFBhdGgsIEpTT04uc3RyaW5naWZ5KHZhbHVlLCB1bmRlZmluZWQsIDIpKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG59XG4iXX0=
|
package/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from './common';
|
|
2
|
-
export * from './jsonConverter';
|
|
3
|
-
export * from './jsonEditor/jsonEditor';
|
|
4
|
-
export { JsonEditorOptions, JsonEditorValidationOptions } from './jsonEditor/common';
|
|
5
|
-
export * as EditorRules from './jsonEditor/rules';
|
|
6
|
-
export { CompositeJsonMap, } from './compositeJsonMap';
|
|
7
|
-
export { PrefixedJsonMap, SimpleJsonMap, } from './jsonReferenceMap';
|
|
8
|
-
export { JsonReferenceMap, JsonReferenceMapFailureReason, TemplateVars, JsonContext, } from './jsonContext';
|
|
9
|
-
export * as Converters from './converters';
|
|
10
|
-
export * as File from './file';
|
package/index.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
-
if (k2 === undefined) k2 = k;
|
|
25
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
-
}
|
|
29
|
-
Object.defineProperty(o, k2, desc);
|
|
30
|
-
}) : (function(o, m, k, k2) {
|
|
31
|
-
if (k2 === undefined) k2 = k;
|
|
32
|
-
o[k2] = m[k];
|
|
33
|
-
}));
|
|
34
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
-
}) : function(o, v) {
|
|
37
|
-
o["default"] = v;
|
|
38
|
-
});
|
|
39
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
40
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
41
|
-
};
|
|
42
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
43
|
-
if (mod && mod.__esModule) return mod;
|
|
44
|
-
var result = {};
|
|
45
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
46
|
-
__setModuleDefault(result, mod);
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.File = exports.Converters = exports.SimpleJsonMap = exports.PrefixedJsonMap = exports.CompositeJsonMap = exports.EditorRules = void 0;
|
|
51
|
-
__exportStar(require("./common"), exports);
|
|
52
|
-
__exportStar(require("./jsonConverter"), exports);
|
|
53
|
-
__exportStar(require("./jsonEditor/jsonEditor"), exports);
|
|
54
|
-
exports.EditorRules = __importStar(require("./jsonEditor/rules"));
|
|
55
|
-
var compositeJsonMap_1 = require("./compositeJsonMap");
|
|
56
|
-
Object.defineProperty(exports, "CompositeJsonMap", { enumerable: true, get: function () { return compositeJsonMap_1.CompositeJsonMap; } });
|
|
57
|
-
var jsonReferenceMap_1 = require("./jsonReferenceMap");
|
|
58
|
-
Object.defineProperty(exports, "PrefixedJsonMap", { enumerable: true, get: function () { return jsonReferenceMap_1.PrefixedJsonMap; } });
|
|
59
|
-
Object.defineProperty(exports, "SimpleJsonMap", { enumerable: true, get: function () { return jsonReferenceMap_1.SimpleJsonMap; } });
|
|
60
|
-
exports.Converters = __importStar(require("./converters"));
|
|
61
|
-
exports.File = __importStar(require("./file"));
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwyQ0FBeUI7QUFDekIsa0RBQWdDO0FBQ2hDLDBEQUF3QztBQUV4QyxrRUFBa0Q7QUFDbEQsdURBRTRCO0FBRHhCLG9IQUFBLGdCQUFnQixPQUFBO0FBRXBCLHVEQUc0QjtBQUZ4QixtSEFBQSxlQUFlLE9BQUE7QUFDZixpSEFBQSxhQUFhLE9BQUE7QUFRakIsMkRBQTJDO0FBQzNDLCtDQUErQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2pzb25Db252ZXJ0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9qc29uRWRpdG9yL2pzb25FZGl0b3InO1xuZXhwb3J0IHsgSnNvbkVkaXRvck9wdGlvbnMsIEpzb25FZGl0b3JWYWxpZGF0aW9uT3B0aW9ucyB9IGZyb20gJy4vanNvbkVkaXRvci9jb21tb24nO1xuZXhwb3J0ICogYXMgRWRpdG9yUnVsZXMgZnJvbSAnLi9qc29uRWRpdG9yL3J1bGVzJztcbmV4cG9ydCB7XG4gICAgQ29tcG9zaXRlSnNvbk1hcCxcbn0gZnJvbSAnLi9jb21wb3NpdGVKc29uTWFwJztcbmV4cG9ydCB7XG4gICAgUHJlZml4ZWRKc29uTWFwLFxuICAgIFNpbXBsZUpzb25NYXAsXG59IGZyb20gJy4vanNvblJlZmVyZW5jZU1hcCc7XG5leHBvcnQge1xuICAgIEpzb25SZWZlcmVuY2VNYXAsXG4gICAgSnNvblJlZmVyZW5jZU1hcEZhaWx1cmVSZWFzb24sXG4gICAgVGVtcGxhdGVWYXJzLFxuICAgIEpzb25Db250ZXh0LFxufSBmcm9tICcuL2pzb25Db250ZXh0JztcbmV4cG9ydCAqIGFzIENvbnZlcnRlcnMgZnJvbSAnLi9jb252ZXJ0ZXJzJztcbmV4cG9ydCAqIGFzIEZpbGUgZnJvbSAnLi9maWxlJztcbiJdfQ==
|
package/jsonContext.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { DetailedResult, Result } from '@fgv/ts-utils';
|
|
2
|
-
import { JsonObject, JsonValue } from './common';
|
|
3
|
-
/**
|
|
4
|
-
* Collection of variable used for template replacement in a JSON edit or conversion.
|
|
5
|
-
*/
|
|
6
|
-
export type TemplateVars = Record<string, unknown>;
|
|
7
|
-
/**
|
|
8
|
-
* Describes one value in a TemplateVars collection of variables
|
|
9
|
-
*/
|
|
10
|
-
export type VariableValue = [string, unknown];
|
|
11
|
-
/**
|
|
12
|
-
* Function used to create a new collection of template vars with one or more
|
|
13
|
-
* new or changed values.
|
|
14
|
-
*/
|
|
15
|
-
export type TemplateVarsExtendFunction = (base: TemplateVars | undefined, values: VariableValue[]) => Result<TemplateVars | undefined>;
|
|
16
|
-
/**
|
|
17
|
-
* This default implementation of a TemplateVarsExtendFunction creates a new collection
|
|
18
|
-
* via inheritance from the supplied collection
|
|
19
|
-
* @param base The base variables to be extendend
|
|
20
|
-
* @param values The values to be added or overridden in the new variables
|
|
21
|
-
*/
|
|
22
|
-
export declare function defaultExtendVars(base: TemplateVars | undefined, values: VariableValue[]): Result<TemplateVars | undefined>;
|
|
23
|
-
/**
|
|
24
|
-
* Failure reason for @see JsonReferenceMap lookup, where 'unknown' means
|
|
25
|
-
* that the object is not present in the map and 'error' means
|
|
26
|
-
* that an error occurred while retrieving or converting it.
|
|
27
|
-
*/
|
|
28
|
-
export type JsonReferenceMapFailureReason = 'unknown' | 'error';
|
|
29
|
-
/**
|
|
30
|
-
* Interface for a simple map that returns named @see JsonValue values with templating, conditional logic,
|
|
31
|
-
* and external reference lookups applied using an optionally supplied context.
|
|
32
|
-
*/
|
|
33
|
-
export interface JsonReferenceMap {
|
|
34
|
-
/**
|
|
35
|
-
* Determine if a key might be valid for this map but does not determine if key actually
|
|
36
|
-
* exists. Allows key range to be constrained.
|
|
37
|
-
* @param key key to be tested
|
|
38
|
-
* @returns true if the key is in the valid range, false otherwise.
|
|
39
|
-
*/
|
|
40
|
-
keyIsInRange(key: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Determines if an object with the specified key actually exists in the map.
|
|
43
|
-
* @param key key to be tested
|
|
44
|
-
* @returns true if an object with the specified key exists, false otherwise.
|
|
45
|
-
*/
|
|
46
|
-
has(key: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Gets a JSON object specified by key.
|
|
49
|
-
* @param key key of the object to be retrieved
|
|
50
|
-
* @param vars optional variables used to format the object
|
|
51
|
-
* @param refs optional object map to resolve external references
|
|
52
|
-
* @returns Success with the formatted object if successful. Failure with detail 'unknown'
|
|
53
|
-
* if no such object exists, or failure with detail 'error' if the object was found but
|
|
54
|
-
* could not be formatted.
|
|
55
|
-
*/
|
|
56
|
-
getJsonObject(key: string, context?: JsonContext): DetailedResult<JsonObject, JsonReferenceMapFailureReason>;
|
|
57
|
-
/**
|
|
58
|
-
* Gets a JSON value specified by key.
|
|
59
|
-
* @param key key of the object to be retrieved
|
|
60
|
-
* @param context Optional @see JsonContext used to format the value
|
|
61
|
-
* @returns Success with the formatted object if successful. Failure with detail 'unknown'
|
|
62
|
-
* if no such object exists, or failure with detail 'error' if the object was found but
|
|
63
|
-
* could not be formatted.
|
|
64
|
-
*/
|
|
65
|
-
getJsonValue(key: string, context?: JsonContext): DetailedResult<JsonValue, JsonReferenceMapFailureReason>;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Context used to convert or edit JSON objects.
|
|
69
|
-
*/
|
|
70
|
-
export interface JsonContext {
|
|
71
|
-
vars?: TemplateVars;
|
|
72
|
-
refs?: JsonReferenceMap;
|
|
73
|
-
extendVars?: TemplateVarsExtendFunction;
|
|
74
|
-
}
|
package/jsonContext.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020 Erik Fortune
|
|
4
|
-
*
|
|
5
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
* in the Software without restriction, including without limitation the rights
|
|
8
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
* furnished to do so, subject to the following conditions:
|
|
11
|
-
*
|
|
12
|
-
* The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
* copies or substantial portions of the Software.
|
|
14
|
-
*
|
|
15
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
* SOFTWARE.
|
|
22
|
-
*/
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.defaultExtendVars = void 0;
|
|
25
|
-
const ts_utils_1 = require("@fgv/ts-utils");
|
|
26
|
-
/**
|
|
27
|
-
* This default implementation of a TemplateVarsExtendFunction creates a new collection
|
|
28
|
-
* via inheritance from the supplied collection
|
|
29
|
-
* @param base The base variables to be extendend
|
|
30
|
-
* @param values The values to be added or overridden in the new variables
|
|
31
|
-
*/
|
|
32
|
-
function defaultExtendVars(base, values) {
|
|
33
|
-
const rtrn = (base ? Object.create(base) : {});
|
|
34
|
-
for (const v of values) {
|
|
35
|
-
rtrn[v[0]] = v[1];
|
|
36
|
-
}
|
|
37
|
-
return (0, ts_utils_1.succeed)(rtrn);
|
|
38
|
-
}
|
|
39
|
-
exports.defaultExtendVars = defaultExtendVars;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvanNvbkNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRzs7O0FBRUgsNENBQWdFO0FBbUJoRTs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLElBQTRCLEVBQUUsTUFBdUI7SUFDbkYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFO1FBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckI7SUFDRCxPQUFPLElBQUEsa0JBQU8sRUFBQyxJQUFJLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBTkQsOENBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEVyaWsgRm9ydHVuZVxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgRGV0YWlsZWRSZXN1bHQsIFJlc3VsdCwgc3VjY2VlZCB9IGZyb20gJ0BmZ3YvdHMtdXRpbHMnO1xuaW1wb3J0IHsgSnNvbk9iamVjdCwgSnNvblZhbHVlIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdmFyaWFibGUgdXNlZCBmb3IgdGVtcGxhdGUgcmVwbGFjZW1lbnQgaW4gYSBKU09OIGVkaXQgb3IgY29udmVyc2lvbi5cbiAqL1xuZXhwb3J0IHR5cGUgVGVtcGxhdGVWYXJzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKlxuICogRGVzY3JpYmVzIG9uZSB2YWx1ZSBpbiBhIFRlbXBsYXRlVmFycyBjb2xsZWN0aW9uIG9mIHZhcmlhYmxlc1xuICovXG5leHBvcnQgdHlwZSBWYXJpYWJsZVZhbHVlID0gW3N0cmluZywgdW5rbm93bl07XG5cbi8qKlxuICogRnVuY3Rpb24gdXNlZCB0byBjcmVhdGUgYSBuZXcgY29sbGVjdGlvbiBvZiB0ZW1wbGF0ZSB2YXJzIHdpdGggb25lIG9yIG1vcmVcbiAqIG5ldyBvciBjaGFuZ2VkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IHR5cGUgVGVtcGxhdGVWYXJzRXh0ZW5kRnVuY3Rpb24gPSAoYmFzZTogVGVtcGxhdGVWYXJzfHVuZGVmaW5lZCwgdmFsdWVzOiBWYXJpYWJsZVZhbHVlW10pID0+IFJlc3VsdDxUZW1wbGF0ZVZhcnN8dW5kZWZpbmVkPjtcblxuLyoqXG4gKiBUaGlzIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgYSBUZW1wbGF0ZVZhcnNFeHRlbmRGdW5jdGlvbiBjcmVhdGVzIGEgbmV3IGNvbGxlY3Rpb25cbiAqIHZpYSBpbmhlcml0YW5jZSBmcm9tIHRoZSBzdXBwbGllZCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0gYmFzZSBUaGUgYmFzZSB2YXJpYWJsZXMgdG8gYmUgZXh0ZW5kZW5kXG4gKiBAcGFyYW0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgYWRkZWQgb3Igb3ZlcnJpZGRlbiBpbiB0aGUgbmV3IHZhcmlhYmxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEV4dGVuZFZhcnMoYmFzZTogVGVtcGxhdGVWYXJzfHVuZGVmaW5lZCwgdmFsdWVzOiBWYXJpYWJsZVZhbHVlW10pOiBSZXN1bHQ8VGVtcGxhdGVWYXJzfHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHJ0cm4gPSAoYmFzZSA/IE9iamVjdC5jcmVhdGUoYmFzZSkgOiB7fSk7XG4gICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xuICAgICAgICBydHJuW3ZbMF1dID0gdlsxXTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2NlZWQocnRybik7XG59XG5cbi8qKlxuICogRmFpbHVyZSByZWFzb24gZm9yIEBzZWUgSnNvblJlZmVyZW5jZU1hcCBsb29rdXAsIHdoZXJlICd1bmtub3duJyBtZWFuc1xuICogdGhhdCB0aGUgb2JqZWN0IGlzIG5vdCBwcmVzZW50IGluIHRoZSBtYXAgYW5kICdlcnJvcicgbWVhbnNcbiAqIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBvciBjb252ZXJ0aW5nIGl0LlxuICovXG5leHBvcnQgdHlwZSBKc29uUmVmZXJlbmNlTWFwRmFpbHVyZVJlYXNvbiA9ICd1bmtub3duJ3wnZXJyb3InO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW1wbGUgbWFwIHRoYXQgcmV0dXJucyBuYW1lZCBAc2VlIEpzb25WYWx1ZSB2YWx1ZXMgd2l0aCB0ZW1wbGF0aW5nLCBjb25kaXRpb25hbCBsb2dpYyxcbiAqIGFuZCBleHRlcm5hbCByZWZlcmVuY2UgbG9va3VwcyBhcHBsaWVkIHVzaW5nIGFuIG9wdGlvbmFsbHkgc3VwcGxpZWQgY29udGV4dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uUmVmZXJlbmNlTWFwIHtcbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgaWYgYSBrZXkgbWlnaHQgYmUgdmFsaWQgZm9yIHRoaXMgbWFwIGJ1dCBkb2VzIG5vdCBkZXRlcm1pbmUgaWYga2V5IGFjdHVhbGx5XG4gICAgICogZXhpc3RzLiBBbGxvd3Mga2V5IHJhbmdlIHRvIGJlIGNvbnN0cmFpbmVkLlxuICAgICAqIEBwYXJhbSBrZXkga2V5IHRvIGJlIHRlc3RlZFxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGtleSBpcyBpbiB0aGUgdmFsaWQgcmFuZ2UsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBrZXlJc0luUmFuZ2Uoa2V5OiBzdHJpbmcpOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiBhbiBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBhY3R1YWxseSBleGlzdHMgaW4gdGhlIG1hcC5cbiAgICAgKiBAcGFyYW0ga2V5IGtleSB0byBiZSB0ZXN0ZWRcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIGFuIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgSlNPTiBvYmplY3Qgc3BlY2lmaWVkIGJ5IGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IGtleSBvZiB0aGUgb2JqZWN0IHRvIGJlIHJldHJpZXZlZFxuICAgICAqIEBwYXJhbSB2YXJzIG9wdGlvbmFsIHZhcmlhYmxlcyB1c2VkIHRvIGZvcm1hdCB0aGUgb2JqZWN0XG4gICAgICogQHBhcmFtIHJlZnMgb3B0aW9uYWwgb2JqZWN0IG1hcCB0byByZXNvbHZlIGV4dGVybmFsIHJlZmVyZW5jZXNcbiAgICAgKiBAcmV0dXJucyBTdWNjZXNzIHdpdGggdGhlIGZvcm1hdHRlZCBvYmplY3QgaWYgc3VjY2Vzc2Z1bC4gRmFpbHVyZSB3aXRoIGRldGFpbCAndW5rbm93bidcbiAgICAgKiBpZiBubyBzdWNoIG9iamVjdCBleGlzdHMsIG9yIGZhaWx1cmUgd2l0aCBkZXRhaWwgJ2Vycm9yJyBpZiB0aGUgb2JqZWN0IHdhcyBmb3VuZCBidXRcbiAgICAgKiBjb3VsZCBub3QgYmUgZm9ybWF0dGVkLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICAgIGdldEpzb25PYmplY3Qoa2V5OiBzdHJpbmcsIGNvbnRleHQ/OiBKc29uQ29udGV4dCk6IERldGFpbGVkUmVzdWx0PEpzb25PYmplY3QsIEpzb25SZWZlcmVuY2VNYXBGYWlsdXJlUmVhc29uPjtcblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBKU09OIHZhbHVlIHNwZWNpZmllZCBieSBrZXkuXG4gICAgICogQHBhcmFtIGtleSBrZXkgb2YgdGhlIG9iamVjdCB0byBiZSByZXRyaWV2ZWRcbiAgICAgKiBAcGFyYW0gY29udGV4dCBPcHRpb25hbCBAc2VlIEpzb25Db250ZXh0IHVzZWQgdG8gZm9ybWF0IHRoZSB2YWx1ZVxuICAgICAqIEByZXR1cm5zIFN1Y2Nlc3Mgd2l0aCB0aGUgZm9ybWF0dGVkIG9iamVjdCBpZiBzdWNjZXNzZnVsLiBGYWlsdXJlIHdpdGggZGV0YWlsICd1bmtub3duJ1xuICAgICAqIGlmIG5vIHN1Y2ggb2JqZWN0IGV4aXN0cywgb3IgZmFpbHVyZSB3aXRoIGRldGFpbCAnZXJyb3InIGlmIHRoZSBvYmplY3Qgd2FzIGZvdW5kIGJ1dFxuICAgICAqIGNvdWxkIG5vdCBiZSBmb3JtYXR0ZWQuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgZ2V0SnNvblZhbHVlKGtleTogc3RyaW5nLCBjb250ZXh0PzogSnNvbkNvbnRleHQpOiBEZXRhaWxlZFJlc3VsdDxKc29uVmFsdWUsIEpzb25SZWZlcmVuY2VNYXBGYWlsdXJlUmVhc29uPjtcbn1cblxuLyoqXG4gKiBDb250ZXh0IHVzZWQgdG8gY29udmVydCBvciBlZGl0IEpTT04gb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uQ29udGV4dCB7XG4gICAgdmFycz86IFRlbXBsYXRlVmFycztcbiAgICByZWZzPzogSnNvblJlZmVyZW5jZU1hcDtcbiAgICBleHRlbmRWYXJzPzogVGVtcGxhdGVWYXJzRXh0ZW5kRnVuY3Rpb247XG59XG5cbiJdfQ==
|
package/jsonConverter.d.ts
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { BaseConverter, Converter, Result } from '@fgv/ts-utils';
|
|
2
|
-
import { JsonArray, JsonObject, JsonValue } from './common';
|
|
3
|
-
import { JsonContext, JsonReferenceMap, TemplateVars, TemplateVarsExtendFunction } from './jsonContext';
|
|
4
|
-
import { JsonEditor } from './jsonEditor/jsonEditor';
|
|
5
|
-
/**
|
|
6
|
-
* Conversion options for JsonConverter
|
|
7
|
-
*/
|
|
8
|
-
export interface JsonConverterOptions {
|
|
9
|
-
/**
|
|
10
|
-
* If true and if template variables are available,
|
|
11
|
-
* then string property values will be rendered using
|
|
12
|
-
* mustache and those variables. Otherwise string properties
|
|
13
|
-
* are copied without modification.
|
|
14
|
-
*
|
|
15
|
-
* Defaults to true if vars are supplied with options,
|
|
16
|
-
* false otherwise.
|
|
17
|
-
*/
|
|
18
|
-
useValueTemplates: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* If true and if template variables are available,
|
|
21
|
-
* then string property names will be rendered using
|
|
22
|
-
* mustache and those variables. Otherwise string properties
|
|
23
|
-
* are copied without modification.
|
|
24
|
-
*
|
|
25
|
-
* Defaults to true if vars are supplied with options,
|
|
26
|
-
* false otherwise.
|
|
27
|
-
*/
|
|
28
|
-
useNameTemplates: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* If true and if template variables are available,
|
|
31
|
-
* then string property names will be considered for
|
|
32
|
-
* conditionals.
|
|
33
|
-
*
|
|
34
|
-
* Default is to match useNameTemplates
|
|
35
|
-
*/
|
|
36
|
-
useConditionalNames: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* If true (default) then properties with unconditional names
|
|
39
|
-
* (which start with !) are flattened.
|
|
40
|
-
*/
|
|
41
|
-
flattenUnconditionalValues: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* If true and if both template variables and a
|
|
44
|
-
* context derivation function is available, then properties
|
|
45
|
-
* which match the multi-value name pattern will be expanded.
|
|
46
|
-
* Default matches useNameTemplates.
|
|
47
|
-
*
|
|
48
|
-
* Default is true unless extendVars is explicitly set to
|
|
49
|
-
* undefined.
|
|
50
|
-
*/
|
|
51
|
-
useMultiValueTemplateNames: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* The variables (mustache view) used to render templated string names
|
|
54
|
-
* and properties. See the mustache documentation for details of mustache
|
|
55
|
-
* syntax and the template view.
|
|
56
|
-
*/
|
|
57
|
-
vars?: TemplateVars;
|
|
58
|
-
/**
|
|
59
|
-
* Method used to extend variables for children of an array node during
|
|
60
|
-
* expansion. Default is to use a built-in extension function unless
|
|
61
|
-
* extendVars is explicitly set to undefined.
|
|
62
|
-
*/
|
|
63
|
-
extendVars?: TemplateVarsExtendFunction;
|
|
64
|
-
/**
|
|
65
|
-
* If true and if a references map is supplied, then
|
|
66
|
-
* references in the source object will be replaced with
|
|
67
|
-
* the corresponding value from the map.
|
|
68
|
-
*
|
|
69
|
-
* Default is true if refs are present in options, false
|
|
70
|
-
* otherwise.
|
|
71
|
-
*/
|
|
72
|
-
useReferences: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* An optional object map used to insert any references in the
|
|
75
|
-
* converted JSON.
|
|
76
|
-
*/
|
|
77
|
-
refs?: JsonReferenceMap;
|
|
78
|
-
/**
|
|
79
|
-
* If onInvalidPropertyName is 'error' (default) then any property name
|
|
80
|
-
* that is invalid after template rendering causes an error and stops
|
|
81
|
-
* conversion. If onInvalidPropertyName is 'ignore', then names which
|
|
82
|
-
* are invalid after template rendering are passed through unchanged.
|
|
83
|
-
*/
|
|
84
|
-
onInvalidPropertyName: 'error' | 'ignore';
|
|
85
|
-
/**
|
|
86
|
-
* If onInvalidPropertyValue is 'error' (default) then any illegal
|
|
87
|
-
* property value causes an error and stops conversion. If
|
|
88
|
-
* onInvalidPropertyValue is 'ignore' then any invalid property
|
|
89
|
-
* values are silently ignored.
|
|
90
|
-
*/
|
|
91
|
-
onInvalidPropertyValue: 'error' | 'ignore';
|
|
92
|
-
/**
|
|
93
|
-
* If onUnknownPropertyValue is error, then any property with
|
|
94
|
-
* value undefined will cause an error and stop conversion. If
|
|
95
|
-
* onUndefinedPropertyValue is 'ignore' (default) then any
|
|
96
|
-
* property with value undefined is silently ignored.
|
|
97
|
-
*/
|
|
98
|
-
onUndefinedPropertyValue: 'error' | 'ignore';
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Merges an optionally supplied partial set of options with the default
|
|
102
|
-
* converter options, producing a fully-resolved set of ConverterOptions
|
|
103
|
-
* and taking all dynamic rules into account (e.g. template usage enabled
|
|
104
|
-
* if variables are supplied and disabled if not)
|
|
105
|
-
* @param partial An optional partial @see JsonConverterOptions to be merged
|
|
106
|
-
*/
|
|
107
|
-
export declare function mergeDefaultJsonConverterOptions(partial?: Partial<JsonConverterOptions>): JsonConverterOptions;
|
|
108
|
-
/**
|
|
109
|
-
* Creates a new @see JsonContext using values supplied in an optional partial
|
|
110
|
-
* @see JsonConverterOptions
|
|
111
|
-
* @param partial Optional partial @see JsonConverterOptions used to populate the context
|
|
112
|
-
*/
|
|
113
|
-
export declare function contextFromConverterOptions(partial?: Partial<JsonConverterOptions>): JsonContext | undefined;
|
|
114
|
-
/**
|
|
115
|
-
* Creates a new @see JsonEditor from an optionally supplied partial @see JsonConverterOptions.
|
|
116
|
-
* Expands supplied options with default values and constructs an editor with
|
|
117
|
-
* matching configuration and defined rules.
|
|
118
|
-
* @param partial Optional partial @see JsonConverterOptions used to create the editor
|
|
119
|
-
*/
|
|
120
|
-
export declare function converterOptionsToEditor(partial?: Partial<JsonConverterOptions>): Result<JsonEditor>;
|
|
121
|
-
/**
|
|
122
|
-
* A thin wrapper to allow an arbitrary @see JsonEditor to be used via the
|
|
123
|
-
* ts-utils @see Converter pattern.
|
|
124
|
-
*/
|
|
125
|
-
export declare class JsonEditorConverter extends BaseConverter<JsonValue, JsonContext> {
|
|
126
|
-
editor: JsonEditor;
|
|
127
|
-
/**
|
|
128
|
-
* Constructs a new @see JsonEditorConverter which uses the supplied editor
|
|
129
|
-
* @param editor
|
|
130
|
-
*/
|
|
131
|
-
constructor(editor: JsonEditor);
|
|
132
|
-
/**
|
|
133
|
-
* Constructs a new @see JsonEditorConverter which uses the supplied editor
|
|
134
|
-
* @param editor
|
|
135
|
-
*/
|
|
136
|
-
static createWithEditor(editor: JsonEditor): Result<JsonEditorConverter>;
|
|
137
|
-
/**
|
|
138
|
-
* Gets a derived converter which fails if the resulting converted
|
|
139
|
-
* @see JsonValue is not a @see JsonObject
|
|
140
|
-
*/
|
|
141
|
-
object(): Converter<JsonObject, JsonContext>;
|
|
142
|
-
/**
|
|
143
|
-
* Gets a derived converter which fails if the resulting converted
|
|
144
|
-
* @see JsonValue is not a @see JsonArray
|
|
145
|
-
*/
|
|
146
|
-
array(): Converter<JsonArray, JsonContext>;
|
|
147
|
-
protected _convert(from: unknown, context?: JsonContext): Result<JsonValue>;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* A ts-utils @see Converter from unknown to type-safe JSON, optionally rendering
|
|
151
|
-
* any string property names or values using mustache with a supplied view.
|
|
152
|
-
*/
|
|
153
|
-
export declare class JsonConverter extends JsonEditorConverter {
|
|
154
|
-
/**
|
|
155
|
-
* Constructs a new JsonConverter with supplied or default options
|
|
156
|
-
* @param options Optional options to configure the converter
|
|
157
|
-
*/
|
|
158
|
-
constructor(options?: Partial<JsonConverterOptions>);
|
|
159
|
-
/**
|
|
160
|
-
* Creates a new converter.
|
|
161
|
-
* @param options Optional options to configure the converter
|
|
162
|
-
* @returns Success with a new JsonConverter on success, or Failure with an
|
|
163
|
-
* informative message if an error occurs.
|
|
164
|
-
*/
|
|
165
|
-
static create(options?: Partial<JsonConverterOptions>): Result<JsonConverter>;
|
|
166
|
-
}
|
|
167
|
-
export type TemplatedJsonConverterOptions = Omit<JsonConverterOptions, 'useNameTemplates' | 'useValueTemplates' | 'useMultiValueTemplateNames'>;
|
|
168
|
-
/**
|
|
169
|
-
* A ts-utils @see Converter from unknown to type-safe JSON with mustache
|
|
170
|
-
* template rendering and multi-value property name rules enabled regardless
|
|
171
|
-
* of initial context.
|
|
172
|
-
*/
|
|
173
|
-
export declare class TemplatedJsonConverter extends JsonEditorConverter {
|
|
174
|
-
static readonly templateOptions: Partial<JsonConverterOptions>;
|
|
175
|
-
/**
|
|
176
|
-
* Constructs a new @see TemplatedJsonConverter with supplied or
|
|
177
|
-
* default options
|
|
178
|
-
* @param options Optional configuration or context for the converter
|
|
179
|
-
*/
|
|
180
|
-
constructor(options?: Partial<TemplatedJsonConverterOptions>);
|
|
181
|
-
/**
|
|
182
|
-
* Constructs a new @see TemplatedJsonConverter with supplied or
|
|
183
|
-
* default options
|
|
184
|
-
* @param options Optional configuration or context for the converter
|
|
185
|
-
*/
|
|
186
|
-
static create(options?: Partial<TemplatedJsonConverterOptions>): Result<JsonConverter>;
|
|
187
|
-
}
|
|
188
|
-
export type ConditionalJsonConverterOptions = Omit<TemplatedJsonConverterOptions, 'useConditionalNames'>;
|
|
189
|
-
/**
|
|
190
|
-
* A ts-utils @see Converter from unknown to type-safe JSON with mustache
|
|
191
|
-
* template rendering, multi-value property name and conditional property
|
|
192
|
-
* name rules enabled regardless of initial context.
|
|
193
|
-
*/
|
|
194
|
-
export declare class ConditionalJsonConverter extends JsonEditorConverter {
|
|
195
|
-
static readonly conditionalOptions: Partial<JsonConverterOptions>;
|
|
196
|
-
/**
|
|
197
|
-
* Constructs a new @see ConditionalJsonConverter with supplied or
|
|
198
|
-
* default options
|
|
199
|
-
* @param options Optional configuration or context for the converter
|
|
200
|
-
*/
|
|
201
|
-
constructor(options?: Partial<ConditionalJsonConverterOptions>);
|
|
202
|
-
/**
|
|
203
|
-
* Constructs a new @see ConditionalJsonConverter with supplied or
|
|
204
|
-
* default options
|
|
205
|
-
* @param options Optional configuration or context for the converter
|
|
206
|
-
*/
|
|
207
|
-
static create(options?: Partial<ConditionalJsonConverterOptions>): Result<JsonConverter>;
|
|
208
|
-
}
|
|
209
|
-
export type RichJsonConverterOptions = Omit<ConditionalJsonConverterOptions, 'useReferences'>;
|
|
210
|
-
/**
|
|
211
|
-
* A ts-utils @see Converter from unknown to type-safe JSON with mustache
|
|
212
|
-
* template rendering, multi-value property name, conditional property
|
|
213
|
-
* name, and external reference rules enabled regardless of initial context.
|
|
214
|
-
*/
|
|
215
|
-
export declare class RichJsonConverter extends JsonEditorConverter {
|
|
216
|
-
static readonly richOptions: Partial<JsonConverterOptions>;
|
|
217
|
-
/**
|
|
218
|
-
* Constructs a new @see RichJsonConverter with supplied or
|
|
219
|
-
* default options
|
|
220
|
-
* @param options Optional configuration or context for the converter
|
|
221
|
-
*/
|
|
222
|
-
constructor(options?: Partial<RichJsonConverterOptions>);
|
|
223
|
-
/**
|
|
224
|
-
* Constructs a new @see RichJsonConverter with supplied or
|
|
225
|
-
* default options
|
|
226
|
-
* @param options Optional configuration or context for the converter
|
|
227
|
-
*/
|
|
228
|
-
static create(options?: Partial<RichJsonConverterOptions>): Result<JsonConverter>;
|
|
229
|
-
}
|