@jamashita/lluvia-sequence 2.3.0 → 2.6.0

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.
Files changed (83) hide show
  1. package/dist/{ASequence.d.ts → cjs/ASequence.d.ts} +9 -9
  2. package/dist/cjs/ASequence.d.ts.map +1 -0
  3. package/dist/cjs/ASequence.js +132 -0
  4. package/dist/cjs/ASequence.js.map +1 -0
  5. package/dist/{ImmutableSequence.d.ts → cjs/ImmutableSequence.d.ts} +2 -3
  6. package/dist/cjs/ImmutableSequence.d.ts.map +1 -0
  7. package/dist/cjs/ImmutableSequence.js +67 -0
  8. package/dist/cjs/ImmutableSequence.js.map +1 -0
  9. package/dist/{Mock → cjs/Mock}/MockSequence.d.ts +2 -3
  10. package/dist/cjs/Mock/MockSequence.d.ts.map +1 -0
  11. package/dist/cjs/Mock/MockSequence.js +33 -0
  12. package/dist/cjs/Mock/MockSequence.js.map +1 -0
  13. package/dist/{MutableSequence.d.ts → cjs/MutableSequence.d.ts} +2 -3
  14. package/dist/cjs/MutableSequence.d.ts.map +1 -0
  15. package/dist/cjs/MutableSequence.js +49 -0
  16. package/dist/cjs/MutableSequence.js.map +1 -0
  17. package/dist/{ReadonlySequence.d.ts → cjs/ReadonlySequence.d.ts} +1 -1
  18. package/dist/cjs/ReadonlySequence.d.ts.map +1 -0
  19. package/dist/cjs/ReadonlySequence.js +3 -0
  20. package/dist/{ReadonlySequence.js.map → cjs/ReadonlySequence.js.map} +1 -1
  21. package/dist/{Sequence.d.ts → cjs/Sequence.d.ts} +2 -2
  22. package/dist/cjs/Sequence.d.ts.map +1 -0
  23. package/dist/cjs/Sequence.js +3 -0
  24. package/dist/{Sequence.js.map → cjs/Sequence.js.map} +1 -1
  25. package/dist/cjs/index.d.ts +6 -0
  26. package/dist/cjs/index.d.ts.map +1 -0
  27. package/dist/cjs/index.js +18 -0
  28. package/dist/cjs/index.js.map +1 -0
  29. package/dist/esm/ASequence.d.ts +30 -0
  30. package/dist/esm/ASequence.d.ts.map +1 -0
  31. package/dist/{ASequence.js → esm/ASequence.js} +27 -27
  32. package/dist/esm/ASequence.js.map +1 -0
  33. package/dist/esm/ImmutableSequence.d.ts +20 -0
  34. package/dist/esm/ImmutableSequence.d.ts.map +1 -0
  35. package/dist/{ImmutableSequence.js → esm/ImmutableSequence.js} +1 -2
  36. package/dist/esm/ImmutableSequence.js.map +1 -0
  37. package/dist/esm/Mock/MockSequence.d.ts +12 -0
  38. package/dist/esm/Mock/MockSequence.d.ts.map +1 -0
  39. package/dist/{Mock → esm/Mock}/MockSequence.js +1 -2
  40. package/dist/esm/Mock/MockSequence.js.map +1 -0
  41. package/dist/esm/MutableSequence.d.ts +18 -0
  42. package/dist/esm/MutableSequence.d.ts.map +1 -0
  43. package/dist/{MutableSequence.js → esm/MutableSequence.js} +4 -5
  44. package/dist/esm/MutableSequence.js.map +1 -0
  45. package/dist/esm/ReadonlySequence.d.ts +10 -0
  46. package/dist/esm/ReadonlySequence.d.ts.map +1 -0
  47. package/dist/{ReadonlySequence.js → esm/ReadonlySequence.js} +0 -0
  48. package/dist/esm/ReadonlySequence.js.map +1 -0
  49. package/dist/esm/Sequence.d.ts +10 -0
  50. package/dist/esm/Sequence.d.ts.map +1 -0
  51. package/dist/{Sequence.js → esm/Sequence.js} +0 -0
  52. package/dist/esm/Sequence.js.map +1 -0
  53. package/dist/esm/index.d.ts +6 -0
  54. package/dist/esm/index.d.ts.map +1 -0
  55. package/dist/esm/index.js +6 -0
  56. package/dist/esm/index.js.map +1 -0
  57. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  58. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  59. package/package.json +12 -13
  60. package/src/ASequence.ts +43 -43
  61. package/src/ImmutableSequence.ts +2 -4
  62. package/src/Mock/MockSequence.ts +2 -4
  63. package/src/MutableSequence.ts +2 -4
  64. package/src/ReadonlySequence.ts +1 -1
  65. package/src/Sequence.ts +2 -2
  66. package/src/__tests__/ASequence.spec.ts +1 -1
  67. package/src/__tests__/ImmutableSequence.spec.ts +1 -1
  68. package/src/__tests__/MutableSequence.spec.ts +1 -1
  69. package/src/index.ts +5 -5
  70. package/dist/ASequence.d.ts.map +0 -1
  71. package/dist/ASequence.js.map +0 -1
  72. package/dist/ImmutableSequence.d.ts.map +0 -1
  73. package/dist/ImmutableSequence.js.map +0 -1
  74. package/dist/Mock/MockSequence.d.ts.map +0 -1
  75. package/dist/Mock/MockSequence.js.map +0 -1
  76. package/dist/MutableSequence.d.ts.map +0 -1
  77. package/dist/MutableSequence.js.map +0 -1
  78. package/dist/ReadonlySequence.d.ts.map +0 -1
  79. package/dist/Sequence.d.ts.map +0 -1
  80. package/dist/index.d.ts +0 -6
  81. package/dist/index.d.ts.map +0 -1
  82. package/dist/index.js +0 -6
  83. package/dist/index.js.map +0 -1
@@ -1,30 +1,30 @@
1
1
  import { BinaryFunction, BinaryPredicate, Catalogue, Mapper, Nullable } from '@jamashita/anden-type';
2
2
  import { Quantity } from '@jamashita/lluvia-collection';
3
- import { Sequence } from './Sequence.js';
4
- export declare abstract class ASequence<V, T extends ASequence<V, T>, N extends string = string> extends Quantity<number, V, N> implements Sequence<V, N> {
3
+ import { Sequence } from './Sequence';
4
+ export declare abstract class ASequence<V, T extends ASequence<V, T>> extends Quantity<number, V> implements Sequence<V> {
5
5
  protected sequence: Array<V>;
6
6
  protected constructor(sequence: Array<V>);
7
- abstract add(value: V): Sequence<V, N>;
8
- abstract set(key: number, value: V): T;
9
- abstract remove(key: number): T;
7
+ abstract add(value: V): Sequence<V>;
10
8
  abstract duplicate(): T;
11
- abstract map<W>(mapper: Mapper<V, W>): Sequence<W>;
12
9
  abstract filter(predicate: BinaryPredicate<V, number>): T;
10
+ abstract map<W>(mapper: Mapper<V, W>): Sequence<W>;
11
+ abstract remove(key: number): T;
12
+ abstract set(key: number, value: V): T;
13
13
  abstract sort(comparator: BinaryFunction<V, V, number>): T;
14
14
  contains(value: V): boolean;
15
15
  equals(other: unknown): boolean;
16
16
  every(predicate: BinaryPredicate<V, number>): boolean;
17
+ protected filterInternal(predicate: BinaryPredicate<V, number>): Array<V>;
17
18
  find(predicate: BinaryPredicate<V, number>): Nullable<V>;
18
19
  forEach(catalogue: Catalogue<number, V>): void;
19
20
  get(key: number): Nullable<V>;
20
21
  iterator(): IterableIterator<[number, V]>;
22
+ protected removeInternal(key: number): Array<V>;
21
23
  serialize(): string;
24
+ protected setInternal(key: number, value: V): Array<V>;
22
25
  size(): number;
23
26
  some(predicate: BinaryPredicate<V, number>): boolean;
24
27
  toArray(): Array<V>;
25
28
  values(): Iterable<V>;
26
- protected filterInternal(predicate: BinaryPredicate<V, number>): Array<V>;
27
- protected removeInternal(key: number): Array<V>;
28
- protected setInternal(key: number, value: V): Array<V>;
29
29
  }
30
30
  //# sourceMappingURL=ASequence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASequence.d.ts","sourceRoot":"","sources":["../../src/ASequence.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,EACd,eAAe,EACf,SAAS,EAGT,MAAM,EACN,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,8BAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAC9G,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7B,SAAS,aAAa,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aAKxB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;aAE1B,SAAS,IAAI,CAAC;aAEL,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;aAEhD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;aAElD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;aAEtB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;aAE7B,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;IAE1D,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAe3B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAqC/B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO;IAQ5D,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAYlE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAUxD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI;IAM9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAU7B,QAAQ,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAMhD,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAWxC,SAAS,IAAI,MAAM;IAM1B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAW/C,IAAI,IAAI,MAAM;IAId,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO;IAMpD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;IAInB,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;CAG7B"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASequence = void 0;
4
+ const anden_object_1 = require("@jamashita/anden-object");
5
+ const anden_type_1 = require("@jamashita/anden-type");
6
+ const lluvia_collection_1 = require("@jamashita/lluvia-collection");
7
+ class ASequence extends lluvia_collection_1.Quantity {
8
+ constructor(sequence) {
9
+ super();
10
+ this.sequence = sequence;
11
+ }
12
+ contains(value) {
13
+ const found = this.sequence.find((v) => {
14
+ if (v === value) {
15
+ return true;
16
+ }
17
+ if ((0, anden_type_1.isEqualable)(v)) {
18
+ return v.equals(value);
19
+ }
20
+ return false;
21
+ });
22
+ return !anden_type_1.Kind.isUndefined(found);
23
+ }
24
+ equals(other) {
25
+ if (this === other) {
26
+ return true;
27
+ }
28
+ if (!(other instanceof ASequence)) {
29
+ return false;
30
+ }
31
+ if (this.size() !== other.size()) {
32
+ return false;
33
+ }
34
+ const ti = this.values()[Symbol.iterator]();
35
+ const oi = other.values()[Symbol.iterator]();
36
+ let tr = ti.next();
37
+ let or = oi.next();
38
+ while (tr.done !== true && or.done !== true) {
39
+ if ((0, anden_type_1.isEqualable)(tr.value) && (0, anden_type_1.isEqualable)(or.value)) {
40
+ if (!tr.value.equals(or.value)) {
41
+ return false;
42
+ }
43
+ }
44
+ else if (tr.value !== or.value) {
45
+ return false;
46
+ }
47
+ tr = ti.next();
48
+ or = oi.next();
49
+ if (tr.done === true && or.done === true) {
50
+ return true;
51
+ }
52
+ }
53
+ return false;
54
+ }
55
+ every(predicate) {
56
+ const found = this.sequence.find((v, i) => {
57
+ return !predicate(v, i);
58
+ });
59
+ return anden_type_1.Kind.isUndefined(found);
60
+ }
61
+ filterInternal(predicate) {
62
+ const arr = [];
63
+ this.sequence.forEach((v, i) => {
64
+ if (predicate(v, i)) {
65
+ arr.push(v);
66
+ }
67
+ });
68
+ return arr;
69
+ }
70
+ find(predicate) {
71
+ const found = this.sequence.find(predicate);
72
+ if (anden_type_1.Kind.isUndefined(found)) {
73
+ return null;
74
+ }
75
+ return found;
76
+ }
77
+ forEach(catalogue) {
78
+ this.sequence.forEach((v, i) => {
79
+ catalogue(v, i);
80
+ });
81
+ }
82
+ get(key) {
83
+ const v = this.sequence[key];
84
+ if (anden_type_1.Kind.isUndefined(v)) {
85
+ return null;
86
+ }
87
+ return v;
88
+ }
89
+ iterator() {
90
+ return this.sequence.map((e, i) => {
91
+ return [i, e];
92
+ }).values();
93
+ }
94
+ removeInternal(key) {
95
+ if (!anden_type_1.Kind.isInteger(key)) {
96
+ return this.sequence;
97
+ }
98
+ if (key < 0 || this.sequence.length <= key) {
99
+ return this.sequence;
100
+ }
101
+ return [...this.sequence.slice(0, key), ...this.sequence.slice(key + 1)];
102
+ }
103
+ serialize() {
104
+ return this.sequence.map((v) => {
105
+ return anden_object_1.Objet.identify(v);
106
+ }).join(', ');
107
+ }
108
+ setInternal(key, value) {
109
+ if (!anden_type_1.Kind.isInteger(key)) {
110
+ return this.sequence;
111
+ }
112
+ if (key < 0 || this.sequence.length <= key) {
113
+ return this.sequence;
114
+ }
115
+ return [...this.sequence.slice(0, key), value, ...this.sequence.slice(key + 1)];
116
+ }
117
+ size() {
118
+ return this.sequence.length;
119
+ }
120
+ some(predicate) {
121
+ const found = this.sequence.find(predicate);
122
+ return !anden_type_1.Kind.isUndefined(found);
123
+ }
124
+ toArray() {
125
+ return [...this.sequence];
126
+ }
127
+ values() {
128
+ return this.toArray();
129
+ }
130
+ }
131
+ exports.ASequence = ASequence;
132
+ //# sourceMappingURL=ASequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASequence.js","sourceRoot":"","sources":["../../src/ASequence.ts"],"names":[],"mappings":";;;AAAA,0DAAgD;AAChD,sDAS+B;AAC/B,oEAAwD;AAGxD,MAAsB,SAAwC,SAAQ,4BAAmB;IAGvF,YAAsB,QAAkB;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAgBM,QAAQ,CAAC,KAAQ;QACtB,MAAM,KAAK,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE;YACtD,IAAI,CAAC,KAAK,KAAK,EAAE;gBACf,OAAO,IAAI,CAAC;aACb;YACD,IAAI,IAAA,wBAAW,EAAC,CAAC,CAAC,EAAE;gBAClB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,iBAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,KAAc;QAC1B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE;YAChC,OAAO,KAAK,CAAC;SACd;QAED,MAAM,EAAE,GAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,EAAE,GAAsB,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,IAAI,EAAE,GAAsB,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,EAAE,GAA4B,EAAE,CAAC,IAAI,EAAE,CAAC;QAE5C,OAAO,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE;YAC3C,IAAI,IAAA,wBAAW,EAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAA,wBAAW,EAAC,EAAE,CAAC,KAAK,CAAC,EAAE;gBAClD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;oBAC9B,OAAO,KAAK,CAAC;iBACd;aACF;iBACI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE;gBAC9B,OAAO,KAAK,CAAC;aACd;YAED,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;YACf,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;YAEf,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,SAAqC;QAChD,MAAM,KAAK,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;YACjE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAES,cAAc,CAAC,SAAqC;QAC5D,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;YACxC,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,IAAI,CAAC,SAAqC;QAC/C,MAAM,KAAK,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1D,IAAI,iBAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,OAAO,CAAC,SAA+B;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;YACxC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAC,GAAW;QACpB,MAAM,CAAC,GAAiB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,iBAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAc,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;YACxD,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACd,CAAC;IAES,cAAc,CAAC,GAAW;QAClC,IAAI,CAAC,iBAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAS,CAAC,CAAI,EAAE,EAAE;YACxC,OAAO,oBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAES,WAAW,CAAC,GAAW,EAAE,KAAQ;QACzC,IAAI,CAAC,iBAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QACD,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,IAAI,CAAC,SAAqC;QAC/C,MAAM,KAAK,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1D,OAAO,CAAC,iBAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,OAAO;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AA3KD,8BA2KC"}
@@ -1,8 +1,7 @@
1
1
  import { BinaryFunction, BinaryPredicate, Mapper } from '@jamashita/anden-type';
2
2
  import { Collection } from '@jamashita/lluvia-collection';
3
- import { ASequence } from './ASequence.js';
4
- export declare class ImmutableSequence<V> extends ASequence<V, ImmutableSequence<V>, 'ImmutableSequence'> {
5
- readonly noun: 'ImmutableSequence';
3
+ import { ASequence } from './ASequence';
4
+ export declare class ImmutableSequence<V> extends ASequence<V, ImmutableSequence<V>> {
6
5
  private static readonly EMPTY;
7
6
  static empty<VT>(): ImmutableSequence<VT>;
8
7
  static of<VT>(collection: Collection<number, VT>): ImmutableSequence<VT>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableSequence.d.ts","sourceRoot":"","sources":["../../src/ImmutableSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAkE;WAEjF,KAAK,CAAC,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC;WAIlC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAC;WAIjE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAI1E,OAAO,CAAC,MAAM,CAAC,UAAU;IAQzB,SAAS,aAAa,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAIjC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAInC,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAQjC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAI1D,OAAO,IAAI,OAAO;IAQ3B,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAIlD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAUzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAUhD,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAO5E"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImmutableSequence = void 0;
4
+ const ASequence_1 = require("./ASequence");
5
+ class ImmutableSequence extends ASequence_1.ASequence {
6
+ constructor(sequence) {
7
+ super(sequence);
8
+ }
9
+ static empty() {
10
+ return ImmutableSequence.EMPTY;
11
+ }
12
+ static of(collection) {
13
+ return ImmutableSequence.ofInternal([...collection.values()]);
14
+ }
15
+ static ofArray(array) {
16
+ return ImmutableSequence.ofInternal([...array]);
17
+ }
18
+ static ofInternal(array) {
19
+ if (array.length === 0) {
20
+ return ImmutableSequence.empty();
21
+ }
22
+ return new ImmutableSequence(array);
23
+ }
24
+ add(value) {
25
+ return ImmutableSequence.ofArray([...this.sequence, value]);
26
+ }
27
+ duplicate() {
28
+ if (this.isEmpty()) {
29
+ return ImmutableSequence.empty();
30
+ }
31
+ return ImmutableSequence.ofArray([...this.sequence]);
32
+ }
33
+ filter(predicate) {
34
+ return ImmutableSequence.ofArray(this.filterInternal(predicate));
35
+ }
36
+ isEmpty() {
37
+ if (this === ImmutableSequence.empty()) {
38
+ return true;
39
+ }
40
+ return super.isEmpty();
41
+ }
42
+ map(mapper) {
43
+ return ImmutableSequence.ofArray(this.sequence.map(mapper));
44
+ }
45
+ remove(key) {
46
+ const sequence = this.removeInternal(key);
47
+ if (sequence === this.sequence) {
48
+ return this;
49
+ }
50
+ return ImmutableSequence.ofArray(sequence);
51
+ }
52
+ set(key, value) {
53
+ const sequence = this.setInternal(key, value);
54
+ if (sequence === this.sequence) {
55
+ return this;
56
+ }
57
+ return ImmutableSequence.ofArray(sequence);
58
+ }
59
+ sort(comparator) {
60
+ const arr = this.toArray();
61
+ arr.sort(comparator);
62
+ return ImmutableSequence.ofArray(arr);
63
+ }
64
+ }
65
+ exports.ImmutableSequence = ImmutableSequence;
66
+ ImmutableSequence.EMPTY = new ImmutableSequence([]);
67
+ //# sourceMappingURL=ImmutableSequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImmutableSequence.js","sourceRoot":"","sources":["../../src/ImmutableSequence.ts"],"names":[],"mappings":";;;AAEA,2CAAwC;AAExC,MAAa,iBAAqB,SAAQ,qBAAkC;IAuB1E,YAAsB,QAAkB;QACtC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAtBM,MAAM,CAAC,KAAK;QACjB,OAAO,iBAAiB,CAAC,KAA8B,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,EAAE,CAAK,UAAkC;QACrD,OAAO,iBAAiB,CAAC,UAAU,CAAK,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,MAAM,CAAC,OAAO,CAAK,KAAwB;QAChD,OAAO,iBAAiB,CAAC,UAAU,CAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CAAC,UAAU,CAAK,KAAgB;QAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,iBAAiB,CAAC,KAAK,EAAM,CAAC;SACtC;QAED,OAAO,IAAI,iBAAiB,CAAK,KAAK,CAAC,CAAC;IAC1C,CAAC;IAMM,GAAG,CAAC,KAAQ;QACjB,OAAO,iBAAiB,CAAC,OAAO,CAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAClB,OAAO,iBAAiB,CAAC,KAAK,EAAK,CAAC;SACrC;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEM,MAAM,CAAC,SAAqC;QACjD,OAAO,iBAAiB,CAAC,OAAO,CAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,CAAC;IAEe,OAAO;QACrB,IAAI,IAAI,KAAK,iBAAiB,CAAC,KAAK,EAAK,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEM,GAAG,CAAI,MAAoB;QAChC,OAAO,iBAAiB,CAAC,OAAO,CAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,MAAM,QAAQ,GAAa,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAI,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC9B,MAAM,QAAQ,GAAa,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAExD,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAI,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEM,IAAI,CAAC,UAAwC;QAClD,MAAM,GAAG,GAAa,IAAI,CAAC,OAAO,EAAE,CAAC;QAErC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErB,OAAO,iBAAiB,CAAC,OAAO,CAAI,GAAG,CAAC,CAAC;IAC3C,CAAC;;AAjFH,8CAkFC;AAjFyB,uBAAK,GAA+B,IAAI,iBAAiB,CAAU,EAAE,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
- import { ASequence } from '../ASequence.js';
2
- export declare class MockSequence<V> extends ASequence<V, MockSequence<V>, 'MockSequence'> {
3
- readonly noun: 'MockSequence';
1
+ import { ASequence } from '../ASequence';
2
+ export declare class MockSequence<V> extends ASequence<V, MockSequence<V>> {
4
3
  constructor(sequence: ReadonlyArray<V>);
5
4
  add(): MockSequence<V>;
6
5
  duplicate(): MockSequence<V>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockSequence.d.ts","sourceRoot":"","sources":["../../../src/Mock/MockSequence.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC7C,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAItC,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC;IAI5B,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;IAIzB,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;IAIzB,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;IAIzB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC;IAItB,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;CAG/B"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockSequence = void 0;
4
+ const anden_error_1 = require("@jamashita/anden-error");
5
+ const ASequence_1 = require("../ASequence");
6
+ class MockSequence extends ASequence_1.ASequence {
7
+ constructor(sequence) {
8
+ super([...sequence]);
9
+ }
10
+ add() {
11
+ throw new anden_error_1.UnimplementedError();
12
+ }
13
+ duplicate() {
14
+ throw new anden_error_1.UnimplementedError();
15
+ }
16
+ filter() {
17
+ throw new anden_error_1.UnimplementedError();
18
+ }
19
+ map() {
20
+ throw new anden_error_1.UnimplementedError();
21
+ }
22
+ remove() {
23
+ throw new anden_error_1.UnimplementedError();
24
+ }
25
+ set() {
26
+ throw new anden_error_1.UnimplementedError();
27
+ }
28
+ sort() {
29
+ throw new anden_error_1.UnimplementedError();
30
+ }
31
+ }
32
+ exports.MockSequence = MockSequence;
33
+ //# sourceMappingURL=MockSequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockSequence.js","sourceRoot":"","sources":["../../../src/Mock/MockSequence.ts"],"names":[],"mappings":";;;AAAA,wDAA4D;AAC5D,4CAAyC;AAEzC,MAAa,YAAgB,SAAQ,qBAA6B;IAChE,YAAmB,QAA0B;QAC3C,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACvB,CAAC;IAEM,GAAG;QACR,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,SAAS;QACd,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,GAAG;QACR,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM;QACX,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,GAAG;QACR,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,gCAAkB,EAAE,CAAC;IACjC,CAAC;CACF;AAhCD,oCAgCC"}
@@ -1,8 +1,7 @@
1
1
  import { BinaryFunction, BinaryPredicate, Mapper } from '@jamashita/anden-type';
2
2
  import { Collection } from '@jamashita/lluvia-collection';
3
- import { ASequence } from './ASequence.js';
4
- export declare class MutableSequence<V> extends ASequence<V, MutableSequence<V>, 'MutableSequence'> {
5
- readonly noun: 'MutableSequence';
3
+ import { ASequence } from './ASequence';
4
+ export declare class MutableSequence<V> extends ASequence<V, MutableSequence<V>> {
6
5
  static empty<VT>(): MutableSequence<VT>;
7
6
  static of<VT>(collection: Collection<number, VT>): MutableSequence<VT>;
8
7
  static ofArray<VT>(array: ReadonlyArray<VT>): MutableSequence<VT>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutableSequence.d.ts","sourceRoot":"","sources":["../../src/MutableSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,eAAe,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;WACxD,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;WAIhC,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;WAI/D,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC;IAIxE,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,SAAS,aAAa,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAIjC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAMjC,SAAS,IAAI,eAAe,CAAC,CAAC,CAAC;IAI/B,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAIjE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAIhD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;IAMvC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAM9C,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAO1E"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MutableSequence = void 0;
4
+ const ASequence_1 = require("./ASequence");
5
+ class MutableSequence extends ASequence_1.ASequence {
6
+ static empty() {
7
+ return MutableSequence.ofArray([]);
8
+ }
9
+ static of(collection) {
10
+ return MutableSequence.ofInternal([...collection.values()]);
11
+ }
12
+ static ofArray(array) {
13
+ return MutableSequence.ofInternal([...array]);
14
+ }
15
+ static ofInternal(array) {
16
+ return new MutableSequence(array);
17
+ }
18
+ constructor(sequence) {
19
+ super(sequence);
20
+ }
21
+ add(value) {
22
+ this.sequence.push(value);
23
+ return this;
24
+ }
25
+ duplicate() {
26
+ return MutableSequence.ofArray([...this.sequence]);
27
+ }
28
+ filter(predicate) {
29
+ return MutableSequence.ofArray(this.filterInternal(predicate));
30
+ }
31
+ map(mapper) {
32
+ return MutableSequence.ofArray(this.sequence.map(mapper));
33
+ }
34
+ remove(key) {
35
+ this.sequence = this.removeInternal(key);
36
+ return this;
37
+ }
38
+ set(key, value) {
39
+ this.sequence = this.setInternal(key, value);
40
+ return this;
41
+ }
42
+ sort(comparator) {
43
+ const arr = [...this.sequence];
44
+ arr.sort(comparator);
45
+ return MutableSequence.ofArray(arr);
46
+ }
47
+ }
48
+ exports.MutableSequence = MutableSequence;
49
+ //# sourceMappingURL=MutableSequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MutableSequence.js","sourceRoot":"","sources":["../../src/MutableSequence.ts"],"names":[],"mappings":";;;AAEA,2CAAwC;AAExC,MAAa,eAAmB,SAAQ,qBAAgC;IAC/D,MAAM,CAAC,KAAK;QACjB,OAAO,eAAe,CAAC,OAAO,CAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,EAAE,CAAK,UAAkC;QACrD,OAAO,eAAe,CAAC,UAAU,CAAK,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,MAAM,CAAC,OAAO,CAAK,KAAwB;QAChD,OAAO,eAAe,CAAC,UAAU,CAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,MAAM,CAAC,UAAU,CAAK,KAAgB;QAC5C,OAAO,IAAI,eAAe,CAAK,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAsB,QAAkB;QACtC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAEM,GAAG,CAAC,KAAQ;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,eAAe,CAAC,OAAO,CAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAEM,MAAM,CAAC,SAAqC;QACjD,OAAO,eAAe,CAAC,OAAO,CAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,GAAG,CAAI,MAAoB;QAChC,OAAO,eAAe,CAAC,OAAO,CAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAI,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAQ;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,UAAwC;QAClD,MAAM,GAAG,GAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErB,OAAO,eAAe,CAAC,OAAO,CAAI,GAAG,CAAC,CAAC;IACzC,CAAC;CACF;AA1DD,0CA0DC"}
@@ -1,6 +1,6 @@
1
1
  import { BinaryFunction, BinaryPredicate, Cloneable, Mapper } from '@jamashita/anden-type';
2
2
  import { Collection } from '@jamashita/lluvia-collection';
3
- export interface ReadonlySequence<V, N extends string = string> extends Collection<number, V, N>, Cloneable<ReadonlySequence<V>> {
3
+ export interface ReadonlySequence<V> extends Collection<number, V>, Cloneable<ReadonlySequence<V>> {
4
4
  filter(predicate: BinaryPredicate<V, number>): ReadonlySequence<V>;
5
5
  iterator(): IterableIterator<[number, V]>;
6
6
  map<W>(mapper: Mapper<V, W>): ReadonlySequence<W>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadonlySequence.d.ts","sourceRoot":"","sources":["../../src/ReadonlySequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEnE,QAAQ,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAE1C,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEpE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ReadonlySequence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadonlySequence.js","sourceRoot":"","sources":["../src/ReadonlySequence.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ReadonlySequence.js","sourceRoot":"","sources":["../../src/ReadonlySequence.ts"],"names":[],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { BinaryPredicate, Mapper } from '@jamashita/anden-type';
2
- import { ReadonlySequence } from './ReadonlySequence.js';
3
- export interface Sequence<V, N extends string = string> extends ReadonlySequence<V, N> {
2
+ import { ReadonlySequence } from './ReadonlySequence';
3
+ export interface Sequence<V> extends ReadonlySequence<V> {
4
4
  add(value: V): Sequence<V>;
5
5
  filter(predicate: BinaryPredicate<V, number>): Sequence<V>;
6
6
  map<W>(mapper: Mapper<V, W>): Sequence<W>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sequence.d.ts","sourceRoot":"","sources":["../../src/Sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3B,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3D,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEjC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;CACzC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Sequence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../src/Sequence.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/Sequence.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * from './Mock/MockSequence';
2
+ export * from './ImmutableSequence';
3
+ export * from './MutableSequence';
4
+ export * from './ReadonlySequence';
5
+ export * from './Sequence';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Mock/MockSequence"), exports);
14
+ __exportStar(require("./ImmutableSequence"), exports);
15
+ __exportStar(require("./MutableSequence"), exports);
16
+ __exportStar(require("./ReadonlySequence"), exports);
17
+ __exportStar(require("./Sequence"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,qDAAmC;AACnC,6CAA2B"}
@@ -0,0 +1,30 @@
1
+ import { BinaryFunction, BinaryPredicate, Catalogue, Mapper, Nullable } from '@jamashita/anden-type';
2
+ import { Quantity } from '@jamashita/lluvia-collection';
3
+ import { Sequence } from './Sequence';
4
+ export declare abstract class ASequence<V, T extends ASequence<V, T>> extends Quantity<number, V> implements Sequence<V> {
5
+ protected sequence: Array<V>;
6
+ protected constructor(sequence: Array<V>);
7
+ abstract add(value: V): Sequence<V>;
8
+ abstract duplicate(): T;
9
+ abstract filter(predicate: BinaryPredicate<V, number>): T;
10
+ abstract map<W>(mapper: Mapper<V, W>): Sequence<W>;
11
+ abstract remove(key: number): T;
12
+ abstract set(key: number, value: V): T;
13
+ abstract sort(comparator: BinaryFunction<V, V, number>): T;
14
+ contains(value: V): boolean;
15
+ equals(other: unknown): boolean;
16
+ every(predicate: BinaryPredicate<V, number>): boolean;
17
+ protected filterInternal(predicate: BinaryPredicate<V, number>): Array<V>;
18
+ find(predicate: BinaryPredicate<V, number>): Nullable<V>;
19
+ forEach(catalogue: Catalogue<number, V>): void;
20
+ get(key: number): Nullable<V>;
21
+ iterator(): IterableIterator<[number, V]>;
22
+ protected removeInternal(key: number): Array<V>;
23
+ serialize(): string;
24
+ protected setInternal(key: number, value: V): Array<V>;
25
+ size(): number;
26
+ some(predicate: BinaryPredicate<V, number>): boolean;
27
+ toArray(): Array<V>;
28
+ values(): Iterable<V>;
29
+ }
30
+ //# sourceMappingURL=ASequence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASequence.d.ts","sourceRoot":"","sources":["../../src/ASequence.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,cAAc,EACd,eAAe,EACf,SAAS,EAGT,MAAM,EACN,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,8BAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAC9G,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAE7B,SAAS,aAAa,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;aAKxB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;aAE1B,SAAS,IAAI,CAAC;aAEL,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;aAEhD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;aAElD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;aAEtB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;aAE7B,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC;IAE1D,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO;IAe3B,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAqC/B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO;IAQ5D,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAYlE,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAUxD,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI;IAM9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAU7B,QAAQ,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAMhD,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;IAWxC,SAAS,IAAI,MAAM;IAM1B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAW/C,IAAI,IAAI,MAAM;IAId,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO;IAMpD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC;IAInB,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;CAG7B"}
@@ -55,6 +55,15 @@ export class ASequence extends Quantity {
55
55
  });
56
56
  return Kind.isUndefined(found);
57
57
  }
58
+ filterInternal(predicate) {
59
+ const arr = [];
60
+ this.sequence.forEach((v, i) => {
61
+ if (predicate(v, i)) {
62
+ arr.push(v);
63
+ }
64
+ });
65
+ return arr;
66
+ }
58
67
  find(predicate) {
59
68
  const found = this.sequence.find(predicate);
60
69
  if (Kind.isUndefined(found)) {
@@ -79,33 +88,6 @@ export class ASequence extends Quantity {
79
88
  return [i, e];
80
89
  }).values();
81
90
  }
82
- serialize() {
83
- return this.sequence.map((v) => {
84
- return Objet.identify(v);
85
- }).join(', ');
86
- }
87
- size() {
88
- return this.sequence.length;
89
- }
90
- some(predicate) {
91
- const found = this.sequence.find(predicate);
92
- return !Kind.isUndefined(found);
93
- }
94
- toArray() {
95
- return [...this.sequence];
96
- }
97
- values() {
98
- return this.toArray();
99
- }
100
- filterInternal(predicate) {
101
- const arr = [];
102
- this.sequence.forEach((v, i) => {
103
- if (predicate(v, i)) {
104
- arr.push(v);
105
- }
106
- });
107
- return arr;
108
- }
109
91
  removeInternal(key) {
110
92
  if (!Kind.isInteger(key)) {
111
93
  return this.sequence;
@@ -115,6 +97,11 @@ export class ASequence extends Quantity {
115
97
  }
116
98
  return [...this.sequence.slice(0, key), ...this.sequence.slice(key + 1)];
117
99
  }
100
+ serialize() {
101
+ return this.sequence.map((v) => {
102
+ return Objet.identify(v);
103
+ }).join(', ');
104
+ }
118
105
  setInternal(key, value) {
119
106
  if (!Kind.isInteger(key)) {
120
107
  return this.sequence;
@@ -124,5 +111,18 @@ export class ASequence extends Quantity {
124
111
  }
125
112
  return [...this.sequence.slice(0, key), value, ...this.sequence.slice(key + 1)];
126
113
  }
114
+ size() {
115
+ return this.sequence.length;
116
+ }
117
+ some(predicate) {
118
+ const found = this.sequence.find(predicate);
119
+ return !Kind.isUndefined(found);
120
+ }
121
+ toArray() {
122
+ return [...this.sequence];
123
+ }
124
+ values() {
125
+ return this.toArray();
126
+ }
127
127
  }
128
128
  //# sourceMappingURL=ASequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ASequence.js","sourceRoot":"","sources":["../../src/ASequence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { BinaryFunction, BinaryPredicate, Mapper } from '@jamashita/anden-type';
2
+ import { Collection } from '@jamashita/lluvia-collection';
3
+ import { ASequence } from './ASequence';
4
+ export declare class ImmutableSequence<V> extends ASequence<V, ImmutableSequence<V>> {
5
+ private static readonly EMPTY;
6
+ static empty<VT>(): ImmutableSequence<VT>;
7
+ static of<VT>(collection: Collection<number, VT>): ImmutableSequence<VT>;
8
+ static ofArray<VT>(array: ReadonlyArray<VT>): ImmutableSequence<VT>;
9
+ private static ofInternal;
10
+ protected constructor(sequence: Array<V>);
11
+ add(value: V): ImmutableSequence<V>;
12
+ duplicate(): ImmutableSequence<V>;
13
+ filter(predicate: BinaryPredicate<V, number>): ImmutableSequence<V>;
14
+ isEmpty(): boolean;
15
+ map<W>(mapper: Mapper<V, W>): ImmutableSequence<W>;
16
+ remove(key: number): ImmutableSequence<V>;
17
+ set(key: number, value: V): ImmutableSequence<V>;
18
+ sort(comparator: BinaryFunction<V, V, number>): ImmutableSequence<V>;
19
+ }
20
+ //# sourceMappingURL=ImmutableSequence.d.ts.map