├── .coveralls.yml ├── .depcheckrc ├── .eslintrc ├── .github └── workflows │ ├── codeql.yml │ └── unit-tests.yml ├── .gitignore ├── LICENSE ├── README.md ├── bin └── mongodb-schema ├── docs ├── mongodb-schema_diagram.graffle └── mongodb-schema_diagram.png ├── examples ├── fanclub.json ├── parse-from-file.ts └── parse-schema.ts ├── package.json ├── scripts └── time-testing.ts ├── src ├── index.ts ├── schema-accessor.ts ├── schema-analyzer.ts ├── schema-converters │ ├── internalToExpanded.test.ts │ ├── internalToExpanded.ts │ ├── internalToMongoDB.test.ts │ ├── internalToMongoDB.ts │ ├── internalToStandard.test.ts │ └── internalToStandard.ts ├── semantic-types │ ├── email.ts │ └── index.ts ├── stats.ts ├── to-typescript.spec.ts ├── to-typescript.ts ├── types.ts └── util.ts ├── test ├── all-bson-types-fixture.ts ├── all-bson-types.test.ts ├── array-object-types.test.ts ├── basic-embedded-array.test.ts ├── basic-embedded-documents.test.ts ├── basic-probability.test.ts ├── basic-unique.test.ts ├── basic.test.ts ├── bloated.test.ts ├── field-order.test.ts ├── get-schema-paths.test.ts ├── integration │ └── generateAndValidate.test.ts ├── mixed-type-evolving-schema.test.ts ├── mixed-type-nested.test.ts ├── mixed-type-order.test.ts ├── mixed-type-probability.test.ts ├── nested-document-path.test.ts ├── no-node.test.ts ├── promise.test.ts ├── regression-strings-have-same-probability.test.ts ├── schema-accessor.test.ts ├── semantic-types.test.ts ├── simplified-schema.test.ts ├── stats.test.ts └── wrapper.test.ts └── tsconfig.json /.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: zcUOJV55Tjfuf82xwdXBlaztt3H1RawBf 2 | -------------------------------------------------------------------------------- /.depcheckrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/.depcheckrc -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/.eslintrc -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/unit-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/.github/workflows/unit-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/README.md -------------------------------------------------------------------------------- /bin/mongodb-schema: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/bin/mongodb-schema -------------------------------------------------------------------------------- /docs/mongodb-schema_diagram.graffle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/docs/mongodb-schema_diagram.graffle -------------------------------------------------------------------------------- /docs/mongodb-schema_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/docs/mongodb-schema_diagram.png -------------------------------------------------------------------------------- /examples/fanclub.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/examples/fanclub.json -------------------------------------------------------------------------------- /examples/parse-from-file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/examples/parse-from-file.ts -------------------------------------------------------------------------------- /examples/parse-schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/examples/parse-schema.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/package.json -------------------------------------------------------------------------------- /scripts/time-testing.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/scripts/time-testing.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/schema-accessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-accessor.ts -------------------------------------------------------------------------------- /src/schema-analyzer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-analyzer.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToExpanded.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToExpanded.test.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToExpanded.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToExpanded.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToMongoDB.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToMongoDB.test.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToMongoDB.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToMongoDB.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToStandard.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToStandard.test.ts -------------------------------------------------------------------------------- /src/schema-converters/internalToStandard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/schema-converters/internalToStandard.ts -------------------------------------------------------------------------------- /src/semantic-types/email.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/semantic-types/email.ts -------------------------------------------------------------------------------- /src/semantic-types/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/semantic-types/index.ts -------------------------------------------------------------------------------- /src/stats.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/stats.ts -------------------------------------------------------------------------------- /src/to-typescript.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/to-typescript.spec.ts -------------------------------------------------------------------------------- /src/to-typescript.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/to-typescript.ts -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/types.ts -------------------------------------------------------------------------------- /src/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/src/util.ts -------------------------------------------------------------------------------- /test/all-bson-types-fixture.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/all-bson-types-fixture.ts -------------------------------------------------------------------------------- /test/all-bson-types.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/all-bson-types.test.ts -------------------------------------------------------------------------------- /test/array-object-types.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/array-object-types.test.ts -------------------------------------------------------------------------------- /test/basic-embedded-array.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/basic-embedded-array.test.ts -------------------------------------------------------------------------------- /test/basic-embedded-documents.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/basic-embedded-documents.test.ts -------------------------------------------------------------------------------- /test/basic-probability.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/basic-probability.test.ts -------------------------------------------------------------------------------- /test/basic-unique.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/basic-unique.test.ts -------------------------------------------------------------------------------- /test/basic.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/basic.test.ts -------------------------------------------------------------------------------- /test/bloated.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/bloated.test.ts -------------------------------------------------------------------------------- /test/field-order.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/field-order.test.ts -------------------------------------------------------------------------------- /test/get-schema-paths.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/get-schema-paths.test.ts -------------------------------------------------------------------------------- /test/integration/generateAndValidate.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/integration/generateAndValidate.test.ts -------------------------------------------------------------------------------- /test/mixed-type-evolving-schema.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/mixed-type-evolving-schema.test.ts -------------------------------------------------------------------------------- /test/mixed-type-nested.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/mixed-type-nested.test.ts -------------------------------------------------------------------------------- /test/mixed-type-order.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/mixed-type-order.test.ts -------------------------------------------------------------------------------- /test/mixed-type-probability.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/mixed-type-probability.test.ts -------------------------------------------------------------------------------- /test/nested-document-path.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/nested-document-path.test.ts -------------------------------------------------------------------------------- /test/no-node.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/no-node.test.ts -------------------------------------------------------------------------------- /test/promise.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/promise.test.ts -------------------------------------------------------------------------------- /test/regression-strings-have-same-probability.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/regression-strings-have-same-probability.test.ts -------------------------------------------------------------------------------- /test/schema-accessor.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/schema-accessor.test.ts -------------------------------------------------------------------------------- /test/semantic-types.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/semantic-types.test.ts -------------------------------------------------------------------------------- /test/simplified-schema.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/simplified-schema.test.ts -------------------------------------------------------------------------------- /test/stats.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/stats.test.ts -------------------------------------------------------------------------------- /test/wrapper.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/test/wrapper.test.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb-js/mongodb-schema/HEAD/tsconfig.json --------------------------------------------------------------------------------