This commit is contained in:
2022-07-21 03:28:35 +00:00
parent d7c883d6df
commit 51b34b0e1d
30103 changed files with 4152204 additions and 23 deletions
+55
View File
@@ -0,0 +1,55 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.factory = factory;
exports.default = void 0;
var _vue = _interopRequireDefault(require("vue"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function factory() {
var prop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'value';
var event = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'change';
return _vue.default.extend({
name: 'proxyable',
model: {
prop: prop,
event: event
},
props: _defineProperty({}, prop, {
required: false
}),
data: function data() {
return {
internalLazyValue: this[prop]
};
},
computed: {
internalValue: {
get: function get() {
return this.internalLazyValue;
},
set: function set(val) {
if (val === this.internalLazyValue) return;
this.internalLazyValue = val;
this.$emit(event, val);
}
}
},
watch: _defineProperty({}, prop, function (val) {
this.internalLazyValue = val;
})
});
}
/* eslint-disable-next-line no-redeclare */
var Proxyable = factory();
var _default = Proxyable;
exports.default = _default;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"sources":["../../../src/mixins/proxyable/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;AASM,SAAU,OAAV,GAEY;AAAA,MADhB,IACgB,uEADT,OACS;AAAA,MAAhB,KAAgB,uEAAR,QAAQ;AAEhB,SAAO,aAAI,MAAJ,CAAW;AAChB,IAAA,IAAI,EAAE,WADU;AAGhB,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAJ,IADK;AAEL,MAAA,KAAK,EAAL;AAFK,KAHS;AAQhB,IAAA,KAAK,sBACF,IADE,EACK;AACN,MAAA,QAAQ,EAAE;AADJ,KADL,CARW;AAchB,IAAA,IAdgB,kBAcZ;AACF,aAAO;AACL,QAAA,iBAAiB,EAAE,KAAK,IAAL;AADd,OAAP;AAGD,KAlBe;AAoBhB,IAAA,QAAQ,EAAE;AACR,MAAA,aAAa,EAAE;AACb,QAAA,GADa,iBACV;AACD,iBAAO,KAAK,iBAAZ;AACD,SAHY;AAIb,QAAA,GAJa,eAIR,GAJQ,EAIA;AACX,cAAI,GAAG,KAAK,KAAK,iBAAjB,EAAoC;AAEpC,eAAK,iBAAL,GAAyB,GAAzB;AAEA,eAAK,KAAL,CAAW,KAAX,EAAkB,GAAlB;AACD;AAVY;AADP,KApBM;AAmChB,IAAA,KAAK,sBACF,IADE,YACK,GADL,EACQ;AACT,WAAK,iBAAL,GAAyB,GAAzB;AACD,KAHE;AAnCW,GAAX,CAAP;AAyCD;AAED;;;AACA,IAAM,SAAS,GAAG,OAAO,EAAzB;eAEe,S","sourcesContent":["import Vue, { VueConstructor } from 'vue'\n\n/* eslint-disable-next-line no-use-before-define */\nexport type Proxyable<T extends string = 'value'> = VueConstructor<Vue & {\n internalLazyValue: unknown\n internalValue: unknown\n} & Record<T, any>>\n\nexport function factory<T extends string = 'value'> (prop?: T, event?: string): Proxyable<T>\nexport function factory (\n prop = 'value',\n event = 'change'\n) {\n return Vue.extend({\n name: 'proxyable',\n\n model: {\n prop,\n event,\n },\n\n props: {\n [prop]: {\n required: false,\n },\n },\n\n data () {\n return {\n internalLazyValue: this[prop] as unknown,\n }\n },\n\n computed: {\n internalValue: {\n get (): unknown {\n return this.internalLazyValue\n },\n set (val: any) {\n if (val === this.internalLazyValue) return\n\n this.internalLazyValue = val\n\n this.$emit(event, val)\n },\n },\n },\n\n watch: {\n [prop] (val) {\n this.internalLazyValue = val\n },\n },\n })\n}\n\n/* eslint-disable-next-line no-redeclare */\nconst Proxyable = factory()\n\nexport default Proxyable\n"],"sourceRoot":"","file":"index.js"}