@gooddaydev/common 1.0.1 → 1.0.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/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":[],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @gooddaydev/common v1.0.0
2
+ * @gooddaydev/common v1.0.2
3
3
  * (c) undefined
4
4
  * Released under the MIT License.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.min.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nexport class BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType","BaseService","model","this","prototype","index","query","_a","sorter","column","state","sort","paginate","filter","page","limit","lean","_b","create","data","find","projection","options","findOne","findById","id","updateOne","args","set","acknowledged","updateMany","modifiedCount","deleteOne","sent","deleteMany","deletedCount"],"mappings":";;;;;8tDA8BA,IC9BYA,ED8BZC,EAAA,WACE,SAAAA,EAA6BC,GAAAC,KAAKD,MAALA,EAC3BC,KAAKD,MAAQA,EAmEjB,OAhEQD,EAAKG,UAAAC,MAAX,SAAYC,qGAGH,OAFQC,EAAA,IAACD,EAAME,OAAOC,QAASH,EAAME,OAAOE,MAA7CC,IAEO,CAAA,EAAAR,KAAKD,MAAMU,SAASN,EAAMO,OAAQ,CAC7CC,KAAMR,EAAMQ,KACZC,MAAOT,EAAMS,MACbJ,KAAMA,EACNK,KAAMV,EAAMU,QAJd,KAAA,EAAA,MAAA,CAAA,EAAOC,gBAMR,EAEKhB,EAAMG,UAAAc,OAAZ,SAAaC,6FACJ,MAAM,CAAA,EAAAhB,KAAKD,MAAMgB,OAAOC,IAA/B,KAAA,EAAA,MAAA,CAAA,EAAOZ,gBACR,EAEKN,EAAAG,UAAAgB,KAAN,SACEP,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMkB,KAAKP,EAAQQ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAmB,QAAN,SACEV,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMqB,QAAQV,EAAQQ,EAAYC,IAApD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAoB,SAAN,SACEC,EACAJ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMsB,SAASC,EAAIJ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAsB,UAAN,SACEC,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMwB,UAAUC,EAAMC,EAAKN,WAA9C,MAAO,CAAA,EAACf,SACLsB,oBACJ,EAEK5B,EAAAG,UAAA0B,WAAN,SACEH,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAM4B,WAAWH,EAAMC,EAAKN,WAA/C,MAAO,CAAA,EAACf,SACLwB,qBACJ,EAEK9B,EAASG,UAAA4B,UAAf,SAAgBL,6FACN,MAAM,CAAA,EAAAxB,KAAKD,MAAM8B,UAAUL,IAAnC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAkCJ,oBAC3C,EAEK5B,EAAUG,UAAA8B,WAAhB,SAAiBP,6FACP,MAAM,CAAA,EAAAxB,KAAKD,MAAMgC,WAAWP,IAApC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAmCE,oBAC5C,EACFlC,CAAD,ICnGYD,EAAAA,cAAAA,GAAAA,EAAAA,EAAQA,WAARA,WAGX,CAAA,IAFC,MAAA,QACAA,EAAA,KAAA"}
1
+ {"version":3,"file":"index.umd.min.js","sources":["../src/base/base.service.ts","../src/enum/user-type.enum.ts"],"sourcesContent":["import {\n Document,\n ObjectId,\n ProjectionType,\n QueryOptions,\n QueryWithHelpers,\n UpdateQuery,\n} from 'mongoose';\nimport { SoftDeleteModel } from 'mongoose-delete';\n\nexport interface IQueryOptions {\n page: number;\n limit: number;\n sorter: any;\n filter: any;\n lean: boolean;\n}\n\ninterface PaginateModel<T> {\n paginate(\n filter: any,\n options: {\n page: number;\n limit: number;\n sort: any;\n lean: boolean;\n },\n ): Promise<T>;\n}\n\nclass BaseService<T extends Document, CreateDto> {\n constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {\n this.model = model;\n }\n\n async index(query: IQueryOptions) {\n const sort = { [query.sorter.column]: query.sorter.state };\n\n return await this.model.paginate(query.filter, {\n page: query.page,\n limit: query.limit,\n sort: sort,\n lean: query.lean,\n });\n }\n\n async create(data: CreateDto | CreateDto[]): Promise<T> {\n return await this.model.create(data);\n }\n\n async find(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T[], T>> {\n return await this.model.find(filter, projection, options);\n }\n\n async findOne(\n filter: any,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findOne(filter, projection, options);\n }\n\n async findById(\n id: string | ObjectId,\n projection?: ProjectionType<T>,\n options?: QueryOptions<T>,\n ): Promise<QueryWithHelpers<T | null, T>> {\n return await this.model.findById(id, projection, options);\n }\n\n async updateOne(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<boolean> {\n return (await this.model.updateOne(args, set, options as UpdateQuery<T>))\n .acknowledged;\n }\n\n async updateMany(\n args: any,\n set: UpdateQuery<T>,\n options?: QueryOptions<T>,\n ): Promise<number> {\n return (await this.model.updateMany(args, set, options as UpdateQuery<T>))\n .modifiedCount;\n }\n\n async deleteOne(args: any): Promise<boolean> {\n return (await this.model.deleteOne(args)).acknowledged;\n }\n\n async deleteMany(args: any): Promise<number> {\n return (await this.model.deleteMany(args)).deletedCount;\n }\n}\n\nexport { BaseService };\n\n","export enum UserType {\n ADMIN = 'admin',\n USER = 'user',\n}\n\n"],"names":["UserType","BaseService","model","this","prototype","index","query","_a","sorter","column","state","sort","paginate","filter","page","limit","lean","_b","create","data","find","projection","options","findOne","findById","id","updateOne","args","set","acknowledged","updateMany","modifiedCount","deleteOne","sent","deleteMany","deletedCount"],"mappings":";;;;;8tDA8BA,IC9BYA,ED8BZC,EAAA,WACE,SAAAA,EAA6BC,GAAAC,KAAKD,MAALA,EAC3BC,KAAKD,MAAQA,EAmEjB,OAhEQD,EAAKG,UAAAC,MAAX,SAAYC,qGAGH,OAFQC,EAAA,IAACD,EAAME,OAAOC,QAASH,EAAME,OAAOE,MAA7CC,IAEO,CAAA,EAAAR,KAAKD,MAAMU,SAASN,EAAMO,OAAQ,CAC7CC,KAAMR,EAAMQ,KACZC,MAAOT,EAAMS,MACbJ,KAAMA,EACNK,KAAMV,EAAMU,QAJd,KAAA,EAAA,MAAA,CAAA,EAAOC,gBAMR,EAEKhB,EAAMG,UAAAc,OAAZ,SAAaC,6FACJ,MAAM,CAAA,EAAAhB,KAAKD,MAAMgB,OAAOC,IAA/B,KAAA,EAAA,MAAA,CAAA,EAAOZ,gBACR,EAEKN,EAAAG,UAAAgB,KAAN,SACEP,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMkB,KAAKP,EAAQQ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAmB,QAAN,SACEV,EACAQ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMqB,QAAQV,EAAQQ,EAAYC,IAApD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAoB,SAAN,SACEC,EACAJ,EACAC,sFAEO,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMsB,SAASC,EAAIJ,EAAYC,IAAjD,KAAA,EAAA,MAAA,CAAA,EAAOf,gBACR,EAEKN,EAAAG,UAAAsB,UAAN,SACEC,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAMwB,UAAUC,EAAMC,EAAKN,WAA9C,MAAO,CAAA,EAACf,SACLsB,oBACJ,EAEK5B,EAAAG,UAAA0B,WAAN,SACEH,EACAC,EACAN,sFAEQ,KAAA,EAAA,MAAA,CAAA,EAAMnB,KAAKD,MAAM4B,WAAWH,EAAMC,EAAKN,WAA/C,MAAO,CAAA,EAACf,SACLwB,qBACJ,EAEK9B,EAASG,UAAA4B,UAAf,SAAgBL,6FACN,MAAM,CAAA,EAAAxB,KAAKD,MAAM8B,UAAUL,IAAnC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAkCJ,oBAC3C,EAEK5B,EAAUG,UAAA8B,WAAhB,SAAiBP,6FACP,MAAM,CAAA,EAAAxB,KAAKD,MAAMgC,WAAWP,IAApC,KAAA,EAAA,MAAA,CAAA,EAAQpB,EAAA0B,OAAmCE,oBAC5C,EACFlC,CAAD,ICnGYD,EAAAA,cAAAA,GAAAA,EAAAA,EAAQA,WAARA,WAGX,CAAA,IAFC,MAAA,QACAA,EAAA,KAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddaydev/common",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Common utilities for TypeScript projects with CI/CD",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@ interface PaginateModel<T> {
28
28
  ): Promise<T>;
29
29
  }
30
30
 
31
- export class BaseService<T extends Document, CreateDto> {
31
+ class BaseService<T extends Document, CreateDto> {
32
32
  constructor(private readonly model: SoftDeleteModel<T> & PaginateModel<T>) {
33
33
  this.model = model;
34
34
  }
@@ -98,3 +98,6 @@ export class BaseService<T extends Document, CreateDto> {
98
98
  return (await this.model.deleteMany(args)).deletedCount;
99
99
  }
100
100
  }
101
+
102
+ export { BaseService };
103
+
@@ -15,7 +15,7 @@ interface PaginateModel<T> {
15
15
  lean: boolean;
16
16
  }): Promise<T>;
17
17
  }
18
- export declare class BaseService<T extends Document, CreateDto> {
18
+ declare class BaseService<T extends Document, CreateDto> {
19
19
  private readonly model;
20
20
  constructor(model: SoftDeleteModel<T> & PaginateModel<T>);
21
21
  index(query: IQueryOptions): Promise<T>;
@@ -28,5 +28,5 @@ export declare class BaseService<T extends Document, CreateDto> {
28
28
  deleteOne(args: any): Promise<boolean>;
29
29
  deleteMany(args: any): Promise<number>;
30
30
  }
31
- export {};
31
+ export { BaseService };
32
32
  //# sourceMappingURL=base.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../src/base/base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CACN,MAAM,EAAE,GAAG,EACX,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,OAAO,CAAC;KACf,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,qBAAa,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAInE,KAAK,CAAC,KAAK,EAAE,aAAa;IAW1B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,IAAI,CACR,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAI9B,OAAO,CACX,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,QAAQ,CACZ,EAAE,EAAE,MAAM,GAAG,QAAQ,EACrB,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,SAAS,CACb,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC;IAKZ,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAG7C"}
1
+ {"version":3,"file":"base.service.d.ts","sourceRoot":"","sources":["../../src/base/base.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,QAAQ,CACN,MAAM,EAAE,GAAG,EACX,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;QACV,IAAI,EAAE,OAAO,CAAC;KACf,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAInE,KAAK,CAAC,KAAK,EAAE,aAAa;IAW1B,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,IAAI,CACR,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAI9B,OAAO,CACX,MAAM,EAAE,GAAG,EACX,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,QAAQ,CACZ,EAAE,EAAE,MAAM,GAAG,QAAQ,EACrB,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAInC,SAAS,CACb,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IAKb,UAAU,CACd,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC;IAKZ,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAG7C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { Plugin } from 'rollup';
2
-
3
- declare module 'rollup-plugin-terser' {
4
-
5
- export interface TerserOptions {
6
- // Add any specific options you need here
7
- }
8
-
9
- export default function terser(options?: TerserOptions): Plugin;
10
- }