pareto-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__internals/async/asynchronous_collection_builder.d.ts +12 -0
- package/dist/__internals/async/asynchronous_collection_builder.js +35 -0
- package/dist/__internals/async/create_asynchronous_processes_monitor.d.ts +15 -0
- package/dist/__internals/async/create_asynchronous_processes_monitor.js +53 -0
- package/dist/__internals/async/create_refinement_context.d.ts +5 -0
- package/dist/__internals/async/create_refinement_context.js +29 -0
- package/dist/__internals/sync/expression/decide/index.d.ts +6 -0
- package/dist/__internals/sync/expression/decide/index.js +10 -0
- package/dist/__internals/sync/expression/decide/state_group/assert_unreachable.d.ts +15 -0
- package/dist/__internals/sync/expression/decide/state_group/assert_unreachable.js +21 -0
- package/dist/__internals/sync/expression/decide/state_group/select.d.ts +15 -0
- package/dist/__internals/sync/expression/decide/state_group/select.js +21 -0
- package/dist/__internals/sync/expression/decide/state_group/switch_state.d.ts +19 -0
- package/dist/__internals/sync/expression/decide/state_group/switch_state.js +24 -0
- package/dist/__internals/sync/expression/initialize.d.ts +66 -0
- package/dist/__internals/sync/expression/initialize.js +302 -0
- package/dist/__internals/sync/expression/literals/dictionary.d.ts +11 -0
- package/dist/__internals/sync/expression/literals/dictionary.js +110 -0
- package/dist/__internals/sync/expression/literals/list.d.ts +2 -0
- package/dist/__internals/sync/expression/literals/list.js +90 -0
- package/dist/__internals/sync/expression/literals/optional.d.ts +3 -0
- package/dist/__internals/sync/expression/literals/optional.js +48 -0
- package/dist/__internals/sync/expression/special.d.ts +49 -0
- package/dist/__internals/sync/expression/special.js +107 -0
- package/dist/__internals/sync/extracts/literal.d.ts +20 -0
- package/dist/__internals/sync/extracts/literal.js +54 -0
- package/dist/__internals/sync/get_location_info.d.ts +8 -0
- package/dist/__internals/sync/get_location_info.js +41 -0
- package/dist/command/Command_Block.d.ts +3 -0
- package/dist/command/Command_Block.js +3 -0
- package/dist/command/command.d.ts +2 -0
- package/dist/command/command.js +19 -0
- package/dist/command/command_procedure.d.ts +3 -0
- package/dist/command/command_procedure.js +22 -0
- package/dist/command/command_promise.d.ts +17 -0
- package/dist/command/command_promise.js +29 -0
- package/dist/command/handle_command_block.d.ts +3 -0
- package/dist/command/handle_command_block.js +21 -0
- package/dist/command/index.d.ts +10 -0
- package/dist/command/index.js +29 -0
- package/dist/command/statement.d.ts +27 -0
- package/dist/command/statement.js +271 -0
- package/dist/deserializer.d.ts +4 -0
- package/dist/deserializer.js +15 -0
- package/dist/interface/Deprecated_Source_Location.d.ts +5 -0
- package/dist/interface/Deprecated_Source_Location.js +3 -0
- package/dist/interface/Raw_Optional_Value.d.ts +1 -0
- package/dist/interface/Raw_Optional_Value.js +3 -0
- package/dist/interface/algorithm_signatures/Command.d.ts +8 -0
- package/dist/interface/algorithm_signatures/Command.js +3 -0
- package/dist/interface/algorithm_signatures/Deserializer.d.ts +17 -0
- package/dist/interface/algorithm_signatures/Deserializer.js +3 -0
- package/dist/interface/algorithm_signatures/Production.d.ts +6 -0
- package/dist/interface/algorithm_signatures/Production.js +3 -0
- package/dist/interface/algorithm_signatures/Query.d.ts +3 -0
- package/dist/interface/algorithm_signatures/Query.js +3 -0
- package/dist/interface/algorithm_signatures/Query_Function.d.ts +1 -0
- package/dist/interface/algorithm_signatures/Query_Function.js +3 -0
- package/dist/interface/algorithm_signatures/Refiner.d.ts +5 -0
- package/dist/interface/algorithm_signatures/Refiner.js +3 -0
- package/dist/interface/algorithm_signatures/Serializer.d.ts +9 -0
- package/dist/interface/algorithm_signatures/Serializer.js +3 -0
- package/dist/interface/algorithm_signatures/Transformer.d.ts +2 -0
- package/dist/interface/algorithm_signatures/Transformer.js +3 -0
- package/dist/interface/data/Circular_Dependency.d.ts +8 -0
- package/dist/interface/data/Circular_Dependency.js +3 -0
- package/dist/interface/data/Dictionary.d.ts +29 -0
- package/dist/interface/data/Dictionary.js +3 -0
- package/dist/interface/data/List.d.ts +26 -0
- package/dist/interface/data/List.js +3 -0
- package/dist/interface/data/Optional_Value.d.ts +16 -0
- package/dist/interface/data/Optional_Value.js +3 -0
- package/dist/interface/globals.d.ts +20 -0
- package/dist/interface/globals.js +2 -0
- package/dist/interface/index.d.ts +14 -0
- package/dist/interface/index.js +31 -0
- package/dist/interface/interfaces.d.ts +54 -0
- package/dist/interface/interfaces.js +3 -0
- package/dist/query/expression.d.ts +6 -0
- package/dist/query/expression.js +49 -0
- package/dist/query/index.d.ts +6 -0
- package/dist/query/index.js +23 -0
- package/dist/query/query.d.ts +4 -0
- package/dist/query/query.js +15 -0
- package/dist/query/query_function.d.ts +2 -0
- package/dist/query/query_function.js +15 -0
- package/dist/query/query_result.d.ts +10 -0
- package/dist/query/query_result.js +97 -0
- package/dist/refiner/index.d.ts +8 -0
- package/dist/refiner/index.js +45 -0
- package/dist/refiner/resolve.d.ts +176 -0
- package/dist/refiner/resolve.js +289 -0
- package/dist/serializer.d.ts +6 -0
- package/dist/serializer.js +33 -0
- package/dist/transformer/deprecated_shorthands_for_unresolved.d.ts +40 -0
- package/dist/transformer/deprecated_shorthands_for_unresolved.js +77 -0
- package/dist/transformer/index.d.ts +4 -0
- package/dist/transformer/index.js +24 -0
- package/package.json +26 -0
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.state_group = exports.optional = exports.natural = exports.list = exports.integer = exports.dictionary = exports.boolean = void 0;
|
|
4
|
+
const get_location_info_1 = require("../get_location_info");
|
|
5
|
+
const dictionary_1 = require("./literals/dictionary");
|
|
6
|
+
const list_1 = require("./literals/list");
|
|
7
|
+
const optional_1 = require("./literals/optional");
|
|
8
|
+
var boolean;
|
|
9
|
+
(function (boolean) {
|
|
10
|
+
boolean.dictionary_is_empty = ($) => {
|
|
11
|
+
return $.__get_number_of_entries() === 0;
|
|
12
|
+
};
|
|
13
|
+
boolean.list_is_empty = ($) => {
|
|
14
|
+
return $.__get_number_of_elements() === 0;
|
|
15
|
+
};
|
|
16
|
+
})(boolean || (exports.boolean = boolean = {}));
|
|
17
|
+
var dictionary;
|
|
18
|
+
(function (dictionary_2) {
|
|
19
|
+
dictionary_2.filter = ($, handle_value) => {
|
|
20
|
+
const out = {};
|
|
21
|
+
$.__d_map(($, id) => {
|
|
22
|
+
const result = handle_value($, id);
|
|
23
|
+
result.__extract_data((new_value) => {
|
|
24
|
+
out[id] = new_value;
|
|
25
|
+
}, () => { });
|
|
26
|
+
});
|
|
27
|
+
return (0, dictionary_1.$$)(out);
|
|
28
|
+
};
|
|
29
|
+
dictionary_2.from_list = (list, get_key, get_value, abort) => {
|
|
30
|
+
const temp = {};
|
|
31
|
+
list.__for_each(($) => {
|
|
32
|
+
const id = get_key($);
|
|
33
|
+
if (temp[id] !== undefined) {
|
|
34
|
+
abort(['duplicate id in list to dictionary', null]);
|
|
35
|
+
}
|
|
36
|
+
temp[id] = get_value($);
|
|
37
|
+
});
|
|
38
|
+
return (0, dictionary_1.$$)(temp);
|
|
39
|
+
};
|
|
40
|
+
dictionary_2.group_dictionary = (dictionary, get_key) => {
|
|
41
|
+
const temp = {};
|
|
42
|
+
dictionary.__to_list(($, id) => ({
|
|
43
|
+
id: id,
|
|
44
|
+
value: $,
|
|
45
|
+
})).__for_each(($) => {
|
|
46
|
+
const groupKey = get_key($.value, $.id);
|
|
47
|
+
if (temp[groupKey] === undefined) {
|
|
48
|
+
temp[groupKey] = {};
|
|
49
|
+
}
|
|
50
|
+
temp[groupKey][$.id] = $.value;
|
|
51
|
+
});
|
|
52
|
+
return (0, dictionary_1.$$)(temp).__d_map(($) => (0, dictionary_1.$$)($));
|
|
53
|
+
};
|
|
54
|
+
dictionary_2.group_list = (list, get_key) => {
|
|
55
|
+
const temp = {};
|
|
56
|
+
list.__for_each(($) => {
|
|
57
|
+
const id = get_key($);
|
|
58
|
+
if (temp[id] === undefined) {
|
|
59
|
+
temp[id] = [];
|
|
60
|
+
}
|
|
61
|
+
temp[id].push($);
|
|
62
|
+
});
|
|
63
|
+
return (0, dictionary_1.$$)(temp).__d_map(($) => (0, list_1.$$)($));
|
|
64
|
+
};
|
|
65
|
+
dictionary_2.literal = dictionary_1.$$;
|
|
66
|
+
dictionary_2.map = ($, handle_value) => {
|
|
67
|
+
return $.__d_map(handle_value);
|
|
68
|
+
};
|
|
69
|
+
dictionary_2.resolve = (source, handle_entry) => {
|
|
70
|
+
const out = {};
|
|
71
|
+
const entries_started = {};
|
|
72
|
+
const cyclic_references = [];
|
|
73
|
+
const inner_resolve = ($, key, stack) => {
|
|
74
|
+
if (out[key] !== undefined) {
|
|
75
|
+
// already resolved
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
entries_started[key] = null;
|
|
79
|
+
out[key] = handle_entry($, key, {
|
|
80
|
+
'get entry': (key, abort) => {
|
|
81
|
+
if (entries_started[key] !== undefined) {
|
|
82
|
+
return abort['cyclic'](stack.concat([key]));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
if (out[key] === undefined) {
|
|
86
|
+
inner_resolve(source.__get_entry(key, () => abort['no such entry'](key)), key, stack.concat([key]));
|
|
87
|
+
}
|
|
88
|
+
// now it must be resolved, otherwise we would have aborted
|
|
89
|
+
return out[key];
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
'get possible entry': (key, abort) => {
|
|
93
|
+
if (entries_started[key] !== undefined) {
|
|
94
|
+
return abort['cyclic'](stack.concat([key]));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
const x = source.__get_entry_raw(key);
|
|
98
|
+
if (x === null) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (out[key] === undefined) {
|
|
103
|
+
inner_resolve(x[0], key, stack.concat([key]));
|
|
104
|
+
}
|
|
105
|
+
// now it must be resolved, otherwise we would have aborted
|
|
106
|
+
return [out[key]];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
'get entry': (key, abort) => {
|
|
112
|
+
const temp_reference = {
|
|
113
|
+
'key': key,
|
|
114
|
+
'value': undefined,
|
|
115
|
+
'abort': abort,
|
|
116
|
+
};
|
|
117
|
+
cyclic_references.push(temp_reference);
|
|
118
|
+
return {
|
|
119
|
+
'get circular dependent': () => {
|
|
120
|
+
if (temp_reference.value === undefined) {
|
|
121
|
+
return abort['accessing cyclic before resolved'](null);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return temp_reference.value;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
source.__d_map(($, key) => {
|
|
132
|
+
inner_resolve($, key, [key]);
|
|
133
|
+
});
|
|
134
|
+
cyclic_references.forEach(($) => {
|
|
135
|
+
const value = out[$.key];
|
|
136
|
+
if (value === undefined) {
|
|
137
|
+
$.abort['no such entry']($.key);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
$.value = value;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return (0, dictionary_1.$$)(out);
|
|
144
|
+
};
|
|
145
|
+
})(dictionary || (exports.dictionary = dictionary = {}));
|
|
146
|
+
var integer;
|
|
147
|
+
(function (integer) {
|
|
148
|
+
/**
|
|
149
|
+
* Performs integer division of two numbers (rounding towards negative infinity).
|
|
150
|
+
*
|
|
151
|
+
* dividend / divisor
|
|
152
|
+
*
|
|
153
|
+
* examples:
|
|
154
|
+
* integer_division(7, 3) === 2
|
|
155
|
+
* integer_division(7, -3) === -3
|
|
156
|
+
* integer_division(-7, 3) === -3
|
|
157
|
+
* integer_division(-7, -3) === 2
|
|
158
|
+
*/
|
|
159
|
+
integer.divide = (dividend, divisor, abort) => {
|
|
160
|
+
if (divisor === 0) {
|
|
161
|
+
abort(['divide by zero', null]);
|
|
162
|
+
}
|
|
163
|
+
const quotient = dividend / divisor;
|
|
164
|
+
// when dividend and divisor have different signs, the quotient is negative
|
|
165
|
+
// For positive quotients, use Math.floor to round down
|
|
166
|
+
// this behavior matches the integer division in Python, Java, and C99 and later
|
|
167
|
+
if (quotient >= 0) {
|
|
168
|
+
return Math.floor(quotient);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return Math.ceil(quotient);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
})(integer || (exports.integer = integer = {}));
|
|
175
|
+
var list;
|
|
176
|
+
(function (list) {
|
|
177
|
+
list.deprecated_build = ($) => {
|
|
178
|
+
const temp = [];
|
|
179
|
+
$({
|
|
180
|
+
'add element': ($) => {
|
|
181
|
+
temp.push($);
|
|
182
|
+
},
|
|
183
|
+
'add list': ($) => {
|
|
184
|
+
temp.push(...$.__get_raw_copy());
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
return (0, list_1.$$)(temp);
|
|
188
|
+
};
|
|
189
|
+
list.filter = ($, handle_value) => {
|
|
190
|
+
const out = [];
|
|
191
|
+
$.__for_each(($) => {
|
|
192
|
+
const result = handle_value($);
|
|
193
|
+
result.__extract_data(($) => {
|
|
194
|
+
out.push($);
|
|
195
|
+
}, () => { });
|
|
196
|
+
});
|
|
197
|
+
return (0, list_1.$$)(out);
|
|
198
|
+
};
|
|
199
|
+
list.flatten = (lists, callback) => {
|
|
200
|
+
const out = [];
|
|
201
|
+
lists.__for_each(($) => {
|
|
202
|
+
const innerList = callback($);
|
|
203
|
+
innerList.__for_each(($) => {
|
|
204
|
+
out.push($);
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
return (0, list_1.$$)(out);
|
|
208
|
+
};
|
|
209
|
+
list.from_dictionary = ($, handle_entry) => {
|
|
210
|
+
return $.__to_list(handle_entry);
|
|
211
|
+
};
|
|
212
|
+
list.from_single = ($) => {
|
|
213
|
+
return (0, list_1.$$)([$]);
|
|
214
|
+
};
|
|
215
|
+
list.literal = list_1.$$;
|
|
216
|
+
list.nested_literal_old = (lists) => {
|
|
217
|
+
const out = [];
|
|
218
|
+
lists.forEach(($) => {
|
|
219
|
+
if ($ == undefined) {
|
|
220
|
+
// do nothing
|
|
221
|
+
}
|
|
222
|
+
else if ($ instanceof Array) {
|
|
223
|
+
$.forEach(($) => {
|
|
224
|
+
out.push($);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
$.__for_each(($) => {
|
|
229
|
+
out.push($);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
return (0, list_1.$$)(out);
|
|
234
|
+
};
|
|
235
|
+
list.nested_literal_new = (nested) => {
|
|
236
|
+
const out = [];
|
|
237
|
+
const flatten = (n) => {
|
|
238
|
+
if (n == undefined) {
|
|
239
|
+
// do nothing
|
|
240
|
+
}
|
|
241
|
+
else if (n instanceof Array) {
|
|
242
|
+
n.forEach(($) => {
|
|
243
|
+
flatten($);
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
n.__for_each(($) => {
|
|
248
|
+
out.push($);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
flatten(nested);
|
|
253
|
+
return (0, list_1.$$)(out);
|
|
254
|
+
};
|
|
255
|
+
list.map = ($, handle_value) => {
|
|
256
|
+
return $.__l_map(handle_value);
|
|
257
|
+
};
|
|
258
|
+
list.map_with_state = ($, initial_state, handle_value, update_state) => {
|
|
259
|
+
let current_state = initial_state;
|
|
260
|
+
return $.__l_map(($) => {
|
|
261
|
+
const result = handle_value($, current_state);
|
|
262
|
+
current_state = update_state($, current_state);
|
|
263
|
+
return result;
|
|
264
|
+
});
|
|
265
|
+
};
|
|
266
|
+
list.reverse = ($) => {
|
|
267
|
+
return (0, list_1.$$)($.__get_raw_copy().slice().reverse());
|
|
268
|
+
};
|
|
269
|
+
})(list || (exports.list = list = {}));
|
|
270
|
+
var natural;
|
|
271
|
+
(function (natural) {
|
|
272
|
+
natural.amount_of_dictionary_entries = (dictionary) => {
|
|
273
|
+
return dictionary.__get_number_of_entries();
|
|
274
|
+
};
|
|
275
|
+
natural.amount_of_list_elements = (list) => {
|
|
276
|
+
return list.__get_number_of_elements();
|
|
277
|
+
};
|
|
278
|
+
natural.source_column = (depth) => {
|
|
279
|
+
return (0, get_location_info_1.$$)(depth).column;
|
|
280
|
+
};
|
|
281
|
+
natural.source_line = (depth) => {
|
|
282
|
+
return (0, get_location_info_1.$$)(depth).line;
|
|
283
|
+
};
|
|
284
|
+
natural.text_length = ($) => $.length;
|
|
285
|
+
})(natural || (exports.natural = natural = {}));
|
|
286
|
+
var optional;
|
|
287
|
+
(function (optional) {
|
|
288
|
+
function block(callback) {
|
|
289
|
+
return callback();
|
|
290
|
+
}
|
|
291
|
+
optional.block = block;
|
|
292
|
+
optional.set = optional_1.set;
|
|
293
|
+
optional.not_set = optional_1.not_set;
|
|
294
|
+
})(optional || (exports.optional = optional = {}));
|
|
295
|
+
var state_group;
|
|
296
|
+
(function (state_group) {
|
|
297
|
+
function block(callback) {
|
|
298
|
+
return callback();
|
|
299
|
+
}
|
|
300
|
+
state_group.block = block;
|
|
301
|
+
})(state_group || (exports.state_group = state_group = {}));
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9fX2ludGVybmFscy9zeW5jL2V4cHJlc3Npb24vaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw0REFBeUU7QUFDekUsc0RBQWdFO0FBQ2hFLDBDQUFvRDtBQUNwRCxrREFBc0Y7QUFFdEYsSUFBaUIsT0FBTyxDQWN2QjtBQWRELFdBQWlCLE9BQU87SUFFUCwyQkFBbUIsR0FBRyxDQUMvQixDQUFvQixFQUNiLEVBQUU7UUFDVCxPQUFPLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUM1QyxDQUFDLENBQUE7SUFFWSxxQkFBYSxHQUFHLENBQ3pCLENBQWMsRUFDUCxFQUFFO1FBQ1QsT0FBTyxDQUFDLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDN0MsQ0FBQyxDQUFBO0FBRUwsQ0FBQyxFQWRnQixPQUFPLHVCQUFQLE9BQU8sUUFjdkI7QUFFRCxJQUFpQixVQUFVLENBOE0xQjtBQTlNRCxXQUFpQixZQUFVO0lBRVYsbUJBQU0sR0FBRyxDQUNsQixDQUFvQixFQUNwQixZQUdpQyxFQUNULEVBQUU7UUFDMUIsTUFBTSxHQUFHLEdBQStCLEVBQUUsQ0FBQTtRQUMxQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FDakIsQ0FBQyxTQUFTLEVBQUUsRUFBRTtnQkFDVixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFBO1lBQ3ZCLENBQUMsRUFDRCxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQ1osQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxJQUFBLGVBQWtCLEVBQUMsR0FBRyxD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
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as _pi from "../../../../interface";
|
|
2
|
+
/**
|
|
3
|
+
* returns a Exupery dictionary
|
|
4
|
+
*
|
|
5
|
+
* why is this not the constructor? to call a constructor, you have to use the keyword 'new'. Exupery doesn't use the concept of a class so that keyword should be avoided
|
|
6
|
+
* @param source An object literal
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function $$<T>(source: {
|
|
10
|
+
readonly [key: string]: T;
|
|
11
|
+
}): _pi.Dictionary<T>;
|
|
@@ -0,0 +1,110 @@
|
|
|
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.$$ = $$;
|
|
37
|
+
const optional = __importStar(require("./optional"));
|
|
38
|
+
const list_1 = require("./list");
|
|
39
|
+
/**
|
|
40
|
+
* returns a Exupery dictionary
|
|
41
|
+
*
|
|
42
|
+
* why is this not the constructor? to call a constructor, you have to use the keyword 'new'. Exupery doesn't use the concept of a class so that keyword should be avoided
|
|
43
|
+
* @param source An object literal
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
function $$(source) {
|
|
47
|
+
/**
|
|
48
|
+
* this is an implementation, not public by design
|
|
49
|
+
*/
|
|
50
|
+
class Dictionary {
|
|
51
|
+
constructor(source) {
|
|
52
|
+
this.source = source;
|
|
53
|
+
}
|
|
54
|
+
__d_map($v) {
|
|
55
|
+
return new Dictionary(this.source.map(($) => {
|
|
56
|
+
return {
|
|
57
|
+
key: $.key,
|
|
58
|
+
value: $v($.value, $.key)
|
|
59
|
+
};
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
__to_list(handle_value) {
|
|
63
|
+
return (0, list_1.$$)(this.source.map(($) => {
|
|
64
|
+
return handle_value($.value, $.key);
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
__get_possible_entry(key) {
|
|
68
|
+
for (let i = 0; i !== this.source.length; i += 1) {
|
|
69
|
+
const element = this.source[i];
|
|
70
|
+
if (element.key === key) {
|
|
71
|
+
return optional.set(element.value);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return optional.not_set();
|
|
75
|
+
}
|
|
76
|
+
__get_entry_raw(key) {
|
|
77
|
+
for (let i = 0; i !== this.source.length; i += 1) {
|
|
78
|
+
const element = this.source[i];
|
|
79
|
+
if (element.key === key) {
|
|
80
|
+
return [element.value];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
__get_entry(key, abort) {
|
|
86
|
+
for (let i = 0; i !== this.source.length; i += 1) {
|
|
87
|
+
const element = this.source[i];
|
|
88
|
+
if (element.key === key) {
|
|
89
|
+
return element.value;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return abort(null);
|
|
93
|
+
}
|
|
94
|
+
__get_number_of_entries() {
|
|
95
|
+
return this.source.length;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//first we clone the source data so that changes to that source will have no impact on this implementation.
|
|
99
|
+
//only works if the set does not become extremely large
|
|
100
|
+
function create_dictionary_as_array(source) {
|
|
101
|
+
const imp = [];
|
|
102
|
+
Object.keys(source).forEach((key) => {
|
|
103
|
+
imp.push({ key: key, value: source[key] });
|
|
104
|
+
});
|
|
105
|
+
return imp;
|
|
106
|
+
}
|
|
107
|
+
const daa = create_dictionary_as_array(source);
|
|
108
|
+
return new Dictionary(daa);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX2ludGVybmFscy9zeW5jL2V4cHJlc3Npb24vbGl0ZXJhbHMvZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLGdCQTBGQztBQXRHRCxxREFBc0M7QUFFdEMsaUNBQTJDO0FBRzNDOzs7Ozs7R0FNRztBQUNILFNBQWdCLEVBQUUsQ0FBSSxNQUFxQztJQVN2RDs7T0FFRztJQUNILE1BQU0sVUFBVTtRQUVaLFlBQVksTUFBOEI7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDeEIsQ0FBQztRQUNNLE9BQU8sQ0FDVixFQUFpQztZQUVqQyxPQUFPLElBQUksVUFBVSxDQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLE9BQU87b0JBQ0gsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHO29CQUNWLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDO2lCQUM1QixDQUFBO1lBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUM7UUFDRCxTQUFTLENBQ0wsWUFBaUQ7WUFFakQsT0FBTyxJQUFBLFNBQVksRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0QyxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1AsQ0FBQztRQUVELG9CQUFvQixDQUNoQixHQUFXO1lBRVgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDOUIsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO29CQUN0QixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUN0QyxDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzdCLENBQUM7UUFFRCxlQUFlLENBQ1gsR0FBVztZQUVYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzlCLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDMUIsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFFRCxXQUFXLENBQ1AsR0FBVyxFQUNYLEtBQXNCO1lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzlCLElBQUksT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDdEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFBO2dCQUN4QixDQUFDO1lBQ0wsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RCLENBQUM7UUFFRCx1QkFBdUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQTtRQUM3QixDQUFDO0tBRUo7SUFFRCwyR0FBMkc7SUFDM0csdURBQXVEO0lBRXZELFNBQVMsMEJBQTBCLENBQUksTUFBcUM7UUFDeEUsTUFBTSxHQUFHLEdBQXdCLEVBQUUsQ0FBQTtRQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDOUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUM5QixDQUFDIn0=
|
|
@@ -0,0 +1,90 @@
|
|
|
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.$$ = $$;
|
|
37
|
+
const optional = __importStar(require("./optional"));
|
|
38
|
+
function $$(source) {
|
|
39
|
+
if (!(source instanceof Array)) {
|
|
40
|
+
throw new Error("invalid input in 'list_literal'");
|
|
41
|
+
}
|
|
42
|
+
const data = source.slice(); //create a copy
|
|
43
|
+
/**
|
|
44
|
+
* this is an implementation, not public by design
|
|
45
|
+
* If you feel the need to rename this class, don't rename it to 'Array',
|
|
46
|
+
* it will break the 'instanceOf Array' test
|
|
47
|
+
*/
|
|
48
|
+
class List_Class {
|
|
49
|
+
constructor(data) {
|
|
50
|
+
this.data = data;
|
|
51
|
+
}
|
|
52
|
+
__l_map($v) {
|
|
53
|
+
return $$(this.data.map((entry) => {
|
|
54
|
+
return $v(entry);
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
__get_number_of_elements() {
|
|
58
|
+
return this.data.length;
|
|
59
|
+
}
|
|
60
|
+
//internal methods
|
|
61
|
+
__for_each($i) {
|
|
62
|
+
this.data.forEach(($) => {
|
|
63
|
+
$i($);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
__get_possible_element_at(index) {
|
|
67
|
+
if (index < 0 || index >= this.data.length) {
|
|
68
|
+
return optional.not_set();
|
|
69
|
+
}
|
|
70
|
+
return optional.set(this.data[index]);
|
|
71
|
+
}
|
|
72
|
+
__get_element_at(index, abort) {
|
|
73
|
+
if (index < 0 || index >= this.data.length) {
|
|
74
|
+
return abort(null);
|
|
75
|
+
}
|
|
76
|
+
return this.data[index];
|
|
77
|
+
}
|
|
78
|
+
__get_element_at_raw(index) {
|
|
79
|
+
if (index < 0 || index >= this.data.length) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
return [this.data[index]];
|
|
83
|
+
}
|
|
84
|
+
__get_raw_copy() {
|
|
85
|
+
return this.data;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return new List_Class(data);
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX2ludGVybmFscy9zeW5jL2V4cHJlc3Npb24vbGl0ZXJhbHMvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLGdCQW1FQztBQXhFRCxxREFBc0M7QUFLdEMsU0FBZ0IsRUFBRSxDQUFJLE1BQW9CO0lBQ3RDLElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtJQUN0RCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUMsZUFBZTtJQUMzQzs7OztPQUlHO0lBQ0gsTUFBTSxVQUFVO1FBRVosWUFBWSxJQUFrQjtZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNwQixDQUFDO1FBQ0QsT0FBTyxDQUNILEVBQW9CO1lBRXBCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlCLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDUCxDQUFDO1FBRUQsd0JBQXdCO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDM0IsQ0FBQztRQUVELGtCQUFrQjtRQUNsQixVQUFVLENBQUMsRUFBa0I7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1QsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDO1FBRUQseUJBQXlCLENBQUMsS0FBYTtZQUNuQyxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBSyxDQUFBO1lBQ2hDLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7UUFFRCxnQkFBZ0IsQ0FDWixLQUFhLEVBQ2IsS0FBc0I7WUFFdEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN0QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNCLENBQUM7UUFFRCxvQkFBb0IsQ0FDaEIsS0FBYTtZQUViLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxJQUFJLENBQUE7WUFDZixDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsY0FBYztZQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtRQUNwQixDQUFDO0tBR0o7SUFDRCxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQy9CLENBQUMifQ==
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.not_set = not_set;
|
|
4
|
+
exports.set = set;
|
|
5
|
+
function not_set() {
|
|
6
|
+
/**
|
|
7
|
+
* this is an implementation, not public by design
|
|
8
|
+
*/
|
|
9
|
+
class Not_Set_Value {
|
|
10
|
+
__decide(set, not_set) {
|
|
11
|
+
return not_set();
|
|
12
|
+
}
|
|
13
|
+
__o_map() {
|
|
14
|
+
return not_set();
|
|
15
|
+
}
|
|
16
|
+
__is_set() {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
__extract_data(set, not_set) {
|
|
20
|
+
not_set();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return new Not_Set_Value();
|
|
24
|
+
}
|
|
25
|
+
function set($) {
|
|
26
|
+
/**
|
|
27
|
+
* this is an implementation, not public by design
|
|
28
|
+
*/
|
|
29
|
+
class Set_Value {
|
|
30
|
+
constructor(source) {
|
|
31
|
+
this.value = source;
|
|
32
|
+
}
|
|
33
|
+
__decide(set, not_set) {
|
|
34
|
+
return set(this.value);
|
|
35
|
+
}
|
|
36
|
+
__o_map(if_set) {
|
|
37
|
+
return set(if_set(this.value));
|
|
38
|
+
}
|
|
39
|
+
__is_set() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
__extract_data(set, not_set) {
|
|
43
|
+
set(this.value);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return new Set_Value($);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvX19pbnRlcm5hbHMvc3luYy9leHByZXNzaW9uL2xpdGVyYWxzL29wdGlvbmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMEJBK0JDO0FBQ0Qsa0JBdUNDO0FBdkVELFNBQWdCLE9BQU87SUFDbkI7O09BRUc7SUFDSCxNQUFNLGFBQWE7UUFFUixRQUFRLENBQ1gsR0FBaUIsRUFDakIsT0FBaUI7WUFFakIsT0FBTyxPQUFPLEVBQUUsQ0FBQTtRQUNwQixDQUFDO1FBRU0sT0FBTztZQUVWLE9BQU8sT0FBTyxFQUFNLENBQUE7UUFDeEIsQ0FBQztRQUVNLFFBQVE7WUFDWCxPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO1FBRU0sY0FBYyxDQUNqQixHQUFtQixFQUNuQixPQUFtQjtZQUVuQixPQUFPLEVBQUUsQ0FBQTtRQUNiLENBQUM7S0FDSjtJQUVELE9BQU8sSUFBSSxhQUFhLEVBQUUsQ0FBQTtBQUM5QixDQUFDO0FBQ0QsU0FBZ0IsR0FBRyxDQUFJLENBQUk7SUFDdkI7O09BRUc7SUFDSCxNQUFNLFNBQVM7UUFFWCxZQUFZLE1BQVM7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUE7UUFDdkIsQ0FBQztRQUVNLFFBQVEsQ0FDWCxHQUFpQixFQUNqQixPQUFpQjtZQUVqQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFMUIsQ0FBQztRQUVNLE9BQU8sQ0FDVixNQUFvQjtZQUVwQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUVNLFFBQVE7WUFDWCxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFFTSxjQUFjLENBQ2pCLEdBQW1CLEVBQ25CLE9BQW1CO1lBRW5CLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsQ0FBQztLQUdKO0lBRUQsT0FBTyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUMzQixDQUFDIn0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as _pi from "../../../interface";
|
|
2
|
+
export declare function assert<Return_Type, Error>(abort_callback: _pi.Abort<Error>, tester: () => _pi.Optional_Value<Error>, normal_flow: () => Return_Type): Return_Type;
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* this function allows to create a statement block in an expression (without changing the context)
|
|
6
|
+
*
|
|
7
|
+
* example:
|
|
8
|
+
*
|
|
9
|
+
* const result = 5 + (() => {
|
|
10
|
+
* const intermediate_variable = 4
|
|
11
|
+
* return intermediate_variable
|
|
12
|
+
* })
|
|
13
|
+
*/
|
|
14
|
+
export declare function deprecated_block<RT>(callback: () => RT): RT;
|
|
15
|
+
/**
|
|
16
|
+
* cc means 'change context'. It creates a new scope in which a variable name can be used again
|
|
17
|
+
* (usually '$', a variable name that indicates the current context in exupery)
|
|
18
|
+
*
|
|
19
|
+
* example:
|
|
20
|
+
*
|
|
21
|
+
* cc($[1], ($) => {
|
|
22
|
+
* //here $[1] has become $
|
|
23
|
+
* })
|
|
24
|
+
*
|
|
25
|
+
* @param input
|
|
26
|
+
* @param callback
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export declare function deprecated_cc<T, RT>(input: T, callback: (output: T) => RT): RT;
|
|
30
|
+
export declare const iterate: <Element, Return_Type>($: _pi.List<Element>, handler: ($iter: _pi.Iterator<Element>) => Return_Type) => Return_Type;
|
|
31
|
+
export declare const location_to_string: ($: _pi.Deprecated_Source_Location) => string;
|
|
32
|
+
/**
|
|
33
|
+
* call this function if an error is en encountered that is unrecoverable
|
|
34
|
+
* and the application should terminate immediately
|
|
35
|
+
* this avoids throwing an Error because those can always be caught, which could lead to
|
|
36
|
+
* misuse of library functionality
|
|
37
|
+
*
|
|
38
|
+
* @param message message to be printed on stderr
|
|
39
|
+
*/
|
|
40
|
+
export declare function panic(...message: string[]): never;
|
|
41
|
+
/**
|
|
42
|
+
* call this function if an error is en encountered that is unrecoverable
|
|
43
|
+
* and the application should terminate immediately
|
|
44
|
+
* this avoids throwing an Error because those can always be caught, which could lead to
|
|
45
|
+
* misuse of library functionality
|
|
46
|
+
*
|
|
47
|
+
* @param message message to be printed on stderr
|
|
48
|
+
*/
|
|
49
|
+
export declare function unreachable_code_path(): never;
|