mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-15 02:48:06 +03:00
Merge branch 'test' of https://github.com/urbit/urbit into test
This commit is contained in:
commit
ed727923ea
@ -200,7 +200,7 @@
|
||||
%pass
|
||||
/
|
||||
%c
|
||||
[%warp [our our] %home `[%sing %y [%ud 1] /]]
|
||||
[%warp [our our] %base `[%sing %y [%ud 1] /]]
|
||||
==
|
||||
==
|
||||
::
|
||||
|
@ -1133,7 +1133,8 @@
|
||||
::
|
||||
++ del-subs :: XX per path?
|
||||
|= [a=dock %json b=wire c=path] ^+ ..ix
|
||||
(hurl-note [a b] [%g %deal [him -.a] +.a %pull ~])
|
||||
=. ..ix (hurl-note [a b] [%g %deal [him -.a] +.a %pull ~])
|
||||
(nice-json:pop-duct:(ire-ix ire)) :: XX gall ack
|
||||
::
|
||||
++ get-rush
|
||||
|= [a=whir-of b=json] ^+ ..ix
|
||||
|
@ -64,7 +64,7 @@
|
||||
?- -.dex
|
||||
%del ?:((lte p.sin p.dex) dex(p +(p.dex)) dex)
|
||||
%ins ?: =(p.sin p.dex)
|
||||
?:((gth q.sin q.dex) dex dex(p +(p.dex)))
|
||||
?:((lth q.sin q.dex) dex dex(p +(p.dex)))
|
||||
?:((lte p.sin p.dex) dex(p +(p.dex)) dex)
|
||||
==
|
||||
==
|
||||
|
@ -244,12 +244,11 @@ window.urb.unsubscribe = function(params,cb) {
|
||||
|
||||
if(!params.path) throw new Error("You must specify a path for urb.unsubscribe.")
|
||||
if(!params.appl) throw new Error("You must specify an appl for urb.unsubscribe.")
|
||||
if(!cb) throw new Error("You must supply a callback to urb.unsubscribe.")
|
||||
|
||||
url = "/~/is/"+this.gsig(params)+".json"
|
||||
method = "delete"
|
||||
this.req("delete",url,params,true,function(err,res) {
|
||||
cb(err,res)
|
||||
if(cb) cb(err,res)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
"mousetrap/1.4.6/mousetrap.js"
|
||||
"react/0.11.0/react.js"
|
||||
==
|
||||
;script(src "/~/at/base/lib/urb.js");
|
||||
;script(src "{(spud /~~/~/at/[&2:%]/lib/'urb.js')}");
|
||||
;script: urb.appl = 'dojo'
|
||||
;style:'''
|
||||
#term {
|
||||
|
@ -3,13 +3,17 @@
|
||||
str = JSON.stringify
|
||||
|
||||
Prompt = recl render: ->
|
||||
[pro,cur,buf] = [@props.prompt, @props.cursor, @props.input + " "]
|
||||
pre {}, pro,
|
||||
[pro,cur,buf] = [@props.prompt[@props.appl] ? "X", @props.cursor, @props.input + " "]
|
||||
pre {}, @props.appl+pro,
|
||||
span {style: background: 'lightgray'}, buf.slice(0,cur), "\u0332", buf.slice(cur)
|
||||
|
||||
Matr = recl render: ->
|
||||
lines = @props.rows.map (lin)-> pre {}, lin, " "
|
||||
lines.push Prompt {prompt:@props.prompt, input:@props.input, cursor:@props.cursor}
|
||||
lines.push Prompt
|
||||
appl: @props.appl,
|
||||
prompt: @props.prompt,
|
||||
input: @props.input,
|
||||
cursor: @props.cursor
|
||||
div {}, lines
|
||||
|
||||
$ ->
|
||||
@ -42,28 +46,47 @@ $ ->
|
||||
|
||||
matr = rend (Matr
|
||||
rows:[]
|
||||
prompt:""
|
||||
appl:""
|
||||
prompt:{"": "# "}
|
||||
input:""
|
||||
cursor:0
|
||||
history:[]
|
||||
offset:0 ), term
|
||||
window.matr = matr
|
||||
update = (a) -> matr.setProps a
|
||||
buffer = new Share ""
|
||||
buffer = "": new Share ""
|
||||
window.buffer = buffer
|
||||
sync = (ted)->
|
||||
update input: buffer.buf, cursor: buffer.transpose ted, matr.props.cursor
|
||||
|
||||
peer = (ruh) ->
|
||||
if ruh.map then return ruh.map peer
|
||||
choose = (appl)->
|
||||
urb.appl = appl
|
||||
buffer[appl] ?= new Share ""
|
||||
updPrompt '', null
|
||||
update {appl, cursor: 0, input: buffer[appl].buf}
|
||||
print = (txt)-> update rows: [matr.props.rows..., txt]
|
||||
sync = (ted,app)->
|
||||
app ?= matr.props.appl
|
||||
if app isnt matr.props.appl then return
|
||||
b = buffer[app]
|
||||
update input: b.buf, cursor: b.transpose ted, matr.props.cursor
|
||||
updPrompt = (app,pro) ->
|
||||
prompt = $.extend {}, matr.props.prompt
|
||||
if pro? then prompt[app] = pro else delete prompt[app]
|
||||
update {prompt}
|
||||
sysStatus = ()-> updPrompt '', (
|
||||
[app,pro] = [matr.props.appl, (k for k,v of matr.props.prompt when k isnt '')]
|
||||
if app is '' then (pro.join ', ')+'# ' else null
|
||||
)
|
||||
|
||||
peer = (ruh,app) ->
|
||||
app ?= urb.appl
|
||||
if ruh.map then return ruh.map (rul)-> peer rul, app
|
||||
mapr = matr.props
|
||||
switch Object.keys(ruh)[0]
|
||||
when 'txt' then update rows: [mapr.rows..., ruh.txt]
|
||||
when 'tan' then ruh.tan.split("\n").reverse().map (txt)-> peer {txt}
|
||||
when 'txt' then print ruh.txt
|
||||
when 'tan' then ruh.tan.split("\n").reverse().map print
|
||||
when 'pro' then updPrompt app, ruh.pro.cad
|
||||
when 'hop' then update cursor: ruh.hop; bell() # XX buffer.transpose?
|
||||
when 'pro' then update prompt: ruh.pro.cad
|
||||
when 'blk' then console.log "Stub #{str ruh}"
|
||||
when 'det' then buffer.receive ruh.det; sync ruh.det.ted
|
||||
when 'det' then buffer[app].receive ruh.det; sync ruh.det.ted, app
|
||||
when 'act' then switch ruh.act
|
||||
when 'clr' then update rows:[]
|
||||
when 'bel' then bell()
|
||||
@ -77,11 +100,28 @@ $ ->
|
||||
# else throw "Unknown "+(JSON.stringify ruh)
|
||||
else v = Object.keys(ruh); console.log v, ruh[v[0]]
|
||||
|
||||
urb.bind "/sole", {wire:"/"}, (err,d)->
|
||||
if err then console.log err
|
||||
else if d.data then peer d.data
|
||||
|
||||
|
||||
join = (app)->
|
||||
if matr.props.prompt[app]?
|
||||
return print '# already-joined: '+app
|
||||
choose app
|
||||
urb.bind "/sole", {wire:"/"}, (err,d)->
|
||||
if err then console.log err
|
||||
else if d.data then peer d.data, app
|
||||
cycle = ()->
|
||||
apps = Object.keys matr.props.prompt
|
||||
if apps.length < 2 then return
|
||||
choose apps[1 + apps.indexOf urb.appl] ? apps[0]
|
||||
part = (appl)->
|
||||
mapr = matr.props
|
||||
unless mapr.prompt[appl]?
|
||||
return print '# not-joined: '+appl
|
||||
urb.unsubscribe {appl, path: "/sole", wire: "/"}
|
||||
if appl is mapr.appl then cycle()
|
||||
updPrompt appl, null
|
||||
sysStatus()
|
||||
join urb.appl
|
||||
window.join = join; window.part = part
|
||||
|
||||
pressed = []
|
||||
deltim = null
|
||||
#later = (data)->
|
||||
@ -96,11 +136,19 @@ $ ->
|
||||
# ), 500
|
||||
|
||||
sendAction = (data)->
|
||||
urb.send {mark: 'sole-action', data}, (e,res)->
|
||||
if matr.props.appl then urb.send {mark: 'sole-action', data}, (e,res)->
|
||||
if res.status isnt 200 then $('#err')[0].innerText = res.data.mess
|
||||
|
||||
else if data is 'ret'
|
||||
app = /^[a-z-]+$/.exec(buffer[""].buf.slice(1))
|
||||
unless app? and app[0]?
|
||||
return bell()
|
||||
else switch buffer[""].buf[0]
|
||||
when '+' then doEdit set: ""; join app[0]
|
||||
when '-' then doEdit set: ""; part app[0]
|
||||
else bell()
|
||||
|
||||
doEdit = (ted)->
|
||||
det = buffer.transmit ted
|
||||
det = buffer[matr.props.appl].transmit ted
|
||||
sync ted
|
||||
sendAction {det}
|
||||
|
||||
@ -141,13 +189,18 @@ $ ->
|
||||
when 'a','left' then update cursor: 0
|
||||
when 'e','right' then update cursor: mapr.input.length
|
||||
when 'l' then update rows: []
|
||||
when 'entr' then peer act: 'bel'
|
||||
when 'entr' then bell()
|
||||
when 'w' then eatKyev ['alt'], act:'baxp'
|
||||
when 'p' then eatKyev [], act: 'up'
|
||||
when 'n' then eatKyev [], act: 'down'
|
||||
when 'b' then eatKyev [], act: 'left'
|
||||
when 'f' then eatKyev [], act: 'right'
|
||||
when 'g' then bell()
|
||||
when 'x' then cycle()
|
||||
when 'v'
|
||||
appl = if mapr.appl isnt '' then '' else urb.appl
|
||||
update {appl, cursor:0, input:buffer[appl].buf}
|
||||
sysStatus()
|
||||
when 't'
|
||||
if mapr.cursor is 0 or mapr.input.length < 2
|
||||
return bell()
|
||||
|
@ -25,11 +25,11 @@
|
||||
;script(type "text/javascript", src "/~~/~/at/base/lib/urb.js");
|
||||
;meta(name "viewport", content "width=device-width, height=device-height, ".
|
||||
"initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0");
|
||||
;link(type "text/css", rel "stylesheet", href "/base/pub/talk/src/css/main.css");
|
||||
;link(type "text/css", rel "stylesheet", href "/home/pub/talk/src/css/main.css");
|
||||
;title: urbit talk
|
||||
==
|
||||
;body
|
||||
;div#c;
|
||||
;script(type "text/javascript", src "/base/pub/talk/src/js/main.js");
|
||||
;script(type "text/javascript", src "/home/pub/talk/src/js/main.js");
|
||||
==
|
||||
==
|
||||
|
@ -471,7 +471,7 @@ a {
|
||||
display: block;
|
||||
}
|
||||
.iden > div {
|
||||
max-width: 10rem;
|
||||
max-width: 11rem;
|
||||
display: inline-block;
|
||||
}
|
||||
.iden > div,
|
||||
@ -536,6 +536,7 @@ a {
|
||||
}
|
||||
.writing .iden .ship {
|
||||
margin-right: 0.3rem;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
#audi {
|
||||
display: inline-block;
|
||||
|
@ -421,7 +421,7 @@ a
|
||||
display block
|
||||
|
||||
.iden > div
|
||||
max-width 10rem
|
||||
max-width 11rem
|
||||
display inline-block
|
||||
|
||||
.iden > div
|
||||
@ -491,6 +491,7 @@ a
|
||||
|
||||
.writing .iden .ship
|
||||
margin-right .3rem
|
||||
letter-spacing 0
|
||||
|
||||
#audi
|
||||
display inline-block
|
||||
|
@ -95,7 +95,7 @@ module.exports = recl
|
||||
])
|
||||
(div {id:"where"},[
|
||||
(div {className:"slat"},"talk")
|
||||
(div {className:"path"},window.util.mainStation(window.urb.user))
|
||||
(div {className:"path"},"") #window.util.mainStation(window.urb.user))
|
||||
(div {className:"caret"},"")
|
||||
])
|
||||
]
|
||||
|
@ -615,7 +615,7 @@ module.exports = recl({
|
||||
className: "slat"
|
||||
}, "talk"), div({
|
||||
className: "path"
|
||||
}, window.util.mainStation(window.urb.user)), div({
|
||||
}, ""), div({
|
||||
className: "caret"
|
||||
}, "")
|
||||
])
|
||||
@ -2380,7 +2380,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
|
||||
},{"moment":"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/node_modules/moment/moment.js"}],"/Users/galen/Documents/src/urbit-test/urb/zod/base/pub/talk/src/js/node_modules/moment-timezone/node_modules/moment/moment.js":[function(require,module,exports){
|
||||
//! moment.js
|
||||
//! version : 2.10.2
|
||||
//! version : 2.10.3
|
||||
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
||||
//! license : MIT
|
||||
//! momentjs.com
|
||||
@ -2403,28 +2403,12 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
hookCallback = callback;
|
||||
}
|
||||
|
||||
function defaultParsingFlags() {
|
||||
// We need to deep clone this object.
|
||||
return {
|
||||
empty : false,
|
||||
unusedTokens : [],
|
||||
unusedInput : [],
|
||||
overflow : -2,
|
||||
charsLeftOver : 0,
|
||||
nullInput : false,
|
||||
invalidMonth : null,
|
||||
invalidFormat : false,
|
||||
userInvalidated : false,
|
||||
iso : false
|
||||
};
|
||||
}
|
||||
|
||||
function isArray(input) {
|
||||
return Object.prototype.toString.call(input) === '[object Array]';
|
||||
}
|
||||
|
||||
function isDate(input) {
|
||||
return Object.prototype.toString.call(input) === '[object Date]' || input instanceof Date;
|
||||
return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
|
||||
}
|
||||
|
||||
function map(arr, fn) {
|
||||
@ -2461,21 +2445,45 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
return createLocalOrUTC(input, format, locale, strict, true).utc();
|
||||
}
|
||||
|
||||
function defaultParsingFlags() {
|
||||
// We need to deep clone this object.
|
||||
return {
|
||||
empty : false,
|
||||
unusedTokens : [],
|
||||
unusedInput : [],
|
||||
overflow : -2,
|
||||
charsLeftOver : 0,
|
||||
nullInput : false,
|
||||
invalidMonth : null,
|
||||
invalidFormat : false,
|
||||
userInvalidated : false,
|
||||
iso : false
|
||||
};
|
||||
}
|
||||
|
||||
function getParsingFlags(m) {
|
||||
if (m._pf == null) {
|
||||
m._pf = defaultParsingFlags();
|
||||
}
|
||||
return m._pf;
|
||||
}
|
||||
|
||||
function valid__isValid(m) {
|
||||
if (m._isValid == null) {
|
||||
var flags = getParsingFlags(m);
|
||||
m._isValid = !isNaN(m._d.getTime()) &&
|
||||
m._pf.overflow < 0 &&
|
||||
!m._pf.empty &&
|
||||
!m._pf.invalidMonth &&
|
||||
!m._pf.nullInput &&
|
||||
!m._pf.invalidFormat &&
|
||||
!m._pf.userInvalidated;
|
||||
flags.overflow < 0 &&
|
||||
!flags.empty &&
|
||||
!flags.invalidMonth &&
|
||||
!flags.nullInput &&
|
||||
!flags.invalidFormat &&
|
||||
!flags.userInvalidated;
|
||||
|
||||
if (m._strict) {
|
||||
m._isValid = m._isValid &&
|
||||
m._pf.charsLeftOver === 0 &&
|
||||
m._pf.unusedTokens.length === 0 &&
|
||||
m._pf.bigHour === undefined;
|
||||
flags.charsLeftOver === 0 &&
|
||||
flags.unusedTokens.length === 0 &&
|
||||
flags.bigHour === undefined;
|
||||
}
|
||||
}
|
||||
return m._isValid;
|
||||
@ -2484,10 +2492,10 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
function valid__createInvalid (flags) {
|
||||
var m = create_utc__createUTC(NaN);
|
||||
if (flags != null) {
|
||||
extend(m._pf, flags);
|
||||
extend(getParsingFlags(m), flags);
|
||||
}
|
||||
else {
|
||||
m._pf.userInvalidated = true;
|
||||
getParsingFlags(m).userInvalidated = true;
|
||||
}
|
||||
|
||||
return m;
|
||||
@ -2523,7 +2531,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
to._offset = from._offset;
|
||||
}
|
||||
if (typeof from._pf !== 'undefined') {
|
||||
to._pf = from._pf;
|
||||
to._pf = getParsingFlags(from);
|
||||
}
|
||||
if (typeof from._locale !== 'undefined') {
|
||||
to._locale = from._locale;
|
||||
@ -2558,7 +2566,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
function isMoment (obj) {
|
||||
return obj instanceof Moment || (obj != null && hasOwnProp(obj, '_isAMomentObject'));
|
||||
return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
|
||||
}
|
||||
|
||||
function toInt(argumentForCoercion) {
|
||||
@ -2996,7 +3004,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
if (month != null) {
|
||||
array[MONTH] = month;
|
||||
} else {
|
||||
config._pf.invalidMonth = input;
|
||||
getParsingFlags(config).invalidMonth = input;
|
||||
}
|
||||
});
|
||||
|
||||
@ -3080,7 +3088,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
var overflow;
|
||||
var a = m._a;
|
||||
|
||||
if (a && m._pf.overflow === -2) {
|
||||
if (a && getParsingFlags(m).overflow === -2) {
|
||||
overflow =
|
||||
a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
|
||||
a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
|
||||
@ -3090,11 +3098,11 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
|
||||
-1;
|
||||
|
||||
if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
|
||||
if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
|
||||
overflow = DATE;
|
||||
}
|
||||
|
||||
m._pf.overflow = overflow;
|
||||
getParsingFlags(m).overflow = overflow;
|
||||
}
|
||||
|
||||
return m;
|
||||
@ -3107,10 +3115,12 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
function deprecate(msg, fn) {
|
||||
var firstTime = true;
|
||||
var firstTime = true,
|
||||
msgWithStack = msg + '\n' + (new Error()).stack;
|
||||
|
||||
return extend(function () {
|
||||
if (firstTime) {
|
||||
warn(msg);
|
||||
warn(msgWithStack);
|
||||
firstTime = false;
|
||||
}
|
||||
return fn.apply(this, arguments);
|
||||
@ -3155,7 +3165,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
match = from_string__isoRegex.exec(string);
|
||||
|
||||
if (match) {
|
||||
config._pf.iso = true;
|
||||
getParsingFlags(config).iso = true;
|
||||
for (i = 0, l = isoDates.length; i < l; i++) {
|
||||
if (isoDates[i][1].exec(string)) {
|
||||
// match[5] should be 'T' or undefined
|
||||
@ -3435,7 +3445,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
|
||||
|
||||
if (config._dayOfYear > daysInYear(yearToUse)) {
|
||||
config._pf._overflowDayOfYear = true;
|
||||
getParsingFlags(config)._overflowDayOfYear = true;
|
||||
}
|
||||
|
||||
date = createUTCDate(yearToUse, 0, config._dayOfYear);
|
||||
@ -3531,7 +3541,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
config._a = [];
|
||||
config._pf.empty = true;
|
||||
getParsingFlags(config).empty = true;
|
||||
|
||||
// This array is used to make a Date, either with `new Date` or `Date.UTC`
|
||||
var string = '' + config._i,
|
||||
@ -3547,7 +3557,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
if (parsedInput) {
|
||||
skipped = string.substr(0, string.indexOf(parsedInput));
|
||||
if (skipped.length > 0) {
|
||||
config._pf.unusedInput.push(skipped);
|
||||
getParsingFlags(config).unusedInput.push(skipped);
|
||||
}
|
||||
string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
|
||||
totalParsedInputLength += parsedInput.length;
|
||||
@ -3555,27 +3565,29 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
// don't parse if it's not a known token
|
||||
if (formatTokenFunctions[token]) {
|
||||
if (parsedInput) {
|
||||
config._pf.empty = false;
|
||||
getParsingFlags(config).empty = false;
|
||||
}
|
||||
else {
|
||||
config._pf.unusedTokens.push(token);
|
||||
getParsingFlags(config).unusedTokens.push(token);
|
||||
}
|
||||
addTimeToArrayFromToken(token, parsedInput, config);
|
||||
}
|
||||
else if (config._strict && !parsedInput) {
|
||||
config._pf.unusedTokens.push(token);
|
||||
getParsingFlags(config).unusedTokens.push(token);
|
||||
}
|
||||
}
|
||||
|
||||
// add remaining unparsed input length to the string
|
||||
config._pf.charsLeftOver = stringLength - totalParsedInputLength;
|
||||
getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
|
||||
if (string.length > 0) {
|
||||
config._pf.unusedInput.push(string);
|
||||
getParsingFlags(config).unusedInput.push(string);
|
||||
}
|
||||
|
||||
// clear _12h flag if hour is <= 12
|
||||
if (config._pf.bigHour === true && config._a[HOUR] <= 12) {
|
||||
config._pf.bigHour = undefined;
|
||||
if (getParsingFlags(config).bigHour === true &&
|
||||
config._a[HOUR] <= 12 &&
|
||||
config._a[HOUR] > 0) {
|
||||
getParsingFlags(config).bigHour = undefined;
|
||||
}
|
||||
// handle meridiem
|
||||
config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
|
||||
@ -3619,7 +3631,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
currentScore;
|
||||
|
||||
if (config._f.length === 0) {
|
||||
config._pf.invalidFormat = true;
|
||||
getParsingFlags(config).invalidFormat = true;
|
||||
config._d = new Date(NaN);
|
||||
return;
|
||||
}
|
||||
@ -3630,7 +3642,6 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
if (config._useUTC != null) {
|
||||
tempConfig._useUTC = config._useUTC;
|
||||
}
|
||||
tempConfig._pf = defaultParsingFlags();
|
||||
tempConfig._f = config._f[i];
|
||||
configFromStringAndFormat(tempConfig);
|
||||
|
||||
@ -3639,12 +3650,12 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
// if there is any input that was not parsed add a penalty for that format
|
||||
currentScore += tempConfig._pf.charsLeftOver;
|
||||
currentScore += getParsingFlags(tempConfig).charsLeftOver;
|
||||
|
||||
//or tokens
|
||||
currentScore += tempConfig._pf.unusedTokens.length * 10;
|
||||
currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
|
||||
|
||||
tempConfig._pf.score = currentScore;
|
||||
getParsingFlags(tempConfig).score = currentScore;
|
||||
|
||||
if (scoreToBeat == null || currentScore < scoreToBeat) {
|
||||
scoreToBeat = currentScore;
|
||||
@ -3687,6 +3698,8 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
configFromStringAndArray(config);
|
||||
} else if (format) {
|
||||
configFromStringAndFormat(config);
|
||||
} else if (isDate(input)) {
|
||||
config._d = input;
|
||||
} else {
|
||||
configFromInput(config);
|
||||
}
|
||||
@ -3739,7 +3752,6 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
c._i = input;
|
||||
c._f = format;
|
||||
c._strict = strict;
|
||||
c._pf = defaultParsingFlags();
|
||||
|
||||
return createFromConfig(c);
|
||||
}
|
||||
@ -4313,6 +4325,9 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
function from (time, withoutSuffix) {
|
||||
if (!this.isValid()) {
|
||||
return this.localeData().invalidDate();
|
||||
}
|
||||
return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
|
||||
}
|
||||
|
||||
@ -4320,6 +4335,17 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
return this.from(local__createLocal(), withoutSuffix);
|
||||
}
|
||||
|
||||
function to (time, withoutSuffix) {
|
||||
if (!this.isValid()) {
|
||||
return this.localeData().invalidDate();
|
||||
}
|
||||
return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
|
||||
}
|
||||
|
||||
function toNow (withoutSuffix) {
|
||||
return this.to(local__createLocal(), withoutSuffix);
|
||||
}
|
||||
|
||||
function locale (key) {
|
||||
var newLocaleData;
|
||||
|
||||
@ -4422,11 +4448,11 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
|
||||
function parsingFlags () {
|
||||
return extend({}, this._pf);
|
||||
return extend({}, getParsingFlags(this));
|
||||
}
|
||||
|
||||
function invalidAt () {
|
||||
return this._pf.overflow;
|
||||
return getParsingFlags(this).overflow;
|
||||
}
|
||||
|
||||
addFormatToken(0, ['gg', 2], 0, function () {
|
||||
@ -4577,7 +4603,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
if (weekday != null) {
|
||||
week.d = weekday;
|
||||
} else {
|
||||
config._pf.invalidWeekday = input;
|
||||
getParsingFlags(config).invalidWeekday = input;
|
||||
}
|
||||
});
|
||||
|
||||
@ -4702,7 +4728,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
});
|
||||
addParseToken(['h', 'hh'], function (input, array, config) {
|
||||
array[HOUR] = toInt(input);
|
||||
config._pf.bigHour = true;
|
||||
getParsingFlags(config).bigHour = true;
|
||||
});
|
||||
|
||||
// LOCALES
|
||||
@ -4819,6 +4845,8 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
momentPrototype__proto.format = format;
|
||||
momentPrototype__proto.from = from;
|
||||
momentPrototype__proto.fromNow = fromNow;
|
||||
momentPrototype__proto.to = to;
|
||||
momentPrototype__proto.toNow = toNow;
|
||||
momentPrototype__proto.get = getSet;
|
||||
momentPrototype__proto.invalidAt = invalidAt;
|
||||
momentPrototype__proto.isAfter = isAfter;
|
||||
@ -5007,7 +5035,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
}
|
||||
// Lenient ordinal parsing accepts just a number in addition to
|
||||
// number + (possibly) stuff coming from _ordinalParseLenient.
|
||||
this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source);
|
||||
this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source);
|
||||
}
|
||||
|
||||
var prototype__proto = Locale.prototype;
|
||||
@ -5224,13 +5252,13 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
// handle milliseconds separately because of floating point math errors (issue #1867)
|
||||
days = this._days + Math.round(yearsToDays(this._months / 12));
|
||||
switch (units) {
|
||||
case 'week' : return days / 7 + milliseconds / 6048e5;
|
||||
case 'day' : return days + milliseconds / 864e5;
|
||||
case 'hour' : return days * 24 + milliseconds / 36e5;
|
||||
case 'minute' : return days * 24 * 60 + milliseconds / 6e4;
|
||||
case 'second' : return days * 24 * 60 * 60 + milliseconds / 1000;
|
||||
case 'week' : return days / 7 + milliseconds / 6048e5;
|
||||
case 'day' : return days + milliseconds / 864e5;
|
||||
case 'hour' : return days * 24 + milliseconds / 36e5;
|
||||
case 'minute' : return days * 1440 + milliseconds / 6e4;
|
||||
case 'second' : return days * 86400 + milliseconds / 1000;
|
||||
// Math.floor prevents floating point math errors here
|
||||
case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + milliseconds;
|
||||
case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
|
||||
default: throw new Error('Unknown unit ' + units);
|
||||
}
|
||||
}
|
||||
@ -5431,7 +5459,7 @@ moment.tz.load(require('./data/packed/latest.json'));
|
||||
// Side effect imports
|
||||
|
||||
|
||||
utils_hooks__hooks.version = '2.10.2';
|
||||
utils_hooks__hooks.version = '2.10.3';
|
||||
|
||||
setHookCallback(local__createLocal);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user