1.1.1 • Published 2 years ago

mongodb-ace-autocompleter v1.1.1

Weekly downloads
1,044
License
Apache-2.0
Repository
github
Last release
2 years ago

mongodb-ace-autocompleter

Provides MongoDB custom ACE Editor auto-completers

Usage

Aggregation Pipelines

Provides completions within the context of an individual aggregation pipeline stage:

import ace from 'ace-builds';
import { StageAutoCompleter } from 'mongodb-ace-autocompleter';

// Get the basic text completer from Ace for fallback suggestions.
import tools from 'ace-builds/src-noconflict/ext-language_tools';
const textCompleter = tools.textCompleter;

// For auto completion of agg pipeline stages, pass the server version,
// the text completer, the processed schema fields, and the stage operator.
const stageAutoCompleter = new StageAutoCompleter(
  '3.6.0',
  textCompleter,
  [{
    name: 'name',
    value: 'name',
    score: 1,
    meta: 'field',
    version: '0.0.0'
  }],
  '$match'
);
tools.setCompleters([ stageAutoCompleter ]);

Queries

Provides completions within the context of a find(query):

import ace from 'ace-builds';
import { QueryAutoCompleter } from 'mongodb-ace-autocompleter';

// Get the basic text completer from Ace for fallback suggestions.
import tools from 'ace-builds/src-noconflict/ext-language_tools';
const textCompleter = tools.textCompleter;

// For auto completion of queries, pass the server version,
// the text completer, and the processed schema fields
const queryAutoCompleter = new QueryAutoCompleter(
  '3.6.0',
  textCompleter,
  [{
    name: 'name',
    value: 'name',
    score: 1,
    meta: 'field',
    version: '0.0.0'
  }]
);
tools.setCompleters([ queryAutoCompleter ]);

Related

Misc

Utility function to convert from the fields returned from the field store to the Ace friendly format. (Can be done in a reducer in the app).

const process = (fields) => {
  return Object.keys(fields).map((key) => {
    const field = key.indexOf('.') > -1 ? `"${key}"` : key;
    return {
      name: key,
      value: field,
      score: 1,
      meta: 'field',
      version: '0.0.0'
    };
  });
};

Release

npm run release

License

Apache 2.0

1.0.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

0.14.0

2 years ago

0.11.1

2 years ago

0.13.0

2 years ago

0.12.0

2 years ago

0.11.0

2 years ago

0.10.1

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.7.1

3 years ago

0.8.0

3 years ago

0.7.0

3 years ago

0.5.0

3 years ago

0.6.0

3 years ago

0.4.14

3 years ago

0.4.13

3 years ago

0.4.12

4 years ago

0.4.11

4 years ago

0.4.10

4 years ago

0.4.9

4 years ago

0.4.8

4 years ago

0.4.7

4 years ago

0.4.6

4 years ago

0.4.5

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.24

5 years ago

0.0.23

5 years ago

0.0.22

5 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago