Sha256: fb605b2965a6c5ad15b120ebd6276fd956b878ec938fbf0915a2cc43786a87df

Contents?: true

Size: 801 Bytes

Versions: 28

Compression:

Stored size: 801 Bytes

Contents

function iterateProps(obj, iterator) {
  Object.keys(obj).forEach(key => iterator({ ...obj[key], name: key }));
}

function mapProps(obj) {
  return Object.keys(obj).map(key => ({ ...obj[key], name: key }));
}

function filterProps(obj, filter) {
  const ret = {};
  Object.keys(obj).forEach(key => {
    if (filter(obj[key])) {
      ret[key] = obj[key];
    }
  });
  return ret;
}

function typeSignature(meta) {
  const type = meta.array ? `Array<${meta.type}>` : meta.type;
  if (meta.optional) {
    return `${meta.name}?: ${type}`;
  } else if (meta.maybe) {
    return `${meta.name}: ?${type}`;
  } else {
    return `${meta.name}: ${type}`;
  }
}

const unique = items => Array.from(new Set(items));

module.exports = {
  iterateProps,
  mapProps,
  filterProps,
  typeSignature,
  unique
};

Version data entries

28 entries across 27 versions & 9 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.18.0 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.18.2 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.16.1 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.15.2 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.18.4 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.18.1 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.14.0 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
tang-0.2.1 spec/tang_app/node_modules/@webassemblyjs/ast/scripts/util.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/@webassemblyjs/ast/scripts/util.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/@webassemblyjs/ast/scripts/util.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/@webassemblyjs/ast/scripts/util.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/@webassemblyjs/ast/scripts/util.js
tang-0.2.0 spec/tang_app/node_modules/@webassemblyjs/ast/scripts/util.js
tang-0.1.0 spec/tang_app/node_modules/@webassemblyjs/ast/scripts/util.js
tang-0.0.9 spec/tang_app/node_modules/@webassemblyjs/ast/scripts/util.js
enju_library-0.3.8 spec/dummy/node_modules/@webassemblyjs/ast/scripts/util.js
jester-data-8.0.0 node_modules/@webassemblyjs/ast/scripts/util.js