@wisemen/datewise 0.1.15 → 0.1.17

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.
@@ -7,6 +7,10 @@ import { Timestamp } from '../../timestamp/timestamp.js';
7
7
  * Checks whether a plain date lies in the given date range with the `<@` operator.
8
8
  */
9
9
  export declare function ContainedIn(period: DateRange): FindOperator<PlainDate>;
10
+ /**
11
+ * Checks whether a timestamp lies in the given date time range with the `<@` operator.
12
+ */
13
+ export declare function ContainedIn<ColumnType extends Timestamp | Date>(period: DateTimeRange): FindOperator<ColumnType>;
10
14
  /**
11
15
  * Checks whether a timestamp lies in the given date time range with the `<@` operator.
12
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"contained-in.js","sourceRoot":"","sources":["../../../lib/common/typeorm/contained-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAgB,GAAG,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAa1D,MAAM,UAAU,WAAW,CACzB,MAAiC;IAEjC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAElD,IAAI,IAAY,CAAA;IAChB,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;QAChC,IAAI,GAAG,WAAW,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,YAAY,CAAA;IACrB,CAAC;IAED,OAAO,GAAG,CACR,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,SAAS,KAAK,IAAI,EAAE,EACvD,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CACkB,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"contained-in.js","sourceRoot":"","sources":["../../../lib/common/typeorm/contained-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAgB,GAAG,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAiB1D,MAAM,UAAU,WAAW,CACzB,MAAiC;IAMjC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAElD,IAAI,IAAY,CAAA;IAChB,IAAI,MAAM,YAAY,SAAS,EAAE,CAAC;QAChC,IAAI,GAAG,WAAW,CAAA;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,YAAY,CAAA;IACrB,CAAC;IAED,OAAO,GAAG,CACR,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,SAAS,KAAK,IAAI,EAAE,EACvD,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CACkB,CAAA;AACxD,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { after, before, describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import { In } from 'typeorm';
4
+ import { DateTimeRange } from '../date-time-range.js';
5
+ import { timestamp } from '../../timestamp/index.js';
6
+ import { ContainedIn } from '../../common/typeorm/contained-in.js';
7
+ import { IntegrationTestSetup } from './test-setup.js';
8
+ import { dataSource } from './sql/datasource.js';
9
+ import { DateTest } from './sql/date-test.entity.js';
10
+ describe('ContainedIn for Date', () => {
11
+ const integrationTest = new IntegrationTestSetup();
12
+ before(async () => {
13
+ await integrationTest.setup();
14
+ });
15
+ after(async () => {
16
+ await integrationTest.teardown();
17
+ });
18
+ it('finds Date columns contained in a date time range', async () => {
19
+ const date1 = new Date('2025-01-15T10:00:00Z');
20
+ const date2 = new Date('2025-02-15T14:30:00Z');
21
+ const date3 = new Date('2025-03-15T18:45:00Z');
22
+ await seed(dataSource, { id: 1, date: date1 });
23
+ await seed(dataSource, { id: 2, date: date2 });
24
+ await seed(dataSource, { id: 3, date: date3 });
25
+ const range = new DateTimeRange(timestamp('2025-01-01T00:00:00Z'), timestamp('2025-02-28T23:59:59Z'));
26
+ // This is mainly a TypeScript typing test - ensure ContainedIn accepts Date columns
27
+ const results = await dataSource.manager.find(DateTest, {
28
+ where: {
29
+ id: In([1, 2, 3]),
30
+ date: ContainedIn(range)
31
+ }
32
+ });
33
+ expect(results.length).toBe(2);
34
+ expect(results.some(r => r.id === 1)).toBe(true);
35
+ expect(results.some(r => r.id === 2)).toBe(true);
36
+ });
37
+ it('excludes Date columns outside the range', async () => {
38
+ const beforeDate = new Date('2024-12-31T23:59:59Z');
39
+ const afterDate = new Date('2025-02-01T00:00:01Z');
40
+ await seed(dataSource, { id: 4, date: beforeDate });
41
+ await seed(dataSource, { id: 5, date: afterDate });
42
+ const range = new DateTimeRange(timestamp('2025-01-01T00:00:00Z'), timestamp('2025-02-01T00:00:00Z'));
43
+ const results = await dataSource.manager.find(DateTest, {
44
+ where: {
45
+ id: In([4, 5]),
46
+ date: ContainedIn(range)
47
+ }
48
+ });
49
+ expect(results.length).toBe(0);
50
+ });
51
+ async function seed(dataSource, row) {
52
+ await dataSource.manager.upsert(DateTest, row, { conflictPaths: { id: true } });
53
+ }
54
+ });
55
+ //# sourceMappingURL=contained-in-date.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contained-in-date.integration.test.js","sourceRoot":"","sources":["../../../lib/date-time-range/tests/contained-in-date.integration.test.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export const dataSource = new DataSource({
12
12
  'dist/**/date-time-range-test.entity.js',
13
13
  'dist/**/multi-date-time-range-test.entity.js',
14
14
  'dist/**/finite-date-time-range-test.entity.js',
15
- 'dist/**/timestamp-test.entity.js'
15
+ 'dist/**/timestamp-test.entity.js',
16
+ 'dist/**/date-test.entity.js'
16
17
  ]
17
18
  });
18
19
  //# sourceMappingURL=datasource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../../lib/date-time-range/tests/sql/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IACvC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;IAC7B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAClB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE;QACR,wCAAwC;QACxC,8CAA8C;QAC9C,+CAA+C;QAC/C,kCAAkC;KACnC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../../lib/date-time-range/tests/sql/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IACvC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;IAC7B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;IAClB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE;QACR,wCAAwC;QACxC,8CAA8C;QAC9C,+CAA+C;QAC/C,kCAAkC;QAClC,6BAA6B;KAC9B;CACF,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare class DateTest {
2
+ id: number;
3
+ date: Date;
4
+ }
@@ -0,0 +1,27 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
11
+ let DateTest = class DateTest {
12
+ id;
13
+ date;
14
+ };
15
+ __decorate([
16
+ PrimaryGeneratedColumn(),
17
+ __metadata("design:type", Number)
18
+ ], DateTest.prototype, "id", void 0);
19
+ __decorate([
20
+ Column({ type: 'timestamptz' }),
21
+ __metadata("design:type", Date)
22
+ ], DateTest.prototype, "date", void 0);
23
+ DateTest = __decorate([
24
+ Entity()
25
+ ], DateTest);
26
+ export { DateTest };
27
+ //# sourceMappingURL=date-test.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-test.entity.js","sourceRoot":"","sources":["../../../../lib/date-time-range/tests/sql/date-test.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAGzD,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAEnB,EAAE,CAAQ;IAGV,IAAI,CAAM;CACX,CAAA;AAJC;IADC,sBAAsB,EAAE;;oCACf;AAGV;IADC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;8BAC1B,IAAI;sCAAA;AALC,QAAQ;IADpB,MAAM,EAAE;GACI,QAAQ,CAMpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wisemen/datewise",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -34,8 +34,8 @@
34
34
  "directory": "packages/datewise"
35
35
  },
36
36
  "dependencies": {
37
- "@wisemen/quantity": "0.6.1",
38
- "@wisemen/pagination": "0.1.1"
37
+ "@wisemen/pagination": "0.1.1",
38
+ "@wisemen/quantity": "0.6.1"
39
39
  },
40
40
  "scripts": {
41
41
  "prebuild": "rm -rf ./dist",