1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 'use strict'
- const defs = {
- archive: 'IS_ARCHIVED',
- hidden: 'IS_HIDDEN',
- readonly: 'IS_READ_ONLY',
- system: 'IS_SYSTEM',
- }
- function convert (attrs, from) {
- const output = {}
- eachAttribute(attrs, function (attrValue, attrName) {
- eachDefinition(function (defValue, defName) {
- if (from === true) {
- if (defValue === attrName) {
- output[defName] = attrValue
- return false
- }
- } else {
- if (defName === attrName) {
- output[defValue] = attrValue
- return false
- }
- }
- })
- })
- return output
- }
- function convertFrom (attrs) {
- return convert(attrs, true)
- }
- function convertTo (attrs) {
- return convert(attrs, false)
- }
- function eachAttribute (attrs, callback) {
- for (let i in attrs) {
- if (attrs.hasOwnProperty(i) === true) {
- let stop = callback(attrs[i], i, attrs)
- if (stop === false) break
- }
- }
- }
- function eachDefinition (callback) {
- for (let i in defs) {
- if (defs.hasOwnProperty(i) === true) {
- let stop = callback(defs[i], i, defs)
- if (stop === false) break
- }
- }
- }
- module.exports = {
- from: convertFrom,
- to: convertTo,
- }
|