@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.
Files changed (127) hide show
  1. package/dist/ts-json.d.ts +1826 -0
  2. package/dist/tsdoc-metadata.json +11 -0
  3. package/lib/index.d.ts +5 -0
  4. package/lib/index.d.ts.map +1 -0
  5. package/lib/index.js +42 -0
  6. package/lib/index.js.map +1 -0
  7. package/lib/packlets/context/compositeJsonMap.d.ts +60 -0
  8. package/lib/packlets/context/compositeJsonMap.d.ts.map +1 -0
  9. package/lib/packlets/context/compositeJsonMap.js +105 -0
  10. package/lib/packlets/context/compositeJsonMap.js.map +1 -0
  11. package/lib/packlets/context/contextHelpers.d.ts +116 -0
  12. package/lib/packlets/context/contextHelpers.d.ts.map +1 -0
  13. package/lib/packlets/context/contextHelpers.js +191 -0
  14. package/lib/packlets/context/contextHelpers.js.map +1 -0
  15. package/lib/packlets/context/index.d.ts +4 -0
  16. package/lib/packlets/context/index.d.ts.map +1 -0
  17. package/lib/packlets/context/index.js +31 -0
  18. package/lib/packlets/context/index.js.map +1 -0
  19. package/lib/packlets/context/jsonContext.d.ts +84 -0
  20. package/lib/packlets/context/jsonContext.d.ts.map +1 -0
  21. package/lib/packlets/context/jsonContext.js +41 -0
  22. package/lib/packlets/context/jsonContext.js.map +1 -0
  23. package/lib/packlets/converters/converters.d.ts +54 -0
  24. package/lib/packlets/converters/converters.d.ts.map +1 -0
  25. package/lib/packlets/converters/converters.js +105 -0
  26. package/lib/packlets/converters/converters.js.map +1 -0
  27. package/lib/packlets/converters/file.d.ts +83 -0
  28. package/lib/packlets/converters/file.d.ts.map +1 -0
  29. package/lib/packlets/converters/file.js +162 -0
  30. package/lib/packlets/converters/file.js.map +1 -0
  31. package/lib/packlets/converters/index.d.ts +5 -0
  32. package/lib/packlets/converters/index.d.ts.map +1 -0
  33. package/lib/packlets/converters/index.js +56 -0
  34. package/lib/packlets/converters/index.js.map +1 -0
  35. package/lib/packlets/converters/jsonConverter.d.ts +276 -0
  36. package/lib/packlets/converters/jsonConverter.d.ts.map +1 -0
  37. package/lib/packlets/converters/jsonConverter.js +310 -0
  38. package/lib/packlets/converters/jsonConverter.js.map +1 -0
  39. package/lib/packlets/editor/common.d.ts +67 -0
  40. package/lib/packlets/editor/common.d.ts.map +1 -0
  41. package/lib/packlets/editor/common.js +3 -0
  42. package/lib/packlets/editor/common.js.map +1 -0
  43. package/lib/packlets/editor/index.d.ts +8 -0
  44. package/lib/packlets/editor/index.d.ts.map +1 -0
  45. package/{jsonEditor → lib/packlets/editor}/index.js +15 -9
  46. package/lib/packlets/editor/index.js.map +1 -0
  47. package/lib/packlets/editor/jsonEditor.d.ts +155 -0
  48. package/lib/packlets/editor/jsonEditor.d.ts.map +1 -0
  49. package/lib/packlets/editor/jsonEditor.js +332 -0
  50. package/lib/packlets/editor/jsonEditor.js.map +1 -0
  51. package/lib/packlets/editor/jsonEditorRule.d.ts +64 -0
  52. package/lib/packlets/editor/jsonEditorRule.d.ts.map +1 -0
  53. package/lib/packlets/editor/jsonEditorRule.js +54 -0
  54. package/lib/packlets/editor/jsonEditorRule.js.map +1 -0
  55. package/lib/packlets/editor/jsonEditorState.d.ts +125 -0
  56. package/lib/packlets/editor/jsonEditorState.d.ts.map +1 -0
  57. package/lib/packlets/editor/jsonEditorState.js +177 -0
  58. package/lib/packlets/editor/jsonEditorState.js.map +1 -0
  59. package/lib/packlets/editor/jsonReferenceMap.d.ts +303 -0
  60. package/lib/packlets/editor/jsonReferenceMap.d.ts.map +1 -0
  61. package/lib/packlets/editor/jsonReferenceMap.js +324 -0
  62. package/lib/packlets/editor/jsonReferenceMap.js.map +1 -0
  63. package/lib/packlets/editor/rules/conditional.d.ts +107 -0
  64. package/lib/packlets/editor/rules/conditional.d.ts.map +1 -0
  65. package/lib/packlets/editor/rules/conditional.js +167 -0
  66. package/lib/packlets/editor/rules/conditional.js.map +1 -0
  67. package/{jsonEditor → lib/packlets/editor}/rules/index.d.ts +1 -0
  68. package/lib/packlets/editor/rules/index.d.ts.map +1 -0
  69. package/lib/packlets/editor/rules/index.js +42 -0
  70. package/lib/packlets/editor/rules/index.js.map +1 -0
  71. package/lib/packlets/editor/rules/multivalue.d.ts +94 -0
  72. package/lib/packlets/editor/rules/multivalue.d.ts.map +1 -0
  73. package/lib/packlets/editor/rules/multivalue.js +141 -0
  74. package/lib/packlets/editor/rules/multivalue.js.map +1 -0
  75. package/lib/packlets/editor/rules/references.d.ts +69 -0
  76. package/lib/packlets/editor/rules/references.d.ts.map +1 -0
  77. package/lib/packlets/editor/rules/references.js +159 -0
  78. package/lib/packlets/editor/rules/references.js.map +1 -0
  79. package/lib/packlets/editor/rules/templates.d.ts +74 -0
  80. package/lib/packlets/editor/rules/templates.d.ts.map +1 -0
  81. package/lib/packlets/editor/rules/templates.js +127 -0
  82. package/lib/packlets/editor/rules/templates.js.map +1 -0
  83. package/lib/packlets/json/common.d.ts +85 -0
  84. package/lib/packlets/json/common.d.ts.map +1 -0
  85. package/lib/packlets/json/common.js +123 -0
  86. package/lib/packlets/json/common.js.map +1 -0
  87. package/lib/packlets/json/index.d.ts +2 -0
  88. package/lib/packlets/json/index.d.ts.map +1 -0
  89. package/lib/packlets/json/index.js +39 -0
  90. package/lib/packlets/json/index.js.map +1 -0
  91. package/package.json +58 -49
  92. package/common.d.ts +0 -58
  93. package/common.js +0 -116
  94. package/compositeJsonMap.d.ts +0 -47
  95. package/compositeJsonMap.js +0 -97
  96. package/contextHelpers.d.ts +0 -21
  97. package/contextHelpers.js +0 -101
  98. package/converters.d.ts +0 -37
  99. package/converters.js +0 -92
  100. package/file.d.ts +0 -60
  101. package/file.js +0 -140
  102. package/index.d.ts +0 -10
  103. package/index.js +0 -62
  104. package/jsonContext.d.ts +0 -74
  105. package/jsonContext.js +0 -40
  106. package/jsonConverter.d.ts +0 -229
  107. package/jsonConverter.js +0 -292
  108. package/jsonEditor/common.d.ts +0 -36
  109. package/jsonEditor/common.js +0 -3
  110. package/jsonEditor/index.d.ts +0 -5
  111. package/jsonEditor/jsonEditor.d.ts +0 -74
  112. package/jsonEditor/jsonEditor.js +0 -259
  113. package/jsonEditor/jsonEditorRule.d.ts +0 -47
  114. package/jsonEditor/jsonEditorRule.js +0 -44
  115. package/jsonEditor/jsonEditorState.d.ts +0 -24
  116. package/jsonEditor/jsonEditorState.js +0 -86
  117. package/jsonEditor/rules/conditional.d.ts +0 -84
  118. package/jsonEditor/rules/conditional.js +0 -146
  119. package/jsonEditor/rules/index.js +0 -21
  120. package/jsonEditor/rules/multivalue.d.ts +0 -78
  121. package/jsonEditor/rules/multivalue.js +0 -129
  122. package/jsonEditor/rules/references.d.ts +0 -62
  123. package/jsonEditor/rules/references.js +0 -158
  124. package/jsonEditor/rules/templates.d.ts +0 -56
  125. package/jsonEditor/rules/templates.js +0 -115
  126. package/jsonReferenceMap.d.ts +0 -138
  127. 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qiw0Q0FBNEY7QUFJNUY7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FBZTtJQUM1QyxPQUFPLElBQUEsd0JBQWEsRUFBQyxHQUFHLEVBQUU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFjLENBQUM7SUFDekMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBTkQsNENBTUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUksT0FBZSxFQUFFLFNBQXVCO0lBQzNFLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUpELGtEQUlDO0FBNEJEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBSSxPQUFlLEVBQUUsT0FBbUM7SUFDNUYsT0FBTyxJQUFBLHdCQUFhLEVBQXlCLEdBQUcsRUFBRTtRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFD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QUU7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFORCw4Q0FNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgRXJpayBGb3J0dW5lXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQ29udmVydGVyLCBSZXN1bHQsIGNhcHR1cmVSZXN1bHQsIGZhaWwsIG1hcFJlc3VsdHMsIHN1Y2NlZWQgfSBmcm9tICdAZmd2L3RzLXV0aWxzJztcblxuaW1wb3J0IHsgSnNvblZhbHVlIH0gZnJvbSAnLi9jb21tb24nO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIHJlYWQgdHlwZS1zYWZlIEpTT04gZnJvbSBhIGZpbGVcbiAqIEBwYXJhbSBzcmNQYXRoIFBhdGggb2YgdGhlIGZpbGUgdG8gcmVhZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZEpzb25GaWxlU3luYyhzcmNQYXRoOiBzdHJpbmcpOiBSZXN1bHQ8SnNvblZhbHVlPiB7XG4gICAgcmV0dXJuIGNhcHR1cmVSZXN1bHQoKCkgPT4ge1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IHBhdGgucmVzb2x2ZShzcmNQYXRoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IGZzLnJlYWRGaWxlU3luYyhmdWxsUGF0aCwgJ3V0ZjgnKS50b1N0cmluZygpO1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShib2R5KSBhcyBKc29uVmFsdWU7XG4gICAgfSk7XG59XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gdG8gcmVhZCBhIEpTT04gZmlsZSBhbmQgYXBwbHkgYSBzdXBwbGllZCBjb252ZXJ0ZXJcbiAqIEBwYXJhbSBzcmNQYXRoIFBhdGggb2YgdGhlIGZpbGUgdG8gcmVhZFxuICogQHBhcmFtIGNvbnZlcnRlciBDb252ZXJ0ZXIgdXNlZCB0byBjb252ZXJ0IHRoZSBmaWxlIGNvbnRlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SnNvbkZpbGVTeW5jPFQ+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==
@@ -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
- }