pareto 0.58.0 → 0.60.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/auto.dist/auto.bin/auto.boekhouding.d.ts +2 -0
- package/auto.dist/auto.bin/auto.boekhouding.js +40 -0
- package/auto.dist/data/boekhouding.data.d.ts +2 -0
- package/auto.dist/data/boekhouding.data.js +433 -0
- package/auto.dist/index.d.ts +4 -4
- package/auto.dist/index.js +6 -6
- package/auto.dist/public/modules/{alan__light__serialize → main}/auto.api.d.ts +1 -1
- package/auto.dist/public/modules/{pareto2typescript → main}/auto.api.js +1 -1
- package/auto.dist/public/modules/main/auto.implementation.d.ts +2 -0
- package/auto.dist/public/modules/main/auto.implementation.js +6 -0
- package/auto.dist/public/modules/main/auto.provided_interface_glossary.d.ts +31 -0
- package/auto.dist/public/modules/{pareto2typescript → main}/auto.provided_interface_glossary.js +1 -1
- package/auto.dist/public/modules/main/auto.provided_interface_glossary.shadow.d.ts +12 -0
- package/auto.dist/public/modules/{pareto2typescript → main}/auto.provided_interface_glossary.shadow.js +1 -1
- package/auto.dist/public/modules/main/implementations/temp_$compile_$boekhouding.alg.d.ts +2 -0
- package/auto.dist/public/modules/main/implementations/temp_$compile_$boekhouding.alg.js +83 -0
- package/auto.dist/public/modules/{pareto2typescript → main}/index.js +1 -1
- package/auto.dist/public/modules/{pareto2typescript → pareto__2__fountain__pen}/auto.api.d.ts +1 -1
- package/auto.dist/public/modules/{tendril2alan__light → pareto__2__fountain__pen}/auto.api.js +1 -1
- package/auto.dist/public/modules/pareto__2__fountain__pen/auto.implementation.d.ts +2 -0
- package/auto.dist/public/modules/pareto__2__fountain__pen/auto.implementation.js +6 -0
- package/auto.dist/public/modules/{pareto2typescript → pareto__2__fountain__pen}/auto.provided_interface_glossary.d.ts +22 -41
- package/auto.dist/public/modules/{alan__light__serialize → pareto__2__fountain__pen}/auto.provided_interface_glossary.js +1 -1
- package/auto.dist/public/modules/{pareto2typescript → pareto__2__fountain__pen}/auto.provided_interface_glossary.shadow.d.ts +11 -6
- package/auto.dist/public/modules/{tendril2alan__light → pareto__2__fountain__pen}/auto.provided_interface_glossary.shadow.js +1 -1
- package/auto.dist/public/modules/pareto__2__fountain__pen/implementations/compilationUnit_$2_$Indented_$Lines.alg.d.ts +2 -0
- package/auto.dist/public/modules/pareto__2__fountain__pen/implementations/compilationUnit_$2_$Indented_$Lines.alg.js +54 -0
- package/auto.dist/public/modules/{alan__light__serialize → pareto__2__fountain__pen}/index.js +1 -1
- package/auto.dist/public/modules/{typescript__serialize → string__aware__fountain__pen__2__fountain__pen}/auto.api.js +1 -1
- package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/auto.implementation.js +1 -1
- package/auto.dist/public/modules/string__aware__fountain__pen__2__fountain__pen/auto.provided_interface_glossary.d.ts +90 -0
- package/auto.dist/public/modules/{typescript__serialize → string__aware__fountain__pen__2__fountain__pen}/auto.provided_interface_glossary.js +1 -1
- package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/auto.provided_interface_glossary.shadow.d.ts +2 -2
- package/auto.dist/public/modules/{typescript__serialize → string__aware__fountain__pen__2__fountain__pen}/auto.provided_interface_glossary.shadow.js +1 -1
- package/auto.dist/public/modules/string__aware__fountain__pen__2__fountain__pen/implementations/map.alg.js +65 -0
- package/auto.dist/public/modules/{typescript__serialize → string__aware__fountain__pen__2__fountain__pen}/index.js +1 -1
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/auto.api.d.ts +1 -0
- package/auto.dist/public/modules/{alan__light__serialize → typescript__intermediate__2__fountain__pen}/auto.api.js +1 -1
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/auto.implementation.d.ts +1 -0
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/auto.implementation.js +4 -2
- package/auto.dist/public/modules/typescript__intermediate__2__fountain__pen/auto.provided_interface_glossary.d.ts +148 -0
- package/auto.dist/public/modules/{tendril2alan__light → typescript__intermediate__2__fountain__pen}/auto.provided_interface_glossary.js +1 -1
- package/auto.dist/public/modules/{alan__light__serialize → typescript__intermediate__2__fountain__pen}/auto.provided_interface_glossary.shadow.d.ts +5 -7
- package/auto.dist/public/modules/{alan__light__serialize → typescript__intermediate__2__fountain__pen}/auto.provided_interface_glossary.shadow.js +1 -1
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createApostrophedString.alg.js +2 -3
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createBacktickedString.alg.js +2 -3
- package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createQuotedString.alg.js +3 -3
- package/auto.dist/public/modules/typescript__intermediate__2__fountain__pen/implementations/serialize.alg.js +95 -0
- package/auto.dist/public/modules/{tendril2alan__light → typescript__intermediate__2__fountain__pen}/index.js +1 -1
- package/auto.dist/public/modules/typescript__naming/auto.provided_interface_glossary.d.ts +3 -2
- package/auto.dist/public/modules/typescript__naming/implementations/createIdentifier.alg.js +1 -1
- package/auto.pareto/$.data.ts +8 -10
- package/auto.pareto/auto.dependencies/index.ts +3 -3
- package/auto.pareto/auto.dependencies/pareto-pure/$.data.ts +41 -20
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/index.ts +1 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/$.data.ts +6 -10
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +2 -0
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/array/glossary.data.ts +89 -20
- package/auto.pareto/auto.dependencies/{pareto-standard-library/modules/build → pareto-pure/auto.dependencies/pareto-standard-library/modules/buildInterfaceInitializers}/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/buildInterfaceInitializers/glossary.data.ts +167 -0
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/dictionary/glossary.data.ts +5 -3
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/nested/glossary.data.ts +0 -6
- package/auto.pareto/auto.dependencies/{pareto-standard-library/modules/arithmetic → pareto-pure/auto.dependencies/pareto-standard-library/modules/number}/api.data.ts +3 -1
- package/auto.pareto/auto.dependencies/{pareto-standard-library/modules/arithmetic → pareto-pure/auto.dependencies/pareto-standard-library/modules/number}/glossary.data.ts +11 -17
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/optional/api.data.ts +16 -0
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/optional/glossary.data.ts +36 -0
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +0 -14
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +9 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +19 -1
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/tostring/api.data.ts +0 -5
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/tostring/glossary.data.ts +0 -14
- package/auto.pareto/auto.dependencies/pareto-pure/{auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts → glossaries/astn.data.ts} +11 -14
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/{auto.alan.data.ts → auto.graphviz.data.ts} +491 -264
- package/auto.pareto/auto.dependencies/pareto-pure/{modules/fountain_pen/glossary.data.ts → glossaries/fountain_pen.data.ts} +11 -18
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/lines.data.ts +27 -0
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/string_aware_fountain_pen.data.ts +40 -0
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/testresult.data.ts +137 -0
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/typescript_intermediate.data.ts +68 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/alan_light_2_string_aware_fountain_pen/api.data.ts +20 -0
- package/auto.pareto/{modules/alan_light_serialize → auto.dependencies/pareto-pure/modules/alan_light_2_string_aware_fountain_pen}/glossary.data.ts +5 -6
- package/auto.pareto/auto.dependencies/pareto-pure/{auto.dependencies/pareto-standard-library/modules/json → modules/astn_2_fountain_pen}/api.data.ts +1 -1
- package/auto.pareto/auto.dependencies/pareto-pure/modules/astn_2_fountain_pen/glossary.data.ts +39 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{tendril2pareto → cosmos_type_system_2_graphviz}/api.data.ts +3 -2
- package/auto.pareto/auto.dependencies/pareto-pure/modules/cosmos_type_system_2_graphviz/glossary.data.ts +30 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{cosmos2pareto → cosmos_type_system_2_pareto}/glossary.data.ts +6 -6
- package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen_2_fountain_pen/api.data.ts +17 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen_2_fountain_pen/glossary.data.ts +36 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{fountain_pen → fountain_pen_2_lines}/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-pure/modules/fountain_pen_2_lines/glossary.data.ts +42 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/graphviz_2_string_aware_fountain_pen/api.data.ts +20 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/graphviz_2_string_aware_fountain_pen/glossary.data.ts +40 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/pareto_2_typescript/api.data.ts +16 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/pareto_2_typescript/glossary.data.ts +53 -0
- package/auto.pareto/{modules/tendril2alan_light → auto.dependencies/pareto-pure/modules/tendril_2_alan_light}/glossary.data.ts +5 -7
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{tendril2cosmos_type_system → tendril_2_cosmos_type_system}/glossary.data.ts +6 -6
- package/auto.pareto/auto.dependencies/pareto-pure/modules/tendril_2_pareto/api.data.ts +17 -0
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{tendril2pareto → tendril_2_pareto}/glossary.data.ts +6 -5
- package/auto.pareto/auto.dependencies/pareto-pure/modules/{testresult → testresult_2_testresult}/api.data.ts +0 -2
- package/auto.pareto/auto.dependencies/pareto-standard-library/$.data.ts +6 -10
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/api.data.ts +2 -0
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/array/glossary.data.ts +89 -20
- package/auto.pareto/auto.dependencies/{pareto-pure/auto.dependencies/pareto-standard-library/modules/build → pareto-standard-library/modules/buildInterfaceInitializers}/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/buildInterfaceInitializers/glossary.data.ts +167 -0
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/dictionary/glossary.data.ts +5 -3
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/nested/glossary.data.ts +0 -6
- package/auto.pareto/auto.dependencies/{pareto-pure/auto.dependencies/pareto-standard-library/modules/arithmetic → pareto-standard-library/modules/number}/api.data.ts +3 -1
- package/auto.pareto/auto.dependencies/{pareto-pure/auto.dependencies/pareto-standard-library/modules/arithmetic → pareto-standard-library/modules/number}/glossary.data.ts +11 -17
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/optional/api.data.ts +16 -0
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/optional/glossary.data.ts +36 -0
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/api.data.ts +0 -1
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/resolve/glossary.data.ts +0 -14
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/api.data.ts +9 -1
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/string/glossary.data.ts +19 -1
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/api.data.ts +0 -5
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/tostring/glossary.data.ts +0 -14
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/$.data.ts +2 -0
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/glossaries/lines.data.ts +27 -0
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/array/glossary.data.ts +0 -1
- package/auto.pareto/{modules/alan_light_serialize → auto.dependencies/pareto-subatomic-library/modules/filesystem}/api.data.ts +1 -1
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/filesystem/glossary.data.ts +59 -0
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/json/api.data.ts +8 -2
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/json/glossary.data.ts +4 -3
- package/auto.pareto/auto.dependencies/pareto-subatomic-library/modules/string/api.data.ts +0 -1
- package/auto.pareto/modules/main/api.data.ts +14 -0
- package/auto.pareto/modules/main/glossary.data.ts +43 -0
- package/auto.pareto/modules/{pareto2typescript → pareto_2_fountain_pen}/api.data.ts +1 -4
- package/auto.pareto/modules/{pareto2typescript → pareto_2_fountain_pen}/glossary.data.ts +6 -9
- package/auto.pareto/modules/string_aware_fountain_pen_2 fountain_pen/api.data.ts +15 -0
- package/auto.pareto/modules/string_aware_fountain_pen_2 fountain_pen/glossary.data.ts +27 -0
- package/auto.pareto/modules/{typescript_serialize → typescript_intermediate_2_fountain_pen}/api.data.ts +7 -0
- package/auto.pareto/modules/{typescript_serialize → typescript_intermediate_2_fountain_pen}/glossary.data.ts +8 -0
- package/auto.pareto/modules/typescript_naming/glossary.data.ts +3 -2
- package/package.json +9 -5
- package/auto.dist/public/modules/alan__light__serialize/auto.implementation.d.ts +0 -2
- package/auto.dist/public/modules/alan__light__serialize/auto.implementation.js +0 -6
- package/auto.dist/public/modules/alan__light__serialize/auto.provided_interface_glossary.d.ts +0 -705
- package/auto.dist/public/modules/alan__light__serialize/implementations/serialize.alg.js +0 -115
- package/auto.dist/public/modules/pareto2typescript/auto.implementation.d.ts +0 -2
- package/auto.dist/public/modules/pareto2typescript/auto.implementation.js +0 -6
- package/auto.dist/public/modules/pareto2typescript/implementations/serializeCompilationUnit.alg.d.ts +0 -2
- package/auto.dist/public/modules/pareto2typescript/implementations/serializeCompilationUnit.alg.js +0 -529
- package/auto.dist/public/modules/tendril2alan__light/auto.provided_interface_glossary.d.ts +0 -1583
- package/auto.dist/public/modules/tendril2alan__light/implementations/map.alg.js +0 -141
- package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.d.ts +0 -11
- package/auto.dist/public/modules/typescript__serialize/auto.provided_interface_glossary.shadow.d.ts +0 -11
- package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.d.ts +0 -0
- package/auto.dist/public/modules/typescript__serialize/implementations/escape.alg.js +0 -20
- package/auto.pareto/auto.dependencies/pareto-pure/auto.dependencies/pareto-standard-library/modules/build/glossary.data.ts +0 -133
- package/auto.pareto/auto.dependencies/pareto-pure/glossaries/auto.liana.data.ts +0 -1955
- package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/api.data.ts +0 -24
- package/auto.pareto/auto.dependencies/pareto-pure/modules/liana2tendril/glossary.data.ts +0 -48
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/build/glossary.data.ts +0 -133
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/api.data.ts +0 -15
- package/auto.pareto/auto.dependencies/pareto-standard-library/modules/json/glossary.data.ts +0 -47
- /package/auto.dist/public/modules/{alan__light__serialize → main}/index.d.ts +0 -0
- /package/auto.dist/public/modules/{pareto2typescript → pareto__2__fountain__pen}/index.d.ts +0 -0
- /package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/auto.api.d.ts +0 -0
- /package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/auto.implementation.d.ts +0 -0
- /package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/implementations/map.alg.d.ts +0 -0
- /package/auto.dist/public/modules/{tendril2alan__light → string__aware__fountain__pen__2__fountain__pen}/index.d.ts +0 -0
- /package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createApostrophedString.alg.d.ts +0 -0
- /package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createBacktickedString.alg.d.ts +0 -0
- /package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/implementations/createQuotedString.alg.d.ts +0 -0
- /package/auto.dist/public/modules/{alan__light__serialize → typescript__intermediate__2__fountain__pen}/implementations/serialize.alg.d.ts +0 -0
- /package/auto.dist/public/modules/{typescript__serialize → typescript__intermediate__2__fountain__pen}/index.d.ts +0 -0
- /package/auto.pareto/auto.dependencies/pareto-pure/modules/{cosmos2pareto → cosmos_type_system_2_pareto}/api.data.ts +0 -0
- /package/auto.pareto/{modules/tendril2alan_light → auto.dependencies/pareto-pure/modules/tendril_2_alan_light}/api.data.ts +0 -0
- /package/auto.pareto/auto.dependencies/pareto-pure/modules/{tendril2cosmos_type_system → tendril_2_cosmos_type_system}/api.data.ts +0 -0
- /package/auto.pareto/auto.dependencies/pareto-pure/modules/{testresult → testresult_2_testresult}/glossary.data.ts +0 -0
package/auto.dist/public/modules/pareto2typescript/implementations/serializeCompilationUnit.alg.js
DELETED
|
@@ -1,529 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.$$ = void 0;
|
|
37
|
-
const pa = __importStar(require("pareto-core-alg"));
|
|
38
|
-
const pd = __importStar(require("pareto-core-dev"));
|
|
39
|
-
const g_fp = __importStar(require("pareto-pure/auto.dist/public/modules/fountain__pen"));
|
|
40
|
-
const a_psl = __importStar(require("pareto-standard-library"));
|
|
41
|
-
const a_psub = __importStar(require("pareto-subatomic-library"));
|
|
42
|
-
const a_ts_serialize = __importStar(require("../../typescript__serialize"));
|
|
43
|
-
const a_ts_naming = __importStar(require("../../typescript__naming"));
|
|
44
|
-
const fountain_pen_sh_1 = require("pareto-pure/auto.dist/public/shorthands/fountain_pen.sh");
|
|
45
|
-
const $$ = () => {
|
|
46
|
-
const serializeFP = g_fp.serialize(null, null);
|
|
47
|
-
const indentx = g_fp.indent(null, null);
|
|
48
|
-
const decorateWithKeys = a_psl.dictionary.decorateDictionaryEntriesWithKey(null, null);
|
|
49
|
-
const flatten = a_psl.nested.flatten(null, null);
|
|
50
|
-
const append = a_psl.array.append(null, null);
|
|
51
|
-
const isEmpty = a_psub.dictionary.isEmpty(null, null);
|
|
52
|
-
const createTypeIdentifier = a_ts_naming.createIdentifier(null, null);
|
|
53
|
-
const createSymbolIdentifier = a_ts_naming.createIdentifier(null, null);
|
|
54
|
-
const createNamespaceIdentifier = a_ts_naming.createIdentifier(null, null);
|
|
55
|
-
const createBacktickedString = a_ts_serialize.createBacktickedString(null, null);
|
|
56
|
-
const createApostrophedString = a_ts_serialize.createApostrophedString(null, null);
|
|
57
|
-
const createQuotedString = a_ts_serialize.createQuotedString(null, null);
|
|
58
|
-
const enrich = a_psub.array.enrichWithPositionInformation(null, null);
|
|
59
|
-
function indent($) {
|
|
60
|
-
return ['single', ['indent', flatten((0, fountain_pen_sh_1.multiple)($))]];
|
|
61
|
-
}
|
|
62
|
-
function array($) {
|
|
63
|
-
return ['multiple', $];
|
|
64
|
-
}
|
|
65
|
-
function toArray($) {
|
|
66
|
-
//FIXME ordering
|
|
67
|
-
return $.__reduce((a, b) => a.key < b.key ? -1 : a.key < b.key ? 1 : 0, pa.emptyArray(), ($, current) => append({ 'array': current, 'element': $ }));
|
|
68
|
-
}
|
|
69
|
-
function dictionary($) {
|
|
70
|
-
return array(toArray($));
|
|
71
|
-
}
|
|
72
|
-
return ($) => {
|
|
73
|
-
return pa.cc($['compilation unit'], ($) => {
|
|
74
|
-
function Compilation__Unit($) {
|
|
75
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
76
|
-
(0, fountain_pen_sh_1.line)(`import * as _T from 'pareto-core-types'`),
|
|
77
|
-
(0, fountain_pen_sh_1.line)(`import * as _A from 'pareto-core-alg'`),
|
|
78
|
-
(0, fountain_pen_sh_1.line)(`import * as _D from 'pareto-core-dev'`),
|
|
79
|
-
(0, fountain_pen_sh_1.line)(``),
|
|
80
|
-
dictionary(decorateWithKeys($.imports).map(($) => (0, fountain_pen_sh_1.line)(`import * as _I_${createTypeIdentifier($.key)} from ${createQuotedString($.value.path)}`))),
|
|
81
|
-
isEmpty($.imports) ? (0, fountain_pen_sh_1.none)() : (0, fountain_pen_sh_1.line)(``),
|
|
82
|
-
Namespace($['root namespace']),
|
|
83
|
-
(0, fountain_pen_sh_1.line)(``),
|
|
84
|
-
]);
|
|
85
|
-
}
|
|
86
|
-
function Namespace($) {
|
|
87
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
88
|
-
dictionary(decorateWithKeys($.namespaces).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
89
|
-
(0, fountain_pen_sh_1.line)(``),
|
|
90
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
91
|
-
(0, fountain_pen_sh_1.snippet)(`export namespace ${createNamespaceIdentifier($.key)} {`),
|
|
92
|
-
indent([
|
|
93
|
-
Namespace($.value)
|
|
94
|
-
]),
|
|
95
|
-
(0, fountain_pen_sh_1.snippet)(`}`),
|
|
96
|
-
]),
|
|
97
|
-
]))),
|
|
98
|
-
dictionary(decorateWithKeys($.types).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
99
|
-
(0, fountain_pen_sh_1.line)(``),
|
|
100
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
101
|
-
(0, fountain_pen_sh_1.snippet)(`export type ${createTypeIdentifier($.key)}`),
|
|
102
|
-
Type__Parameters($.value['type parameters']),
|
|
103
|
-
(0, fountain_pen_sh_1.snippet)(` = `),
|
|
104
|
-
Type($.value.type)
|
|
105
|
-
])
|
|
106
|
-
]))),
|
|
107
|
-
Variables($.variables, { 'is global': true }),
|
|
108
|
-
]);
|
|
109
|
-
}
|
|
110
|
-
function Variables($, $p) {
|
|
111
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
112
|
-
dictionary(decorateWithKeys($).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
113
|
-
(0, fountain_pen_sh_1.line)(``),
|
|
114
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
115
|
-
(0, fountain_pen_sh_1.snippet)(`${$p['is global'] ? `export ` : ``}const $v_${createSymbolIdentifier($.key)} = `),
|
|
116
|
-
Expression($.value.expression),
|
|
117
|
-
])
|
|
118
|
-
]))),
|
|
119
|
-
]);
|
|
120
|
-
}
|
|
121
|
-
function Type__Arguments($) {
|
|
122
|
-
return isEmpty($)
|
|
123
|
-
? (0, fountain_pen_sh_1.none)()
|
|
124
|
-
: (0, fountain_pen_sh_1.multiple)([
|
|
125
|
-
(0, fountain_pen_sh_1.snippet)(`<`),
|
|
126
|
-
array(enrich(toArray($)).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
127
|
-
Type($.value),
|
|
128
|
-
(0, fountain_pen_sh_1.snippet)(`${$.isLast ? `` : `, `}`)
|
|
129
|
-
]))),
|
|
130
|
-
(0, fountain_pen_sh_1.snippet)(`>`),
|
|
131
|
-
]);
|
|
132
|
-
}
|
|
133
|
-
function Type__Parameters($) {
|
|
134
|
-
return isEmpty($)
|
|
135
|
-
? (0, fountain_pen_sh_1.none)()
|
|
136
|
-
: (0, fountain_pen_sh_1.multiple)([
|
|
137
|
-
(0, fountain_pen_sh_1.snippet)(`<`),
|
|
138
|
-
dictionary(decorateWithKeys($).map(($) => (0, fountain_pen_sh_1.snippet)(`_P_${createTypeIdentifier($.key)}, `))),
|
|
139
|
-
(0, fountain_pen_sh_1.snippet)(`>`)
|
|
140
|
-
]);
|
|
141
|
-
}
|
|
142
|
-
function Function__Signature($, $p) {
|
|
143
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
144
|
-
Type__Parameters($['type parameters']),
|
|
145
|
-
(0, fountain_pen_sh_1.snippet)(`(`),
|
|
146
|
-
indent([
|
|
147
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
148
|
-
(0, fountain_pen_sh_1.snippet)(`$: `),
|
|
149
|
-
Type($['context parameter']),
|
|
150
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
151
|
-
]),
|
|
152
|
-
isEmpty($.parameters)
|
|
153
|
-
? (0, fountain_pen_sh_1.none)()
|
|
154
|
-
: (0, fountain_pen_sh_1.multiple)([
|
|
155
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
156
|
-
(0, fountain_pen_sh_1.snippet)(`$p: {`),
|
|
157
|
-
indent([
|
|
158
|
-
dictionary(decorateWithKeys($['parameters']).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
159
|
-
(0, fountain_pen_sh_1.snippet)(`${createApostrophedString($.key)}: `),
|
|
160
|
-
Type($.value)
|
|
161
|
-
]))),
|
|
162
|
-
]),
|
|
163
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
164
|
-
]),
|
|
165
|
-
]),
|
|
166
|
-
]),
|
|
167
|
-
(0, fountain_pen_sh_1.snippet)(`)${$p['return type token']} `),
|
|
168
|
-
$['return type'].map(($) => Type($), () => (0, fountain_pen_sh_1.snippet)(`void`))
|
|
169
|
-
]);
|
|
170
|
-
}
|
|
171
|
-
function Type($) {
|
|
172
|
-
switch ($[0]) {
|
|
173
|
-
case 'array': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
174
|
-
(0, fountain_pen_sh_1.snippet)(`_T.Array<`),
|
|
175
|
-
Type($),
|
|
176
|
-
(0, fountain_pen_sh_1.snippet)(`>`)
|
|
177
|
-
]));
|
|
178
|
-
case 'boolean': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`boolean`));
|
|
179
|
-
case 'dictionary': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
180
|
-
(0, fountain_pen_sh_1.snippet)(`_T.Dictionary<`),
|
|
181
|
-
Type($),
|
|
182
|
-
(0, fountain_pen_sh_1.snippet)(`>`)
|
|
183
|
-
]));
|
|
184
|
-
case 'group': return pa.ss($, ($) => isEmpty($.members)
|
|
185
|
-
? (0, fountain_pen_sh_1.snippet)(`null`) //for improved type checking (an empty object has strange effects, it is accepted as anything)
|
|
186
|
-
: (0, fountain_pen_sh_1.multiple)([
|
|
187
|
-
(0, fountain_pen_sh_1.snippet)(`{`),
|
|
188
|
-
indent([
|
|
189
|
-
dictionary(decorateWithKeys($.members).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
190
|
-
(0, fountain_pen_sh_1.snippet)(`${createApostrophedString($.key)}: `),
|
|
191
|
-
Type($.value),
|
|
192
|
-
])))
|
|
193
|
-
]),
|
|
194
|
-
(0, fountain_pen_sh_1.snippet)(`}`),
|
|
195
|
-
]));
|
|
196
|
-
case 'function': return pa.ss($, ($) => Function__Signature($, { 'return type token': ` =>` }));
|
|
197
|
-
case 'null': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`null`));
|
|
198
|
-
case 'number': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`number`));
|
|
199
|
-
case 'optional': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
200
|
-
(0, fountain_pen_sh_1.snippet)(`_T.OptionalValue<`),
|
|
201
|
-
Type($),
|
|
202
|
-
(0, fountain_pen_sh_1.snippet)(`>`)
|
|
203
|
-
]));
|
|
204
|
-
case 'parameter selection': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`_P_${createTypeIdentifier($)}`));
|
|
205
|
-
case 'string': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`string`));
|
|
206
|
-
case 'tagged union': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
207
|
-
indent([
|
|
208
|
-
dictionary(decorateWithKeys($).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
209
|
-
(0, fountain_pen_sh_1.snippet)(`| [ ${createApostrophedString($.key)}, `),
|
|
210
|
-
Type($.value),
|
|
211
|
-
(0, fountain_pen_sh_1.snippet)(`]`)
|
|
212
|
-
])))
|
|
213
|
-
])
|
|
214
|
-
]));
|
|
215
|
-
case 'type selection': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
216
|
-
$.import.map(($) => (0, fountain_pen_sh_1.snippet)(`_I_${createTypeIdentifier($)}.`), () => (0, fountain_pen_sh_1.none)()),
|
|
217
|
-
array($['namespace path'].map(($) => (0, fountain_pen_sh_1.snippet)(`${createTypeIdentifier($)}.`))),
|
|
218
|
-
(0, fountain_pen_sh_1.snippet)(`${createTypeIdentifier($.type)}`),
|
|
219
|
-
Type__Arguments($['type arguments']),
|
|
220
|
-
]));
|
|
221
|
-
default: return pa.au($[0]);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
function Statement__Block($) {
|
|
225
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
226
|
-
(0, fountain_pen_sh_1.snippet)(`{`),
|
|
227
|
-
indent([
|
|
228
|
-
Naked_Statement__Block($)
|
|
229
|
-
]),
|
|
230
|
-
(0, fountain_pen_sh_1.snippet)(`}`),
|
|
231
|
-
]);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
*
|
|
235
|
-
* this function produces a block that is not wrapped in curly braces
|
|
236
|
-
*/
|
|
237
|
-
function Naked_Statement__Block($) {
|
|
238
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
239
|
-
Variables($.variables, { 'is global': false }),
|
|
240
|
-
array($.statements.map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
241
|
-
(0, fountain_pen_sh_1.snippet)(``),
|
|
242
|
-
pa.cc($, ($) => {
|
|
243
|
-
switch ($[0]) {
|
|
244
|
-
case 'assignment': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
245
|
-
Expression($.selection),
|
|
246
|
-
(0, fountain_pen_sh_1.snippet)(` = `),
|
|
247
|
-
Expression($.expression),
|
|
248
|
-
]));
|
|
249
|
-
case 'change context': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
250
|
-
(0, fountain_pen_sh_1.snippet)(`_A.cc(`),
|
|
251
|
-
Expression($['new context selection']),
|
|
252
|
-
(0, fountain_pen_sh_1.snippet)(`, ($) => `),
|
|
253
|
-
Statement__Block($['sub statement block']),
|
|
254
|
-
(0, fountain_pen_sh_1.snippet)(`)`)
|
|
255
|
-
]));
|
|
256
|
-
case 'debug': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`_D.logDebugMessage(${createBacktickedString($)})`));
|
|
257
|
-
case 'expression': return pa.ss($, ($) => Expression($));
|
|
258
|
-
case 'if': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
259
|
-
(0, fountain_pen_sh_1.snippet)(`if (`),
|
|
260
|
-
Expression($.condition),
|
|
261
|
-
(0, fountain_pen_sh_1.snippet)(`) `),
|
|
262
|
-
Statement__Block($['if block']),
|
|
263
|
-
$.else.map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
264
|
-
(0, fountain_pen_sh_1.snippet)(` else `),
|
|
265
|
-
Statement__Block($)
|
|
266
|
-
]), () => (0, fountain_pen_sh_1.none)())
|
|
267
|
-
]));
|
|
268
|
-
case 'return': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
269
|
-
(0, fountain_pen_sh_1.snippet)(`return `),
|
|
270
|
-
Expression($.expression),
|
|
271
|
-
]));
|
|
272
|
-
case 'sub block': return pa.ss($, ($) => Statement__Block($));
|
|
273
|
-
case 'switch': return pa.ss($, ($) => {
|
|
274
|
-
const select = $.select;
|
|
275
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
276
|
-
(0, fountain_pen_sh_1.snippet)(`switch (`),
|
|
277
|
-
Expression($.select),
|
|
278
|
-
(0, fountain_pen_sh_1.snippet)(`[0]) {`),
|
|
279
|
-
indent([
|
|
280
|
-
dictionary(decorateWithKeys($.cases).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
281
|
-
(0, fountain_pen_sh_1.snippet)(`case ${createApostrophedString($.key)}: {`),
|
|
282
|
-
indent([
|
|
283
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
284
|
-
(0, fountain_pen_sh_1.snippet)(`_A.ss(`),
|
|
285
|
-
Expression(select),
|
|
286
|
-
(0, fountain_pen_sh_1.snippet)(`, ($) => `),
|
|
287
|
-
Statement__Block($.value),
|
|
288
|
-
(0, fountain_pen_sh_1.snippet)(`)`),
|
|
289
|
-
]),
|
|
290
|
-
(0, fountain_pen_sh_1.line)(`break`)
|
|
291
|
-
]),
|
|
292
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
293
|
-
]))),
|
|
294
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
295
|
-
(0, fountain_pen_sh_1.snippet)(`default: `),
|
|
296
|
-
$.default.map(($) => Statement__Block($), () => (0, fountain_pen_sh_1.multiple)([
|
|
297
|
-
(0, fountain_pen_sh_1.snippet)(`_A.au(`),
|
|
298
|
-
Expression($.select),
|
|
299
|
-
(0, fountain_pen_sh_1.snippet)(`[0])`)
|
|
300
|
-
]))
|
|
301
|
-
])
|
|
302
|
-
]),
|
|
303
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
304
|
-
]);
|
|
305
|
-
});
|
|
306
|
-
default: return pa.au($[0]);
|
|
307
|
-
}
|
|
308
|
-
})
|
|
309
|
-
]))),
|
|
310
|
-
]);
|
|
311
|
-
}
|
|
312
|
-
function Expression($) {
|
|
313
|
-
switch ($[0]) {
|
|
314
|
-
case 'flow': return pa.ss($, ($) => pa.cc($, ($) => {
|
|
315
|
-
switch ($[0]) {
|
|
316
|
-
case 'block': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
317
|
-
(0, fountain_pen_sh_1.snippet)(`_A.cc($, ($) => `), //FIXME this should be a _A.block(...)
|
|
318
|
-
Statement__Block($),
|
|
319
|
-
(0, fountain_pen_sh_1.snippet)(`)`)
|
|
320
|
-
]));
|
|
321
|
-
case 'change context': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
322
|
-
(0, fountain_pen_sh_1.snippet)(`_A.cc(`),
|
|
323
|
-
Expression($['new context selection']),
|
|
324
|
-
(0, fountain_pen_sh_1.snippet)(`, ($) => `),
|
|
325
|
-
Expression($['sub expression']),
|
|
326
|
-
(0, fountain_pen_sh_1.snippet)(`)`)
|
|
327
|
-
]));
|
|
328
|
-
case 'implement me': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`_D.implementMe(${createBacktickedString($)})`));
|
|
329
|
-
case 'panic': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`_A.panic(${createBacktickedString($)})`));
|
|
330
|
-
default: return pa.au($[0]);
|
|
331
|
-
}
|
|
332
|
-
}));
|
|
333
|
-
case 'literal': return pa.ss($, ($) => pa.cc($, ($) => {
|
|
334
|
-
switch ($[0]) {
|
|
335
|
-
case 'array': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
336
|
-
(0, fountain_pen_sh_1.snippet)(`_A.wrapRawArray([`),
|
|
337
|
-
indent([
|
|
338
|
-
array($.map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
339
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
340
|
-
Expression($),
|
|
341
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
342
|
-
]),
|
|
343
|
-
])))
|
|
344
|
-
]),
|
|
345
|
-
(0, fountain_pen_sh_1.snippet)(`])`)
|
|
346
|
-
]));
|
|
347
|
-
case 'boolean': return pa.ss($, ($) => pa.cc($, ($) => {
|
|
348
|
-
switch ($[0]) {
|
|
349
|
-
case 'false': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`false`));
|
|
350
|
-
case 'true': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`true`));
|
|
351
|
-
default: return pa.au($[0]);
|
|
352
|
-
}
|
|
353
|
-
}));
|
|
354
|
-
case 'dictionary': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
355
|
-
(0, fountain_pen_sh_1.snippet)(`_A.wrapRawDictionary({`),
|
|
356
|
-
indent([
|
|
357
|
-
dictionary(decorateWithKeys($).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
358
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
359
|
-
(0, fountain_pen_sh_1.snippet)(`${createQuotedString($.key)}: `),
|
|
360
|
-
Expression($.value),
|
|
361
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
362
|
-
]),
|
|
363
|
-
])))
|
|
364
|
-
]),
|
|
365
|
-
(0, fountain_pen_sh_1.snippet)(`})`)
|
|
366
|
-
]));
|
|
367
|
-
case 'function': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
368
|
-
pa.cc($['temp signature help'], ($) => {
|
|
369
|
-
switch ($[0]) {
|
|
370
|
-
case 'has additional parameters': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`($, $p)`));
|
|
371
|
-
case 'has no additional parameters': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`($)`));
|
|
372
|
-
case 'typed': return pa.ss($, ($) => Function__Signature($, { 'return type token': `:` }));
|
|
373
|
-
default: return pa.au($[0]);
|
|
374
|
-
}
|
|
375
|
-
}),
|
|
376
|
-
(0, fountain_pen_sh_1.snippet)(` => `),
|
|
377
|
-
Statement__Block($.block),
|
|
378
|
-
]));
|
|
379
|
-
case 'group': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
380
|
-
(0, fountain_pen_sh_1.snippet)(`{`),
|
|
381
|
-
indent([
|
|
382
|
-
dictionary(decorateWithKeys($).map(($) => (0, fountain_pen_sh_1.multiple)([
|
|
383
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
384
|
-
(0, fountain_pen_sh_1.snippet)(`${createApostrophedString($.key)}: `),
|
|
385
|
-
Expression($.value),
|
|
386
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
387
|
-
]),
|
|
388
|
-
])))
|
|
389
|
-
]),
|
|
390
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
391
|
-
]));
|
|
392
|
-
case 'null': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`null`));
|
|
393
|
-
case 'number': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`${$}`));
|
|
394
|
-
case 'optional': return pa.ss($, ($) => pa.cc($, ($) => {
|
|
395
|
-
switch ($[0]) {
|
|
396
|
-
case 'not set': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`_A.notSet()`));
|
|
397
|
-
case 'set': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
398
|
-
(0, fountain_pen_sh_1.snippet)(`_A.set(`),
|
|
399
|
-
Expression($),
|
|
400
|
-
(0, fountain_pen_sh_1.snippet)(`)`),
|
|
401
|
-
]));
|
|
402
|
-
default: return pa.au($[0]);
|
|
403
|
-
}
|
|
404
|
-
}));
|
|
405
|
-
case 'tagged union': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
406
|
-
(0, fountain_pen_sh_1.snippet)(`[${createApostrophedString($.state)}, `),
|
|
407
|
-
Expression($.data),
|
|
408
|
-
(0, fountain_pen_sh_1.snippet)(`]`)
|
|
409
|
-
]));
|
|
410
|
-
case 'string': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`${createQuotedString($)}`));
|
|
411
|
-
default: return pa.au($[0]);
|
|
412
|
-
}
|
|
413
|
-
}));
|
|
414
|
-
case 'map': return pa.ss($, ($) => pa.cc($, ($) => {
|
|
415
|
-
const $v_selection = $.selection;
|
|
416
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
417
|
-
pa.cc($.type, ($) => {
|
|
418
|
-
switch ($[0]) {
|
|
419
|
-
case 'array': return pa.ss($, ($) => pd.implementMe(`ARRAY`));
|
|
420
|
-
case 'boolean': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([]));
|
|
421
|
-
case 'dictionary': return pa.ss($, ($) => pd.implementMe(`DICTIONARY`));
|
|
422
|
-
case 'optional': return pa.ss($, ($) => pd.implementMe(`OPTIONAL`));
|
|
423
|
-
case 'tagged union': return pa.ss($, ($) => {
|
|
424
|
-
return (0, fountain_pen_sh_1.multiple)([
|
|
425
|
-
(0, fountain_pen_sh_1.snippet)(`_A.cc($, ($) => {`), //FIXME this should be a _A.block(...)
|
|
426
|
-
indent([
|
|
427
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
428
|
-
(0, fountain_pen_sh_1.snippet)(`switch (`),
|
|
429
|
-
Expression($v_selection),
|
|
430
|
-
(0, fountain_pen_sh_1.snippet)(`[0]) {`),
|
|
431
|
-
indent([
|
|
432
|
-
dictionary(decorateWithKeys($.cases).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
433
|
-
(0, fountain_pen_sh_1.snippet)(`case ${createApostrophedString($.key)}: return _A.ss(`),
|
|
434
|
-
Expression($v_selection),
|
|
435
|
-
(0, fountain_pen_sh_1.snippet)(`, ($) => `),
|
|
436
|
-
Expression($.value),
|
|
437
|
-
(0, fountain_pen_sh_1.snippet)(`)`),
|
|
438
|
-
]))),
|
|
439
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
440
|
-
(0, fountain_pen_sh_1.snippet)(`default: return `),
|
|
441
|
-
$.default.map(($) => Expression($), () => (0, fountain_pen_sh_1.multiple)([
|
|
442
|
-
(0, fountain_pen_sh_1.snippet)(`_A.au(`),
|
|
443
|
-
Expression($v_selection),
|
|
444
|
-
(0, fountain_pen_sh_1.snippet)(`[0])`)
|
|
445
|
-
]))
|
|
446
|
-
])
|
|
447
|
-
]),
|
|
448
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
449
|
-
])
|
|
450
|
-
]),
|
|
451
|
-
(0, fountain_pen_sh_1.snippet)(`})`),
|
|
452
|
-
]);
|
|
453
|
-
});
|
|
454
|
-
default: return pa.au($[0]);
|
|
455
|
-
}
|
|
456
|
-
})
|
|
457
|
-
]);
|
|
458
|
-
}));
|
|
459
|
-
case 'reduce': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
460
|
-
Expression($.selection),
|
|
461
|
-
(0, fountain_pen_sh_1.snippet)(`.reduce(`),
|
|
462
|
-
indent([
|
|
463
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
464
|
-
Expression($.initial),
|
|
465
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
466
|
-
]),
|
|
467
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
468
|
-
Expression($.callback),
|
|
469
|
-
])
|
|
470
|
-
]),
|
|
471
|
-
(0, fountain_pen_sh_1.snippet)(`)`)
|
|
472
|
-
]));
|
|
473
|
-
case 'selection': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
474
|
-
pa.cc($.start, ($) => {
|
|
475
|
-
switch ($[0]) {
|
|
476
|
-
case 'context': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`$`));
|
|
477
|
-
case 'parameter': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`$p[${createApostrophedString($)}]`));
|
|
478
|
-
case 'seed': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`seed`));
|
|
479
|
-
case 'variable': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
480
|
-
$.import.map(($) => (0, fountain_pen_sh_1.snippet)(`_I_${createTypeIdentifier($)}.`), () => (0, fountain_pen_sh_1.none)()),
|
|
481
|
-
array($['namespace path'].map(($) => (0, fountain_pen_sh_1.snippet)(`${createTypeIdentifier($)}.`))),
|
|
482
|
-
(0, fountain_pen_sh_1.snippet)(`$v_${createSymbolIdentifier($.variable)}`)
|
|
483
|
-
]));
|
|
484
|
-
default: return pa.au($[0]);
|
|
485
|
-
}
|
|
486
|
-
}),
|
|
487
|
-
array($.tail.map(($) => pa.cc($, ($) => {
|
|
488
|
-
switch ($[0]) {
|
|
489
|
-
case 'call': return pa.ss($, ($) => (0, fountain_pen_sh_1.multiple)([
|
|
490
|
-
Type__Arguments($['type arguments']),
|
|
491
|
-
(0, fountain_pen_sh_1.snippet)(`(`),
|
|
492
|
-
indent([
|
|
493
|
-
(0, fountain_pen_sh_1.nestedLine)([
|
|
494
|
-
Expression($.context),
|
|
495
|
-
(0, fountain_pen_sh_1.snippet)(`, `)
|
|
496
|
-
]),
|
|
497
|
-
isEmpty($.arguments)
|
|
498
|
-
? (0, fountain_pen_sh_1.none)()
|
|
499
|
-
: (0, fountain_pen_sh_1.nestedLine)([
|
|
500
|
-
(0, fountain_pen_sh_1.snippet)(`{`),
|
|
501
|
-
indent([
|
|
502
|
-
dictionary(decorateWithKeys($.arguments).map(($) => (0, fountain_pen_sh_1.nestedLine)([
|
|
503
|
-
(0, fountain_pen_sh_1.snippet)(`${createApostrophedString($.key)}: `),
|
|
504
|
-
Expression($.value),
|
|
505
|
-
(0, fountain_pen_sh_1.snippet)(`,`)
|
|
506
|
-
])))
|
|
507
|
-
]),
|
|
508
|
-
(0, fountain_pen_sh_1.snippet)(`}`)
|
|
509
|
-
])
|
|
510
|
-
]),
|
|
511
|
-
(0, fountain_pen_sh_1.snippet)(`)`),
|
|
512
|
-
]));
|
|
513
|
-
case 'member selection': return pa.ss($, ($) => (0, fountain_pen_sh_1.snippet)(`[${createApostrophedString($)}]`));
|
|
514
|
-
default: return pa.au($[0]);
|
|
515
|
-
}
|
|
516
|
-
})))
|
|
517
|
-
]));
|
|
518
|
-
default: return pa.au($[0]);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
return indentx({
|
|
522
|
-
'lines': serializeFP(flatten(Compilation__Unit($))),
|
|
523
|
-
'indentation': ` `
|
|
524
|
-
});
|
|
525
|
-
});
|
|
526
|
-
};
|
|
527
|
-
};
|
|
528
|
-
exports.$$ = $$;
|
|
529
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplQ29tcGlsYXRpb25Vbml0LmFsZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvbW9kdWxlcy9wYXJldG8ydHlwZXNjcmlwdC9pbXBsZW1lbnRhdGlvbnMvc2VyaWFsaXplQ29tcGlsYXRpb25Vbml0LmFsZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBcUM7QUFFckMsb0RBQXFDO0FBSXJDLHlGQUEwRTtBQUUxRSwrREFBZ0Q7QUFDaEQsaUVBQWtEO0FBQ2xELDRFQUE2RDtBQUM3RCxzRUFBdUQ7QUFJdkQsNkZBQXlJO0FBRWxJLE1BQU0sRUFBRSxHQUFpQyxHQUFHLEVBQUU7SUFFakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFdkMsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRCxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDckUsTUFBTSxz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
|