@pie-element/categorize 12.0.0-beta.0 → 12.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -11
- package/configure/CHANGELOG.md +0 -11
- package/configure/lib/__tests__/main.test.js +100 -0
- package/configure/lib/__tests__/utils.js +39 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/design/__tests__/builder.test.js +34 -0
- package/configure/lib/design/__tests__/buttons.test.js +36 -0
- package/configure/lib/design/__tests__/header.test.js +37 -0
- package/configure/lib/design/__tests__/index.test.js +125 -0
- package/configure/lib/design/__tests__/input-header.test.js +41 -0
- package/configure/lib/design/builder.js +1 -1
- package/configure/lib/design/buttons.js +1 -1
- package/configure/lib/design/categories/RowLabel.js +3 -3
- package/configure/lib/design/categories/RowLabel.js.map +1 -1
- package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
- package/configure/lib/design/categories/__tests__/category.test.js +65 -0
- package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
- package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
- package/configure/lib/design/categories/__tests__/index.test.js +91 -0
- package/configure/lib/design/categories/alternateResponses.js +1 -1
- package/configure/lib/design/categories/category.js +1 -1
- package/configure/lib/design/categories/choice-preview.js +1 -1
- package/configure/lib/design/categories/droppable-placeholder.js +1 -1
- package/configure/lib/design/categories/index.js +1 -1
- package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
- package/configure/lib/design/choices/__tests__/config.test.js +66 -0
- package/configure/lib/design/choices/__tests__/index.test.js +70 -0
- package/configure/lib/design/choices/choice.js +1 -1
- package/configure/lib/design/choices/config.js +1 -1
- package/configure/lib/design/choices/index.js +1 -1
- package/configure/lib/design/header.js +1 -1
- package/configure/lib/design/index.js +5 -5
- package/configure/lib/design/index.js.map +1 -1
- package/configure/lib/design/input-header.js +3 -3
- package/configure/lib/design/input-header.js.map +1 -1
- package/configure/lib/design/utils.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +1 -1
- package/configure/lib/utils.js +1 -1
- package/configure/package.json +9 -9
- package/controller/CHANGELOG.md +0 -11
- package/controller/lib/__tests__/index.test.js +526 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/package.json +5 -5
- package/docs/demo/.pie/.configure/package.json +10 -0
- package/docs/demo/.pie/.configure/yarn.lock +2181 -0
- package/docs/demo/.pie/.controllers/package.json +10 -0
- package/docs/demo/.pie/.controllers/yarn.lock +110 -0
- package/docs/demo/.pie/info.entry.js +89 -0
- package/docs/demo/.pie/info.webpack.config.js +119 -0
- package/docs/demo/.pie/package.json +10 -0
- package/docs/demo/.pie/yarn.lock +2190 -0
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/index.test.js +197 -0
- package/lib/categorize/__tests__/categories.test.js +138 -0
- package/lib/categorize/__tests__/category.test.js +137 -0
- package/lib/categorize/__tests__/choice.test.js +88 -0
- package/lib/categorize/__tests__/choices.test.js +118 -0
- package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
- package/lib/categorize/__tests__/grid-content.test.js +48 -0
- package/lib/categorize/__tests__/index.test.js +152 -0
- package/lib/categorize/categories.js +1 -1
- package/lib/categorize/category.js +1 -1
- package/lib/categorize/choice.js +1 -1
- package/lib/categorize/choices.js +1 -1
- package/lib/categorize/droppable-placeholder.js +1 -1
- package/lib/categorize/grid-content.js +1 -1
- package/lib/categorize/index.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +10 -10
package/controller/lib/index.js
CHANGED
|
@@ -386,4 +386,4 @@ const validate = (model = {}, config = {}) => {
|
|
|
386
386
|
return errors;
|
|
387
387
|
};
|
|
388
388
|
exports.validate = validate;
|
|
389
|
-
//# sourceMappingURL=index.js.map
|
|
389
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaXNFbXB0eSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NhdGVnb3JpemUiLCJfZmVlZGJhY2siLCJfY29udHJvbGxlclV0aWxzIiwiX3RyYW5zbGF0b3IiLCJfZGVmYXVsdHMiLCJfdXRpbHMiLCJ0cmFuc2xhdG9yIiwiVHJhbnNsYXRvciIsImdldFBhcnRpYWxTY29yZSIsImNvcnJlY3RSZXNwb25zZSIsImJ1aWx0Q2F0ZWdvcmllcyIsInBsYWNlbWVudHMiLCJzY29yZSIsInJlZHVjZSIsImFjYyIsImNob2ljZXMiLCJsZW5ndGgiLCJmaWx0ZXIiLCJjaCIsImNvcnJlY3QiLCJtYXhTY29yZSIsImV4dHJhUGxhY2VtZW50cyIsInRvdGFsU2NvcmUiLCJwYXJzZUZsb2F0IiwidG9GaXhlZCIsImV4cG9ydHMiLCJnZXRBbHRlcm5hdGVzIiwibWFwIiwiYyIsImFsdGVybmF0ZVJlc3BvbnNlcyIsImFsdGVybmF0ZSIsImdldFRvdGFsU2NvcmUiLCJxdWVzdGlvbiIsInNlc3Npb24iLCJlbnYiLCJPYmplY3QiLCJrZXlzIiwiY2F0ZWdvcmllcyIsImFuc3dlcnMiLCJidWlsZFN0YXRlIiwiYWx0ZXJuYXRlcyIsImVuYWJsZWQiLCJwYXJ0aWFsU2NvcmluZyIsImdldENvcnJlY3RuZXNzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJtb2RlIiwidW5kZWZpbmVkIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwibW9kZWwiLCJkZWZhdWx0cyIsIm5vcm1hbGl6ZSIsInVwZGF0ZVNlc3Npb24iLCJub3JtYWxpemVkUXVlc3Rpb24iLCJhbnN3ZXJDb3JyZWN0bmVzcyIsInJvbGUiLCJjYXRlZ29yaWVzUGVyUm93IiwiY2hvaWNlc0xhYmVsIiwiY2hvaWNlc1Bvc2l0aW9uIiwiZmVlZGJhY2siLCJmZWVkYmFja0VuYWJsZWQiLCJwcm9tcHRFbmFibGVkIiwicHJvbXB0Iiwicm93TGFiZWxzIiwicmF0aW9uYWxlRW5hYmxlZCIsInJhdGlvbmFsZSIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsImxhbmd1YWdlIiwibWF4Q2hvaWNlc1BlckNhdGVnb3J5IiwiZXh0cmFDU1NSdWxlcyIsIm1pblJvd0hlaWdodCIsImZvbnRTaXplRmFjdG9yIiwiYXV0b3BsYXlBdWRpb0VuYWJsZWQiLCJjb21wbGV0ZUF1ZGlvRW5hYmxlZCIsImN1c3RvbUF1ZGlvQnV0dG9uIiwibm90ZSIsImZiIiwibG9ja0Nob2ljZU9yZGVyIiwibG9ja0Nob2ljZXMiLCJmaWx0ZXJlZENvcnJlY3RSZXNwb25zZSIsInJlc3BvbnNlIiwiZmlsdGVyZWRDaG9pY2VzIiwiY2hvaWNlIiwiZ2V0RmVlZGJhY2tGb3JDb3JyZWN0bmVzcyIsImdldFNodWZmbGVkQ2hvaWNlcyIsInQiLCJsbmciLCJyZXNwb25zZUFyZWFzVG9CZUZpbGxlZCIsInBvc3NpYmxlUmVzcG9uc2VzIiwiaGFzVW5wbGFjZWRDaG9pY2VzIiwiZ2V0Q29tcGxldGVSZXNwb25zZURldGFpbHMiLCJhbGxvd0FsdGVybmF0ZUVuYWJsZWQiLCJvdXQiLCJjb3JyZWN0bmVzcyIsImRpc2FibGVkIiwic2hvd05vdGUiLCJvdXRjb21lIiwicmVqZWN0IiwiRXJyb3IiLCJlbXB0eSIsImlzRW1wdHkiLCJjcmVhdGVDb3JyZWN0UmVzcG9uc2VTZXNzaW9uIiwiaWQiLCJnZXRJbm5lclRleHQiLCJodG1sIiwicmVwbGFjZUFsbCIsImdldENvbnRlbnQiLCJyZXBsYWNlIiwidmFsaWRhdGUiLCJjb25maWciLCJtYXhBbnN3ZXJDaG9pY2VzIiwibWluQ2hvaWNlcyIsIm1pbkNhdGVnb3JpZXMiLCJtYXhDYXRlZ29yaWVzIiwibWF4TGVuZ3RoUGVyQ2hvaWNlIiwibWF4TGVuZ3RoUGVyQ2F0ZWdvcnkiLCJyZXZlcnNlZENob2ljZXMiLCJyZXZlcnNlIiwiZXJyb3JzIiwiY2hvaWNlc0Vycm9ycyIsImNhdGVnb3JpZXNFcnJvcnMiLCJmb3JFYWNoIiwiZmllbGQiLCJyZXF1aXJlZCIsImNhdGVnb3J5IiwibGFiZWwiLCJpbmRleCIsImNvbnRlbnQiLCJpZGVudGljYWxBbnN3ZXIiLCJzbGljZSIsInNvbWUiLCJuYk9mQ2F0ZWdvcmllcyIsIm5iT2ZDaG9pY2VzIiwiY2F0ZWdvcmllc0Vycm9yIiwiY2hvaWNlc0Vycm9yIiwiaGFzQXNzb2NpYXRpb25zIiwiZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXgiLCJkdXBsaWNhdGVDYXRlZ29yeSIsImlzQ29ycmVjdFJlc3BvbnNlRHVwbGljYXRlZCIsImlzQWx0ZXJuYXRlRHVwbGljYXRlZCIsImR1cGxpY2F0ZUFsdGVybmF0ZSIsImFzc29jaWF0aW9uRXJyb3IiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHsgYnVpbGRTdGF0ZSwgc2NvcmUgfSBmcm9tICdAcGllLWxpYi9jYXRlZ29yaXplJztcbmltcG9ydCB7IGdldEZlZWRiYWNrRm9yQ29ycmVjdG5lc3MgfSBmcm9tICdAcGllLWxpYi9mZWVkYmFjayc7XG5pbXBvcnQgeyBsb2NrQ2hvaWNlcywgZ2V0U2h1ZmZsZWRDaG9pY2VzLCBwYXJ0aWFsU2NvcmluZyB9IGZyb20gJ0BwaWUtbGliL2NvbnRyb2xsZXItdXRpbHMnO1xuaW1wb3J0IFRyYW5zbGF0b3IgZnJvbSAnQHBpZS1saWIvdHJhbnNsYXRvcic7XG5cbmNvbnN0IHsgdHJhbnNsYXRvciB9ID0gVHJhbnNsYXRvcjtcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcbmltcG9ydCB7IGdldENvbXBsZXRlUmVzcG9uc2VEZXRhaWxzLCBpc0FsdGVybmF0ZUR1cGxpY2F0ZWQsIGlzQ29ycmVjdFJlc3BvbnNlRHVwbGljYXRlZCB9IGZyb20gJy4vdXRpbHMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuXG5leHBvcnQgeyBzY29yZSB9O1xuXG5leHBvcnQgY29uc3QgZ2V0UGFydGlhbFNjb3JlID0gKGNvcnJlY3RSZXNwb25zZSwgYnVpbHRDYXRlZ29yaWVzKSA9PiB7XG4gIC8vIGluIHRoZSByZXN1bHRlZCBiZXN0IHNjZW5hcmlvIHdlIG1ha2UgYSBzdW0gd2l0aCBhbGwgdGhlIGNvcnJlY3QgcmVzcG9uc2VzXG4gIC8vIGFuZCBhbGwgdGhlIHBsYWNlbWVudHNcbiAgY29uc3QgeyBwbGFjZW1lbnRzLCBzY29yZSB9ID0gYnVpbHRDYXRlZ29yaWVzLnJlZHVjZShcbiAgICAoYWNjLCB7IGNob2ljZXMgPSBbXSB9KSA9PiAoe1xuICAgICAgcGxhY2VtZW50czogYWNjLnBsYWNlbWVudHMgKyBjaG9pY2VzLmxlbmd0aCxcbiAgICAgIHNjb3JlOiBhY2Muc2NvcmUgKyBjaG9pY2VzLmZpbHRlcigoY2gpID0+IGNoLmNvcnJlY3QpLmxlbmd0aCxcbiAgICB9KSxcbiAgICB7IHBsYWNlbWVudHM6IDAsIHNjb3JlOiAwIH0sXG4gICk7XG5cbiAgLy8gaW4gdGhlIGNvcnJlY3QgcmVzcG9uc2UsIHdlIG1ha2UgYSBzdW0gb2YgdGhlIG1heCBwb3NzaWJsZSBzY29yZVxuICBjb25zdCB7IG1heFNjb3JlIH0gPSBjb3JyZWN0UmVzcG9uc2UucmVkdWNlKFxuICAgIChhY2MsIHsgY2hvaWNlcyB9KSA9PiAoe1xuICAgICAgbWF4U2NvcmU6IGFjYy5tYXhTY29yZSArIGNob2ljZXMubGVuZ3RoLFxuICAgIH0pLFxuICAgIHsgbWF4U2NvcmU6IDAgfSxcbiAgKTtcblxuICAvLyBpZiB0aGVyZSBhcmUgYW55IGV4dHJhIHBsYWNlbWVudHMsIHdlIHN1YnRyYWN0IGZyb20gdGhlIG9idGFpbmVkIHNjb3JlXG4gIGNvbnN0IGV4dHJhUGxhY2VtZW50cyA9IHBsYWNlbWVudHMgPiBtYXhTY29yZSA/IHBsYWNlbWVudHMgLSBtYXhTY29yZSA6IDA7XG4gIGNvbnN0IHRvdGFsU2NvcmUgPSAoc2NvcmUgLSBleHRyYVBsYWNlbWVudHMpIC8gbWF4U2NvcmU7XG5cbiAgcmV0dXJuIHRvdGFsU2NvcmUgPCAwID8gMCA6IHBhcnNlRmxvYXQodG90YWxTY29yZS50b0ZpeGVkKDIpKTtcbn07XG5cbmNvbnN0IGdldEFsdGVybmF0ZXMgPSAoY29ycmVjdFJlc3BvbnNlKSA9PlxuICBjb3JyZWN0UmVzcG9uc2UubWFwKChjKSA9PiBjLmFsdGVybmF0ZVJlc3BvbnNlcykuZmlsdGVyKChhbHRlcm5hdGUpID0+IGFsdGVybmF0ZSk7XG5cbmV4cG9ydCBjb25zdCBnZXRUb3RhbFNjb3JlID0gKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpID0+IHtcbiAgaWYgKCFzZXNzaW9uKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXMoc2Vzc2lvbikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgeyBjYXRlZ29yaWVzLCBjaG9pY2VzIH0gPSBxdWVzdGlvbiB8fCB7fTtcbiAgbGV0IHsgY29ycmVjdFJlc3BvbnNlIH0gPSBxdWVzdGlvbiB8fCB7fTtcbiAgbGV0IHsgYW5zd2VycyB9ID0gc2Vzc2lvbiB8fCB7fTtcbiAgYW5zd2VycyA9IGFuc3dlcnMgfHwgW107XG4gIGNvcnJlY3RSZXNwb25zZSA9IGNvcnJlY3RSZXNwb25zZSB8fCBbXTtcblxuICAvLyB0aGlzIGZ1bmN0aW9uIGlzIHVzZWQgaW4gcGllLXVpL2NhdGVnb3JpemUgYXMgd2VsbCwgaW4gb3JkZXIgdG8gZ2V0IHRoZSBiZXN0IHNjZW5hcmlvXG4gIC8vIHNvIHdlIGdldCB0aGUgYmVzdCBzY2VuYXJpbyBhbmQgY2FsY3VsYXRlIHRoZSBzY29yZVxuICBjb25zdCB7IGNhdGVnb3JpZXM6IGJ1aWx0Q2F0ZWdvcmllcywgY29ycmVjdCB9ID0gYnVpbGRTdGF0ZShjYXRlZ29yaWVzLCBjaG9pY2VzLCBhbnN3ZXJzLCBjb3JyZWN0UmVzcG9uc2UpO1xuXG4gIGNvbnN0IGFsdGVybmF0ZXMgPSBnZXRBbHRlcm5hdGVzKGNvcnJlY3RSZXNwb25zZSk7XG4gIGNvbnN0IGVuYWJsZWQgPSBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKHF1ZXN0aW9uLCBlbnYpO1xuXG4gIC8vIGlmIHRoZXJlIGFyZSBhbnkgYWx0ZXJuYXRlcywgdGhlcmUgd2lsbCBiZSBubyBwYXJ0aWFsIHNjb3JpbmchXG4gIGlmIChlbmFibGVkICYmICFhbHRlcm5hdGVzLmxlbmd0aCkge1xuICAgIC8vIHdlIGFwcGx5IHBhcnRpYWwgc2NvcmluZ1xuICAgIHJldHVybiBnZXRQYXJ0aWFsU2NvcmUoY29ycmVjdFJlc3BvbnNlLCBidWlsdENhdGVnb3JpZXMpO1xuICB9XG5cbiAgLy8gZWxzZSB3ZSBhcHBseSBkaWNob3RvbW91c1xuICByZXR1cm4gY29ycmVjdCA/IDEgOiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RuZXNzID0gKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVudi5tb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgICBjb25zdCBzY29yZSA9IGdldFRvdGFsU2NvcmUocXVlc3Rpb24sIHNlc3Npb24sIGVudik7XG4gICAgICBpZiAoc2NvcmUgPT09IDEpIHtcbiAgICAgICAgcmVzb2x2ZSgnY29ycmVjdCcpO1xuICAgICAgfSBlbHNlIGlmIChzY29yZSA9PT0gMCkge1xuICAgICAgICByZXNvbHZlKCdpbmNvcnJlY3QnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoJ3BhcnRpYWxseS1jb3JyZWN0Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc29sdmUodW5kZWZpbmVkKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRNb2RlbCA9IChtb2RlbCA9IHt9KSA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHJlc29sdmUoe1xuICAgICAgLi4uZGVmYXVsdHMsXG4gICAgICAuLi5tb2RlbCxcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSAocXVlc3Rpb24pID0+ICh7IC4uLmRlZmF1bHRzLCAuLi5xdWVzdGlvbiB9KTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBjb25zdCBtb2RlbCA9IGFzeW5jIChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG4gIGNvbnN0IGFuc3dlckNvcnJlY3RuZXNzID0gYXdhaXQgZ2V0Q29ycmVjdG5lc3Mobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuXG4gIGNvbnN0IHsgbW9kZSwgcm9sZSB9ID0gZW52IHx8IHt9O1xuXG4gIGNvbnN0IHtcbiAgICBjYXRlZ29yaWVzLFxuICAgIGNhdGVnb3JpZXNQZXJSb3csXG4gICAgY2hvaWNlc0xhYmVsLFxuICAgIGNob2ljZXNQb3NpdGlvbixcbiAgICBjb3JyZWN0UmVzcG9uc2UsXG4gICAgZmVlZGJhY2ssXG4gICAgZmVlZGJhY2tFbmFibGVkLFxuICAgIHByb21wdEVuYWJsZWQsXG4gICAgcHJvbXB0LFxuICAgIHJvd0xhYmVscyxcbiAgICByYXRpb25hbGVFbmFibGVkLFxuICAgIHJhdGlvbmFsZSxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgIGxhbmd1YWdlLFxuICAgIG1heENob2ljZXNQZXJDYXRlZ29yeSxcbiAgICBleHRyYUNTU1J1bGVzLFxuICAgIG1pblJvd0hlaWdodCxcbiAgICBmb250U2l6ZUZhY3RvcixcbiAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZCxcbiAgICBjb21wbGV0ZUF1ZGlvRW5hYmxlZCxcbiAgICBjdXN0b21BdWRpb0J1dHRvbixcbiAgfSA9IG5vcm1hbGl6ZWRRdWVzdGlvbjtcbiAgbGV0IHsgY2hvaWNlcywgbm90ZSB9ID0gbm9ybWFsaXplZFF1ZXN0aW9uO1xuICBsZXQgZmI7XG5cbiAgY29uc3QgbG9ja0Nob2ljZU9yZGVyID0gbG9ja0Nob2ljZXMobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuXG4gIGNvbnN0IGZpbHRlcmVkQ29ycmVjdFJlc3BvbnNlID0gY29ycmVjdFJlc3BvbnNlLm1hcCgocmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJlZENob2ljZXMgPSAocmVzcG9uc2UuY2hvaWNlcyB8fCBbXSkuZmlsdGVyKChjaG9pY2UpID0+IGNob2ljZSAhPT0gJ251bGwnKTtcbiAgICByZXR1cm4geyAuLi5yZXNwb25zZSwgY2hvaWNlczogZmlsdGVyZWRDaG9pY2VzIH07XG4gIH0pO1xuXG4gIGlmIChtb2RlID09PSAnZXZhbHVhdGUnICYmIGZlZWRiYWNrRW5hYmxlZCkge1xuICAgIGZiID0gYXdhaXQgZ2V0RmVlZGJhY2tGb3JDb3JyZWN0bmVzcyhhbnN3ZXJDb3JyZWN0bmVzcywgZmVlZGJhY2spO1xuICB9XG5cbiAgaWYgKCFsb2NrQ2hvaWNlT3JkZXIpIHtcbiAgICBjaG9pY2VzID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sICdpZCcpO1xuICB9XG5cbiAgaWYgKCFub3RlKSB7XG4gICAgbm90ZSA9IHRyYW5zbGF0b3IudCgnY29tbW9uOmNvbW1vbkNvcnJlY3RBbnN3ZXJXaXRoQWx0ZXJuYXRlcycsIHsgbG5nOiBsYW5ndWFnZSB9KTtcbiAgfVxuXG4gIGNvbnN0IGFsdGVybmF0ZXMgPSBnZXRBbHRlcm5hdGVzKGZpbHRlcmVkQ29ycmVjdFJlc3BvbnNlKTtcbiAgY29uc3QgeyByZXNwb25zZUFyZWFzVG9CZUZpbGxlZCwgcG9zc2libGVSZXNwb25zZXMsIGhhc1VucGxhY2VkQ2hvaWNlcyB9ID0gZ2V0Q29tcGxldGVSZXNwb25zZURldGFpbHMoXG4gICAgZmlsdGVyZWRDb3JyZWN0UmVzcG9uc2UsXG4gICAgbm9ybWFsaXplZFF1ZXN0aW9uLmFsbG93QWx0ZXJuYXRlRW5hYmxlZCA/IGFsdGVybmF0ZXMgOiBbXSxcbiAgICBub3JtYWxpemVkUXVlc3Rpb24uY2hvaWNlcyxcbiAgKTtcbiAgY29uc3Qgb3V0ID0ge1xuICAgIGNhdGVnb3JpZXM6IGNhdGVnb3JpZXMgfHwgW10sXG4gICAgY2F0ZWdvcmllc1BlclJvdzogY2F0ZWdvcmllc1BlclJvdyB8fCAyLFxuICAgIG1heENob2ljZXNQZXJDYXRlZ29yeSxcbiAgICBjb3JyZWN0bmVzczogYW5zd2VyQ29ycmVjdG5lc3MsXG4gICAgY2hvaWNlczogY2hvaWNlcyB8fCBbXSxcbiAgICBjaG9pY2VzTGFiZWw6IGNob2ljZXNMYWJlbCB8fCAnJyxcbiAgICBjaG9pY2VzUG9zaXRpb24sXG4gICAgZGlzYWJsZWQ6IG1vZGUgIT09ICdnYXRoZXInLFxuICAgIGZlZWRiYWNrOiBmYixcbiAgICBsb2NrQ2hvaWNlT3JkZXIsXG4gICAgcHJvbXB0OiBwcm9tcHRFbmFibGVkID8gcHJvbXB0IDogbnVsbCxcbiAgICByb3dMYWJlbHMsXG4gICAgbm90ZSxcbiAgICBlbnYsXG4gICAgc2hvd05vdGU6IGFsdGVybmF0ZXMgJiYgYWx0ZXJuYXRlcy5sZW5ndGggPiAwLFxuICAgIGNvcnJlY3RSZXNwb25zZTogbW9kZSA9PT0gJ2V2YWx1YXRlJyA/IGZpbHRlcmVkQ29ycmVjdFJlc3BvbnNlIDogdW5kZWZpbmVkLFxuICAgIGxhbmd1YWdlLFxuICAgIGV4dHJhQ1NTUnVsZXMsXG4gICAgZm9udFNpemVGYWN0b3IsXG4gICAgbWluUm93SGVpZ2h0OiBtaW5Sb3dIZWlnaHQsXG4gICAgYXV0b3BsYXlBdWRpb0VuYWJsZWQsXG4gICAgY29tcGxldGVBdWRpb0VuYWJsZWQsXG4gICAgY3VzdG9tQXVkaW9CdXR0b24sXG4gICAgcG9zc2libGVSZXNwb25zZXMsXG4gICAgcmVzcG9uc2VBcmVhc1RvQmVGaWxsZWQsXG4gICAgaGFzVW5wbGFjZWRDaG9pY2VzLFxuICB9O1xuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC5yYXRpb25hbGUgPSByYXRpb25hbGVFbmFibGVkID8gcmF0aW9uYWxlIDogbnVsbDtcbiAgICBvdXQudGVhY2hlckluc3RydWN0aW9ucyA9IHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkID8gdGVhY2hlckluc3RydWN0aW9ucyA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG51bGw7XG4gICAgb3V0LnRlYWNoZXJJbnN0cnVjdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBjb25zdCBvdXRjb21lID0gKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpID0+IHtcbiAgaWYgKGVudi5tb2RlICE9PSAnZXZhbHVhdGUnKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignQ2FuIG5vdCBjYWxsIG91dGNvbWUgd2hlbiBtb2RlIGlzIG5vdCBldmFsdWF0ZScpKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBzY29yZTogZ2V0VG90YWxTY29yZShxdWVzdGlvbiwgc2Vzc2lvbiwgZW52KSxcbiAgICAgICAgZW1wdHk6ICFzZXNzaW9uIHx8IGlzRW1wdHkoc2Vzc2lvbiksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24gPSAocXVlc3Rpb24sIGVudikgPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCB7IG1vZGUsIHJvbGUgfSA9IGVudiB8fCB7fTtcblxuICAgIGlmIChtb2RlICE9PSAnZXZhbHVhdGUnICYmIHJvbGUgPT09ICdpbnN0cnVjdG9yJykge1xuICAgICAgY29uc3QgeyBjb3JyZWN0UmVzcG9uc2UgfSA9IHF1ZXN0aW9uO1xuXG4gICAgICByZXNvbHZlKHsgYW5zd2VyczogY29ycmVjdFJlc3BvbnNlLCBpZDogMSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vIHJlbW92ZSBhbGwgaHRtbCB0YWdzXG5jb25zdCBnZXRJbm5lclRleHQgPSAoaHRtbCkgPT4gKGh0bWwgfHwgJycpLnJlcGxhY2VBbGwoLzxbXj5dKj4vZywgJycpO1xuXG4vLyByZW1vdmUgYWxsIGh0bWwgdGFncyBleGNlcHQgaW1nLCBpZnJhbWUgYW5kIHNvdXJjZSB0YWcgZm9yIGF1ZGlvXG5jb25zdCBnZXRDb250ZW50ID0gKGh0bWwpID0+IChodG1sIHx8ICcnKS5yZXBsYWNlKC8oPCg/IWltZ3xpZnJhbWV8c291cmNlKShbXj5dKyk+KS9naSwgJycpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGUgPSAobW9kZWwgPSB7fSwgY29uZmlnID0ge30pID0+IHtcbiAgY29uc3QgeyBjYXRlZ29yaWVzLCBjaG9pY2VzLCBjb3JyZWN0UmVzcG9uc2UsIG1heEFuc3dlckNob2ljZXMgfSA9IG1vZGVsO1xuICBjb25zdCB7XG4gICAgbWluQ2hvaWNlcyA9IDEsXG4gICAgbWluQ2F0ZWdvcmllcyA9IDEsXG4gICAgbWF4Q2F0ZWdvcmllcyA9IDEyLFxuICAgIG1heExlbmd0aFBlckNob2ljZSA9IDMwMCxcbiAgICBtYXhMZW5ndGhQZXJDYXRlZ29yeSA9IDE1MCxcbiAgfSA9IGNvbmZpZztcbiAgY29uc3QgcmV2ZXJzZWRDaG9pY2VzID0gWy4uLihjaG9pY2VzIHx8IFtdKV0ucmV2ZXJzZSgpO1xuICBjb25zdCBlcnJvcnMgPSB7fTtcbiAgY29uc3QgY2hvaWNlc0Vycm9ycyA9IHt9O1xuICBjb25zdCBjYXRlZ29yaWVzRXJyb3JzID0ge307XG5cbiAgWyd0ZWFjaGVySW5zdHJ1Y3Rpb25zJywgJ3Byb21wdCcsICdyYXRpb25hbGUnXS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmIChjb25maWdbZmllbGRdPy5yZXF1aXJlZCAmJiAhZ2V0Q29udGVudChtb2RlbFtmaWVsZF0pKSB7XG4gICAgICBlcnJvcnNbZmllbGRdID0gJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJztcbiAgICB9XG4gIH0pO1xuXG4gIChjYXRlZ29yaWVzIHx8IFtdKS5mb3JFYWNoKChjYXRlZ29yeSkgPT4ge1xuICAgIGNvbnN0IHsgaWQsIGxhYmVsIH0gPSBjYXRlZ29yeTtcblxuICAgIGlmIChnZXRJbm5lclRleHQobGFiZWwpLmxlbmd0aCA+IG1heExlbmd0aFBlckNhdGVnb3J5KSB7XG4gICAgICBjYXRlZ29yaWVzRXJyb3JzW2lkXSA9IGBDYXRlZ29yeSBsYWJlbHMgc2hvdWxkIGJlIG5vIG1vcmUgdGhhbiAke21heExlbmd0aFBlckNhdGVnb3J5fSBjaGFyYWN0ZXJzIGxvbmcuYDtcbiAgICB9XG4gIH0pO1xuXG4gIChyZXZlcnNlZENob2ljZXMgfHwgW10pLmZvckVhY2goKGNob2ljZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IGlkLCBjb250ZW50IH0gPSBjaG9pY2U7XG5cbiAgICBpZiAoZ2V0SW5uZXJUZXh0KGNvbnRlbnQpLmxlbmd0aCA+IG1heExlbmd0aFBlckNob2ljZSkge1xuICAgICAgY2hvaWNlc0Vycm9yc1tpZF0gPSBgVG9rZW5zIHNob3VsZCBiZSBubyBtb3JlIHRoYW4gJHttYXhMZW5ndGhQZXJDaG9pY2V9IGNoYXJhY3RlcnMgbG9uZy5gO1xuICAgIH1cblxuICAgIGlmICghZ2V0Q29udGVudChjb250ZW50KSkge1xuICAgICAgY2hvaWNlc0Vycm9yc1tpZF0gPSAnVG9rZW5zIHNob3VsZCBub3QgYmUgZW1wdHkuJztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaWRlbnRpY2FsQW5zd2VyID0gcmV2ZXJzZWRDaG9pY2VzLnNsaWNlKGluZGV4ICsgMSkuc29tZSgoYykgPT4gYy5jb250ZW50ID09PSBjb250ZW50KTtcblxuICAgICAgaWYgKGlkZW50aWNhbEFuc3dlcikge1xuICAgICAgICBjaG9pY2VzRXJyb3JzW2lkXSA9ICdUb2tlbnMgY29udGVudCBzaG91bGQgYmUgdW5pcXVlLic7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBuYk9mQ2F0ZWdvcmllcyA9IChjYXRlZ29yaWVzIHx8IFtdKS5sZW5ndGg7XG4gIGNvbnN0IG5iT2ZDaG9pY2VzID0gKGNob2ljZXMgfHwgW10pLmxlbmd0aDtcblxuICBpZiAobmJPZkNhdGVnb3JpZXMgPiBtYXhDYXRlZ29yaWVzKSB7XG4gICAgZXJyb3JzLmNhdGVnb3JpZXNFcnJvciA9IGBObyBtb3JlIHRoYW4gJHttYXhDYXRlZ29yaWVzfSBjYXRlZ29yaWVzIHNob3VsZCBiZSBkZWZpbmVkLmA7XG4gIH0gZWxzZSBpZiAobmJPZkNhdGVnb3JpZXMgPCBtaW5DYXRlZ29yaWVzKSB7XG4gICAgZXJyb3JzLmNhdGVnb3JpZXNFcnJvciA9IGBUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgJHttaW5DYXRlZ29yaWVzfSBjYXRlZ29yeSBkZWZpbmVkLmA7XG4gIH1cblxuICBpZiAobmJPZkNob2ljZXMgPCBtaW5DaG9pY2VzKSB7XG4gICAgZXJyb3JzLmNob2ljZXNFcnJvciA9IGBUaGVyZSBzaG91bGQgYmUgYXQgbGVhc3QgJHttaW5DaG9pY2VzfSBjaG9pY2VzIGRlZmluZWQuYDtcbiAgfSBlbHNlIGlmIChuYk9mQ2hvaWNlcyA+IG1heEFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuY2hvaWNlc0Vycm9yID0gYE5vIG1vcmUgdGhhbiAke21heEFuc3dlckNob2ljZXN9IGNob2ljZXMgc2hvdWxkIGJlIGRlZmluZWQuYDtcbiAgfVxuXG4gIGlmIChuYk9mQ2hvaWNlcyAmJiBuYk9mQ2F0ZWdvcmllcykge1xuICAgIGxldCBoYXNBc3NvY2lhdGlvbnMgPSBmYWxzZTtcblxuICAgIChjb3JyZWN0UmVzcG9uc2UgfHwgW10pLmZvckVhY2goKHJlc3BvbnNlKSA9PiB7XG4gICAgICBjb25zdCB7IGNob2ljZXMgPSBbXSwgYWx0ZXJuYXRlUmVzcG9uc2VzID0gW10gfSA9IHJlc3BvbnNlO1xuXG4gICAgICBpZiAoY2hvaWNlcy5sZW5ndGgpIHtcbiAgICAgICAgaGFzQXNzb2NpYXRpb25zID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsdGVybmF0ZVJlc3BvbnNlcy5mb3JFYWNoKChhbHRlcm5hdGUpID0+IHtcbiAgICAgICAgICBpZiAoKGFsdGVybmF0ZSB8fCBbXSkubGVuZ3RoKSB7XG4gICAgICAgICAgICBoYXNBc3NvY2lhdGlvbnMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXggPSAtMTtcbiAgICBsZXQgZHVwbGljYXRlQ2F0ZWdvcnkgPSAnJztcbiAgICAoY29ycmVjdFJlc3BvbnNlIHx8IFtdKS5mb3JFYWNoKChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc3QgeyBjaG9pY2VzID0gW10sIGFsdGVybmF0ZVJlc3BvbnNlcyA9IFtdLCBjYXRlZ29yeSB9ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChkdXBsaWNhdGVBbHRlcm5hdGVJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXggPSBpc0NvcnJlY3RSZXNwb25zZUR1cGxpY2F0ZWQoY2hvaWNlcywgYWx0ZXJuYXRlUmVzcG9uc2VzKTtcblxuICAgICAgICBpZiAoZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXggPSBpc0FsdGVybmF0ZUR1cGxpY2F0ZWQoYWx0ZXJuYXRlUmVzcG9uc2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGR1cGxpY2F0ZUNhdGVnb3J5ID0gY2F0ZWdvcnk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoZHVwbGljYXRlQWx0ZXJuYXRlSW5kZXggPiAtMSkge1xuICAgICAgZXJyb3JzLmR1cGxpY2F0ZUFsdGVybmF0ZSA9IHsgaW5kZXg6IGR1cGxpY2F0ZUFsdGVybmF0ZUluZGV4LCBjYXRlZ29yeTogZHVwbGljYXRlQ2F0ZWdvcnkgfTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc0Fzc29jaWF0aW9ucykge1xuICAgICAgZXJyb3JzLmFzc29jaWF0aW9uRXJyb3IgPSAnQXQgbGVhc3Qgb25lIHRva2VuIHNob3VsZCBiZSBhc3NpZ25lZCB0byBhdCBsZWFzdCBvbmUgY2F0ZWdvcnkuJztcbiAgICB9XG4gIH1cblxuICBpZiAoIWlzRW1wdHkoY2hvaWNlc0Vycm9ycykpIHtcbiAgICBlcnJvcnMuY2hvaWNlc0Vycm9ycyA9IGNob2ljZXNFcnJvcnM7XG4gIH1cblxuICBpZiAoIWlzRW1wdHkoY2F0ZWdvcmllc0Vycm9ycykpIHtcbiAgICBlcnJvcnMuY2F0ZWdvcmllc0Vycm9ycyA9IGNhdGVnb3JpZXNFcnJvcnM7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxnQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUssU0FBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBRkEsTUFBTTtFQUFFTztBQUFXLENBQUMs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
|
package/controller/lib/utils.js
CHANGED
|
@@ -66,4 +66,4 @@ const getCompleteResponseDetails = (correctResponse, alternates, allChoices) =>
|
|
|
66
66
|
};
|
|
67
67
|
};
|
|
68
68
|
exports.getCompleteResponseDetails = getCompleteResponseDetails;
|
|
69
|
-
//# sourceMappingURL=
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtdWx0aXBsZVBsYWNlbWVudHMiLCJleHBvcnRzIiwiZW5hYmxlZCIsImRpc2FibGVkIiwicGVyQ2hvaWNlIiwiaXNDb3JyZWN0UmVzcG9uc2VEdXBsaWNhdGVkIiwiY2hvaWNlcyIsImFsdGVybmF0ZSIsImxlbmd0aCIsInN0cmluZ0Nob2ljZXMiLCJKU09OIiwic3RyaW5naWZ5Iiwic29ydCIsInN0cmluZ0FsdGVybmF0ZSIsInJlZHVjZSIsInRvdGFsIiwiY3VycmVudCIsImZvdW5kSW5kZXhEdXBsaWNhdGUiLCJmaW5kSW5kZXgiLCJpc0FsdGVybmF0ZUR1cGxpY2F0ZWQiLCJlbGVtZW50U2V0IiwiU2V0IiwiaSIsImhhcyIsImFkZCIsImdldENvbXBsZXRlUmVzcG9uc2VEZXRhaWxzIiwiY29ycmVjdFJlc3BvbnNlIiwiYWx0ZXJuYXRlcyIsImFsbENob2ljZXMiLCJjaG9pY2VzUGVyQ2F0ZWdvcnkiLCJtYXAiLCJjYXRlZ29yeSIsInBvc3NpYmxlUmVzcG9uc2VzIiwiZmxhdCIsInJlc3BvbnNlQXJlYXNUb0JlRmlsbGVkIiwiZmlsdGVyIiwiYWx0ZXJuYXRlc1BlckNob2ljZSIsIkFycmF5Iiwia2V5cyIsImZvckVhY2giLCJpbmRleCIsImFsdGVybmF0ZXNQZXJSZXNwb25zZSIsImZpbGxlZENhdGVnb3JpZXMiLCJwdXNoIiwiaGFzVW5wbGFjZWRDaG9pY2VzIiwic29tZSIsInJlc3BvbnNlIiwiZXZlcnkiLCJ2YWwiLCJpbmNsdWRlcyIsImlkIl0sInNvdXJjZXMiOlsiLi4vc3JjL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHVzZWQgaW4gY29uZmlndXJlIHRvbywgZm9yIGNvbnNpc3RlbmN5IG1vZGlmeSBpdCB0aGVyZSB0b29cbmV4cG9ydCBjb25zdCBtdWx0aXBsZVBsYWNlbWVudHMgPSB7IGVuYWJsZWQ6ICdZZXMnLCBkaXNhYmxlZDogJ05vJywgcGVyQ2hvaWNlOiAnU2V0IFBlciBDaG9pY2UnIH07XG5cbi8vIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGNvbmZpZ1xuZXhwb3J0IGNvbnN0IGlzQ29ycmVjdFJlc3BvbnNlRHVwbGljYXRlZCA9IChjaG9pY2VzLCBhbHRlcm5hdGUpID0+IHtcbiAgaWYgKGNob2ljZXMubGVuZ3RoIDwgMSB8fCBhbHRlcm5hdGUubGVuZ3RoIDwgMSkge1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIGNvbnN0IHN0cmluZ0Nob2ljZXMgPSBKU09OLnN0cmluZ2lmeShjaG9pY2VzLnNvcnQoKSk7XG4gIGNvbnN0IHN0cmluZ0FsdGVybmF0ZSA9IGFsdGVybmF0ZS5yZWR1Y2UoXG4gICAgKHRvdGFsLCBjdXJyZW50KSA9PiAoY3VycmVudC5sZW5ndGggPiAwID8gWy4uLnRvdGFsLCBKU09OLnN0cmluZ2lmeShjdXJyZW50LnNvcnQoKSldIDogdG90YWwpLFxuICAgIFtdLFxuICApO1xuICBjb25zdCBmb3VuZEluZGV4RHVwbGljYXRlID0gc3RyaW5nQWx0ZXJuYXRlLmZpbmRJbmRleCgoYWx0ZXJuYXRlKSA9PiBhbHRlcm5hdGUubGVuZ3RoICYmIGFsdGVybmF0ZSA9PT0gc3RyaW5nQ2hvaWNlcyk7XG5cbiAgcmV0dXJuIGZvdW5kSW5kZXhEdXBsaWNhdGU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBbHRlcm5hdGVEdXBsaWNhdGVkID0gKGFsdGVybmF0ZSkgPT4ge1xuICBpZiAoYWx0ZXJuYXRlLmxlbmd0aCA8PSAxKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudFNldCA9IG5ldyBTZXQoKTtcbiAgY29uc3Qgc3RyaW5nQWx0ZXJuYXRlID0gYWx0ZXJuYXRlLnJlZHVjZShcbiAgICAodG90YWwsIGN1cnJlbnQpID0+IChjdXJyZW50Lmxlbmd0aCA+IDAgPyBbLi4udG90YWwsIEpTT04uc3RyaW5naWZ5KGN1cnJlbnQuc29ydCgpKV0gOiB0b3RhbCksXG4gICAgW10sXG4gICk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHJpbmdBbHRlcm5hdGUubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoZWxlbWVudFNldC5oYXMoc3RyaW5nQWx0ZXJuYXRlW2ldKSAmJiBzdHJpbmdBbHRlcm5hdGVbaV0pIHtcbiAgICAgIHJldHVybiBpO1xuICAgIH1cblxuICAgIGVsZW1lbnRTZXQuYWRkKHN0cmluZ0FsdGVybmF0ZVtpXSk7XG4gIH1cblxuICByZXR1cm4gLTE7XG59O1xuXG4vLyBjYWxjdWxhdGUgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHBvcHVsYXRlZCByZXNwb25zZSBhcmVhcyAoY2F0ZWdvcmllcykgaW4gdGhlIGNvcnJlY3QgYW5zd2VyIG9yIGFsdGVybmF0ZXNcbi8vIGFuZCBjcmVhdGUgYW4gYXJyYXkgd2l0aCB0aGUgcG9zc2libGUgcmVzcG9uc2VzIGlkc1xuZXhwb3J0IGNvbnN0IGdldENvbXBsZXRlUmVzcG9uc2VEZXRhaWxzID0gKGNvcnJlY3RSZXNwb25zZSwgYWx0ZXJuYXRlcywgYWxsQ2hvaWNlcykgPT4ge1xuICBjb25zdCBjaG9pY2VzUGVyQ2F0ZWdvcnkgPSBjb3JyZWN0UmVzcG9uc2UubWFwKChjYXRlZ29yeSkgPT4gY2F0ZWdvcnkuY2hvaWNlcyk7XG4gIGNvbnN0IHBvc3NpYmxlUmVzcG9uc2VzID0gW2Nob2ljZXNQZXJDYXRlZ29yeS5mbGF0KCldO1xuICBsZXQgcmVzcG9uc2VBcmVhc1RvQmVGaWxsZWQgPSBjaG9pY2VzUGVyQ2F0ZWdvcnkuZmlsdGVyKChjaG9pY2VzKSA9PiBjaG9pY2VzLmxlbmd0aCkubGVuZ3RoO1xuXG4gIGlmIChhbHRlcm5hdGVzLmxlbmd0aCkge1xuICAgIGNvbnN0IGFsdGVybmF0ZXNQZXJDaG9pY2UgPSBhbHRlcm5hdGVzWzBdPy5sZW5ndGggfHwgMDsgLy8gbnVtYmVyIG9mIGFsdGVybmF0ZXNcblxuICAgIFsuLi5BcnJheShhbHRlcm5hdGVzUGVyQ2hvaWNlKS5rZXlzKCldLmZvckVhY2goKGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBhbHRlcm5hdGVzUGVyUmVzcG9uc2UgPSBhbHRlcm5hdGVzLm1hcCgoYWx0ZXJuYXRlKSA9PiBhbHRlcm5hdGVbaW5kZXhdKTtcbiAgICAgIGNvbnN0IGZpbGxlZENhdGVnb3JpZXMgPSBhbHRlcm5hdGVzUGVyUmVzcG9uc2UuZmlsdGVyKChjYXRlZ29yeSkgPT4gY2F0ZWdvcnk/Lmxlbmd0aCkubGVuZ3RoO1xuICAgICAgcG9zc2libGVSZXNwb25zZXMucHVzaChhbHRlcm5hdGVzUGVyUmVzcG9uc2UuZmxhdCgpKTtcblxuICAgICAgaWYgKGZpbGxlZENhdGVnb3JpZXMgPCByZXNwb25zZUFyZWFzVG9CZUZpbGxlZCkge1xuICAgICAgICByZXNwb25zZUFyZWFzVG9CZUZpbGxlZCA9IGZpbGxlZENhdGVnb3JpZXM7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjaGVjayBpZiBhbnkgY29ycmVjdCBhbnN3ZXIgaGF2ZSBhbnkgdW5wbGFjZWQgYW5zd2VyIGNob2ljZXNcbiAgY29uc3QgaGFzVW5wbGFjZWRDaG9pY2VzID0gcG9zc2libGVSZXNwb25zZXMuc29tZShcbiAgICAocmVzcG9uc2UpID0+ICFhbGxDaG9pY2VzLmV2ZXJ5KCh2YWwpID0+IHJlc3BvbnNlLmluY2x1ZGVzKHZhbD8uaWQpKSxcbiAgKTtcblxuICByZXR1cm4geyByZXNwb25zZUFyZWFzVG9CZUZpbGxlZCwgcG9zc2libGVSZXNwb25zZXMsIGhhc1VucGxhY2VkQ2hvaWNlcyB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDTyxNQUFNQSxrQkFBa0IsR0FBQUMsT0FBQSxDQUFBRCxrQkFBQSxHQUFHO0VBQUVFLE9BQU8sRUFBRSxLQUFLO0VBQUVDLFFBQVEsRUFBRSxJQUFJO0VBQUVDLFNBQVMsRUFBRTtBQUFpQixDQUFDOztBQUVqRztBQUNPLE1BQU1DLDJCQUEyQixHQUFHQSxDQUFDQyxPQUFPLEVBQUVDLFNBQVMsS0FBSztFQUNqRSxJQUFJRCxPQUFPLENBQUNFLE1BQU0sR0FBRyxDQUFDLElBQUlELFNBQVMsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsRUFBRTtJQUM5QyxPQUFPLENB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
|
package/controller/package.json
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"name": "@pie-element/categorize-controller",
|
|
3
3
|
"private": true,
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@pie-lib/categorize": "
|
|
6
|
-
"@pie-lib/controller-utils": "
|
|
7
|
-
"@pie-lib/feedback": "
|
|
8
|
-
"@pie-lib/translator": "
|
|
5
|
+
"@pie-lib/categorize": "1.1.0-next.9",
|
|
6
|
+
"@pie-lib/controller-utils": "1.1.0-next.4",
|
|
7
|
+
"@pie-lib/feedback": "1.1.0-next.4",
|
|
8
|
+
"@pie-lib/translator": "3.1.0-next.4",
|
|
9
9
|
"lodash": "^4.17.15"
|
|
10
10
|
},
|
|
11
|
-
"version": "9.0.0-beta.
|
|
11
|
+
"version": "9.0.0-beta.1",
|
|
12
12
|
"description": "",
|
|
13
13
|
"scripts": {},
|
|
14
14
|
"main": "lib/index.js",
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "auto generated package.json",
|
|
3
|
+
"license": "MIT",
|
|
4
|
+
"name": "configure-generated-pkg",
|
|
5
|
+
"private": true,
|
|
6
|
+
"version": "0.0.1",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"@pie-element/categorize-configure": "file:../node_modules/@pie-element/categorize/configure"
|
|
9
|
+
}
|
|
10
|
+
}
|