pareto 0.76.48 → 0.76.50
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.
|
@@ -32,59 +32,51 @@ const u_pareto_schema = __importStar(require("../generated/implementation/schema
|
|
|
32
32
|
const parse = __importStar(require("astn/dist/parse/parse"));
|
|
33
33
|
const remove_first_element_1 = require("pareto-standard-operations/dist/impure/list/remove_first_element");
|
|
34
34
|
const $ = ($) => {
|
|
35
|
-
return
|
|
35
|
+
return parse.parse($, {
|
|
36
36
|
'tab size': 4,
|
|
37
|
-
})
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
37
|
+
}).transform(($) => {
|
|
38
|
+
const resolved_schema_schema = r_pareto_schema.Type_Specification(u_pareto_schema.Type_Specification($.content, //if this goes wrong, the ast schema for astn and in 'generated' differ. Copy the astn one to generated
|
|
39
|
+
{
|
|
40
|
+
'value deserializers': {
|
|
41
|
+
'boolean': ($) => $ === "true",
|
|
42
|
+
'default number': () => 0,
|
|
43
|
+
'custom numbers': null
|
|
44
|
+
}
|
|
45
|
+
}), {
|
|
46
|
+
'location 2 string': ($) => `${$.start.relative.line}:${$.start.relative.column}`,
|
|
47
|
+
'parameters': {
|
|
48
|
+
'lookups': null,
|
|
49
|
+
'values': null,
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const temp_find_schema = ($, schema_path) => {
|
|
53
|
+
const st = $;
|
|
54
|
+
return (0, remove_first_element_1.$$)(schema_path).transform(($) => {
|
|
55
|
+
const split = $;
|
|
56
|
+
return _ea.cc(st, ($) => {
|
|
57
|
+
switch ($[0]) {
|
|
58
|
+
case 'schema': return _ea.ss($, ($) => _ea.panic(`(FIXME: make this a reference) the selected tree is a schema, not a set, can't do this step: ${split.element} `));
|
|
59
|
+
case 'set': return _ea.ss($, ($) => $.dictionary.__get_entry(split.element).transform(($) => temp_find_schema($, split.array), () => _ea.panic(`(FIXME: make this a reference) schema not found: ${split.element}`)));
|
|
60
|
+
default: return _ea.au($[0]);
|
|
55
61
|
}
|
|
56
62
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
switch ($[0]) {
|
|
70
|
-
case 'schema': return _ea.ss($, ($) => $);
|
|
71
|
-
case 'set': return _ea.ss($, ($) => _ea.panic(`(FIXME: make this a reference) the selected tree is a set, not a schema`));
|
|
72
|
-
default: return _ea.au($[0]);
|
|
73
|
-
}
|
|
74
|
-
}));
|
|
75
|
-
};
|
|
76
|
-
const schema = temp_find_schema(resolved_schema_schema.schema, resolved_schema_schema['schema path']);
|
|
77
|
-
const type = schema.types.dictionary.__get_entry(resolved_schema_schema.type).transform(($) => $, () => {
|
|
78
|
-
schema.types.dictionary.map(($, key) => {
|
|
79
|
-
_ed.log_debug_message(`available type: ${key}`, () => { });
|
|
80
|
-
});
|
|
81
|
-
_ea.panic(`(FIXME: make this a reference) root type ${resolved_schema_schema.type} not found`);
|
|
82
|
-
});
|
|
83
|
-
return ['success', type];
|
|
63
|
+
}, () => _ea.cc($, ($) => {
|
|
64
|
+
switch ($[0]) {
|
|
65
|
+
case 'schema': return _ea.ss($, ($) => $);
|
|
66
|
+
case 'set': return _ea.ss($, ($) => _ea.panic(`(FIXME: make this a reference) the selected tree is a set, not a schema`));
|
|
67
|
+
default: return _ea.au($[0]);
|
|
68
|
+
}
|
|
69
|
+
}));
|
|
70
|
+
};
|
|
71
|
+
const schema = temp_find_schema(resolved_schema_schema.schema, resolved_schema_schema['schema path']);
|
|
72
|
+
const type = schema.types.dictionary.__get_entry(resolved_schema_schema.type).transform(($) => $, () => {
|
|
73
|
+
schema.types.dictionary.map(($, key) => {
|
|
74
|
+
_ed.log_debug_message(`available type: ${key}`, () => { });
|
|
84
75
|
});
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
76
|
+
_ea.panic(`(FIXME: make this a reference) root type ${resolved_schema_schema.type} not found`);
|
|
77
|
+
});
|
|
78
|
+
return ['success', type];
|
|
79
|
+
}, ($) => ['error', ['parse error', $]]);
|
|
88
80
|
};
|
|
89
81
|
exports.$ = $;
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVzZXJpYWxpemVycy9sb2FkX3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixzREFBdUM7QUFHdkMsc0RBQXVDO0FBT3ZDLHFFQUFzRDtBQUV0RCx1R0FBd0Y7QUFJeEYsNkRBQThDO0FBTzlDLDJHQUFnSDtBQVd6RyxNQUFNLENBQUMsR0FBRyxDQUNiLENBQVMsRUFDeUMsRUFBRTtJQUVwRCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQ2QsQ0FBQyxFQUNEO1FBQ0ksVUFBVSxFQUFFLENBQUM7S0FDaEIsQ0FDSixDQUFDLFNBQVMsQ0FDUCxDQUFDLENBQUMsRUFBc0QsRUFBRTtRQUV0RCxNQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FDN0QsZUFBZSxDQUFDLGtCQUFrQixDQUM5QixDQUFDLENBQUMsT0FBTyxFQUFFLHVHQUF1RztRQUNsSDtZQUNJLHFCQUFxQixFQUFFO2dCQUNuQixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNO2dCQUM5QixnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QixnQkFBZ0IsRUFBRSxJQUFJO2FBQ3pCO1NBQ0osQ0FDSixFQUNEO1lBQ0ksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNqRixZQUFZLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7YUFDakI7U0FDSixDQUNKLENBQUE7UUFDRCxNQUFNLGdCQUFnQixHQUFHLENBQ3JCLENBQXVCLEVBQ3ZCLFdB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
|
|
@@ -38,45 +38,37 @@ const $$ = ($p) => {
|
|
|
38
38
|
const schema_path = (0, join_list_of_texts_with_separator_1.$$)((0, path_1.get_directory_path)($p['file path']).transform(($) => $, () => _ea.panic("could not get directory path")), {
|
|
39
39
|
'separator': "/",
|
|
40
40
|
}) + "/astn-schema";
|
|
41
|
-
return
|
|
41
|
+
return parse.parse($p.content, {
|
|
42
42
|
'tab size': 4,
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return (0, read_file_1.$$)(schema_path, true).map_exception(() => ['no schema file', null]).then(($) => {
|
|
53
|
-
//the schema file was read successfully
|
|
54
|
-
return _ea.cc((0, load_schema_1.$)($), ($) => {
|
|
43
|
+
}).transform(($) => {
|
|
44
|
+
//the instance was parsed successfully
|
|
45
|
+
const content = $.content;
|
|
46
|
+
//now first, get the schema
|
|
47
|
+
return (0, read_file_1.$$)(schema_path, true).map_exception(() => ['no schema file', null]).then(($) => {
|
|
48
|
+
//the schema file was read successfully
|
|
49
|
+
return _ea.cc((0, load_schema_1.$)($), ($) => {
|
|
50
|
+
switch ($[0]) {
|
|
51
|
+
case 'error': return _ea.ss($, ($) => _ea.cc($, ($) => {
|
|
55
52
|
switch ($[0]) {
|
|
56
|
-
case 'error': return _ea.ss($, ($) =>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
'file location': schema_path,
|
|
61
|
-
}]));
|
|
62
|
-
default: return _ea.au($[0]);
|
|
63
|
-
}
|
|
64
|
-
}));
|
|
65
|
-
case 'success': return _ea.ss($, ($) => {
|
|
66
|
-
//the schema was loaded successfully
|
|
67
|
-
const type = $;
|
|
68
|
-
return _easync.query.unguaranteed['create result'](tu_dynamic_unmarshall.Node(content, {
|
|
69
|
-
'definition': type.node,
|
|
70
|
-
}));
|
|
71
|
-
});
|
|
53
|
+
case 'parse error': return _ea.ss($, ($) => _easync.query.unguaranteed['raise exception'](['schema error', {
|
|
54
|
+
// 'message': $.,
|
|
55
|
+
'file location': schema_path,
|
|
56
|
+
}]));
|
|
72
57
|
default: return _ea.au($[0]);
|
|
73
58
|
}
|
|
59
|
+
}));
|
|
60
|
+
case 'success': return _ea.ss($, ($) => {
|
|
61
|
+
//the schema was loaded successfully
|
|
62
|
+
const type = $;
|
|
63
|
+
return _easync.query.unguaranteed['create result'](tu_dynamic_unmarshall.Node(content, {
|
|
64
|
+
'definition': type.node,
|
|
65
|
+
}));
|
|
74
66
|
});
|
|
75
|
-
|
|
67
|
+
default: return _ea.au($[0]);
|
|
68
|
+
}
|
|
76
69
|
});
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
});
|
|
70
|
+
});
|
|
71
|
+
}, ($) => _easync.query.unguaranteed['raise exception'](['parse error', $]));
|
|
80
72
|
};
|
|
81
73
|
exports.$$ = $$;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZF9wYXJldG9fZG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcXVlcmllcy9sb2FkX3BhcmV0b19kb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQU07QUFDTixzREFBdUM7QUFJdkMsNERBQTZDO0FBVzdDLDhGQUErRTtBQUUvRSw2REFBOEM7QUFJOUMscUlBQTRIO0FBRTVILHdFQUE0RTtBQUc1RSw2Q0FBdUQ7QUFFdkQsOERBQWtFO0FBVzNELE1BQU0sRUFBRSxHQUFHLENBQ2QsRUFHQyxFQUNrRCxFQUFFO0lBQ3JELE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFBLHNDQUFzQixFQUN0QyxJQUFBLHlCQUFrQixFQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDekMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDUixHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQ2xELEVBQ0Q7UUFDSSxXQUFXLEVBQUUsR0FBRztLQUNuQixDQUNKLEdBQUcsY0FBYyxDQUFBO0lBQ2xCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FDZCxFQUFFLENBQUMsT0FBTyxFQUNWO1FBQ0ksVUFBVSxFQUFFLENBQUM7S0FDaEIsQ0FDSixDQUFDLFNBQVMsQ0FDUCxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ0Ysc0NBQXNDO1FBRXRDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7UUFFekIsMkJBQTJCO1FBRTNCLE9BQU8sSUFBQSxjQUFXLEVBQ2QsV0FBVyxFQUNYLElBQUksQ0FDUCxDQUFDLGFBQWEsQ0FDWCxHQUFHLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBVSxDQUMxQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1QsdUNBQXVDO1lBQ3ZDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FDVCxJQUFBLGVBQVcsRUFDUCxDQUFDLENBQ0osRUFDRCxDQUFDLENBQUMsRUFBdUQsRUFBRTtnQkFDdkQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDWCxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ2xELFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7NEJBQ1gsS0FBSyxhQUFhLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO29DQUN2RyxpQkFBaUI7b0NBQ2pCLGVBQWUsRUFBRSxXQUFXO2lDQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFBOzRCQUNKLE9BQU8sQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFDaEMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUNILEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNuQyxvQ0FBb0M7d0JBRXBDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQTt3QkFFZCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDekUsT0FBTyxFQUNQOzRCQUNJLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSTt5QkFDMUIsQ0FDSixDQUFDLENBQUE7b0JBQ04sQ0FBQyxDQUFDLENBQUE7b0JBQ0YsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdOLENBQUMsRUFDRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMzRSxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBekVZLFFBQUEsRUFBRSxNQXlFZCJ9
|