@sparted/shared-library 1.1.1 → 1.1.3
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/.circleci/config.yml +40 -0
- package/.eslintignore +1 -0
- package/.eslintrc.json +25 -0
- package/.gitignore +37 -0
- package/.idea/.gitignore +8 -0
- package/.idea/codeStyles/Project.xml +35 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/jsLinters/eslint.xml +6 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/shared-library.iml +11 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +105 -0
- package/.prettierrc.json +6 -0
- package/CHANGELOG.md +112 -0
- package/README.md +26 -0
- package/{business → dist/business}/types/content.d.ts +7 -0
- package/dist/business/types/content.js +30 -0
- package/{business → dist/business}/types/content.js.map +1 -1
- package/dist/business/types/index.js +19 -0
- package/dist/package.json +65 -0
- package/dist/predicates/index.js.map +1 -0
- package/global.d.ts +2 -0
- package/package.json +1 -1
- package/rollup.config.ts +19 -0
- package/src/array/__tests__/array-to-map.test.ts +50 -0
- package/src/array/__tests__/get-values-from-keys.test.ts +14 -0
- package/src/array/__tests__/inner-join.test.ts +55 -0
- package/src/array/__tests__/left-outter-join.test.ts +55 -0
- package/src/array/array-to-map.ts +32 -0
- package/src/array/get-values-from-keys.ts +3 -0
- package/src/array/index.ts +4 -0
- package/src/array/inner-join.ts +10 -0
- package/src/array/left-outter-join.ts +10 -0
- package/src/business/picture-spot/index.ts +3 -0
- package/src/business/types/content.ts +135 -0
- package/src/business/types/index.ts +4 -0
- package/src/business/types/media.ts +18 -0
- package/src/business/types/multilingual.ts +42 -0
- package/src/business/types/thematic.ts +10 -0
- package/src/cdn/__tests__/cdn.factory.test.ts +150 -0
- package/src/cdn/__tests__/utils.test.ts +528 -0
- package/src/cdn/cdn.factory.ts +70 -0
- package/src/cdn/index.ts +2 -0
- package/src/cdn/types/cdn-factory.type.ts +49 -0
- package/src/cdn/types/index.ts +1 -0
- package/src/cdn/utils/extract-info-from-url.util.ts +25 -0
- package/src/cdn/utils/get-cdn-from-s3-url.util.ts +20 -0
- package/src/cdn/utils/get-cdn-url.util.ts +31 -0
- package/src/cdn/utils/twicpics-transformations.util.ts +9 -0
- package/src/color/__tests__/get-contrast-color.test.ts +22 -0
- package/src/color/get-contrast-color.ts +18 -0
- package/src/color/index.ts +1 -0
- package/src/formatting/__tests__/format-number.test.ts +11 -0
- package/src/formatting/format-number.ts +14 -0
- package/src/formatting/index.ts +1 -0
- package/src/fp/__tests__/run-while.test.ts +29 -0
- package/src/fp/index.ts +1 -0
- package/src/fp/run-while.ts +54 -0
- package/src/http/__tests__/build-search-params.test.ts +17 -0
- package/src/http/__tests__/encode-search-object.test.ts +34 -0
- package/src/http/__tests__/fetch-with-timeout.test.ts +50 -0
- package/src/http/build-search-params.ts +18 -0
- package/src/http/encode-search-object.ts +39 -0
- package/src/http/fetch-with-timeout.ts +24 -0
- package/src/http/index.ts +3 -0
- package/src/index.ts +15 -0
- package/src/linked-list/__tests__/apply-diff-linked-list.test.ts +103 -0
- package/src/linked-list/__tests__/create-linked-list.test.ts +204 -0
- package/src/linked-list/__tests__/find-linked-list.test.ts +40 -0
- package/src/linked-list/__tests__/get-linked-list.test.ts +28 -0
- package/src/linked-list/__tests__/insert-linked-list.test.ts +186 -0
- package/src/linked-list/__tests__/linked-list-utils.test.ts +252 -0
- package/src/linked-list/__tests__/reduce-linked-list.test.ts +31 -0
- package/src/linked-list/__tests__/remove-linked-list.test.ts +129 -0
- package/src/linked-list/__tests__/update-linked-list.test.ts +53 -0
- package/src/linked-list/__tests__/while-linked-list.test.ts +58 -0
- package/src/linked-list/apply-diff-linked-list.ts +35 -0
- package/src/linked-list/create-linked-list.ts +79 -0
- package/src/linked-list/find-linked-list.ts +26 -0
- package/src/linked-list/get-linked-list.ts +9 -0
- package/src/linked-list/index.ts +2 -0
- package/src/linked-list/insert-linked-list.ts +50 -0
- package/src/linked-list/linked-list-utils.ts +143 -0
- package/src/linked-list/reduce-linked-list.ts +18 -0
- package/src/linked-list/remove-linked-list.ts +36 -0
- package/src/linked-list/type.ts +38 -0
- package/src/linked-list/update-linked-list.ts +30 -0
- package/src/linked-list/while-linked-list.ts +33 -0
- package/src/math/__tests__/clamp-number.test.ts +30 -0
- package/src/math/__tests__/interpolate.test.ts +28 -0
- package/src/math/__tests__/median.test.ts +27 -0
- package/src/math/__tests__/number-range.test.ts +59 -0
- package/src/math/__tests__/random-number.test.ts +11 -0
- package/src/math/clamp-number.ts +8 -0
- package/src/math/index.ts +5 -0
- package/src/math/interpolate.ts +18 -0
- package/src/math/median.ts +21 -0
- package/src/math/number-range.ts +16 -0
- package/src/math/random-number.ts +10 -0
- package/src/object/__tests__/merge-deep.test.ts +56 -0
- package/src/object/__tests__/strip-properties-from-object.test.ts +65 -0
- package/src/object/index.ts +2 -0
- package/src/object/merge-deep.ts +26 -0
- package/src/object/strip-properties-from-object.ts +26 -0
- package/src/parsing/__tests__/parse-boolean.test.ts +15 -0
- package/src/parsing/__tests__/parse-enum.test.ts +19 -0
- package/src/parsing/__tests__/parse-number.test.ts +20 -0
- package/src/parsing/index.ts +3 -0
- package/src/parsing/parse-boolean.ts +10 -0
- package/src/parsing/parse-enum.ts +16 -0
- package/src/parsing/parse-number.ts +12 -0
- package/src/predicates/__tests__/is-function.test.ts +11 -0
- package/src/predicates/__tests__/is-null.test.ts +11 -0
- package/src/predicates/__tests__/is-object.test.ts +11 -0
- package/src/predicates/__tests__/is-primitive.test.ts +42 -0
- package/src/predicates/__tests__/is-undefined.test.ts +11 -0
- package/src/predicates/__tests__/is-uuid.test.ts +13 -0
- package/src/predicates/index.ts +5 -0
- package/src/predicates/is-function.ts +3 -0
- package/src/predicates/is-null.ts +1 -0
- package/src/predicates/is-object.ts +3 -0
- package/src/predicates/is-primitive.ts +19 -0
- package/src/predicates/is-undefined.ts +3 -0
- package/src/predicates/is-uuid.ts +3 -0
- package/src/promise/__tests__/delay.test.ts +13 -0
- package/src/promise/__tests__/execute-or-resolve-default.test.ts +25 -0
- package/src/promise/__tests__/execute-with-delay.test.ts +24 -0
- package/src/promise/delay.ts +3 -0
- package/src/promise/execute-or-resolve-default.ts +14 -0
- package/src/promise/execute-with-delay.ts +6 -0
- package/src/promise/index.ts +3 -0
- package/src/string/__tests__/is-string-length-within-range.test.ts +23 -0
- package/src/string/__tests__/replace-in-template.test.ts +52 -0
- package/src/string/index.ts +2 -0
- package/src/string/is-string-length-within-range.ts +10 -0
- package/src/string/replace-in-template.ts +45 -0
- package/src/time/__tests__/convert.test.ts +14 -0
- package/src/time/__tests__/format-minutes.test.ts +10 -0
- package/src/time/__tests__/get-time-diff-as-string.test.ts +128 -0
- package/src/time/constants.ts +4 -0
- package/src/time/convert.ts +5 -0
- package/src/time/format-minutes.ts +9 -0
- package/src/time/get-time-diff-as-string.ts +196 -0
- package/src/time/index.ts +4 -0
- package/src/types/function.ts +1 -0
- package/src/types/general.ts +15 -0
- package/src/types/index.ts +4 -0
- package/src/types/object.ts +33 -0
- package/src/types/search.ts +29 -0
- package/tsconfig.json +25 -0
- package/yarn.lock +4040 -0
- package/business/types/content.js +0 -16
- package/business/types/index.js +0 -12
- package/string/index.js.map +0 -1
- /package/{_virtual → dist/_virtual}/_tslib.js +0 -0
- /package/{_virtual → dist/_virtual}/_tslib.js.map +0 -0
- /package/{array → dist/array}/array-to-map.d.ts +0 -0
- /package/{array → dist/array}/array-to-map.js +0 -0
- /package/{array → dist/array}/array-to-map.js.map +0 -0
- /package/{array → dist/array}/get-values-from-keys.d.ts +0 -0
- /package/{array → dist/array}/get-values-from-keys.js +0 -0
- /package/{array → dist/array}/get-values-from-keys.js.map +0 -0
- /package/{array → dist/array}/index.d.ts +0 -0
- /package/{array → dist/array}/index.js +0 -0
- /package/{array → dist/array}/index.js.map +0 -0
- /package/{array → dist/array}/inner-join.d.ts +0 -0
- /package/{array → dist/array}/inner-join.js +0 -0
- /package/{array → dist/array}/inner-join.js.map +0 -0
- /package/{array → dist/array}/left-outter-join.d.ts +0 -0
- /package/{array → dist/array}/left-outter-join.js +0 -0
- /package/{array → dist/array}/left-outter-join.js.map +0 -0
- /package/{business → dist/business}/picture-spot/index.d.ts +0 -0
- /package/{business → dist/business}/picture-spot/index.js +0 -0
- /package/{business → dist/business}/picture-spot/index.js.map +0 -0
- /package/{business → dist/business}/types/index.d.ts +0 -0
- /package/{math → dist/business/types}/index.js.map +0 -0
- /package/{business → dist/business}/types/media.d.ts +0 -0
- /package/{business → dist/business}/types/multilingual.d.ts +0 -0
- /package/{business → dist/business}/types/multilingual.js +0 -0
- /package/{business → dist/business}/types/multilingual.js.map +0 -0
- /package/{business → dist/business}/types/thematic.d.ts +0 -0
- /package/{cdn → dist/cdn}/cdn.factory.d.ts +0 -0
- /package/{cdn → dist/cdn}/cdn.factory.js +0 -0
- /package/{cdn → dist/cdn}/cdn.factory.js.map +0 -0
- /package/{cdn → dist/cdn}/index.d.ts +0 -0
- /package/{cdn → dist/cdn}/index.js +0 -0
- /package/{cdn → dist/cdn}/index.js.map +0 -0
- /package/{cdn → dist/cdn}/types/cdn-factory.type.d.ts +0 -0
- /package/{cdn → dist/cdn}/types/index.d.ts +0 -0
- /package/{cdn → dist/cdn}/types/index.js +0 -0
- /package/{cdn → dist/cdn}/types/index.js.map +0 -0
- /package/{cdn → dist/cdn}/utils/extract-info-from-url.util.d.ts +0 -0
- /package/{cdn → dist/cdn}/utils/extract-info-from-url.util.js +0 -0
- /package/{cdn → dist/cdn}/utils/extract-info-from-url.util.js.map +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-from-s3-url.util.d.ts +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-from-s3-url.util.js +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-from-s3-url.util.js.map +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-url.util.d.ts +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-url.util.js +0 -0
- /package/{cdn → dist/cdn}/utils/get-cdn-url.util.js.map +0 -0
- /package/{cdn → dist/cdn}/utils/twicpics-transformations.util.d.ts +0 -0
- /package/{cdn → dist/cdn}/utils/twicpics-transformations.util.js +0 -0
- /package/{cdn → dist/cdn}/utils/twicpics-transformations.util.js.map +0 -0
- /package/{color → dist/color}/get-contrast-color.d.ts +0 -0
- /package/{color → dist/color}/get-contrast-color.js +0 -0
- /package/{color → dist/color}/get-contrast-color.js.map +0 -0
- /package/{color → dist/color}/index.d.ts +0 -0
- /package/{color → dist/color}/index.js +0 -0
- /package/{color → dist/color}/index.js.map +0 -0
- /package/{formatting → dist/formatting}/format-number.d.ts +0 -0
- /package/{formatting → dist/formatting}/format-number.js +0 -0
- /package/{formatting → dist/formatting}/format-number.js.map +0 -0
- /package/{formatting → dist/formatting}/index.d.ts +0 -0
- /package/{formatting → dist/formatting}/index.js +0 -0
- /package/{formatting → dist/formatting}/index.js.map +0 -0
- /package/{fp → dist/fp}/index.d.ts +0 -0
- /package/{fp → dist/fp}/index.js +0 -0
- /package/{fp → dist/fp}/index.js.map +0 -0
- /package/{fp → dist/fp}/run-while.d.ts +0 -0
- /package/{fp → dist/fp}/run-while.js +0 -0
- /package/{fp → dist/fp}/run-while.js.map +0 -0
- /package/{http → dist/http}/build-search-params.d.ts +0 -0
- /package/{http → dist/http}/build-search-params.js +0 -0
- /package/{http → dist/http}/build-search-params.js.map +0 -0
- /package/{http → dist/http}/encode-search-object.d.ts +0 -0
- /package/{http → dist/http}/encode-search-object.js +0 -0
- /package/{http → dist/http}/encode-search-object.js.map +0 -0
- /package/{http → dist/http}/fetch-with-timeout.d.ts +0 -0
- /package/{http → dist/http}/fetch-with-timeout.js +0 -0
- /package/{http → dist/http}/fetch-with-timeout.js.map +0 -0
- /package/{http → dist/http}/index.d.ts +0 -0
- /package/{http → dist/http}/index.js +0 -0
- /package/{http → dist/http}/index.js.map +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.js → dist/index.js} +0 -0
- /package/{index.js.map → dist/index.js.map} +0 -0
- /package/{linked-list → dist/linked-list}/apply-diff-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/apply-diff-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/apply-diff-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/create-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/create-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/create-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/find-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/find-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/find-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/get-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/get-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/get-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/index.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/index.js +0 -0
- /package/{linked-list → dist/linked-list}/index.js.map +0 -0
- /package/{linked-list → dist/linked-list}/insert-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/insert-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/insert-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/linked-list-utils.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/linked-list-utils.js +0 -0
- /package/{linked-list → dist/linked-list}/linked-list-utils.js.map +0 -0
- /package/{linked-list → dist/linked-list}/reduce-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/reduce-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/reduce-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/remove-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/remove-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/remove-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/type.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/update-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/update-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/update-linked-list.js.map +0 -0
- /package/{linked-list → dist/linked-list}/while-linked-list.d.ts +0 -0
- /package/{linked-list → dist/linked-list}/while-linked-list.js +0 -0
- /package/{linked-list → dist/linked-list}/while-linked-list.js.map +0 -0
- /package/{math → dist/math}/clamp-number.d.ts +0 -0
- /package/{math → dist/math}/clamp-number.js +0 -0
- /package/{math → dist/math}/clamp-number.js.map +0 -0
- /package/{math → dist/math}/index.d.ts +0 -0
- /package/{math → dist/math}/index.js +0 -0
- /package/{predicates → dist/math}/index.js.map +0 -0
- /package/{math → dist/math}/interpolate.d.ts +0 -0
- /package/{math → dist/math}/interpolate.js +0 -0
- /package/{math → dist/math}/interpolate.js.map +0 -0
- /package/{math → dist/math}/median.d.ts +0 -0
- /package/{math → dist/math}/median.js +0 -0
- /package/{math → dist/math}/median.js.map +0 -0
- /package/{math → dist/math}/number-range.d.ts +0 -0
- /package/{math → dist/math}/number-range.js +0 -0
- /package/{math → dist/math}/number-range.js.map +0 -0
- /package/{math → dist/math}/random-number.d.ts +0 -0
- /package/{math → dist/math}/random-number.js +0 -0
- /package/{math → dist/math}/random-number.js.map +0 -0
- /package/{object → dist/object}/index.d.ts +0 -0
- /package/{object → dist/object}/index.js +0 -0
- /package/{business/types → dist/object}/index.js.map +0 -0
- /package/{object → dist/object}/merge-deep.d.ts +0 -0
- /package/{object → dist/object}/merge-deep.js +0 -0
- /package/{object → dist/object}/merge-deep.js.map +0 -0
- /package/{object → dist/object}/strip-properties-from-object.d.ts +0 -0
- /package/{object → dist/object}/strip-properties-from-object.js +0 -0
- /package/{object → dist/object}/strip-properties-from-object.js.map +0 -0
- /package/{parsing → dist/parsing}/index.d.ts +0 -0
- /package/{parsing → dist/parsing}/index.js +0 -0
- /package/{parsing → dist/parsing}/index.js.map +0 -0
- /package/{parsing → dist/parsing}/parse-boolean.d.ts +0 -0
- /package/{parsing → dist/parsing}/parse-boolean.js +0 -0
- /package/{parsing → dist/parsing}/parse-boolean.js.map +0 -0
- /package/{parsing → dist/parsing}/parse-enum.d.ts +0 -0
- /package/{parsing → dist/parsing}/parse-enum.js +0 -0
- /package/{parsing → dist/parsing}/parse-enum.js.map +0 -0
- /package/{parsing → dist/parsing}/parse-number.d.ts +0 -0
- /package/{parsing → dist/parsing}/parse-number.js +0 -0
- /package/{parsing → dist/parsing}/parse-number.js.map +0 -0
- /package/{predicates → dist/predicates}/index.d.ts +0 -0
- /package/{predicates → dist/predicates}/index.js +0 -0
- /package/{predicates → dist/predicates}/is-function.d.ts +0 -0
- /package/{predicates → dist/predicates}/is-function.js +0 -0
- /package/{predicates → dist/predicates}/is-function.js.map +0 -0
- /package/{predicates → dist/predicates}/is-null.d.ts +0 -0
- /package/{predicates → dist/predicates}/is-null.js +0 -0
- /package/{predicates → dist/predicates}/is-null.js.map +0 -0
- /package/{predicates → dist/predicates}/is-object.d.ts +0 -0
- /package/{predicates → dist/predicates}/is-object.js +0 -0
- /package/{predicates → dist/predicates}/is-object.js.map +0 -0
- /package/{predicates → dist/predicates}/is-primitive.d.ts +0 -0
- /package/{predicates → dist/predicates}/is-primitive.js +0 -0
- /package/{predicates → dist/predicates}/is-primitive.js.map +0 -0
- /package/{predicates → dist/predicates}/is-undefined.d.ts +0 -0
- /package/{predicates → dist/predicates}/is-undefined.js +0 -0
- /package/{predicates → dist/predicates}/is-undefined.js.map +0 -0
- /package/{predicates → dist/predicates}/is-uuid.d.ts +0 -0
- /package/{promise → dist/promise}/delay.d.ts +0 -0
- /package/{promise → dist/promise}/delay.js +0 -0
- /package/{promise → dist/promise}/delay.js.map +0 -0
- /package/{promise → dist/promise}/execute-or-resolve-default.d.ts +0 -0
- /package/{promise → dist/promise}/execute-or-resolve-default.js +0 -0
- /package/{promise → dist/promise}/execute-or-resolve-default.js.map +0 -0
- /package/{promise → dist/promise}/execute-with-delay.d.ts +0 -0
- /package/{promise → dist/promise}/execute-with-delay.js +0 -0
- /package/{promise → dist/promise}/execute-with-delay.js.map +0 -0
- /package/{promise → dist/promise}/index.d.ts +0 -0
- /package/{promise → dist/promise}/index.js +0 -0
- /package/{promise → dist/promise}/index.js.map +0 -0
- /package/{string → dist/string}/index.d.ts +0 -0
- /package/{string → dist/string}/index.js +0 -0
- /package/{object → dist/string}/index.js.map +0 -0
- /package/{string → dist/string}/is-string-length-within-range.d.ts +0 -0
- /package/{string → dist/string}/is-string-length-within-range.js +0 -0
- /package/{string → dist/string}/is-string-length-within-range.js.map +0 -0
- /package/{string → dist/string}/replace-in-template.d.ts +0 -0
- /package/{string → dist/string}/replace-in-template.js +0 -0
- /package/{string → dist/string}/replace-in-template.js.map +0 -0
- /package/{time → dist/time}/constants.d.ts +0 -0
- /package/{time → dist/time}/constants.js +0 -0
- /package/{time → dist/time}/constants.js.map +0 -0
- /package/{time → dist/time}/convert.d.ts +0 -0
- /package/{time → dist/time}/convert.js +0 -0
- /package/{time → dist/time}/convert.js.map +0 -0
- /package/{time → dist/time}/format-minutes.d.ts +0 -0
- /package/{time → dist/time}/format-minutes.js +0 -0
- /package/{time → dist/time}/format-minutes.js.map +0 -0
- /package/{time → dist/time}/get-time-diff-as-string.d.ts +0 -0
- /package/{time → dist/time}/get-time-diff-as-string.js +0 -0
- /package/{time → dist/time}/get-time-diff-as-string.js.map +0 -0
- /package/{time → dist/time}/index.d.ts +0 -0
- /package/{time → dist/time}/index.js +0 -0
- /package/{time → dist/time}/index.js.map +0 -0
- /package/{types → dist/types}/function.d.ts +0 -0
- /package/{types → dist/types}/general.d.ts +0 -0
- /package/{types → dist/types}/index.d.ts +0 -0
- /package/{types → dist/types}/index.js +0 -0
- /package/{types → dist/types}/index.js.map +0 -0
- /package/{types → dist/types}/object.d.ts +0 -0
- /package/{types → dist/types}/search.d.ts +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Javascript Node CircleCI 2.0 configuration file
|
|
2
|
+
#
|
|
3
|
+
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
|
|
4
|
+
#
|
|
5
|
+
version: 2.1
|
|
6
|
+
jobs:
|
|
7
|
+
test:
|
|
8
|
+
docker:
|
|
9
|
+
- image: cimg/node:18.10.0
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
- checkout
|
|
13
|
+
|
|
14
|
+
- run:
|
|
15
|
+
name: Set npm token
|
|
16
|
+
command: 'echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc'
|
|
17
|
+
|
|
18
|
+
- run:
|
|
19
|
+
name: Install node modules
|
|
20
|
+
command: yarn
|
|
21
|
+
|
|
22
|
+
- run:
|
|
23
|
+
name: Check lint
|
|
24
|
+
command: yarn lint
|
|
25
|
+
|
|
26
|
+
- run:
|
|
27
|
+
name: Run tests
|
|
28
|
+
# Limit resources as the default parameters overload the CPU of the machine and makes tests hang
|
|
29
|
+
command: yarn test --maxWorkers=50%
|
|
30
|
+
|
|
31
|
+
- run:
|
|
32
|
+
name: Build
|
|
33
|
+
command: yarn build
|
|
34
|
+
|
|
35
|
+
workflows:
|
|
36
|
+
version: 2
|
|
37
|
+
|
|
38
|
+
autodeploy:
|
|
39
|
+
jobs:
|
|
40
|
+
- test
|
package/.eslintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dist/
|
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"es2021": true,
|
|
4
|
+
"node": true
|
|
5
|
+
},
|
|
6
|
+
"plugins": [
|
|
7
|
+
"@typescript-eslint",
|
|
8
|
+
"prettier",
|
|
9
|
+
"import"
|
|
10
|
+
],
|
|
11
|
+
"extends": [
|
|
12
|
+
"eslint:recommended",
|
|
13
|
+
"plugin:@typescript-eslint/recommended",
|
|
14
|
+
"plugin:import/recommended",
|
|
15
|
+
"plugin:import/typescript",
|
|
16
|
+
"prettier"
|
|
17
|
+
],
|
|
18
|
+
"parser": "@typescript-eslint/parser",
|
|
19
|
+
"rules": {
|
|
20
|
+
"prettier/prettier": "warn",
|
|
21
|
+
"@typescript-eslint/no-explicit-any": "warn",
|
|
22
|
+
"@typescript-eslint/ban-types": "warn",
|
|
23
|
+
"@typescript-eslint/ban-ts-comment": "warn"
|
|
24
|
+
}
|
|
25
|
+
}
|
package/.gitignore
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
*.dat
|
|
2
|
+
*.iml
|
|
3
|
+
*.log
|
|
4
|
+
*.out
|
|
5
|
+
*.pid
|
|
6
|
+
*.seed
|
|
7
|
+
*.sublime-*
|
|
8
|
+
*.swo
|
|
9
|
+
*.swp
|
|
10
|
+
*.tgz
|
|
11
|
+
*.xml
|
|
12
|
+
.tmp
|
|
13
|
+
.env
|
|
14
|
+
doc/*.json
|
|
15
|
+
|
|
16
|
+
# Mac Related files
|
|
17
|
+
.DS_Store
|
|
18
|
+
|
|
19
|
+
# IDE Related Files
|
|
20
|
+
.idea
|
|
21
|
+
.project
|
|
22
|
+
|
|
23
|
+
# eslint
|
|
24
|
+
.eslintcache
|
|
25
|
+
|
|
26
|
+
# jest
|
|
27
|
+
jest-stare
|
|
28
|
+
|
|
29
|
+
# JS Related files
|
|
30
|
+
bower_components
|
|
31
|
+
npm-debug.log
|
|
32
|
+
node_modules
|
|
33
|
+
nestjs/node_modules
|
|
34
|
+
.npmrc
|
|
35
|
+
|
|
36
|
+
# Build
|
|
37
|
+
dist
|
package/.idea/.gitignore
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<JSCodeStyleSettings version="0">
|
|
4
|
+
<option name="VAR_DECLARATION_WRAP" value="2" />
|
|
5
|
+
<option name="OBJECT_LITERAL_WRAP" value="2" />
|
|
6
|
+
</JSCodeStyleSettings>
|
|
7
|
+
<TypeScriptCodeStyleSettings version="0">
|
|
8
|
+
<option name="VAR_DECLARATION_WRAP" value="2" />
|
|
9
|
+
<option name="OBJECT_LITERAL_WRAP" value="2" />
|
|
10
|
+
</TypeScriptCodeStyleSettings>
|
|
11
|
+
<codeStyleSettings language="JavaScript">
|
|
12
|
+
<option name="BLOCK_COMMENT_ADD_SPACE" value="true" />
|
|
13
|
+
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
|
14
|
+
<option name="METHOD_CALL_CHAIN_WRAP" value="2" />
|
|
15
|
+
<option name="IF_BRACE_FORCE" value="1" />
|
|
16
|
+
<option name="DOWHILE_BRACE_FORCE" value="1" />
|
|
17
|
+
<option name="WHILE_BRACE_FORCE" value="1" />
|
|
18
|
+
<option name="FOR_BRACE_FORCE" value="1" />
|
|
19
|
+
</codeStyleSettings>
|
|
20
|
+
<codeStyleSettings language="TypeScript">
|
|
21
|
+
<option name="BLOCK_COMMENT_ADD_SPACE" value="true" />
|
|
22
|
+
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
|
23
|
+
<option name="METHOD_CALL_CHAIN_WRAP" value="2" />
|
|
24
|
+
<option name="IF_BRACE_FORCE" value="1" />
|
|
25
|
+
<option name="DOWHILE_BRACE_FORCE" value="1" />
|
|
26
|
+
<option name="WHILE_BRACE_FORCE" value="1" />
|
|
27
|
+
<option name="FOR_BRACE_FORCE" value="1" />
|
|
28
|
+
<indentOptions>
|
|
29
|
+
<option name="INDENT_SIZE" value="2" />
|
|
30
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
31
|
+
<option name="TAB_SIZE" value="2" />
|
|
32
|
+
</indentOptions>
|
|
33
|
+
</codeStyleSettings>
|
|
34
|
+
</code_scheme>
|
|
35
|
+
</component>
|
package/.idea/misc.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/shared-library.iml" filepath="$PROJECT_DIR$/.idea/shared-library.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="JAVA_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
+
<exclude-output />
|
|
5
|
+
<content url="file://$MODULE_DIR$">
|
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/dist" />
|
|
7
|
+
</content>
|
|
8
|
+
<orderEntry type="inheritedJdk" />
|
|
9
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
10
|
+
</component>
|
|
11
|
+
</module>
|
package/.idea/vcs.xml
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="AutoImportSettings">
|
|
4
|
+
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
+
</component>
|
|
6
|
+
<component name="ChangeListManager">
|
|
7
|
+
<list default="true" id="9c51afc7-3a2a-462c-a7b1-b3e0ca474b0c" name="Changes" comment="">
|
|
8
|
+
<change afterPath="$PROJECT_DIR$/src/business/no-interaction/index.ts" afterDir="false" />
|
|
9
|
+
<change beforePath="$PROJECT_DIR$/src/business/picture-spot/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/business/picture-spot/index.ts" afterDir="false" />
|
|
10
|
+
</list>
|
|
11
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
12
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
13
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
14
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
15
|
+
</component>
|
|
16
|
+
<component name="Git.Settings">
|
|
17
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
18
|
+
</component>
|
|
19
|
+
<component name="GoLibraries">
|
|
20
|
+
<option name="indexEntireGoPath" value="true" />
|
|
21
|
+
</component>
|
|
22
|
+
<component name="MarkdownSettingsMigration">
|
|
23
|
+
<option name="stateVersion" value="1" />
|
|
24
|
+
</component>
|
|
25
|
+
<component name="ProjectId" id="2LBBaAUnkGvlewEioyoXgDTb3Rx" />
|
|
26
|
+
<component name="ProjectLevelVcsManager">
|
|
27
|
+
<ConfirmationsSetting value="2" id="Add" />
|
|
28
|
+
</component>
|
|
29
|
+
<component name="ProjectViewState">
|
|
30
|
+
<option name="autoscrollFromSource" value="true" />
|
|
31
|
+
<option name="hideEmptyMiddlePackages" value="true" />
|
|
32
|
+
<option name="showLibraryContents" value="true" />
|
|
33
|
+
</component>
|
|
34
|
+
<component name="PropertiesComponent">{
|
|
35
|
+
"keyToString": {
|
|
36
|
+
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
37
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
38
|
+
"RunOnceActivity.go.formatter.settings.were.checked": "true",
|
|
39
|
+
"RunOnceActivity.go.migrated.go.modules.settings": "true",
|
|
40
|
+
"WebServerToolWindowFactoryState": "false",
|
|
41
|
+
"dart.analysis.tool.window.visible": "false",
|
|
42
|
+
"git-widget-placeholder": "master",
|
|
43
|
+
"go.import.settings.migrated": "true",
|
|
44
|
+
"last_opened_file_path": "/Users/cchampou/dev/shared-library",
|
|
45
|
+
"node.js.detected.package.eslint": "true",
|
|
46
|
+
"node.js.detected.package.standard": "true",
|
|
47
|
+
"node.js.detected.package.tslint": "true",
|
|
48
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
49
|
+
"node.js.selected.package.standard": "",
|
|
50
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
51
|
+
"nodejs_package_manager_path": "yarn",
|
|
52
|
+
"settings.editor.selected.configurable": "settings.javascript.linters.eslint",
|
|
53
|
+
"show.migrate.to.gradle.popup": "false",
|
|
54
|
+
"ts.external.directory.path": "/Users/cchampou/dev/shared-library/node_modules/typescript/lib",
|
|
55
|
+
"vue.rearranger.settings.migration": "true"
|
|
56
|
+
}
|
|
57
|
+
}</component>
|
|
58
|
+
<component name="RecentsManager">
|
|
59
|
+
<key name="MoveFile.RECENT_KEYS">
|
|
60
|
+
<recent name="$PROJECT_DIR$/src/business/types" />
|
|
61
|
+
<recent name="$PROJECT_DIR$/src/types/business" />
|
|
62
|
+
<recent name="$PROJECT_DIR$/src/business" />
|
|
63
|
+
<recent name="$PROJECT_DIR$/src/types" />
|
|
64
|
+
</key>
|
|
65
|
+
</component>
|
|
66
|
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
67
|
+
<component name="TaskManager">
|
|
68
|
+
<task active="true" id="Default" summary="Default task">
|
|
69
|
+
<changelist id="9c51afc7-3a2a-462c-a7b1-b3e0ca474b0c" name="Changes" comment="" />
|
|
70
|
+
<created>1675334656680</created>
|
|
71
|
+
<option name="number" value="Default" />
|
|
72
|
+
<option name="presentableId" value="Default" />
|
|
73
|
+
<updated>1675334656680</updated>
|
|
74
|
+
<workItem from="1675334657881" duration="9370000" />
|
|
75
|
+
<workItem from="1675413502042" duration="3448000" />
|
|
76
|
+
<workItem from="1675777811478" duration="2023000" />
|
|
77
|
+
<workItem from="1676048809145" duration="1369000" />
|
|
78
|
+
<workItem from="1676285644197" duration="9643000" />
|
|
79
|
+
<workItem from="1676390431531" duration="720000" />
|
|
80
|
+
<workItem from="1677080847564" duration="1233000" />
|
|
81
|
+
<workItem from="1679044878990" duration="2004000" />
|
|
82
|
+
<workItem from="1689058230559" duration="5032000" />
|
|
83
|
+
<workItem from="1692285159365" duration="2040000" />
|
|
84
|
+
<workItem from="1692345932803" duration="2572000" />
|
|
85
|
+
<workItem from="1692883384801" duration="809000" />
|
|
86
|
+
<workItem from="1704897952885" duration="6308000" />
|
|
87
|
+
<workItem from="1704980905659" duration="3963000" />
|
|
88
|
+
<workItem from="1705481044854" duration="2558000" />
|
|
89
|
+
<workItem from="1706005322333" duration="2222000" />
|
|
90
|
+
<workItem from="1706026800654" duration="819000" />
|
|
91
|
+
</task>
|
|
92
|
+
<servers />
|
|
93
|
+
</component>
|
|
94
|
+
<component name="TypeScriptGeneratedFilesManager">
|
|
95
|
+
<option name="version" value="3" />
|
|
96
|
+
</component>
|
|
97
|
+
<component name="VgoProject">
|
|
98
|
+
<integration-enabled>false</integration-enabled>
|
|
99
|
+
<settings-migrated>true</settings-migrated>
|
|
100
|
+
</component>
|
|
101
|
+
<component name="XSLT-Support.FileAssociations.UIState">
|
|
102
|
+
<expand />
|
|
103
|
+
<select />
|
|
104
|
+
</component>
|
|
105
|
+
</project>
|
package/.prettierrc.json
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
## 1.1.3
|
|
2
|
+
- Fix multilingual type adding partial
|
|
3
|
+
|
|
4
|
+
## 1.1.2
|
|
5
|
+
- Add Gameplay type guards
|
|
6
|
+
|
|
7
|
+
## 1.1.1
|
|
8
|
+
- Fix publication issue
|
|
9
|
+
|
|
10
|
+
## 1.1.0
|
|
11
|
+
- Add business entities types
|
|
12
|
+
|
|
13
|
+
## 1.0.29
|
|
14
|
+
- Add `getContrastColor` function
|
|
15
|
+
|
|
16
|
+
## 1.0.28
|
|
17
|
+
- Fix `twicpicsTransformationQueries` function to have integer values
|
|
18
|
+
|
|
19
|
+
## 1.0.27
|
|
20
|
+
- Add `isStringLengthWithinRange` function
|
|
21
|
+
|
|
22
|
+
## 1.0.26
|
|
23
|
+
- Add `innerJoin` to `index.ts`
|
|
24
|
+
|
|
25
|
+
## 1.0.25
|
|
26
|
+
- Add `innerJoin` function for arrays
|
|
27
|
+
- Modify `leftOutterJoin` function implementation
|
|
28
|
+
|
|
29
|
+
## 1.0.24
|
|
30
|
+
- Add `leftOutterJoin` function for arrays
|
|
31
|
+
|
|
32
|
+
## 1.0.23
|
|
33
|
+
- Add ability to define constructor params in `ClassType`
|
|
34
|
+
|
|
35
|
+
## 1.0.22
|
|
36
|
+
- Fix `stripPropertiesFromObject` issue with null values
|
|
37
|
+
|
|
38
|
+
## 1.0.21
|
|
39
|
+
- Fix exports from `object` directory
|
|
40
|
+
|
|
41
|
+
## 1.0.20
|
|
42
|
+
- Add `stripPropertiesFromObject` function
|
|
43
|
+
|
|
44
|
+
## 1.0.19
|
|
45
|
+
- Fix export `median` function
|
|
46
|
+
|
|
47
|
+
## 1.0.18
|
|
48
|
+
- Add math `median` function
|
|
49
|
+
|
|
50
|
+
## 1.0.17
|
|
51
|
+
- Handle device pixel ratio (DPR) in Twicpics transformations
|
|
52
|
+
|
|
53
|
+
## 1.0.16
|
|
54
|
+
- Set twicpics image quality to 90
|
|
55
|
+
|
|
56
|
+
## 1.0.15
|
|
57
|
+
- Handle only width or only height in twicpics transformations
|
|
58
|
+
|
|
59
|
+
## 1.0.14
|
|
60
|
+
- Fix: bad tarball published
|
|
61
|
+
|
|
62
|
+
## 1.0.13
|
|
63
|
+
- Add output format query param
|
|
64
|
+
|
|
65
|
+
## 1.0.12
|
|
66
|
+
- Add cache version query param
|
|
67
|
+
|
|
68
|
+
## 1.0.11
|
|
69
|
+
- Add valueOf type
|
|
70
|
+
|
|
71
|
+
## 1.0.10
|
|
72
|
+
|
|
73
|
+
## 1.0.9
|
|
74
|
+
- Add option to remove image compression
|
|
75
|
+
|
|
76
|
+
## 1.0.8
|
|
77
|
+
- Fix crash when passing undefined to extractInfoFromUrl function
|
|
78
|
+
|
|
79
|
+
## 1.0.7
|
|
80
|
+
- Fix Twicpics resizing
|
|
81
|
+
|
|
82
|
+
## 1.0.6
|
|
83
|
+
- Add current map to `dataModifier` function on `arrayToMap`
|
|
84
|
+
|
|
85
|
+
## 1.0.5
|
|
86
|
+
- CDN abstraction for Imgix and Twicpics
|
|
87
|
+
|
|
88
|
+
## 1.0.0
|
|
89
|
+
- Breaking change: rename date folder into time
|
|
90
|
+
- Export convertion functions from time
|
|
91
|
+
|
|
92
|
+
## 0.0.18
|
|
93
|
+
- Change update behavior to fully replace updated items
|
|
94
|
+
|
|
95
|
+
## 0.0.17
|
|
96
|
+
- Remove error thrown when not every items have been visisted
|
|
97
|
+
|
|
98
|
+
## 0.0.16
|
|
99
|
+
- Fix an issue when initializing an empty linked list
|
|
100
|
+
|
|
101
|
+
## 0.0.15
|
|
102
|
+
- Rollback target version, change output format
|
|
103
|
+
|
|
104
|
+
## 0.0.14
|
|
105
|
+
- Bump target version in tsconfig
|
|
106
|
+
|
|
107
|
+
## 0.0.13
|
|
108
|
+
- Bring most utilities from the back-office, mobile-app and nest to this package (#32q6ude)
|
|
109
|
+
|
|
110
|
+
## 0.0.1
|
|
111
|
+
- Library initialisation (#2ykhvcg)
|
|
112
|
+
- Fix files taken as packaged
|
package/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Shared-library
|
|
2
|
+
|
|
3
|
+
Regroup low levels utils to share across Sparted's projects. Nothing should be platform specific and it should ideally not depend on any external library.
|
|
4
|
+
|
|
5
|
+
# Publishing
|
|
6
|
+
|
|
7
|
+
Since we want to be able to do the following sub imports when using the library:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { function1, function2 } from '@sparted/shared-library/array';
|
|
11
|
+
import { function3, function4 } from '@sparted/shared-library/strings';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
While also being able to import everything from the root.
|
|
15
|
+
|
|
16
|
+
We'll need to do some rollup/npm trickery to keep everything tree-shakable and intuitive.
|
|
17
|
+
|
|
18
|
+
To do so, we copy the package.json inside the generated dist folder when building the library. Then we run `npm publish` from inside the dist folder.
|
|
19
|
+
|
|
20
|
+
What this do, is take everything inside the dist folder and publish as its standalone package. This enables us to import directly from `@sparted/shared-library/array` without adding `dist` since `dist/array` becomes a root folder. If we do not do this and instead run `npm publish` in the root directory, the package would keep the folder structure and we would need to add `dist` in imports. eg: `@sparted/shared-library/dist/array`.
|
|
21
|
+
|
|
22
|
+
## How to publish
|
|
23
|
+
|
|
24
|
+
1. Update the `package.json` version
|
|
25
|
+
2. Run `yarn build-and-publish` (this command assumes the `package.json` version was not already published)
|
|
26
|
+
3. The new version should be commited and pushed
|
|
@@ -91,3 +91,10 @@ export type Content = {
|
|
|
91
91
|
statuses: ContentStatuses;
|
|
92
92
|
game?: Game;
|
|
93
93
|
};
|
|
94
|
+
export declare const isGameMultipleChoiceQuestion: (game: Game) => game is MultipleChoiceQuestion;
|
|
95
|
+
export declare const isGameErrorText: (game: Game) => game is ErrorText;
|
|
96
|
+
export declare const isGameOpenQuestion: (game: Game) => game is OpenQuestion;
|
|
97
|
+
export declare const isGameNoInteraction: (game: Game) => game is NoInteraction;
|
|
98
|
+
export declare const isGamePictureSpot: (game: Game) => game is PictureSpot;
|
|
99
|
+
export declare const isGameOrderingCards: (game: Game) => game is OrderingCards;
|
|
100
|
+
export declare const isGameSwipingCards: (game: Game) => game is SwipingCards;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const GAME_TYPE = {
|
|
6
|
+
MCQ: 'mcq',
|
|
7
|
+
ERROR_TEXT: 'error-text',
|
|
8
|
+
OPEN_QUESTION: 'open-question',
|
|
9
|
+
NO_INTERACTION: 'no-interaction',
|
|
10
|
+
PICTURE_SPOT: 'picture-spot',
|
|
11
|
+
ORDERING_CARDS: 'ordering-cards',
|
|
12
|
+
SWIPING_CARDS: 'swiping-cards',
|
|
13
|
+
};
|
|
14
|
+
const isGameMultipleChoiceQuestion = (game) => game.type === GAME_TYPE.MCQ;
|
|
15
|
+
const isGameErrorText = (game) => game.type === GAME_TYPE.ERROR_TEXT;
|
|
16
|
+
const isGameOpenQuestion = (game) => game.type === GAME_TYPE.OPEN_QUESTION;
|
|
17
|
+
const isGameNoInteraction = (game) => game.type === GAME_TYPE.NO_INTERACTION;
|
|
18
|
+
const isGamePictureSpot = (game) => game.type === GAME_TYPE.PICTURE_SPOT;
|
|
19
|
+
const isGameOrderingCards = (game) => game.type === GAME_TYPE.ORDERING_CARDS;
|
|
20
|
+
const isGameSwipingCards = (game) => game.type === GAME_TYPE.SWIPING_CARDS;
|
|
21
|
+
|
|
22
|
+
exports.GAME_TYPE = GAME_TYPE;
|
|
23
|
+
exports.isGameErrorText = isGameErrorText;
|
|
24
|
+
exports.isGameMultipleChoiceQuestion = isGameMultipleChoiceQuestion;
|
|
25
|
+
exports.isGameNoInteraction = isGameNoInteraction;
|
|
26
|
+
exports.isGameOpenQuestion = isGameOpenQuestion;
|
|
27
|
+
exports.isGameOrderingCards = isGameOrderingCards;
|
|
28
|
+
exports.isGamePictureSpot = isGamePictureSpot;
|
|
29
|
+
exports.isGameSwipingCards = isGameSwipingCards;
|
|
30
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sources":["../../../src/business/types/content.ts"],"sourcesContent":["import { LanguageCode, MultilingualLabel } from './multilingual';\nimport { Image, Media } from './media';\nimport { Thematic } from './thematic';\n\nexport type ErrorText = {\n type: 'error-text';\n gameMedia?: Media;\n explanationMedia?: Media;\n explanation?: MultilingualLabel;\n wrongText?: MultilingualLabel;\n correctText?: MultilingualLabel;\n};\n\nexport type MultipleChoiceQuestion = {\n type: 'mcq';\n gameMedia?: Media;\n question?: MultilingualLabel;\n explanation?: MultilingualLabel;\n explanationMedia?: Media;\n multiselect?: boolean;\n choices?: {\n correct: boolean;\n text: MultilingualLabel;\n }[];\n};\n\nexport type NoInteraction = {\n type: 'no-interaction';\n firstMedia?: Media;\n secondMedia?: Media;\n title?: MultilingualLabel;\n text?: MultilingualLabel;\n};\n\nexport type OpenQuestion = {\n type: 'open-question';\n gameMedia?: Media;\n question?: MultilingualLabel;\n answer?: MultilingualLabel;\n explanation?: MultilingualLabel;\n explanationMedia?: Media;\n levenshteinDistance?: number;\n};\n\nexport type OrderingCards = {\n type: 'ordering-cards';\n explanation?: MultilingualLabel;\n question?: MultilingualLabel;\n topLabel?: MultilingualLabel;\n bottomLabel?: MultilingualLabel;\n cards: MultilingualLabel[];\n};\n\nexport type PictureSpot = {\n type: 'picture-spot';\n image?: Image;\n explanation?: MultilingualLabel;\n items?: {\n x: number;\n y: number;\n r: number;\n question: MultilingualLabel;\n description: MultilingualLabel;\n }[];\n};\n\nexport type SwipingCards = {\n type: 'swiping-cards';\n explanation?: MultilingualLabel;\n question?: MultilingualLabel;\n zones?: {\n position: 'left' | 'right' | 'top' | 'bottom';\n text: MultilingualLabel;\n }[];\n cards?: {\n image?: Image;\n text?: MultilingualLabel;\n answer: 'left' | 'right' | 'top' | 'bottom';\n }[];\n};\n\nexport type Game =\n | ErrorText\n | MultipleChoiceQuestion\n | NoInteraction\n | OpenQuestion\n | OrderingCards\n | PictureSpot\n | SwipingCards;\n\nexport type GameType =\n | 'error-text'\n | 'mcq'\n | 'open-question'\n | 'no-interaction'\n | 'picture-spot'\n | 'swiping-cards'\n | 'ordering-cards';\n\nexport const GAME_TYPE: Record<string, GameType> = {\n MCQ: 'mcq',\n ERROR_TEXT: 'error-text',\n OPEN_QUESTION: 'open-question',\n NO_INTERACTION: 'no-interaction',\n PICTURE_SPOT: 'picture-spot',\n ORDERING_CARDS: 'ordering-cards',\n SWIPING_CARDS: 'swiping-cards',\n};\n\nexport type ContentStatuses = Partial<{\n [languageCode in LanguageCode]: 'draft' | 'validated' | 'waiting-translation' | 'waiting-validation';\n}>;\n\nexport type Content = {\n archived: boolean;\n id: number;\n metadata: {\n coverImage: Image;\n identifier?: string;\n name: MultilingualLabel;\n thematic: Thematic;\n explanation?: string;\n knowMore?: string;\n };\n statuses: ContentStatuses;\n game?: Game;\n};\n"],"names":[],"mappings":";;;;AAmGa,MAAA,SAAS,GAA6B;AACjD,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,aAAa,EAAE,eAAe
|
|
1
|
+
{"version":3,"file":"content.js","sources":["../../../src/business/types/content.ts"],"sourcesContent":["import { LanguageCode, MultilingualLabel } from './multilingual';\nimport { Image, Media } from './media';\nimport { Thematic } from './thematic';\n\nexport type ErrorText = {\n type: 'error-text';\n gameMedia?: Media;\n explanationMedia?: Media;\n explanation?: MultilingualLabel;\n wrongText?: MultilingualLabel;\n correctText?: MultilingualLabel;\n};\n\nexport type MultipleChoiceQuestion = {\n type: 'mcq';\n gameMedia?: Media;\n question?: MultilingualLabel;\n explanation?: MultilingualLabel;\n explanationMedia?: Media;\n multiselect?: boolean;\n choices?: {\n correct: boolean;\n text: MultilingualLabel;\n }[];\n};\n\nexport type NoInteraction = {\n type: 'no-interaction';\n firstMedia?: Media;\n secondMedia?: Media;\n title?: MultilingualLabel;\n text?: MultilingualLabel;\n};\n\nexport type OpenQuestion = {\n type: 'open-question';\n gameMedia?: Media;\n question?: MultilingualLabel;\n answer?: MultilingualLabel;\n explanation?: MultilingualLabel;\n explanationMedia?: Media;\n levenshteinDistance?: number;\n};\n\nexport type OrderingCards = {\n type: 'ordering-cards';\n explanation?: MultilingualLabel;\n question?: MultilingualLabel;\n topLabel?: MultilingualLabel;\n bottomLabel?: MultilingualLabel;\n cards: MultilingualLabel[];\n};\n\nexport type PictureSpot = {\n type: 'picture-spot';\n image?: Image;\n explanation?: MultilingualLabel;\n items?: {\n x: number;\n y: number;\n r: number;\n question: MultilingualLabel;\n description: MultilingualLabel;\n }[];\n};\n\nexport type SwipingCards = {\n type: 'swiping-cards';\n explanation?: MultilingualLabel;\n question?: MultilingualLabel;\n zones?: {\n position: 'left' | 'right' | 'top' | 'bottom';\n text: MultilingualLabel;\n }[];\n cards?: {\n image?: Image;\n text?: MultilingualLabel;\n answer: 'left' | 'right' | 'top' | 'bottom';\n }[];\n};\n\nexport type Game =\n | ErrorText\n | MultipleChoiceQuestion\n | NoInteraction\n | OpenQuestion\n | OrderingCards\n | PictureSpot\n | SwipingCards;\n\nexport type GameType =\n | 'error-text'\n | 'mcq'\n | 'open-question'\n | 'no-interaction'\n | 'picture-spot'\n | 'swiping-cards'\n | 'ordering-cards';\n\nexport const GAME_TYPE: Record<string, GameType> = {\n MCQ: 'mcq',\n ERROR_TEXT: 'error-text',\n OPEN_QUESTION: 'open-question',\n NO_INTERACTION: 'no-interaction',\n PICTURE_SPOT: 'picture-spot',\n ORDERING_CARDS: 'ordering-cards',\n SWIPING_CARDS: 'swiping-cards',\n};\n\nexport type ContentStatuses = Partial<{\n [languageCode in LanguageCode]: 'draft' | 'validated' | 'waiting-translation' | 'waiting-validation';\n}>;\n\nexport type Content = {\n archived: boolean;\n id: number;\n metadata: {\n coverImage: Image;\n identifier?: string;\n name: MultilingualLabel;\n thematic: Thematic;\n explanation?: string;\n knowMore?: string;\n };\n statuses: ContentStatuses;\n game?: Game;\n};\n\nexport const isGameMultipleChoiceQuestion = (game: Game): game is MultipleChoiceQuestion => game.type === GAME_TYPE.MCQ;\nexport const isGameErrorText = (game: Game): game is ErrorText => game.type === GAME_TYPE.ERROR_TEXT;\nexport const isGameOpenQuestion = (game: Game): game is OpenQuestion => game.type === GAME_TYPE.OPEN_QUESTION;\nexport const isGameNoInteraction = (game: Game): game is NoInteraction => game.type === GAME_TYPE.NO_INTERACTION;\nexport const isGamePictureSpot = (game: Game): game is PictureSpot => game.type === GAME_TYPE.PICTURE_SPOT;\nexport const isGameOrderingCards = (game: Game): game is OrderingCards => game.type === GAME_TYPE.ORDERING_CARDS;\nexport const isGameSwipingCards = (game: Game): game is SwipingCards => game.type === GAME_TYPE.SWIPING_CARDS;\n"],"names":[],"mappings":";;;;AAmGa,MAAA,SAAS,GAA6B;AACjD,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,aAAa,EAAE,eAAe;EAC9B;AAqBW,MAAA,4BAA4B,GAAG,CAAC,IAAU,KAAqC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;AAC3G,MAAA,eAAe,GAAG,CAAC,IAAU,KAAwB,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW;AACxF,MAAA,kBAAkB,GAAG,CAAC,IAAU,KAA2B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,cAAc;AACjG,MAAA,mBAAmB,GAAG,CAAC,IAAU,KAA4B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe;AACpG,MAAA,iBAAiB,GAAG,CAAC,IAAU,KAA0B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,aAAa;AAC9F,MAAA,mBAAmB,GAAG,CAAC,IAAU,KAA4B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,eAAe;AACpG,MAAA,kBAAkB,GAAG,CAAC,IAAU,KAA2B,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var content = require('./content.js');
|
|
6
|
+
var multilingual = require('./multilingual.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.GAME_TYPE = content.GAME_TYPE;
|
|
11
|
+
exports.isGameErrorText = content.isGameErrorText;
|
|
12
|
+
exports.isGameMultipleChoiceQuestion = content.isGameMultipleChoiceQuestion;
|
|
13
|
+
exports.isGameNoInteraction = content.isGameNoInteraction;
|
|
14
|
+
exports.isGameOpenQuestion = content.isGameOpenQuestion;
|
|
15
|
+
exports.isGameOrderingCards = content.isGameOrderingCards;
|
|
16
|
+
exports.isGamePictureSpot = content.isGamePictureSpot;
|
|
17
|
+
exports.isGameSwipingCards = content.isGameSwipingCards;
|
|
18
|
+
exports.Languages = multilingual.Languages;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sparted/shared-library",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"repository": "git@github.com:Sparted/shared-library.git",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Sparted",
|
|
7
|
+
"email": "developer@sparted.com",
|
|
8
|
+
"url": "https://www.sparted.com"
|
|
9
|
+
},
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"module": "index.js",
|
|
12
|
+
"main": "index.js",
|
|
13
|
+
"files": [
|
|
14
|
+
"**/*",
|
|
15
|
+
"**/**"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"lint": "eslint .",
|
|
20
|
+
"clean": "rm -rf ./dist",
|
|
21
|
+
"build": "yarn clean && rollup --config rollup.config.ts --configPlugin typescript2 && cp package.json ./dist/package.json",
|
|
22
|
+
"build-and-publish": "yarn test && yarn build && (cd ./dist && yarn publish)"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/glob": "^8.0.0",
|
|
26
|
+
"@types/jest": "^29.0.3",
|
|
27
|
+
"@types/ungap__structured-clone": "^0.3.0",
|
|
28
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
29
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
30
|
+
"eslint": "^7.32.0",
|
|
31
|
+
"eslint-config-prettier": "^8.8.0",
|
|
32
|
+
"eslint-plugin-import": "^2.27.5",
|
|
33
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
34
|
+
"glob": "^8.0.3",
|
|
35
|
+
"jest": "^29.6.1",
|
|
36
|
+
"jest-environment-jsdom": "^29.0.3",
|
|
37
|
+
"jest-extended": "^3.1.0",
|
|
38
|
+
"jest-fetch-mock": "^3.0.3",
|
|
39
|
+
"prettier": "2",
|
|
40
|
+
"rollup": "^2.79.1",
|
|
41
|
+
"rollup-plugin-typescript2": "^0.34.0",
|
|
42
|
+
"ts-jest": "^29.0.2",
|
|
43
|
+
"tslib": "^2.4.0",
|
|
44
|
+
"typescript": "^4.8.3"
|
|
45
|
+
},
|
|
46
|
+
"jest": {
|
|
47
|
+
"moduleFileExtensions": [
|
|
48
|
+
"js",
|
|
49
|
+
"ts"
|
|
50
|
+
],
|
|
51
|
+
"setupFilesAfterEnv": [
|
|
52
|
+
"jest-extended/all"
|
|
53
|
+
],
|
|
54
|
+
"rootDir": ".",
|
|
55
|
+
"testRegex": [
|
|
56
|
+
".*\\.test\\.ts$"
|
|
57
|
+
],
|
|
58
|
+
"transform": {
|
|
59
|
+
"^.+\\.(t|j)s$": "ts-jest"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"@ungap/structured-clone": "^1.2.0"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
package/global.d.ts
ADDED
package/package.json
CHANGED
package/rollup.config.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { glob } from 'glob';
|
|
2
|
+
import typescript from 'rollup-plugin-typescript2';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
input: glob.sync('./src/**/index.ts'),
|
|
6
|
+
plugins: [
|
|
7
|
+
typescript({
|
|
8
|
+
exclude: ['**/__tests__', '**/*.test.ts'],
|
|
9
|
+
}),
|
|
10
|
+
],
|
|
11
|
+
output: [
|
|
12
|
+
{
|
|
13
|
+
dir: 'dist',
|
|
14
|
+
format: 'cjs',
|
|
15
|
+
sourcemap: true,
|
|
16
|
+
preserveModules: true, // Keep directory structure and files
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
};
|