diff options
Diffstat (limited to 'school/node_modules/pronote-api/src/data/objects.js')
-rw-r--r-- | school/node_modules/pronote-api/src/data/objects.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/school/node_modules/pronote-api/src/data/objects.js b/school/node_modules/pronote-api/src/data/objects.js new file mode 100644 index 0000000..5cc985e --- /dev/null +++ b/school/node_modules/pronote-api/src/data/objects.js @@ -0,0 +1,44 @@ +function fromPronote({ N, L, G, ...obj } = {}, fn = null, gName = 'type') { + const result = {}; + + if (typeof fn === 'string') { + gName = fn; + fn = null; + } + + if (N) { + result.id = N; + } + if (L) { + result.name = L; + } + if (G !== undefined && gName) { + result[gName] = G; + } + + return { + ...result, + ...(fn ? fn(G && gName ? obj : { G, ...obj }) : {}) + }; +} + +function toPronote({ id, name, type } = {}) { + const result = {}; + + if (id) { + result.N = id; + } + if (name) { + result.L = name; + } + if (type) { + result.G = type; + } + + return result; +} + +module.exports = { + fromPronote, + toPronote +}; |