@cdktn/hcl2json 0.23.0-pre.7 → 0.23.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/build/bridge.d.ts.map +1 -0
- package/build/bridge.js +176 -0
- package/build/deepmerge.d.ts.map +1 -0
- package/build/deepmerge.js +53 -0
- package/build/index.d.ts.map +1 -0
- package/{lib → build}/index.js +1 -1
- package/build/references.d.ts.map +1 -0
- package/build/references.js +77 -0
- package/build/syntax-tree.d.ts.map +1 -0
- package/build/syntax-tree.js +79 -0
- package/build/util.d.ts.map +1 -0
- package/build/util.js +75 -0
- package/main.wasm.gz +0 -0
- package/package.json +6 -6
- package/wasm/wasm_exec.js +26 -5
- package/lib/bridge.d.ts.map +0 -1
- package/lib/bridge.js +0 -177
- package/lib/deepmerge.d.ts.map +0 -1
- package/lib/deepmerge.js +0 -53
- package/lib/index.d.ts.map +0 -1
- package/lib/references.d.ts.map +0 -1
- package/lib/references.js +0 -77
- package/lib/syntax-tree.d.ts.map +0 -1
- package/lib/syntax-tree.js +0 -79
- package/lib/util.d.ts.map +0 -1
- package/lib/util.js +0 -75
- /package/{lib → build}/bridge.d.ts +0 -0
- /package/{lib → build}/deepmerge.d.ts +0 -0
- /package/{lib → build}/index.d.ts +0 -0
- /package/{lib → build}/references.d.ts +0 -0
- /package/{lib → build}/syntax-tree.d.ts +0 -0
- /package/{lib → build}/util.d.ts +0 -0
package/lib/util.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) HashiCorp, Inc.
|
|
4
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.wrapTerraformExpression = exports.replaceQuotes = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* This function is used to escape quotes within a string.
|
|
10
|
-
* Note: This is a really naive implmentation that will not be able to work with
|
|
11
|
-
* nested templates. However, nested templates require parsing, so we will
|
|
12
|
-
* only handle strings without nested templates for the moment
|
|
13
|
-
* @param input The string to escape
|
|
14
|
-
*/
|
|
15
|
-
function replaceQuotes(input) {
|
|
16
|
-
const fullyQuotedMatch = /^(\s*")(.*)("\s*)$/.exec(input);
|
|
17
|
-
const hasTemplate = /(?<!\$)\$\{/.test(input);
|
|
18
|
-
if (fullyQuotedMatch !== null && !hasTemplate) {
|
|
19
|
-
return `${fullyQuotedMatch[1]}${fullyQuotedMatch[2].replace(/"/g, `\\"`)}${fullyQuotedMatch[3]}`;
|
|
20
|
-
}
|
|
21
|
-
return input;
|
|
22
|
-
}
|
|
23
|
-
exports.replaceQuotes = replaceQuotes;
|
|
24
|
-
/**
|
|
25
|
-
* This function is used to wrap a string in quotes conditionally.
|
|
26
|
-
* - If the string is already quoted, it will be returned as-is.
|
|
27
|
-
* - If the string contains a newline, it will be wrapped in a heredoc.
|
|
28
|
-
* - If the string is a number, it will be returned as-is.
|
|
29
|
-
* - If the string is a boolean, it will be returned as-is.
|
|
30
|
-
* - If the string is a list or map, it will be returned as-is.
|
|
31
|
-
*
|
|
32
|
-
* @param input The string to wrap
|
|
33
|
-
* @returns The wrapped string, and the offset of the cursor within the string
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* wrapTerraformExpression("foo") // { wrap: '"foo"', wrapOffset: 1 }
|
|
37
|
-
* wrapTerraformExpression("foo\nbar") // { wrap: '<<EOE\nfoo\nbar\nEOE\n', wrapOffset: 5 }
|
|
38
|
-
* wrapTerraformExpression("22") // { wrap: '22', wrapOffset: 0 }
|
|
39
|
-
* wrapTerraformExpression("true") // { wrap: 'true', wrapOffset: 0 }
|
|
40
|
-
* wrapTerraformExpression("[22, 10]") // { wrap: '[22, 10]', wrapOffset: 0 }
|
|
41
|
-
* wrapTerraformExpression("{ foo = 22 }") // { wrap: '{ foo = 22 }', wrapOffset: 0 }
|
|
42
|
-
*/
|
|
43
|
-
function wrapTerraformExpression(input) {
|
|
44
|
-
input = replaceQuotes(input);
|
|
45
|
-
if (!isNaN(Number(input))) {
|
|
46
|
-
return { wrap: input, wrapOffset: 0 };
|
|
47
|
-
}
|
|
48
|
-
if (input === "true" || input === "false") {
|
|
49
|
-
return { wrap: input, wrapOffset: 0 };
|
|
50
|
-
}
|
|
51
|
-
if (input.startsWith(`"`)) {
|
|
52
|
-
if (input.indexOf("\n") >= 0) {
|
|
53
|
-
const trimWrapped = input.substring(1, input.length - 1);
|
|
54
|
-
return {
|
|
55
|
-
wrap: `<<EOE\n${trimWrapped}\nEOE\n`,
|
|
56
|
-
wrapOffset: 5,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
return { wrap: input, wrapOffset: 0 };
|
|
60
|
-
}
|
|
61
|
-
if (input.startsWith("[") || input.startsWith("{")) {
|
|
62
|
-
return { wrap: input, wrapOffset: 0 };
|
|
63
|
-
}
|
|
64
|
-
if (input.startsWith("<<")) {
|
|
65
|
-
// For Heredocs, we need to ensure that the string ends with an empty newline as
|
|
66
|
-
// the HCL parser doesn't find the ending token otherwise
|
|
67
|
-
if (!input.endsWith("\n")) {
|
|
68
|
-
return { wrap: input + "\n", wrapOffset: 0 };
|
|
69
|
-
}
|
|
70
|
-
return { wrap: input, wrapOffset: 0 };
|
|
71
|
-
}
|
|
72
|
-
return { wrap: `"${input}"`, wrapOffset: 1 };
|
|
73
|
-
}
|
|
74
|
-
exports.wrapTerraformExpression = wrapTerraformExpression;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRzs7O0FBRUg7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLEtBQWE7SUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QyxJQUFJLGdCQUFnQixLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUN0RSxnQkFBZ0IsQ0FBQyxDQUFDLENBQ3BCLEVBQUUsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFYRCxzQ0FXQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxTQUFnQix1QkFBdUIsQ0FBQyxLQUFhO0lBSW5ELEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFVBQVUsV0FBVyxTQUFTO2dCQUNwQyxVQUFVLEVBQUUsQ0FBQzthQUNkLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0IsZ0ZBQWdGO1FBQ2hGLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEtBQUssR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBdkNELDBEQXVDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZXNjYXBlIHF1b3RlcyB3aXRoaW4gYSBzdHJpbmcuXG4gKiAgTm90ZTogVGhpcyBpcyBhIHJlYWxseSBuYWl2ZSBpbXBsbWVudGF0aW9uIHRoYXQgd2lsbCBub3QgYmUgYWJsZSB0byB3b3JrIHdpdGhcbiAqICAgIG5lc3RlZCB0ZW1wbGF0ZXMuIEhvd2V2ZXIsIG5lc3RlZCB0ZW1wbGF0ZXMgcmVxdWlyZSBwYXJzaW5nLCBzbyB3ZSB3aWxsXG4gKiAgICBvbmx5IGhhbmRsZSBzdHJpbmdzIHdpdGhvdXQgbmVzdGVkIHRlbXBsYXRlcyBmb3IgdGhlIG1vbWVudFxuICogQHBhcmFtIGlucHV0IFRoZSBzdHJpbmcgdG8gZXNjYXBlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlUXVvdGVzKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBmdWxseVF1b3RlZE1hdGNoID0gL14oXFxzKlwiKSguKikoXCJcXHMqKSQvLmV4ZWMoaW5wdXQpO1xuICBjb25zdCBoYXNUZW1wbGF0ZSA9IC8oPzwhXFwkKVxcJFxcey8udGVzdChpbnB1dCk7XG5cbiAgaWYgKGZ1bGx5UXVvdGVkTWF0Y2ggIT09IG51bGwgJiYgIWhhc1RlbXBsYXRlKSB7XG4gICAgcmV0dXJuIGAke2Z1bGx5UXVvdGVkTWF0Y2hbMV19JHtmdWxseVF1b3RlZE1hdGNoWzJdLnJlcGxhY2UoL1wiL2csIGBcXFxcXCJgKX0ke1xuICAgICAgZnVsbHlRdW90ZWRNYXRjaFszXVxuICAgIH1gO1xuICB9XG5cbiAgcmV0dXJuIGlucHV0O1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byB3cmFwIGEgc3RyaW5nIGluIHF1b3RlcyBjb25kaXRpb25hbGx5LlxuICogIC0gSWYgdGhlIHN0cmluZyBpcyBhbHJlYWR5IHF1b3RlZCwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcy1pcy5cbiAqICAtIElmIHRoZSBzdHJpbmcgY29udGFpbnMgYSBuZXdsaW5lLCBpdCB3aWxsIGJlIHdyYXBwZWQgaW4gYSBoZXJlZG9jLlxuICogIC0gSWYgdGhlIHN0cmluZyBpcyBhIG51bWJlciwgaXQgd2lsbCBiZSByZXR1cm5lZCBhcy1pcy5cbiAqICAtIElmIHRoZSBzdHJpbmcgaXMgYSBib29sZWFuLCBpdCB3aWxsIGJlIHJldHVybmVkIGFzLWlzLlxuICogIC0gSWYgdGhlIHN0cmluZyBpcyBhIGxpc3Qgb3IgbWFwLCBpdCB3aWxsIGJlIHJldHVybmVkIGFzLWlzLlxuICpcbiAqIEBwYXJhbSBpbnB1dCBUaGUgc3RyaW5nIHRvIHdyYXBcbiAqIEByZXR1cm5zIFRoZSB3cmFwcGVkIHN0cmluZywgYW5kIHRoZSBvZmZzZXQgb2YgdGhlIGN1cnNvciB3aXRoaW4gdGhlIHN0cmluZ1xuICpcbiAqIEBleGFtcGxlXG4gKiB3cmFwVGVycmFmb3JtRXhwcmVzc2lvbihcImZvb1wiKSAvLyB7IHdyYXA6ICdcImZvb1wiJywgd3JhcE9mZnNldDogMSB9XG4gKiB3cmFwVGVycmFmb3JtRXhwcmVzc2lvbihcImZvb1xcbmJhclwiKSAvLyB7IHdyYXA6ICc8PEVPRVxcbmZvb1xcbmJhclxcbkVPRVxcbicsIHdyYXBPZmZzZXQ6IDUgfVxuICogd3JhcFRlcnJhZm9ybUV4cHJlc3Npb24oXCIyMlwiKSAvLyB7IHdyYXA6ICcyMicsIHdyYXBPZmZzZXQ6IDAgfVxuICogd3JhcFRlcnJhZm9ybUV4cHJlc3Npb24oXCJ0cnVlXCIpIC8vIHsgd3JhcDogJ3RydWUnLCB3cmFwT2Zmc2V0OiAwIH1cbiAqIHdyYXBUZXJyYWZvcm1FeHByZXNzaW9uKFwiWzIyLCAxMF1cIikgLy8geyB3cmFwOiAnWzIyLCAxMF0nLCB3cmFwT2Zmc2V0OiAwIH1cbiAqIHdyYXBUZXJyYWZvcm1FeHByZXNzaW9uKFwieyBmb28gPSAyMiB9XCIpIC8vIHsgd3JhcDogJ3sgZm9vID0gMjIgfScsIHdyYXBPZmZzZXQ6IDAgfVxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcFRlcnJhZm9ybUV4cHJlc3Npb24oaW5wdXQ6IHN0cmluZyk6IHtcbiAgd3JhcDogc3RyaW5nO1xuICB3cmFwT2Zmc2V0OiBudW1iZXI7XG59IHtcbiAgaW5wdXQgPSByZXBsYWNlUXVvdGVzKGlucHV0KTtcblxuICBpZiAoIWlzTmFOKE51bWJlcihpbnB1dCkpKSB7XG4gICAgcmV0dXJuIHsgd3JhcDogaW5wdXQsIHdyYXBPZmZzZXQ6IDAgfTtcbiAgfVxuICBpZiAoaW5wdXQgPT09IFwidHJ1ZVwiIHx8IGlucHV0ID09PSBcImZhbHNlXCIpIHtcbiAgICByZXR1cm4geyB3cmFwOiBpbnB1dCwgd3JhcE9mZnNldDogMCB9O1xuICB9XG5cbiAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoYFwiYCkpIHtcbiAgICBpZiAoaW5wdXQuaW5kZXhPZihcIlxcblwiKSA+PSAwKSB7XG4gICAgICBjb25zdCB0cmltV3JhcHBlZCA9IGlucHV0LnN1YnN0cmluZygxLCBpbnB1dC5sZW5ndGggLSAxKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdyYXA6IGA8PEVPRVxcbiR7dHJpbVdyYXBwZWR9XFxuRU9FXFxuYCxcbiAgICAgICAgd3JhcE9mZnNldDogNSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IHdyYXA6IGlucHV0LCB3cmFwT2Zmc2V0OiAwIH07XG4gIH1cblxuICBpZiAoaW5wdXQuc3RhcnRzV2l0aChcIltcIikgfHwgaW5wdXQuc3RhcnRzV2l0aChcIntcIikpIHtcbiAgICByZXR1cm4geyB3cmFwOiBpbnB1dCwgd3JhcE9mZnNldDogMCB9O1xuICB9XG5cbiAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoXCI8PFwiKSkge1xuICAgIC8vIEZvciBIZXJlZG9jcywgd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgc3RyaW5nIGVuZHMgd2l0aCBhbiBlbXB0eSBuZXdsaW5lIGFzXG4gICAgLy8gdGhlIEhDTCBwYXJzZXIgZG9lc24ndCBmaW5kIHRoZSBlbmRpbmcgdG9rZW4gb3RoZXJ3aXNlXG4gICAgaWYgKCFpbnB1dC5lbmRzV2l0aChcIlxcblwiKSkge1xuICAgICAgcmV0dXJuIHsgd3JhcDogaW5wdXQgKyBcIlxcblwiLCB3cmFwT2Zmc2V0OiAwIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgd3JhcDogaW5wdXQsIHdyYXBPZmZzZXQ6IDAgfTtcbiAgfVxuXG4gIHJldHVybiB7IHdyYXA6IGBcIiR7aW5wdXR9XCJgLCB3cmFwT2Zmc2V0OiAxIH07XG59XG4iXX0=
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{lib → build}/util.d.ts
RENAMED
|
File without changes
|