@znemz/cfn-include 4.1.2 → 4.1.4

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 (44) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +39 -664
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/functions/fn-array-ops.d.ts +11 -0
  5. package/dist/lib/functions/fn-array-ops.d.ts.map +1 -0
  6. package/dist/lib/functions/fn-array-ops.js +75 -0
  7. package/dist/lib/functions/fn-array-ops.js.map +1 -0
  8. package/dist/lib/functions/fn-include.d.ts +6 -0
  9. package/dist/lib/functions/fn-include.d.ts.map +1 -0
  10. package/dist/lib/functions/fn-include.js +201 -0
  11. package/dist/lib/functions/fn-include.js.map +1 -0
  12. package/dist/lib/functions/fn-length.d.ts +3 -0
  13. package/dist/lib/functions/fn-length.d.ts.map +1 -0
  14. package/dist/lib/functions/fn-length.js +13 -0
  15. package/dist/lib/functions/fn-length.js.map +1 -0
  16. package/dist/lib/functions/fn-map.d.ts +3 -0
  17. package/dist/lib/functions/fn-map.d.ts.map +1 -0
  18. package/dist/lib/functions/fn-map.js +44 -0
  19. package/dist/lib/functions/fn-map.js.map +1 -0
  20. package/dist/lib/functions/fn-misc.d.ts +10 -0
  21. package/dist/lib/functions/fn-misc.d.ts.map +1 -0
  22. package/dist/lib/functions/fn-misc.js +216 -0
  23. package/dist/lib/functions/fn-misc.js.map +1 -0
  24. package/dist/lib/functions/fn-object-ops.d.ts +9 -0
  25. package/dist/lib/functions/fn-object-ops.d.ts.map +1 -0
  26. package/dist/lib/functions/fn-object-ops.js +70 -0
  27. package/dist/lib/functions/fn-object-ops.js.map +1 -0
  28. package/dist/lib/functions/fn-string-ops.d.ts +8 -0
  29. package/dist/lib/functions/fn-string-ops.d.ts.map +1 -0
  30. package/dist/lib/functions/fn-string-ops.js +68 -0
  31. package/dist/lib/functions/fn-string-ops.js.map +1 -0
  32. package/dist/lib/functions/helpers.d.ts +6 -0
  33. package/dist/lib/functions/helpers.d.ts.map +1 -0
  34. package/dist/lib/functions/helpers.js +76 -0
  35. package/dist/lib/functions/helpers.js.map +1 -0
  36. package/dist/lib/functions/registry.d.ts +8 -0
  37. package/dist/lib/functions/registry.d.ts.map +1 -0
  38. package/dist/lib/functions/registry.js +47 -0
  39. package/dist/lib/functions/registry.js.map +1 -0
  40. package/dist/lib/functions/types.d.ts +42 -0
  41. package/dist/lib/functions/types.d.ts.map +1 -0
  42. package/dist/lib/functions/types.js +2 -0
  43. package/dist/lib/functions/types.js.map +1 -0
  44. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { RecurseContext, RecurseFn } from './types.js';
2
+ export declare function createFnFlatten(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
3
+ export declare function createFnFlattenDeep(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
4
+ export declare function createFnUniq(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
5
+ export declare function createFnCompact(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
6
+ export declare function createFnConcat(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
7
+ export declare function createFnSort(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
8
+ export declare function createFnSortedUniq(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
9
+ export declare function createFnSortBy(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
10
+ export declare function createFnWithout(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
11
+ //# sourceMappingURL=fn-array-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-array-ops.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/fn-array-ops.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;AAE5E,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,IAClC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,IACtC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,IAC/B,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,IAClC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,IACjC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,IAC/B,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,IACrC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,IACjC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAMjD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,IAClC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAOjD"}
@@ -0,0 +1,75 @@
1
+ import _ from 'lodash';
2
+ export function createFnFlatten(recurse) {
3
+ return async (ctx) => {
4
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
5
+ const obj = cft;
6
+ const json = await recurse({ base, scope, cft: obj['Fn::Flatten'], rootTemplate, caller: 'Fn::Flatten', ...opts });
7
+ return json.flat();
8
+ };
9
+ }
10
+ export function createFnFlattenDeep(recurse) {
11
+ return async (ctx) => {
12
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
13
+ const obj = cft;
14
+ const json = await recurse({ base, scope, cft: obj['Fn::FlattenDeep'], rootTemplate, caller: 'Fn::FlattenDeep', ...opts });
15
+ return json.flat(Infinity);
16
+ };
17
+ }
18
+ export function createFnUniq(recurse) {
19
+ return async (ctx) => {
20
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
21
+ const obj = cft;
22
+ const json = await recurse({ base, scope, cft: obj['Fn::Uniq'], rootTemplate, caller: 'Fn::Uniq', ...opts });
23
+ return [...new Set(json)];
24
+ };
25
+ }
26
+ export function createFnCompact(recurse) {
27
+ return async (ctx) => {
28
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
29
+ const obj = cft;
30
+ const json = await recurse({ base, scope, cft: obj['Fn::Compact'], rootTemplate, caller: 'Fn::Compact', ...opts });
31
+ return json.filter(Boolean);
32
+ };
33
+ }
34
+ export function createFnConcat(recurse) {
35
+ return async (ctx) => {
36
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
37
+ const obj = cft;
38
+ const json = await recurse({ base, scope, cft: obj['Fn::Concat'], rootTemplate, caller: 'Fn::Concat', ...opts });
39
+ return _.concat(...json);
40
+ };
41
+ }
42
+ export function createFnSort(recurse) {
43
+ return async (ctx) => {
44
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
45
+ const obj = cft;
46
+ const array = await recurse({ base, scope, cft: obj['Fn::Sort'], rootTemplate, caller: 'Fn::Sort', ...opts });
47
+ return array.sort();
48
+ };
49
+ }
50
+ export function createFnSortedUniq(recurse) {
51
+ return async (ctx) => {
52
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
53
+ const obj = cft;
54
+ const array = await recurse({ base, scope, cft: obj['Fn::SortedUniq'], rootTemplate, caller: 'Fn::SortedUniq', ...opts });
55
+ return _.sortedUniq(array.sort());
56
+ };
57
+ }
58
+ export function createFnSortBy(recurse) {
59
+ return async (ctx) => {
60
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
61
+ const obj = cft;
62
+ const { list, iteratees } = await recurse({ base, scope, cft: obj['Fn::SortBy'], rootTemplate, caller: 'Fn::SortBy', ...opts });
63
+ return _.sortBy(list, iteratees);
64
+ };
65
+ }
66
+ export function createFnWithout(recurse) {
67
+ return async (ctx) => {
68
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
69
+ const obj = cft;
70
+ const json = await recurse({ base, scope, cft: obj['Fn::Without'], rootTemplate, caller: 'Fn::Without', ...opts });
71
+ const normalized = Array.isArray(json) ? { list: json[0], withouts: json[1] } : json;
72
+ return _.without(normalized.list, ...normalized.withouts);
73
+ };
74
+ }
75
+ //# sourceMappingURL=fn-array-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-array-ops.js","sourceRoot":"","sources":["../../../src/lib/functions/fn-array-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { RecurseContext, RecurseFn, FnIncludeContext } from './types.js';
2
+ export declare function createFnInclude(recurse: RecurseFn): {
3
+ fnInclude: (ctx: FnIncludeContext) => Promise<any>;
4
+ handleFnIncludeInRecurse: (ctx: RecurseContext) => Promise<any>;
5
+ };
6
+ //# sourceMappingURL=fn-include.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-include.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/fn-include.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAyE,MAAM,YAAY,CAAC;AAKrJ,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS;qBAClB,gBAAgB,KAAG,OAAO,CAAC,GAAG,CAAC;oCA0KhB,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC;EAY3E"}
@@ -0,0 +1,201 @@
1
+ import url from 'node:url';
2
+ import path from 'node:path';
3
+ import _ from 'lodash';
4
+ import { glob } from 'glob';
5
+ import request from '../request.js';
6
+ import { S3Client, GetObjectCommand } from '@aws-sdk/client-s3';
7
+ import { addProxyToClient } from 'aws-sdk-v3-proxy';
8
+ import * as yaml from '../yaml.js';
9
+ import { getParser } from '../include/query.js';
10
+ import parseLocation from '../parselocation.js';
11
+ import replaceEnv from '../replaceEnv.js';
12
+ import { isOurExplicitFunction } from '../schema.js';
13
+ import { cachedReadFile } from '../cache.js';
14
+ import { findAndReplace, interpolate, JSONifyString } from './helpers.js';
15
+ const S3 = (opts = {}) => addProxyToClient(new S3Client(opts), { throwOnNoProxy: false });
16
+ const s3 = S3();
17
+ export function createFnInclude(recurse) {
18
+ async function fnInclude(ctx) {
19
+ const { base, scope, cft: cftArg, ...opts } = ctx;
20
+ let cft = fnIncludeOpts(cftArg, opts);
21
+ cft = _.defaults(cft, { type: 'json' });
22
+ let procTemplate = async (template, inject = cft.inject, doEnv = opts.doEnv) => replaceEnv(template, inject, doEnv);
23
+ const handleInjectSetup = () => {
24
+ if (cft.inject) {
25
+ const origProcTemplate = procTemplate;
26
+ procTemplate = async (template) => {
27
+ try {
28
+ const inject = (await recurse({ base, scope, cft: cft.inject, ...opts }));
29
+ const processed = await origProcTemplate(template, inject, opts.doEnv);
30
+ return replaceEnv(processed, inject, opts.doEnv);
31
+ }
32
+ catch {
33
+ return '';
34
+ }
35
+ };
36
+ }
37
+ };
38
+ handleInjectSetup();
39
+ if (cft.doLog) {
40
+ console.log({ base, scope, args: cft, ...opts });
41
+ }
42
+ let body;
43
+ let absolute = '';
44
+ const location = parseLocation(cft.location);
45
+ if (!_.isEmpty(location) && !location.protocol) {
46
+ location.protocol = base.protocol;
47
+ }
48
+ if (location.protocol === 'file') {
49
+ absolute = location.relative
50
+ ? path.join(path.dirname(base.path || ''), location.host || '', location.path || '')
51
+ : [location.host, location.path].join('');
52
+ cft.inject = { CFN_INCLUDE_DIRNAME: path.dirname(absolute), ...cft.inject };
53
+ handleInjectSetup();
54
+ if (isGlob(cft, absolute)) {
55
+ const paths = (await glob(absolute)).sort();
56
+ const template = yaml.load(paths.map((_p) => `- Fn::Include: file://${_p}`).join('\n'));
57
+ return recurse({ base, scope, cft: template, rootTemplate: template, ...opts });
58
+ }
59
+ body = cachedReadFile(absolute).then(procTemplate);
60
+ absolute = `${location.protocol}://${absolute}`;
61
+ }
62
+ else if (location.protocol === 's3') {
63
+ const basedir = path.parse(base.path || '').dir;
64
+ const bucket = location.relative ? base.host : location.host;
65
+ let key = location.relative ? url.resolve(`${basedir}/`, location.raw || '') : location.path;
66
+ key = (key || '').replace(/^\//, '');
67
+ absolute = `${location.protocol}://${[bucket, key].join('/')}`;
68
+ body = s3
69
+ .send(new GetObjectCommand({
70
+ Bucket: bucket,
71
+ Key: key,
72
+ }))
73
+ .then((res) => res.Body?.transformToString() || '')
74
+ .then(procTemplate);
75
+ }
76
+ else if (location.protocol?.match(/^https?$/)) {
77
+ const basepath = `${path.parse(base.path || '').dir}/`;
78
+ absolute = location.relative
79
+ ? url.resolve(`${location.protocol}://${base.host}${basepath}`, location.raw || '')
80
+ : location.raw || '';
81
+ body = request(absolute).then(procTemplate);
82
+ }
83
+ return handleIncludeBody({ scope, args: cft, body: body, absolute });
84
+ }
85
+ async function handleIncludeBody(config) {
86
+ const { scope, args, body, absolute } = config;
87
+ const procTemplate = (temp) => replaceEnv(temp, args.inject, args.doEnv);
88
+ try {
89
+ switch (args.type) {
90
+ case 'json': {
91
+ let b = await body;
92
+ b = procTemplate(b);
93
+ const rootTemplate = yaml.load(b);
94
+ const caller = 'handleIncludeBody:json';
95
+ const loopTemplate = (temp) => {
96
+ return recurse({
97
+ base: parseLocation(absolute),
98
+ scope,
99
+ cft: temp,
100
+ caller,
101
+ rootTemplate,
102
+ doEnv: args.doEnv,
103
+ doEval: args.doEval,
104
+ doLog: args.doLog,
105
+ inject: args.inject,
106
+ refNowIgnores: args.refNowIgnores,
107
+ refNowIgnoreMissing: args.refNowIgnoreMissing,
108
+ }).then((_temp) => {
109
+ if (!_temp || !Object.keys(_temp).length) {
110
+ return _temp;
111
+ }
112
+ if (isOurExplicitFunction(Object.keys(_temp)[0])) {
113
+ return loopTemplate(_temp);
114
+ }
115
+ return _temp;
116
+ });
117
+ };
118
+ return loopTemplate(rootTemplate).then(async (temp) => {
119
+ if (!args.query) {
120
+ return temp;
121
+ }
122
+ const query = typeof args.query === 'string'
123
+ ? replaceEnv(args.query, args.inject, args.doEnv)
124
+ : await recurse({
125
+ base: parseLocation(absolute),
126
+ scope,
127
+ cft: args.query,
128
+ caller,
129
+ rootTemplate,
130
+ doEnv: args.doEnv,
131
+ doLog: args.doLog,
132
+ inject: args.inject,
133
+ refNowIgnores: args.refNowIgnores,
134
+ refNowIgnoreMissing: args.refNowIgnoreMissing,
135
+ });
136
+ return getParser(args.parser)(temp, query);
137
+ });
138
+ }
139
+ case 'string': {
140
+ const template = await body;
141
+ return procTemplate(template);
142
+ }
143
+ case 'literal': {
144
+ const template = await body;
145
+ const processed = procTemplate(template);
146
+ let lines = JSONifyString(processed);
147
+ if (_.isPlainObject(args.context)) {
148
+ lines = interpolate(lines, args.context);
149
+ }
150
+ return {
151
+ 'Fn::Join': ['', lines.flat()],
152
+ };
153
+ }
154
+ default:
155
+ throw new Error(`Unknown template type to process type: ${args.type}.`);
156
+ }
157
+ }
158
+ catch (e) {
159
+ if ((replaceEnv.IsRegExVar(absolute) && args.ignoreMissingVar) || args.ignoreMissingFile) {
160
+ return '';
161
+ }
162
+ throw e;
163
+ }
164
+ }
165
+ // Handler for Fn::Include in recurse
166
+ async function handleFnIncludeInRecurse(ctx) {
167
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
168
+ const obj = cft;
169
+ const json = await fnInclude({ base, scope, cft: obj['Fn::Include'], ...opts });
170
+ if (!_.isPlainObject(json))
171
+ return json;
172
+ delete obj['Fn::Include'];
173
+ _.defaults(obj, json);
174
+ const replaced = findAndReplace(scope, obj);
175
+ return recurse({ base, scope, cft: replaced, rootTemplate, caller: 'Fn::Include', ...opts });
176
+ }
177
+ return { fnInclude, handleFnIncludeInRecurse };
178
+ }
179
+ function fnIncludeOptsFromArray(cft, opts) {
180
+ const [location, query, parser = 'lodash'] = cft;
181
+ return { location, query, parser, ...opts };
182
+ }
183
+ function fnIncludeOpts(cft, opts) {
184
+ if (_.isPlainObject(cft)) {
185
+ return _.merge(cft, _.cloneDeep(opts));
186
+ }
187
+ else if (Array.isArray(cft)) {
188
+ return fnIncludeOptsFromArray(cft, opts);
189
+ }
190
+ else {
191
+ const splits = cft.split('|');
192
+ if (splits.length > 1) {
193
+ return fnIncludeOptsFromArray(splits, opts);
194
+ }
195
+ return { location: cft, ...opts };
196
+ }
197
+ }
198
+ function isGlob(args, str) {
199
+ return args.isGlob || /.*\*/.test(str);
200
+ }
201
+ //# sourceMappingURL=fn-include.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-include.js","sourceRoot":"","sources":["../../../src/lib/functions/fn-include.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { RecurseContext, RecurseFn } from './types.js';
2
+ export declare function createFnLength(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
3
+ //# sourceMappingURL=fn-length.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-length.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/fn-length.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;AAE5E,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,IACjC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAUjD"}
@@ -0,0 +1,13 @@
1
+ export function createFnLength(recurse) {
2
+ return async (ctx) => {
3
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
4
+ const obj = cft;
5
+ const arg = obj['Fn::Length'];
6
+ if (Array.isArray(arg)) {
7
+ return arg.length;
8
+ }
9
+ const result = await recurse({ base, scope, cft: arg, rootTemplate, caller: 'Fn::Length', ...opts });
10
+ return Array.isArray(result) ? result.length : 0;
11
+ };
12
+ }
13
+ //# sourceMappingURL=fn-length.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-length.js","sourceRoot":"","sources":["../../../src/lib/functions/fn-length.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,OAAkB;IAC/C,OAAO,KAAK,EAAE,GAAmB,EAAgB,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;QACxD,MAAM,GAAG,GAAG,GAAqB,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACrG,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RecurseContext, RecurseFn } from './types.js';
2
+ export declare function createFnMap(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
3
+ //# sourceMappingURL=fn-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-map.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/fn-map.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAkB,MAAM,YAAY,CAAC;AAE5E,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,IAC9B,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CA2CjD"}
@@ -0,0 +1,44 @@
1
+ import _ from 'lodash';
2
+ import * as PromiseExt from '../promise.js';
3
+ import { createChildScope } from '../scope.js';
4
+ import { findAndReplace } from './helpers.js';
5
+ export function createFnMap(recurse) {
6
+ return async (ctx) => {
7
+ const { base, scope, cft, rootTemplate, ...opts } = ctx;
8
+ const obj = cft;
9
+ const args = obj['Fn::Map'];
10
+ const [list] = args;
11
+ const body = args[args.length - 1];
12
+ let placeholder = args[1];
13
+ let idx;
14
+ let sz;
15
+ let hasindex = false;
16
+ let hassize = false;
17
+ if (Array.isArray(placeholder)) {
18
+ idx = placeholder[1];
19
+ hasindex = true;
20
+ if (placeholder.length > 2) {
21
+ sz = placeholder[2];
22
+ hassize = true;
23
+ }
24
+ placeholder = placeholder[0];
25
+ }
26
+ if (args.length === 2) {
27
+ placeholder = '_';
28
+ }
29
+ let result = await PromiseExt.mapX(recurse({ base, scope, cft: list, rootTemplate, caller: 'Fn::Map', ...opts }), (replace, key) => {
30
+ const additions = { [placeholder]: replace };
31
+ if (hasindex && idx) {
32
+ additions[idx] = key;
33
+ }
34
+ const childScope = createChildScope(scope, additions);
35
+ const replaced = findAndReplace(childScope, _.cloneDeep(body));
36
+ return recurse({ base, scope: childScope, cft: replaced, rootTemplate, caller: 'Fn::Map', ...opts });
37
+ });
38
+ if (hassize && sz) {
39
+ result = findAndReplace({ [sz]: result.length }, result);
40
+ }
41
+ return recurse({ base, scope, cft: result, rootTemplate, caller: 'Fn::Map', ...opts });
42
+ };
43
+ }
44
+ //# sourceMappingURL=fn-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-map.js","sourceRoot":"","sources":["../../../src/lib/functions/fn-map.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,UAAU,WAAW,CAAC,OAAkB;IAC5C,OAAO,KAAK,EAAE,GAAmB,EAAgB,EAAE;QACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;QACxD,MAAM,GAAG,GAAG,GAAqB,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAc,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAsB,CAAC;QAC/C,IAAI,GAAuB,CAAC;QAC5B,IAAI,EAAsB,CAAC;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBACpB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,WAAW,GAAG,GAAG,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,GAAQ,MAAM,UAAU,CAAC,IAAI,CACrC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAW,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,EACpF,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACf,MAAM,SAAS,GAA4B,EAAE,CAAC,WAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;YAChF,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;gBACpB,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YACvB,CAAC;YACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAQ,CAAC;YACtE,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACvG,CAAC,CACF,CAAC;QAEF,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAQ,CAAC;QAClE,CAAC;QACD,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { RecurseContext, RecurseFn } from './types.js';
2
+ export declare function createFnGetEnv(): (ctx: RecurseContext) => Promise<any>;
3
+ export declare function createFnEval(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
4
+ export declare function createFnFilenames(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
5
+ export declare function createFnOutputs(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
6
+ export declare function createFnSequence(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
7
+ export declare function createFnIfEval(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
8
+ export declare function createFnRefNow(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
9
+ export declare function createFnApplyTags(recurse: RecurseFn): (ctx: RecurseContext) => Promise<any>;
10
+ //# sourceMappingURL=fn-misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fn-misc.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/fn-misc.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAiC,MAAM,YAAY,CAAC;AAG3F,wBAAgB,cAAc,KACd,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAajD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,IAC/B,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAgBjD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,IACpC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CA0BjD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,IAClC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CA2BjD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,IACnC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAiBjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,IACjC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAsCjD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,IACjC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CA2DjD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,IACpC,KAAK,cAAc,KAAG,OAAO,CAAC,GAAG,CAAC,CAiCjD"}