vsn 0.1.41 → 0.1.44

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.
@@ -19,6 +19,9 @@ export declare class Property<T = any> extends EventDispatcher {
19
19
  set type(type: string);
20
20
  get type(): string;
21
21
  validate(): any[];
22
+ getValidator(id: string): TValidator;
23
+ addValidator(validator: TValidator | string): void;
24
+ removeValidator(validator: TValidator | string): void;
22
25
  addTag(tag: string): void;
23
26
  removeTag(tag: string): void;
24
27
  hasTag(tag: string): boolean;
@@ -48,6 +48,8 @@ var Property = /** @class */ (function (_super) {
48
48
  _this.config = config;
49
49
  if (!_this.config.tags)
50
50
  _this.config.tags = [];
51
+ if (!_this.config.validators)
52
+ _this.config.validators = [];
51
53
  _this.type = config.type || 'any';
52
54
  _this.value = value;
53
55
  return _this;
@@ -97,6 +99,27 @@ var Property = /** @class */ (function (_super) {
97
99
  }
98
100
  return errors;
99
101
  };
102
+ Property.prototype.getValidator = function (id) {
103
+ var validator = Registry_1.Registry.instance.validators.getSynchronous(id);
104
+ if (!validator)
105
+ throw new Error("Invalid validator " + id);
106
+ return validator;
107
+ };
108
+ Property.prototype.addValidator = function (validator) {
109
+ if (typeof validator == 'string') {
110
+ validator = this.getValidator(validator);
111
+ }
112
+ if (this.config.validators.indexOf(validator) == -1)
113
+ this.config.validators.push(validator);
114
+ };
115
+ Property.prototype.removeValidator = function (validator) {
116
+ if (typeof validator == 'string') {
117
+ validator = this.getValidator(validator);
118
+ }
119
+ var index = this.config.validators.indexOf(validator);
120
+ if (index != -1)
121
+ this.config.validators.splice(index, 1);
122
+ };
100
123
  Property.prototype.addTag = function (tag) {
101
124
  if (this.config.tags == undefined) {
102
125
  this.config.tags = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Scope/properties/Property.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Scope/properties/Property.ts"],"names":[],"mappings":"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"}
package/dist/Tag.d.ts CHANGED
@@ -66,7 +66,9 @@ export declare class Tag extends DOMObject {
66
66
  addToParentElement(): void;
67
67
  hide(): void;
68
68
  show(): void;
69
- findAncestorByAttribute(attr: string): Tag;
69
+ findAncestorByAttribute(attr: string, includeSelf?: boolean): Tag;
70
+ findDescendantsByAttribute(attr: string, includeSelf?: boolean): Tag[];
71
+ findChildrenByAttribute(attr: string): Tag[];
70
72
  hasAttribute(attr: string): boolean;
71
73
  getAttribute<T = Attribute>(key: string): Promise<T>;
72
74
  getRawAttributeValue(key: string, fallback?: any): any;
package/dist/Tag.js CHANGED
@@ -407,10 +407,25 @@ var Tag = /** @class */ (function (_super) {
407
407
  Tag.prototype.show = function () {
408
408
  this.element.hidden = false;
409
409
  };
410
- Tag.prototype.findAncestorByAttribute = function (attr) {
411
- if (this.hasAttribute(attr))
410
+ Tag.prototype.findAncestorByAttribute = function (attr, includeSelf) {
411
+ if (includeSelf === void 0) { includeSelf = false; }
412
+ if (includeSelf && this.hasAttribute(attr))
412
413
  return this;
413
- return this.parentTag ? this.parentTag.findAncestorByAttribute(attr) : null;
414
+ return this.parentTag ? this.parentTag.findAncestorByAttribute(attr, true) : null;
415
+ };
416
+ Tag.prototype.findDescendantsByAttribute = function (attr, includeSelf) {
417
+ if (includeSelf === void 0) { includeSelf = false; }
418
+ var tags = [];
419
+ if (includeSelf && this.hasAttribute(attr))
420
+ tags.push(this);
421
+ for (var _i = 0, _a = this.children; _i < _a.length; _i++) {
422
+ var child = _a[_i];
423
+ tags.concat(child.findDescendantsByAttribute(attr, true));
424
+ }
425
+ return tags;
426
+ };
427
+ Tag.prototype.findChildrenByAttribute = function (attr) {
428
+ return this.children.filter(function (child) { return child.hasAttribute(attr); });
414
429
  };
415
430
  Tag.prototype.hasAttribute = function (attr) {
416
431
  return !!this.parsedAttributes[attr];
package/dist/Tag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag.js","sourceRoot":"","sources":["../src/Tag.ts"],"names":[],"mappings":"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"}
package/dist/vsn.d.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { DOM } from "./DOM";
2
2
  import { Registry } from "./Registry";
3
- import "./Types";
4
- import "./Formats";
5
3
  import { Configuration } from "./Configuration";
6
4
  import { EventDispatcher } from "./EventDispatcher";
7
5
  export declare class Vision extends EventDispatcher {
@@ -30,4 +28,7 @@ export { EventDispatcher } from './EventDispatcher';
30
28
  export { MessageList } from './MessageList';
31
29
  export { SimplePromise } from './SimplePromise';
32
30
  export { Tag } from './Tag';
31
+ export { Formats } from './Formats';
32
+ export { Types } from './Types';
33
+ export { Validators } from './Validators';
33
34
  export declare const vision: Vision;
package/dist/vsn.js CHANGED
@@ -61,12 +61,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
61
61
  }
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.vision = exports.Tag = exports.SimplePromise = exports.MessageList = exports.EventDispatcher = exports.Model = exports.Controller = exports.WrappedArray = exports.ScopeReference = exports.Scope = exports.DOM = exports.Vision = void 0;
64
+ exports.vision = exports.Validators = exports.Types = exports.Formats = exports.Tag = exports.SimplePromise = exports.MessageList = exports.EventDispatcher = exports.Model = exports.Controller = exports.WrappedArray = exports.ScopeReference = exports.Scope = exports.DOM = exports.Vision = void 0;
65
65
  var DOM_1 = require("./DOM");
66
66
  var WrappedArray_1 = require("./Scope/WrappedArray");
67
67
  var Registry_1 = require("./Registry");
68
- require("./Types");
69
- require("./Formats");
70
68
  var Configuration_1 = require("./Configuration");
71
69
  var VisionHelper_1 = require("./helpers/VisionHelper");
72
70
  var AST_1 = require("./AST");
@@ -173,5 +171,11 @@ var SimplePromise_1 = require("./SimplePromise");
173
171
  Object.defineProperty(exports, "SimplePromise", { enumerable: true, get: function () { return SimplePromise_1.SimplePromise; } });
174
172
  var Tag_1 = require("./Tag");
175
173
  Object.defineProperty(exports, "Tag", { enumerable: true, get: function () { return Tag_1.Tag; } });
174
+ var Formats_1 = require("./Formats");
175
+ Object.defineProperty(exports, "Formats", { enumerable: true, get: function () { return Formats_1.Formats; } });
176
+ var Types_1 = require("./Types");
177
+ Object.defineProperty(exports, "Types", { enumerable: true, get: function () { return Types_1.Types; } });
178
+ var Validators_1 = require("./Validators");
179
+ Object.defineProperty(exports, "Validators", { enumerable: true, get: function () { return Validators_1.Validators; } });
176
180
  exports.vision = Vision.instance;
177
181
  //# sourceMappingURL=vsn.js.map
package/dist/vsn.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsn.js","sourceRoot":"","sources":["../src/vsn.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vsn",
3
- "version": "0.1.41",
3
+ "version": "0.1.44",
4
4
  "description": "SEO Friendly Javascript/Typescript Framework",
5
5
  "keywords": [
6
6
  "framework",
@@ -43,6 +43,8 @@ export class Property<T = any> extends EventDispatcher {
43
43
  this.config = config;
44
44
  if (!this.config.tags)
45
45
  this.config.tags = [];
46
+ if (!this.config.validators)
47
+ this.config.validators = [];
46
48
  this.type = config.type || 'any';
47
49
  this.value = value;
48
50
  }
@@ -91,6 +93,33 @@ export class Property<T = any> extends EventDispatcher {
91
93
  return errors;
92
94
  }
93
95
 
96
+ getValidator(id: string) {
97
+ const validator = Registry.instance.validators.getSynchronous(id) as TValidator;
98
+ if (!validator)
99
+ throw new Error(`Invalid validator ${id}`);
100
+ return validator;
101
+ }
102
+
103
+ addValidator(validator: TValidator | string) {
104
+ if (typeof validator == 'string') {
105
+ validator = this.getValidator(validator);
106
+ }
107
+
108
+ if (this.config.validators.indexOf(validator) == -1)
109
+ this.config.validators.push(validator);
110
+ }
111
+
112
+ removeValidator(validator: TValidator | string) {
113
+ if (typeof validator == 'string') {
114
+ validator = this.getValidator(validator);
115
+ }
116
+
117
+ const index = this.config.validators.indexOf(validator);
118
+ if (index != -1)
119
+ this.config.validators.splice(index, 1);
120
+ }
121
+
122
+
94
123
  addTag(tag: string) {
95
124
  if(this.config.tags == undefined) {
96
125
  this.config.tags = [];
package/src/Tag.ts CHANGED
@@ -301,11 +301,27 @@ export class Tag extends DOMObject {
301
301
  this.element.hidden = false;
302
302
  }
303
303
 
304
- public findAncestorByAttribute(attr: string): Tag {
305
- if (this.hasAttribute(attr))
304
+ public findAncestorByAttribute(attr: string, includeSelf: boolean = false): Tag {
305
+ if (includeSelf && this.hasAttribute(attr))
306
306
  return this;
307
307
 
308
- return this.parentTag ? this.parentTag.findAncestorByAttribute(attr) : null;
308
+ return this.parentTag ? this.parentTag.findAncestorByAttribute(attr, true) : null;
309
+ }
310
+
311
+ public findDescendantsByAttribute(attr: string, includeSelf: boolean = false): Tag[] {
312
+ const tags = [];
313
+ if (includeSelf && this.hasAttribute(attr))
314
+ tags.push(this);
315
+
316
+ for (const child of this.children) {
317
+ tags.concat(child.findDescendantsByAttribute(attr, true))
318
+ }
319
+
320
+ return tags;
321
+ }
322
+
323
+ public findChildrenByAttribute(attr: string): Tag[] {
324
+ return this.children.filter((child) => child.hasAttribute(attr));
309
325
  }
310
326
 
311
327
  public hasAttribute(attr: string): boolean {
package/src/vsn.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import {DOM} from "./DOM";
2
2
  import {WrappedArray} from "./Scope/WrappedArray";
3
3
  import {Registry} from "./Registry";
4
- import "./Types";
5
- import "./Formats";
6
4
  import {Configuration} from "./Configuration";
7
5
  import {VisionHelper} from "./helpers/VisionHelper";
8
6
  import {Tree} from "./AST";
@@ -83,4 +81,7 @@ export {EventDispatcher} from './EventDispatcher';
83
81
  export {MessageList} from './MessageList';
84
82
  export {SimplePromise} from './SimplePromise';
85
83
  export {Tag} from './Tag';
84
+ export {Formats} from './Formats';
85
+ export {Types} from './Types';
86
+ export {Validators} from './Validators';
86
87
  export const vision: Vision = Vision.instance;