@graphistry/falcor
Version:
A JavaScript library for efficient data fetching.
1,419 lines (1,358 loc) • 60.6 kB
JavaScript
var $path = require('./../../../lib/types/ref');
var $atom = require('./../../../lib/types/atom');
var $error = require('./../../../lib/types/error');
module.exports = function() {
return {
toOnlyLists: {
getPathValues: {
query: [
['genreList', {to: 1}, 0, 'summary']
]
},
getPathMaps: {
query: [{
json: {
'genreList': {
'0': {
'0': {
'summary': null
}
},
'1': {
'0': {
'summary': null
}
}
}
}
}]
},
AsValues: {
values: [
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '1', '0', 'summary'],
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
}
]
},
AsJSON: {
values: [{
json: {
0: {
0: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
1: {
0: {
'title': 'Running Man',
'url': '/movies/553'
}
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
},
1: {
'$size': 52,
'$type': $path,
'value': ['lists', 'my-list']
}
},
lists: {
abcd: {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
}
},
'1x5x': {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '553']
}
},
'my-list': {
'$size': 52,
'$type': $path,
'value': ['lists', '1x5x']
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
553: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
}
}
}
},
paths: [
['genreList', '0', '0', 'summary'],
['genreList', '1', '0', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
1: {
0: {
summary: {
'title': 'Running Man',
'url': '/movies/553'
}
}
}
}
}
}]
}
},
doubleComplex: {
getPathValues: {
query: [
['genreList', {to: 1}, {to: 1}, 'summary']
]
},
getPathMaps: {
query: [{
json: {
'genreList': {
'0': {
'0': {
'summary': null
},
'1': {
'summary': null
}
},
'1': {
'0': {
'summary': null
},
'1': {
'summary': null
}
}
}
}
}]
},
AsValues: {
values: [
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '0', '1', 'summary'],
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
},
{
path: ['genreList', '1', '0', 'summary'],
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
},
{
path: ['genreList', '1', '1', 'summary'],
'value': {
'title': 'Junior',
'url': '/movies/5522'
}
}
]
},
AsJSON: {
values: [{
json: {
0: {
0: {
'title': 'House of Cards',
'url': '/movies/1234'
},
1: {
'title': 'Terminator 3',
'url': '/movies/766'
}
},
1: {
0: {
'title': 'Running Man',
'url': '/movies/553'
},
1: {
'title': 'Junior',
'url': '/movies/5522'
}
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
},
1: {
'$size': 52,
'$type': $path,
'value': ['lists', 'my-list']
}
},
lists: {
abcd: {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '766']
}
},
'1x5x': {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '553']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '5522']
}
},
'my-list': {
'$size': 52,
'$type': $path,
'value': ['lists', '1x5x']
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
5522: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Junior',
'url': '/movies/5522'
}
}
},
553: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
}
},
766: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
},
paths: [
['genreList', '0', '0', 'summary'],
['genreList', '0', '1', 'summary'],
['genreList', '1', '0', 'summary'],
['genreList', '1', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
1: {
summary: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
},
1: {
0: {
summary: {
'title': 'Running Man',
'url': '/movies/553'
}
},
1: {
summary: {
'title': 'Junior',
'url': '/movies/5522'
}
}
}
}
}
}]
}
},
toOnly: {
getPathValues: {
query: [
['genreList', '0', {to: 1}, 'summary']
]
},
getPathMaps: {
query: [{
json: {
'genreList': {
'0': {
'0': {
'summary': null
},
'1': {
'summary': null
}
}
}
}
}]
},
optimizedPaths: [
['videos', '1234', 'summary'],
['videos', '766', 'summary']
],
AsValues: {
values: [
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '0', '1', 'summary'],
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
]
},
AsJSON: {
values: [{
json: {
0: {
'title': 'House of Cards',
'url': '/movies/1234'
},
1: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
},
lists: {
abcd: {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '766']
}
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
'766': {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
},
paths: [
['genreList', '0', '0', 'summary'],
['genreList', '0', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
1: {
summary: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
}
}]
}
},
toOnlyMyList: {
getPathValues: {
query: [
['genreList', '1', {to: 1}, 'summary']
]
},
AsValues: {
values: [
{
path: ['genreList', '1', '0', 'summary'],
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
},
{
path: ['genreList', '1', '1', 'summary'],
'value': {
'title': 'Junior',
'url': '/movies/5522'
}
}
]
},
AsJSON: {
values: [{
json: {
0: {
'title': 'Running Man',
'url': '/movies/553'
},
1: {
'title': 'Junior',
'url': '/movies/5522'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
1: {
'$size': 52,
'$type': $path,
'value': ['lists', 'my-list']
}
},
lists: {
'1x5x': {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '553']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '5522']
}
},
'my-list': ['lists', '1x5x']
},
videos: {
553: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Running Man',
'url': '/movies/553'
}
}
},
'5522': {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Junior',
'url': '/movies/5522'
}
}
}
}
},
paths: [
['genreList', '1', '0', 'summary'],
['genreList', '1', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
1: {
0: {
summary: {
'title': 'Running Man',
'url': '/movies/553'
}
},
1: {
summary: {
'title': 'Junior',
'url': '/movies/5522'
}
}
}
}
}
}]
}
},
fromOnly: {
getPathValues: {
query: [
['genreList', '0', {from: 0}, 'summary']
]
},
optimizedPaths: [
['videos', '1234', 'summary']
],
AsValues: {
values: [{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}]
},
AsJSON: {
values: [{
json: {
0: {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
},
lists: {
abcd: {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
}
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
}
}
},
paths: [
['genreList', '0', '0', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
}
}
}
}]
}
},
fromAndToWithNegativePaths: {
getPathValues: {
query: [
['genreList', '0', {from: -1, to: 1}, 'summary']
]
},
optimizedPaths: [
['videos', '4422', 'summary'],
['videos', '1234', 'summary'],
['videos', '766', 'summary']
],
AsValues: {
values: [
{
path: ['genreList', '0', '-1', 'summary'],
'value': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
},
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '0', '1', 'summary'],
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
]
},
AsJSON: {
values: [{
json: {
'-1': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
},
0: {
'title': 'House of Cards',
'url': '/movies/1234'
},
1: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
},
lists: {
abcd: {
'-1': {
'$size': 52,
'$type': $path,
'value': ['videos', '4422']
},
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '766']
}
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
4422: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
}
},
766: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
},
paths: [
['genreList', '0', -1, 'summary'],
['genreList', '0', '0', 'summary'],
['genreList', '0', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
'-1': {
summary: {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
},
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
'1': {
summary: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
}
}]
}
},
fromAndLength: {
getPathValues: {
query: [
['genreList', '0', {from: -1, length: 3}, 'summary']
]
},
optimizedPaths: [
['videos', '4422', 'summary'],
['videos', '1234', 'summary'],
['videos', '766', 'summary']
],
AsValues: {
values: [
{
path: ['genreList', '0', '-1', 'summary'],
'value': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
},
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '0', '1', 'summary'],
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
]
},
AsJSON: {
values: [{
json: {
'-1': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
},
0: {
'title': 'House of Cards',
'url': '/movies/1234'
},
1: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
},
lists: {
abcd: {
'-1': {
'$size': 52,
'$type': $path,
'value': ['videos', '4422']
},
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '766']
}
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
4422: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
}
},
766: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
},
paths: [
['genreList', '0', -1, 'summary'],
['genreList', '0', '0', 'summary'],
['genreList', '0', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
'-1': {
summary: {
'title': 'Beverly Hills Ninja',
'url': '/movies/4422'
}
},
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
'1': {
summary: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
}
}]
}
},
fromArray: {
getPathValues: {
query: [
['genreList', '0', ['0', '1'], 'summary']
]
},
optimizedPaths: [
['videos', '1234', 'summary'],
['videos', '766', 'summary']
],
AsValues: {
values: [
{
path: ['genreList', '0', '0', 'summary'],
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
{
path: ['genreList', '0', '1', 'summary'],
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
]
},
AsJSON: {
values: [{
json: {
0: {
'title': 'House of Cards',
'url': '/movies/1234'
},
1: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
},
lists: {
abcd: {
0: {
'$size': 52,
'$type': $path,
'value': ['videos', '1234']
},
1: {
'$size': 52,
'$type': $path,
'value': ['videos', '766']
}
}
},
videos: {
1234: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'House of Cards',
'url': '/movies/1234'
}
}
},
766: {
'summary': {
'$size': 51,
'$type': $atom,
'value': {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
},
paths: [
['genreList', '0', '0', 'summary'],
['genreList', '0', '1', 'summary']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: {
0: {
summary: {
'title': 'House of Cards',
'url': '/movies/1234'
}
},
'1': {
summary: {
'title': 'Terminator 3',
'url': '/movies/766'
}
}
}
}
}
}]
}
},
toOnlyLeaf: {
getPathValues: {
query: [
['genreList', {to: 1}]
]
},
getPathMaps: {
query: [{
json: {
'genreList': {
'0': null,
'1': null
}
}
}]
},
optimizedPaths: [
['genreList', '0'],
['genreList', '1']
],
AsValues: {
values: [
{
path: ['genreList', '0'],
'value': ['lists', 'abcd']
},
{
path: ['genreList', '1'],
'value': ['lists', 'my-list']
}
]
},
AsJSON: {
values: [{
json: {
0: ['lists', 'abcd'],
1: ['lists', 'my-list']
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
},
1: {
'$size': 52,
'$type': $path,
'value': ['lists', 'my-list']
}
}
},
paths: [
['genreList', '0'],
['genreList', '1']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: ['lists', 'abcd'],
1: ['lists', 'my-list']
}
}
}]
}
},
fromOnlyLeaf: {
getPathValues: {
query: [
['genreList', {from: 0}]
]
},
optimizedPaths: [
['genreList', '0']
],
AsValues: {
values: [
{
path: ['genreList', '0'],
'value': ['lists', 'abcd']
}
]
},
AsJSON: {
values: [{
json: {
0: ['lists', 'abcd']
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
}
}
},
paths: [
['genreList', '0']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
0: ['lists', 'abcd']
}
}
}]
}
},
fromAndLengthLeaf: {
getPathValues: {
query: [
['genreList', {from: -1, length: 3}]
]
},
optimizedPaths: [
['genreList', -1],
['genreList', '0'],
['genreList', '1']
],
AsValues: {
values: [
{
path: ['genreList', -1],
'value': ['lists', 'def']
},
{
path: ['genreList', '0'],
'value': ['lists', 'abcd']
},
{
path: ['genreList', '1'],
'value': ['lists', 'my-list']
}
]
},
AsJSON: {
values: [{
json: {
'-1': ['lists', 'def'],
0: ['lists', 'abcd'],
1: ['lists', 'my-list']
}
}]
},
AsJSONG: {
values: [{
jsonGraph: {
genreList: {
'-1': {
'$size': 52,
'$type': $path,
'value': ['lists', 'def']
},
0: {
'$size': 52,
'$type': $path,
'value': ['lists', 'abcd']
},
1: {
'$size': 52,
'$type': $path,
'value': ['lists', 'my-list']
}
}
},
paths: [
['genreList', -1],
['genreList', '0'],
['genreList', '1']
]
}]
},
AsPathMap: {
values: [{
json: {
genreList: {
'-1': ['lists', 'def'],
0: ['lists', 'abcd'],
1: ['lists', 'my-list']
}
}
}]
}
},
fromAndToWithNegativePathsLeaf: {
getPathValues: {
query: [
['genreList', {from: -1, to: 1}]
]
},
optimizedPaths: [
['genreList', -1],
['genreList', '0'],
['genreList', '1']
],
AsValues: {
values: [
{
path: ['genreList', -1],
'value': ['lists', 'def']
},
{
path: ['genreList', '0'],
'value': ['lists', 'abcd']
},
{
path: ['genreList', '1'],
'value': ['lists', 'my-list']
}
]
},
AsJSON: {
values: [{