Skip to content

Instantly share code, notes, and snippets.

@doowb
Last active August 29, 2015 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save doowb/10197461 to your computer and use it in GitHub Desktop.
Save doowb/10197461 to your computer and use it in GitHub Desktop.
nested data
var data = [
{
'Sellside.foo': ['path/to/foo-data.json'],
'Sellside.bar': ['path/to/bar-data.json']
}
];
var results = {
Sellside: {
foo: { /* foo-data.json */ },
bar: { /* bar-data.json */ }
}
};
var data = [
{
Sellside: [
{
foo: ['path/to/foo-data.json']
},
{
bar: ['path/to/bar-data.json']
}
]
}
];
var results = {
Sellside: {
foo: { /* foo-data.json */ },
bar: { /* bar-data.json */ }
}
};
@jonschlinkert
Copy link

1. String

var data = 'foo/*.json';

// Results
var result = {
  // ...
};

2. Array of Strings

var data = ['foo/*.json'];

// Results
var result = {
  // ...
};

3. Object, with expand, name and src

var data = {
  expand: true,
  name: 'foo',
  src: ['*.json']
};

// Results
var result = {
  foo: {
    // ...
  }
};

4. Objects with random data

var data = {
  foo: 'foo',
  bar: 'bar',
  baz: 'baz'
};

// Results
var result = {
  foo: 'foo',
  bar: 'bar',
  baz: 'baz'
};

var data = {
  alert: {
    foo: 'foo',
    bar: 'bar',
    baz: 'baz'
  },
  navbar: {
    foo: 'foo',
    bar: 'bar',
    baz: 'baz'
  }
};

var result = {
  alert: {
    foo: 'foo',
    bar: 'bar',
    baz: 'baz'
  },
  navbar: {
    foo: 'foo',
    bar: 'bar',
    baz: 'baz'
  }
};

5. Array of objects with random data

var data = [
{
  foo: 'foo',
  bar: 'bar',
  baz: 'baz'
},
{
  bar: 'bar',
  baz: 'foo',
  bang: 'boom'
}];

// Results
var result = {
  foo: 'foo',
  bar: 'bar',
  baz: 'foo',
  bang: 'boom'
};

6. Array, with string and objects

with src and name properties

var data = [
  'foo/*.json',
  {expand: true, name: 'foo', src: ['foo/*.json']},
  {expand: true, name: 'bar', src: ['bar/*.json']},
  {expand: true, name: 'baz', src: ['baz/*.json']},
];

7

var data = [
  {quux: 'foo/*.json'},
  {expand: true, name: 'foo', src: ['foo/*.json']},
  {expand: true, name: 'bar', src: ['bar/*.json']},
  {expand: true, name: 'baz', src: ['baz/*.json']},
];

// Result
var result = {
  quux: 'foo/*.json',
  foo: {
    //...
  }
}

8

var data = [
  {name: 'bar' src: 'bar.json'},
  {name: 'foo' src: '*.json'}, 
];

// Result
var result = {
  name: 'foo',
  src: '*.json'
}

9

var data = [
  {expand: true, src: 'foo/*.json'}, // {one: 'two'}
  {expand: true, name: 'bar', src: ['bar/*.json']},
];

// Result
var result = {
  one: 'two',
  bar: {
    //...
  }
}

10

var data = [
  {expand: true, name: ':basename' src: 'blah.json'}, // {one: 'two'}
  {expand: true, name: 'bar', src: ['foo.json']},
];

// Result
var result = {
  blah: {
    one: 'two'
  },
  bar: {
    //...
  }
}

11

var data = [
  {expand: true, name: 'foo.bar.baz', src: ['foo/*.json']}
];

12

var data = [
  {expand: true, name: 'i18n.:dirname', src: ['i18n/**/*.json']}
];

@jonschlinkert
Copy link

@doowb, is 8 what you would expect?

@doowb
Copy link
Author

doowb commented Apr 9, 2014

Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment